stm32 交换机芯片_基于STM32的全链路语音交互 - stm32/stm8 - 电子工程世界
硬件平臺(tái):STM32F746G-DISC開(kāi)發(fā)板
編譯軟件:KEIL 5.31
操作系統(tǒng):RTX5
TCP/IP協(xié)議棧:Cyclone-TCP
語(yǔ)音交互平臺(tái):思必馳DUI開(kāi)放平臺(tái)
這里說(shuō)一下使用的TCP/IP協(xié)議棧-- Cyclone-TCP,該協(xié)議棧開(kāi)源,純 C語(yǔ)言編寫,高度可維護(hù),代碼層次清晰(這個(gè)太重要了,lwip看的我頭都大,支持的應(yīng)用層協(xié)議又少的可憐),支持多種應(yīng)用層協(xié)議和RTOS。CycloneTCP既可以作為開(kāi)源(GPLv2)獲得,也可以根據(jù)商業(yè)許可獲得。
主要特點(diǎn):
- 雙棧(IPv4和/或IPv6)
- 內(nèi)置對(duì)多個(gè)網(wǎng)絡(luò)接口的支持
- 靈活的內(nèi)存占用空間(內(nèi)置時(shí)間配置,僅嵌入必要的功能)
- 可配置的內(nèi)存模型(靜態(tài)內(nèi)存池或堆內(nèi)存分配)
- 便攜式架構(gòu)(無(wú)處理器依賴性)
- 直接連接任何RTOS的端口
- 高度可維護(hù)的源代碼
- 調(diào)試和跟蹤功能可簡(jiǎn)化開(kāi)發(fā)和集成
- BSD樣式套接字API
- 阻塞/非阻塞套接字操作和事件驅(qū)動(dòng)的功能(選擇和輪詢)
- 通過(guò)零拷貝進(jìn)行有效的數(shù)據(jù)傳輸
- 精心設(shè)計(jì)的TCP模塊,具有選擇性確認(rèn)(SACK)和擁塞控制
- 原始套接字接口
- IP分段和重組支持
- 支持虛擬接口(每個(gè)物理接口多個(gè)MAC地址)
- 支持多宿主主機(jī)(每個(gè)接口多個(gè)IPv4地址)
- 使用VLAN標(biāo)記(SMSC交換機(jī))或尾部標(biāo)記(Micrel交換機(jī))的以太網(wǎng)端口乘法
- VLAN支持(和)
- USB設(shè)備RNDIS類驅(qū)動(dòng)程序(用于STM32微控制器)
支持的協(xié)議:
- DNS客戶端
- NetBIOS客戶端和響應(yīng)器
- LLMNR客戶和響應(yīng)者
- mDNS客戶端和響應(yīng)者
- DNS-SD響應(yīng)器(基于DNS的服務(wù)發(fā)現(xiàn))
- DHCP客戶端和服務(wù)器
- 自動(dòng)IP(IPv4鏈接本地地址的動(dòng)態(tài)配置)
- DHCPv6客戶端和中繼代理
- SLAAC(IPv6無(wú)狀態(tài)地址自動(dòng)配置)
- 組播支持(IGMPv2和MLDv1)
- FTP / FTPS客戶端和服務(wù)器(支持隱式TLS和顯式TLS模式)
- HTTP / HTTPS客戶端
- 具有SSI,CGI腳本和WebSocket支持的HTTP / HTTPS服務(wù)器
- HTTP / 2客戶端(包括HPACK壓縮,服務(wù)器推送和https方案)
- MQTT v3.1.1客戶端(支持TCP,TLS,WebSocket和安全WebSocket傳輸層)
- MQTT-SN客戶端(支持UDP和DTLS傳輸層)
- CoAP客戶端和服務(wù)器(支持DTLS的CoAP,支持觀察和明智的傳輸)
- SMTP客戶端
- SNTP客戶端(網(wǎng)絡(luò)時(shí)間同步)
- SNMP代理(支持SNMPv1,SNMPv2c和SNMPv3)
- SNMP用戶和訪問(wèn)權(quán)限的遠(yuǎn)程管理(SNMP-USM-MIB和SNMP-VACM-MIB)
- 標(biāo)準(zhǔn)MIB:MIB-II,IF-MIB,IP-MIB,TCP-MIB,UDP-MIB,SNMPv2-MIB
- TFTP客戶端和服務(wù)器
- Modbus / TCP客戶端和服務(wù)器(支持Modbus / TCP安全性)
- WebSocket客戶端和服務(wù)器(支持通過(guò)SSL / TLS隧道傳輸?shù)腤ebSocket連接)
- PPP(點(diǎn)對(duì)點(diǎn)協(xié)議)
在我的提供的工程文件夾下有個(gè)DOC的文件夾,里面有一份Cyclone-TCP移植文檔和一些我在使用應(yīng)用層協(xié)議時(shí)遇到問(wèn)題的解決辦法。更多信息參考這里:
接下說(shuō)一下語(yǔ)音交互平臺(tái),我選擇的是思必馳DUI開(kāi)放平臺(tái)。那什么是DUI平臺(tái)呢,DUI即(Dialog User Interface)是為設(shè)備賦能語(yǔ)音交互場(chǎng)景的開(kāi)發(fā)配置平臺(tái),通過(guò)這個(gè)定制平臺(tái)您可以給您的硬件、設(shè)備、手機(jī)APP等產(chǎn)品增加語(yǔ)音交互場(chǎng)景!在這個(gè)過(guò)程中為開(kāi)發(fā)者提供高可用定制的人機(jī)對(duì)話技術(shù)服務(wù),為智能終端開(kāi)發(fā)者提供核心交互能力,協(xié)助傳統(tǒng)設(shè)備實(shí)現(xiàn)智能升級(jí)。
通過(guò)DUI開(kāi)放平臺(tái)的能力,為您的賦能后,您的用戶就能:
DUI系統(tǒng)工作流程圖:
在我的工程中,省略了語(yǔ)音喚醒,這個(gè)功能,其余的都有實(shí)現(xiàn)。嵌入式平臺(tái)的接入方式有兩種:
1.基于websocket協(xié)議的產(chǎn)品接入
適用場(chǎng)景:
1)輕量級(jí)嵌入式設(shè)備,基于協(xié)議開(kāi)發(fā)
2)采用云對(duì)云的方式,使用DUI全鏈路產(chǎn)品,基于協(xié)議開(kāi)發(fā)
3)其他特殊場(chǎng)景,需要基于協(xié)議開(kāi)發(fā)
4)支持語(yǔ)音、文本、意圖三種輸入
2.基于Http協(xié)議的產(chǎn)品接入
適用場(chǎng)景:
1)輕量級(jí)嵌入式設(shè)備,基于協(xié)議開(kāi)發(fā)
2)采用云對(duì)云的方式,使用DUI全鏈路產(chǎn)品,基于協(xié)議開(kāi)發(fā)
3)其他特殊場(chǎng)景,需要基于協(xié)議開(kāi)發(fā)
4)使用文本請(qǐng)求對(duì)話
5)設(shè)置系統(tǒng)級(jí)或技能級(jí)配置
我的工程中使用的是第一種接入方式。第二種接入方式使用的是文本對(duì)話方式,就是輸入文字信息與平臺(tái)進(jìn)行對(duì)話,中間省略了語(yǔ)音識(shí)別這個(gè)流程。也可以在外部加一個(gè)語(yǔ)音識(shí)別的處理芯片,來(lái)實(shí)現(xiàn)語(yǔ)音交互,這種方式也適用于第一種接入方式。
使用DUI系統(tǒng),需要注冊(cè)賬號(hào)和實(shí)名認(rèn)證。這里不得不說(shuō)下它的技術(shù)支持,真的很糟糕,對(duì)外沒(méi)有提供聯(lián)系方式,只能在控制臺(tái)內(nèi)提交工單的方式來(lái)提交問(wèn)題,而且要等好幾天才會(huì)有回復(fù),回答質(zhì)量也很糟糕。我好多問(wèn)題都是通過(guò)查看其他平臺(tái)的參考代碼,來(lái)找問(wèn)題的解決方法。幾乎沒(méi)有找到嵌入式平臺(tái)的參考代碼和問(wèn)題解決方法,基本都是安卓端和蘋果端的例程和問(wèn)題解決方法。更多的信息可以去官網(wǎng)查看:
目前我在通過(guò)DUI創(chuàng)建的AI模型,擁有以下幾個(gè)技能:
1.天氣? ? ? ? ? ? 2.日歷 ???????????????????3.單位換算??????? 4.計(jì)算器
5.匯率? ? ? ? ? ? 6.親戚關(guān)系計(jì)算? ? ? ?7.成語(yǔ)? ? ? ? ? ? ? ?8.詩(shī)詞
9.翻譯大全? ? ?10.兒歌? ? ? ? ? ? ? ? ? 11.故事? ? ? ? ? ? ?12.國(guó)學(xué)
13.曲藝? ? ? ? ? 14.戲曲? ? ? ? ? ? ? ? ? 15.笑話? ? ? ? ? ? ?16.音樂(lè)
17.有聲書? ? ? ?18.歷史上的今天?????19.猜數(shù)字(游戲)?? 20. 一禪小和尚
21.百科? ? ? ? ? 22.閑聊
在提供工程中,有一個(gè)文件燒錄文件夾,可以通過(guò)軟件直接燒錄進(jìn)開(kāi)發(fā)板,也可以通過(guò)KEIL編譯,直接下載。可以打開(kāi)串口調(diào)試助手,查看log調(diào)試信息。串口波特率:115200,數(shù)據(jù)位:8,停止位:1,校驗(yàn)位:無(wú)。由于我在KEIL的文本編輯器設(shè)置成UTF8編碼,因此串口調(diào)試助手的文本顯示必須設(shè)置成UTF8編碼。正常啟動(dòng)log如下所示:
系統(tǒng)啟動(dòng)完成后,按住開(kāi)發(fā)板上的藍(lán)色按鍵1秒鐘左右,開(kāi)始說(shuō)話,說(shuō)完話后放開(kāi)按鍵,接著等待對(duì)話結(jié)果。
文章末尾有提供工程文件,全部下載完,解壓縮即可使用。
演示視頻:
是不是發(fā)現(xiàn)我的STM32F746G-DISC開(kāi)發(fā)板,跟你們不一樣,哈哈,我手動(dòng)升級(jí)了。FLASH容量升級(jí)成32MB,屏幕更換成800X480分辨率,唯一的遺憾就是SDRAM不好焊接,沒(méi)有升級(jí)。如果想升級(jí)開(kāi)發(fā)板的,可以留言,我可以把文件共享出來(lái)。
總結(jié)
以上是生活随笔為你收集整理的stm32 交换机芯片_基于STM32的全链路语音交互 - stm32/stm8 - 电子工程世界的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 话筒增益_话筒啸叫怎么办?教你四个解决话
- 下一篇: python列表解析式如何使用_pyth