AI Passport Radio:為青少年而設的獨立收音機

直播中

HDT CoLab · 嵌入式 · ESP32-C3

AI Passport Radio:為青少年而設的獨立收音機

為一台孩子本來就熟悉的手持裝置開發的網絡收音機固件。三個地方、四十九個電台,直接連播廣播機構的串流,中間沒有手機、沒有瀏覽器。

  1. 49個電台,三個地區
  2. 3顆按鍵,一塊螢幕
  3. 8 MBFlash,單一應用

四十九個電台,三個地區

  • 6 香港 RTHK 頻道
  • 17 新加坡 Mediacorp 電台
  • 26 馬來西亞 Astro Radio · RTM

同時鏈接了 MP3 與 AAC 解碼器,「正在播放」一行讀自 ICY metadata 串流;收藏可跨重啟保留,長按上或下即可切換地區。目錄中每一個位址在收錄前都實測過:HTTP 200,並且至少五個有效 frame header —— 這正是用來擋掉那些「客氣回應卻什麼都播不出來」的連結。

播出紀錄

AI Passport 是一台小型手持裝置:ESP32-C3、一塊螢幕、三顆按鍵、一個揚聲器與 8 MB Flash。它一次只做一件事 —— 而這正是它可以被教的原因。

Wi-Fi 掃描、網路清單、螢幕鍵盤與密碼輸入全都做在裝置上,不需要手機 App。收藏可跨重啟保留,上次的電台也會自己續播。

這台裝置

AI Passport 是一台小型手持裝置:ESP32-C3、240 × 320 螢幕、三顆按鍵(上、下、確定)、一個揚聲器與 8 MB Flash。它本來就是為孩子設計的隨身裝置 —— 而這正是它能成為教學平台的原因:它是一台孩子可以拿在手上的電腦,而且一次只做一件事。

系統單晶片
ESP32-C3
螢幕
240 × 320
按鍵
三顆 —— 上 / 下 / 確定
Flash
8 MB
工具鏈
ESP-IDF 5.5.3
學期
2026 秋

固件自己能做到的事

  • Wi-Fi 掃描、網路清單、螢幕鍵盤與密碼輸入全都在裝置上完成 —— 不需要手機 App,也不需要 captive portal。
  • 螢幕可以關掉,音樂繼續播放。
  • 睡眠計時器會停止播放、依序關閉周邊,再讓裝置進入 deep sleep。
  • 下次開機時會恢復並續播上次的電台。
  • 電量計會讀取剩餘電量。
  • 因為網路名稱與曲名不一定是 ASCII,裝置內編譯了一套產生的 CJK 字型作為後備。

教育上的意義

把 AI Passport 想成 AI 時代的樹莓派。

它是一台便宜、自足的小電腦:孩子可以單手拿著,也可以在軟體上一層層拆開;它從一開始就是要交到年輕人手上,而不是只給專家。

這台收音機正是這塊平台能承載什麼的固件示例:board support layer、電台目錄、MP3 與 AAC 解碼路徑、狀態機、含螢幕鍵盤的 Wi-Fi 設定、收藏、睡眠計時器與 CJK 字型 —— 全部以 ESP-IDF 從原始碼編譯進 8 MB Flash。

對 K-12 電腦科學教育而言,重點正在這裡。一堂課可以把這份示例拆開:改電台目錄、改狀態機、跑 host tests、燒錄自己的版本。嵌入式系統、C、網路、音訊、使用者介面與測試,不再是各自獨立的章節,而是學生**拿在手上的一個程式**。

因為裝置刻意只做一件事,它也特別好教:它上面沒有任何東西可以通往別處,收音機不需手機或瀏覽器就能播,老師發下去的時候,不必順手把整個下午的網路也發下去。

如何驗證

已驗證

三個地區的播放、Wi-Fi 掃描、以螢幕鍵盤輸入密碼、收藏、自動關螢幕,以及設定頁與播放頁,都已在實機上驗證。

待確認

睡眠計時器的 deep sleep 交接與雙擊關螢幕手勢已實作,是接下來要在硬體上確認的項目。

這台收音機是一份示例。重點在平台,而平台本來就是要讓人寫程式的。

返回所有項目