




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
?NXROBO2023通過語音實現(xiàn)智能家居控制課程說明了解網(wǎng)絡(luò)通信星火派WiFi-STA實現(xiàn)在線/離線語音功能開源鴻蒙套件控制燈效?NXROBO20232了解網(wǎng)絡(luò)通信?NXROBO20233網(wǎng)絡(luò)通信介紹?NXROBO20234
網(wǎng)絡(luò)通信是指通過計算機網(wǎng)絡(luò)實現(xiàn)數(shù)據(jù)傳輸和交換的過程。計算機網(wǎng)絡(luò)是由多個計算機和其他設(shè)備(如路由器、交換機等)組成的互聯(lián)網(wǎng),它們通過物理鏈路或無線信道相連,構(gòu)成一個覆蓋范圍廣泛的信息傳輸系統(tǒng)。
網(wǎng)絡(luò)通信的基本原理是使用協(xié)議對信息進(jìn)行編碼和解碼。通信協(xié)議規(guī)定了數(shù)據(jù)格式、傳輸速率、錯誤檢測和糾正等方面的細(xì)節(jié),從而使得網(wǎng)絡(luò)設(shè)備可以相互識別和交換信息。常用的網(wǎng)絡(luò)通信協(xié)議包括TCP/IP、HTTP、FTP、SMTP等。-TCP/IP協(xié)議是Internet上最常用的協(xié)議之一,它負(fù)責(zé)將數(shù)據(jù)分割成小塊并在網(wǎng)絡(luò)上傳輸;-HTTP是超文本傳輸協(xié)議,用于Web瀏覽器和服務(wù)器之間的通信;-FTP是文件傳輸協(xié)議,用于在不同計算機之間傳輸文件;-SMTP是簡單郵件傳輸協(xié)議,用于電子郵件的發(fā)送和接收。WiFi網(wǎng)絡(luò)組建?NXROBO20235手機客戶端要與星火派正常進(jìn)行網(wǎng)絡(luò)通信,需要二者處于同一局域網(wǎng)內(nèi),連接同一熱點或者路由,配置IP。由于星火派每次重啟都會重置IP地址,如果設(shè)置為動態(tài)IP的話開發(fā)板IP會不斷變化,所以這里采用靜態(tài)IP的配置方法,配置靜態(tài)IP時要確保該IP能夠正常分配到,網(wǎng)關(guān)與掩碼都要進(jìn)行配置。由于Spark有熱點功能,也可以通過讓Spark開啟熱點,供給手機客戶端與星火派開發(fā)板進(jìn)行連接。STA聯(lián)網(wǎng)?NXROBO20236STA(Station)是指設(shè)備作為無線局域網(wǎng)的客戶端或終端,用于連接到無線網(wǎng)絡(luò)的設(shè)備。STA聯(lián)網(wǎng)是指該設(shè)備通過無線接口連接到一個無線網(wǎng)絡(luò),并獲取網(wǎng)絡(luò)連接的功能。在無線局域網(wǎng)中,通常有一個無線接入點(AP)作為網(wǎng)絡(luò)的中心設(shè)備,負(fù)責(zé)提供無線信號和網(wǎng)絡(luò)連接。STA設(shè)備可以通過掃描周圍的無線信號找到可用的無線網(wǎng)絡(luò),并與其中的一個網(wǎng)絡(luò)進(jìn)行連接。連接后,STA設(shè)備可以與該網(wǎng)絡(luò)進(jìn)行通信,訪問互聯(lián)網(wǎng)或與網(wǎng)絡(luò)中的其他設(shè)備進(jìn)行交互。STA聯(lián)網(wǎng)的過程通常涉及以下步驟:1.掃描:STA設(shè)備掃描周圍的無線信號,獲取可用的無線網(wǎng)絡(luò)列表。2.連接:選擇要連接的無線網(wǎng)絡(luò),并與該網(wǎng)絡(luò)建立連接。這通常需要提供網(wǎng)絡(luò)的身份驗證信息,如SSID(網(wǎng)絡(luò)名稱)和密碼。3.鑒權(quán):STA設(shè)備向無線網(wǎng)絡(luò)發(fā)送身份驗證信息,并等待網(wǎng)絡(luò)的確認(rèn)和鑒權(quán)。4.獲取IP地址:一旦STA設(shè)備通過身份驗證,它會分配一個IP地址,用于在網(wǎng)絡(luò)中唯一標(biāo)識設(shè)備。5.聯(lián)網(wǎng):STA設(shè)備成功獲取IP地址后,可以與網(wǎng)絡(luò)中的其他設(shè)備進(jìn)行通信,訪問互聯(lián)網(wǎng)或執(zhí)行其他網(wǎng)絡(luò)相關(guān)的操作。STA聯(lián)網(wǎng)相關(guān)API?NXROBO20237OpenHarmony提供相關(guān)接口API位置于:/openharmony3.1.6/device/soc/hisilicon/hi3861v100/sdk_liteos/include其中hi_wifi_api.h文件提供STA聯(lián)網(wǎng)相關(guān)API星火派WiFi-STA實現(xiàn)?NXROBO20238WIFI開啟的流程?NXROBO202391.STA初始化,hi_wifi_sta_start()2.注冊回調(diào)函數(shù),hi_wifi_register_event_callback():wifi模塊接收到事件觸發(fā)回調(diào)3.根據(jù)網(wǎng)絡(luò)接口查找對應(yīng)的netif結(jié)構(gòu)體指針,netifapi_netif_find():傳遞網(wǎng)絡(luò)接口名稱作為參數(shù),可以獲取到該網(wǎng)絡(luò)接口對應(yīng)的netif結(jié)構(gòu)體指針,進(jìn)而可以對該網(wǎng)絡(luò)接口進(jìn)行相關(guān)操作,如配置IP地址、啟動DHCP等。4.掃描WIFI,hi_wifi_sta_scan():獲取到掃描到的無線網(wǎng)絡(luò)的信息,如SSID(網(wǎng)絡(luò)名稱)、信號強度等。這樣可以在應(yīng)用程序中顯示可用的Wi-Fi網(wǎng)絡(luò)列表或進(jìn)行其他相關(guān)操作。5.獲取WIFI掃描結(jié)果,hi_wifi_sta_scan_results:獲取Wi-Fi掃描結(jié)果,即獲取附近可用的Wi-Fi網(wǎng)絡(luò)列表。通過調(diào)用該函數(shù),可以獲取包含掃描到的Wi-Fi網(wǎng)絡(luò)信息的結(jié)構(gòu)體數(shù)組。6.連接WiFi,hi_wifi_start_connect():與指定的Wi-Fi網(wǎng)絡(luò)進(jìn)行連接。通過調(diào)用該函數(shù),可以指定要連接的Wi-Fi網(wǎng)絡(luò)的SSID(網(wǎng)絡(luò)名稱)、認(rèn)證方式和密碼,并進(jìn)行連接操作。7.配置DHCP獲取IP地址,dhcp_start():啟動動態(tài)主機配置協(xié)議(DHCP)客戶端,通過向DHCP服務(wù)器發(fā)送請求,獲取IP地址、子網(wǎng)掩碼、默認(rèn)網(wǎng)關(guān)等網(wǎng)絡(luò)配置信息。編寫WIFI業(yè)務(wù)代碼wifi_sta.c?NXROBO202310wifi_sta.c文件位于:/spark_hm_pi/example/08_wifi_sta/08_wifi_sta目錄下,內(nèi)容如下:(更多信息請查看實訓(xùn)指導(dǎo)書)編寫業(yè)務(wù)編譯構(gòu)建文件BUILD.gn?NXROBO202311BUILD.gn文件位于:/spark_hm_pi/example/08_wifi_sta/BUILD.gn,內(nèi)容如下:(更多信息請查看實訓(xùn)指導(dǎo)書)編寫模塊編譯構(gòu)建文件BUILD.gn?NXROBO202312BUILD.gn文件位于:/spark_hm_pi/example/BUILD.gn,內(nèi)容如下:(更多信息請查看實訓(xùn)指導(dǎo)書)編譯&燒錄&調(diào)試?NXROBO202313具體過程參照《鴻蒙開發(fā)板開發(fā)環(huán)境操作手冊》與《星火派SPARK-HM-PI程序燒錄說明》打開串口調(diào)試助手,按下開發(fā)板reset,可以看到串口打印出WIFI信息:在線/離線語音功能?NXROBO202314語音技術(shù)介紹?NXROBO202315外設(shè)通過無線,內(nèi)部通過串口和NUC通信,控制底盤。在線語音功能是指使用互聯(lián)網(wǎng)連接,與其他人進(jìn)行實時語音通話。用戶可以通過應(yīng)用程序或網(wǎng)頁界面打開麥克風(fēng)和揚聲器,并與其他人進(jìn)行通話。這種功能常見于即時通訊軟件、社交媒體平臺或網(wǎng)絡(luò)電話服務(wù)。也可以通過在線語音功能進(jìn)行遠(yuǎn)程控制。
離線語音功能是指在沒有互聯(lián)網(wǎng)連接的情況下,仍然能夠使用語音功能完成一些操作。例如,在手機或電腦上安裝語音識別軟件,可以使用離線語音功能將語音轉(zhuǎn)換為文字,從而輔助用戶進(jìn)行文字輸入。另外,還有一些設(shè)備自帶的離線語音播報功能,例如汽車導(dǎo)航系統(tǒng)、智能家居產(chǎn)品,可以在沒有網(wǎng)絡(luò)連接的情況下,對用戶進(jìn)行語音提示和指導(dǎo)。本章節(jié)的功能實現(xiàn)采用離線語音功能的語音識別技術(shù)。語音識別技術(shù)?NXROBO202316語音識別技術(shù),也稱為自動語音識別(AutomaticSpeechRecognition,ASR),可以基于機器識別和理解,將語音信號轉(zhuǎn)變?yōu)槲谋净蛎?。本案例中采用的是華為的鴻蒙手機,利用語音識別功能提供面向移動終端的語音識別能力。開發(fā)基于華為智慧引擎(HUAWEIHiAIEngine)中的語音識別引擎,向開發(fā)者提供人工智能應(yīng)用層API。該技術(shù)可以將語音文件、實時語音數(shù)據(jù)流轉(zhuǎn)換為漢字序列,準(zhǔn)確率達(dá)到90%以上(本地識別95%)。約束與限制:支持的輸入文件格式有wav或pcm當(dāng)前僅支持對普通話的識別輸入時長不能超過20s采樣要求:采樣率16000Hz,單聲道引擎的使用必須初始化和釋放處理,且調(diào)用必須在UI的主線程中進(jìn)行多線程調(diào)用:HUAWEIHiAIEngine不支持同一應(yīng)用使用多線程調(diào)用同一接口,這樣會使某一線程調(diào)用release方法后,卸載模型,導(dǎo)致正在運行的另一些線程出錯。故多線程執(zhí)行同一功能達(dá)不到并行的效果。但是引擎支持使用多線程調(diào)用不同接口,如開啟兩個線程同時使用文檔矯正和ASR接口接口說明?NXROBO202317接口說明?NXROBO202318開發(fā)步驟?NXROBO2023191在使用語音識別API時,將實現(xiàn)ASR的相關(guān)的類添加至工程//提供ASR引擎執(zhí)行時所需要傳入的參數(shù)類importohos.ai.asr.AsrIntent;//錯誤碼的定義類importohos.ai.asr.util.AsrError;//加載語音識別Listenerimportohos.ai.asr.AsrListener;//提供調(diào)用ASR引擎服務(wù)接口的類importohos.ai.asr.AsrClient;//ASR回調(diào)結(jié)果中的關(guān)鍵字封裝類importohos.ai.asr.util.AsrResultKey;開發(fā)步驟?NXROBO2023202.調(diào)用API接口2.1創(chuàng)建一個AsrClient對象。context為應(yīng)用上下文信息,應(yīng)為ohos.aafwk.ability.Ability或ohos.aafwk.ability.AbilitySlice的實例或子類實例AsrClientasrClient=AsrClient.createAsrClient(context).orElse(null);2.2設(shè)置引擎參數(shù)。如果希望識別文件,音頻文件需滿足約束與限制,并設(shè)置音頻類型為“ASR_SRC_TYPE_FILE”;如果希望識別音頻流,則設(shè)置音頻類型為“ASR_SRC_TYPE_PCM”AsrIntentinitIntent=newAsrIntent();initIntent.setAudioSourceType(AsrIntent.AsrAudioSrcType.ASR_SRC_TYPE_PCM);2.3初始化ASR服務(wù)。其中,mMyAsrListener為實現(xiàn)了AsrListener接口的實例對象asrClient.init(initIntent,mMyAsrListener);開發(fā)步驟?NXROBO2023212.調(diào)用API接口2.4開始識別。用戶可以不設(shè)置參數(shù),使用默認(rèn)參數(shù)AsrIntentasrIntent=newAsrIntent();//設(shè)置后置的端點檢測(VAD)時間asrIntent.setVadEndWaitMs(2000);//設(shè)置前置的端點檢測(VAD)時間asrIntent.setVadFrontWaitMs(4800);//設(shè)置語音識別的超時時間asrIntent.setTimeoutThresholdMs(20000);asrClient.startListening(asrIntent);//buffer需要替換為真實的音頻數(shù)據(jù)byte[]buffer=newbyte[]{0,1,0,10,1};//對于長度大于1280的音頻,需要多次調(diào)用writePcm分段傳輸asrClient.writePcm(buffer,1280);開發(fā)步驟?NXROBO2023222.調(diào)用API接口2.5取消或停止識別asrClient.stopListening();//停止識別asrClient.cancel();//取消識別2.6釋放引擎asrClient.destroy();開源鴻蒙套件控制燈效?NXROBO202323WS2812LED介紹?NXROBO202324WS2812的8x8燈板是一種由64個WS2812LED燈珠組成的點陣屏幕。每個WS2812LED燈珠都可以獨立控制顏色和亮度,因此可以在這種燈板上顯示彩色圖像和動畫。WS2812LED介紹?NXROBO202325WS2812LED燈珠使用一種特殊的通信協(xié)議,可以通過單個數(shù)據(jù)線連接多個燈珠。這意味著您只需要使用一個引腳來控制整個8x8燈板。要控制WS2812的8x8燈板,您需要使用單片機或微控制器來發(fā)送控制數(shù)據(jù),并使用相應(yīng)的庫函數(shù)來設(shè)置每個LED燈珠的顏色和亮度。相關(guān)API?NXROBO202326圖片取模介紹?NXROBO202327
圖片取模是指將一幅圖片轉(zhuǎn)換為點陣數(shù)據(jù)的過程。這通常用于將圖片顯示在點陣屏幕(如LED點陣屏幕或LCD字符顯示屏)上。
在圖片取模過程中,首先需要將圖片縮放到與目標(biāo)點陣屏幕大小相匹配。然后,根據(jù)屏幕的顏色深度和顯示能力,將圖片的顏色數(shù)據(jù)轉(zhuǎn)換為點陣數(shù)據(jù)。例如,對于單色點陣屏幕,圖片的顏色數(shù)據(jù)需要轉(zhuǎn)換為黑白二值數(shù)據(jù)。
最后,根據(jù)屏幕控制器的要求,將點陣數(shù)據(jù)進(jìn)行適當(dāng)?shù)木幋a和排列。例如,對于橫向取模的控制器,需要將點陣數(shù)據(jù)按行排列;對于縱向取模的控制器,則需要將點陣數(shù)據(jù)按列排列。
圖片取模通常使用專門的取模軟件來完成,也可以通過編程實現(xiàn),具體可以網(wǎng)上搜索取模軟件?!癝PARK“圖片取模?NXROBO202328
橫向取模和字節(jié)倒序是點陣字庫中常用的術(shù)語。
橫向取模是指在點陣字庫中,一個字符的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 制式勞動合同范本
- 代生產(chǎn)酒合同范本
- 賣酒銷售合同范本
- 卷簾合同范本
- 勞動合同制合同范本
- 2025河北建筑安全員C證考試(專職安全員)題庫附答案
- 內(nèi)部招標(biāo)采購合同范本
- 醫(yī)療技術(shù)聘用合同范本
- 醫(yī)院食堂餐飲合同范本
- 加壓供水合同范本
- 青少年社會支持評定量表
- kW直流充電樁的設(shè)計
- 施工圖總目錄
- 《裝配化工字組合梁鋼橋六車道3x30m通用圖》(3911-05-2021)【可編輯】
- 02S404給排水圖集標(biāo)準(zhǔn)
- 人民醫(yī)院診斷證明書
- 六年級勞動與技術(shù)下冊《課程綱要》
- 掛牌督辦安全生產(chǎn)重大事故隱患銷號申請表
- 2023纖維增強水泥擠出成型中空墻板
- 頸源性頭痛課件
- 關(guān)于與旅游發(fā)展集團成立合資公司的可行性研究報告
評論
0/150
提交評論