http://www.henanjusheng.com 2026-07-02 14:32 深圳市保創(chuàng)云科技有限公司
一、整體架構(gòu)總覽
設(shè)備硬件:MCU主控 + 4G通信模組+ 麥克風(fēng)(拾音)+ 喇叭(播放)
軟件鏈路:
麥克風(fēng)采集語音 → MCU編碼音頻 → 4G模組AT指令建立網(wǎng)絡(luò)通道 → 上傳音頻到云端智能體
云端處理:ASR語音轉(zhuǎn)文字 → LLM大模型思考生成回復(fù)文本 → TTS文本合成語音
下行鏈路:云端下發(fā)合成音頻 → 4G模組AT透傳下發(fā)音頻流 → MCU解碼播放喇叭
二、4G模組AT指令基礎(chǔ)前置操作(必須先完成網(wǎng)絡(luò)附著)
所有數(shù)據(jù)傳輸前,先用AT指令讓4G模組聯(lián)網(wǎng),分6步:
1. 串口初始化MCU與4G模組串口(9600/115200波特率)
2. 模組基礎(chǔ)檢測
AT // 測試模組通信,返回OK正常
AT+CREG? // 查詢注冊蜂窩網(wǎng)絡(luò),返回0,1/0,5代表注冊成功
AT+CGATT? // 查詢附著分組域,1=附著成功
3. 設(shè)置APN(運營商流量卡)
AT+CGDCONT=1,"IP","CMNET" // 移動;聯(lián)通UNINET;電信CTNET
4. 激活PDP上下文,建立數(shù)據(jù)通道
AT+CGACT=1,1
5. 獲取模組本地IP
AT+CGPADDR=1
6. 建立TCP/UDP透傳連接(核心,用來上傳音頻、接收TTS語音)
AT+CIPSTART="TCP","xxx.xxx.xxx.xxx",8080 // 智能體平臺服務(wù)器IP端口
// 返回CONNECT 代表長連接建立成功
AT+CIPSEND=長度 // 下發(fā)指定字節(jié)數(shù)據(jù)流(音頻/文本)
> 兩種傳輸模式:
> 1. 緩存透傳:`AT+CIPSEND=X` 發(fā)送X字節(jié)二進(jìn)制音頻;
> 2. 命令模式發(fā)文本:直接發(fā)送字符串,用于下發(fā)控制指令。
三、完整業(yè)務(wù)鏈路分步實現(xiàn):ASR→LLM→TTS
鏈路1:本地拾音 + 音頻封裝(MCU端)
1. 麥克風(fēng)采集模擬語音,MCU內(nèi)置ADC采樣,編碼為PCM/AMR/G.711輕量化音頻(4G流量小);
2. MCU給音頻加自定義包頭:設(shè)備ID、音頻長度、采樣率、編碼格式;
3. 通過串口調(diào)用4G模組`AT+CIPSEND`,分段上傳二進(jìn)制音頻流到智能體后臺TCP服務(wù)。
鏈路2:云端ASR自動語音識別(聲音→文字)
平臺收到4G上傳的音頻流后:
1. 解包分離純音頻數(shù)據(jù);
2. 調(diào)用內(nèi)置ASR服務(wù),輸出識別文本;
示例:音頻“現(xiàn)在多少度” → ASR輸出文本:`現(xiàn)在室內(nèi)溫度多少度?
鏈路3:LLM大語言模型邏輯處理(AI大腦)
將ASR識別文本送入LLM,同時攜帶設(shè)備上下文(設(shè)備狀態(tài)、歷史對話):
1. LLM理解用戶語義;
2. 生成應(yīng)答文本;
ASR文本:`現(xiàn)在室內(nèi)溫度多少度?`
LLM輸出應(yīng)答文本:`當(dāng)前室內(nèi)溫度26攝氏度,溫度舒適`
鏈路4:云端TTS語音合成(文字→音頻)
LLM輸出文本送入TTS引擎:
1. 配置音色、語速、采樣率,生成和上傳編碼一致的PCM/AMR語音流;
2. 打包音頻數(shù)據(jù)流,通過之前4G模組建立的TCP長連接下行推送。
鏈路5:4G模組下行透傳音頻 + MCU播放
1. 4G模組收到平臺下發(fā)的二進(jìn)制音頻,串口主動上報數(shù)據(jù)(+RECV消息);
2. MCU接收分包音頻,拼接完整語音;
3. MCU DAC解碼,驅(qū)動喇叭播放TTS人聲。
四、兩種主流AT指令傳輸方案對比
方案A:TCP長連接透傳(推薦語音交互)
全程一條`AT+CIPSTART`保持連接,音頻分片上行、TTS音頻分片下行,延遲低,適合實時語音對話。
AT核心流程簡化:
AT+CIPSTART="TCP","平臺IP",端口
// MCU采集音頻分段發(fā)送
AT+CIPSEND=128
[128字節(jié)音頻數(shù)據(jù)]
// 云端處理ASR+LLM+TTS后,服務(wù)器下發(fā)音頻
模組串口主動輸出:+RECV:256, [256字節(jié)TTS語音]
方案B:HTTP/POST AT指令上傳(簡單低并發(fā)設(shè)備)
使用`AT+HTTPPOST`把音頻二進(jìn)制放在http body上傳平臺,適合低實時性場景,交互延遲更高,不適合連續(xù)語音對話。
AT+HTTPINIT
AT+HTTPPARA="URL","http://平臺域名/asr/upload"
AT+HTTPDATA=音頻總長度,超時時間
[音頻二進(jìn)制數(shù)據(jù)]
AT+HTTPACTION=1 // 發(fā)起POST請求
五、關(guān)鍵配套控制指令(對話啟停)
1. 開始錄音指令(MCU觸發(fā)拾音):MCU串口下發(fā)AT控制自定義指令給平臺
`AT+CIPSEND=10,START_AUDIO`
2. 結(jié)束錄音上傳指令:
`AT+CIPSEND=8,END_AUDIO`
3. 停止TTS播放:
`AT+CIPSEND=7,STOP_TTS`
六、完整時序流程圖
1. MCU發(fā)送AT聯(lián)網(wǎng) → 4G模組TCP連接平臺
2. 用戶說話 → MCU采集編碼音頻 → AT+CIPSEND分段上傳音頻
3. 云端:音頻→ASR文字→LLM生成回復(fù)文本→TTS合成語音流
4. 平臺下行TTS語音包 → 4G模組串口推送數(shù)據(jù)給MCU
5. MCU解碼音頻,喇叭播放AI回答
6. 循環(huán)等待下一次語音拾音
七、痛點與優(yōu)化方案
1. 4G分包丟包:音頻增加序號包頭,云端做分包重組,丟失則設(shè)備重傳;
2. 流量消耗大:音頻采用AMR壓縮編碼,降低傳輸字節(jié);
3. 交互延遲高:TCP長連接代替HTTP,云端ASR流式識別(邊上傳邊識別,不用等整段音頻);
4. 模組掉線:MCU定時心跳AT指令 `AT+CIPSEND=6,PING`,斷連自動重執(zhí)行`AT+CIPSTART`重連。
八、硬件極簡邏輯總結(jié)
4G模組只負(fù)責(zé)透傳二進(jìn)制數(shù)據(jù)流,完全依靠AT指令建立網(wǎng)絡(luò)通道;
ASR、LLM、TTS算力全部放在云端平臺,本地MCU只做:音頻采集編碼、串口收發(fā)AT指令、音頻解碼播放,本地?zé)oAI算力,成本更低,是物聯(lián)網(wǎng)語音智能體設(shè)備通用方案。