HUB 8735 Ultra+JQ6500實測:AP可以連線,為什麼開機語音卻不斷重播?
本次完成HUB 8735 Ultra、JQ6500與手機Web控制整合測試。系統功能原本都能運作,但使用電腦USB孔供電時,常在Wi-Fi AP啟動階段反覆重置,造成開機提示語音一次又一次播放。改用合格的市電轉5V電源供應器後,整套系統恢復穩定。
一、本次測試目標
二、系統組成與功能
| 元件 | 主要工作 | 說明 |
|---|---|---|
| HUB 8735 Ultra | AP、Web伺服器、按鈕與狀態控制 | 建立Shuijing-Story無線網路,接收手機操作命令。 |
| JQ6500 | MP3解碼與播放 | 透過UART接收播放、暫停、音量及指定曲目命令。 |
| 手機 | 主要操作介面 | 連接HUB的AP,以瀏覽器開啟Web控制頁。 |
| 實體按鈕 | 離線備援 | 即使沒有手機,也能選擇三個角色故事與停止、調整音量。 |
| 5V電源供應器 | 穩定供電 | 供應Wi-Fi射頻啟動與音訊播放所需的瞬間電流。 |
三、AP與手機Web操作
HUB 8735 Ultra不連接現場路由器,而是自己建立AP:
Wi-Fi名稱:Shuijing-Story Wi-Fi密碼:shuijing8735 Web網址:以序列監控顯示為準,測試常見為 http://192.168.1.1/
測試時,手機成功取得以下IP,代表AP與DHCP服務已正常:
DHCP assign ip = 192.168.1.100
四、MP3曲目配置
| 檔名/索引 | 內容 | 啟動方式 |
|---|---|---|
| 001.mp3 | 白馬故事 | Web或GPIO10 |
| 002.mp3 | 烏龜故事 | Web或GPIO11 |
| 003.mp3 | 姻緣花故事 | Web或GPIO12 |
| 004.mp3 | 水井三寶總故事 | Web |
| 005.mp3 | 創作者資訊 | Web |
| 006.mp3 | 開機提示 | 系統啟動後自動播放 |
| 007.mp3 | 準備完成 | 006播放完成後自動播放 |
| 008.mp3 | 錯誤提示 | 系統錯誤時播放 |
| 009.mp3 | 停止提示 | 停止故事後播放 |
五、UART與按鈕接線
Serial2 TX
Serial2 RX
| GPIO | 實體功能 | 接法 |
|---|---|---|
| GPIO10 | 白馬故事 | 按鈕另一端接GND |
| GPIO11 | 烏龜故事 | 按鈕另一端接GND |
| GPIO12 | 姻緣花故事 | 按鈕另一端接GND |
| GPIO13 | 停止播放 | 按鈕另一端接GND |
| GPIO7 | 音量增加 | 按鈕另一端接GND |
| GPIO6 | 音量降低 | 按鈕另一端接GND |
六、異常現象:開機語音不斷重播
測試過程中,序列監控一再出現相同的程式標題:
================================================ HUB 8735 Ultra + JQ6500 Web Story Player Version: V1.0-05 AP Mode ================================================ [VOLUME] 20 [JQ6500] Play mode: ONE_STOP [JQ6500] Select and play track: 6 [AP] Starting: Shuijing-Story [AP] Attempt 1 / 6
這並不是006.mp3設定成循環播放,而是HUB反覆重新執行setup()。每重開一次,程式就重新播放一次006,因此聽起來像開機語音無限循環。
Rtl8735b IoT Platform,代表整塊開發板正在重置,不是單純的MP3循環問題。七、原因分析:PC USB供電的瞬間電流不足
HUB原本由電腦USB孔供電。單獨執行一般程式時可能沒有問題,但本系統同時包含:
- Wi-Fi AP射頻初始化與封包傳輸。
- JQ6500讀取及解碼MP3。
- 喇叭或功率放大器的瞬間負載。
- LED、按鈕與其他周邊。
AP射頻啟動與音訊播放都可能產生瞬間電流需求。部分電腦USB埠、USB Hub、過長或品質不佳的USB線,可能造成5V電壓短暫下降,進而讓RTL8735B重置。
八、改善後的供電接線圖
5V電源供應器
USB供電
九、程式面的穩定化處理
1. 先建立AP,再啟動音訊
bool apStarted = startAccessPoint();
if (apStarted) {
delay(500);
jqSetVolume(currentVolume);
jqSetOneTrackStopMode();
jqPlayTrack(TRACK_BOOT);
currentStory = "系統啟動中";
}
這樣可錯開Wi-Fi射頻初始化與JQ6500開始播放的瞬間負載。
2. 明確設定單曲播放一次
void jqSetOneTrackStopMode()
{
uint8_t mode[1] = {0x04};
jqSendCommand(0x11, mode, 1);
}
3. 006完成後才播放007
if (finishedTrack == TRACK_BOOT &&
!readyPromptPlayed && wifiReady) {
readyPromptPlayed = true;
jqPlayTrack(TRACK_READY);
currentStory = "系統準備完成";
}
十、PC USB與穩定5V供電比較
| 測試項目 | PC USB孔供電 | 合格市電轉5V供電 |
|---|---|---|
| HUB開機 | 可開機 | 正常 |
| AP射頻啟動 | 可能反覆重置 | 穩定 |
| 006開機提示 | 因HUB重開而重複播放 | 只播放一次 |
| 手機連接AP | 可能中途消失 | 穩定連線 |
| Web控制 | 重置時無法操作 | 正常操作 |
| 整體結論 | 適合燒錄與短時間測試,但需視USB埠能力 | 較適合故事機長時間展示與實際使用 |
十一、最終測試結果
- HUB可穩定建立
Shuijing-StoryAP。 - 手機可以取得IP並開啟Web控制頁。
- 006開機提示不再因系統重置而反覆播放。
- 三個角色故事、總故事及創作者資訊可由Web選擇。
- 實體按鈕仍可作為離線備援。
十二、本次實作的重要經驗
嵌入式系統「程式可以編譯、模組可以單獨運作」不代表整合後一定穩定。Wi-Fi、音訊與功率放大器同時啟動時,供電品質往往比程式更容易成為問題。看到開機語音重複時,也不能只從MP3循環模式思考;序列監控是否重複出現Boot Loader與程式標題,是判斷整板重置的重要證據。
這次測試證明,透過「序列紀錄判讀、最小硬體測試、供電A/B比較、啟動順序調整」,可以把看似軟體錯誤的問題,追查到真正的電源穩定性原因。
<html>、<head>及<body>標籤,程式區塊與表格已設定橫向捲動,不會把部落格右側資訊欄擠出畫面。
沒有留言:
張貼留言