OpenHarmony學(xué)生挑戰(zhàn)賽參賽經(jīng)驗分享

??想了解更多關(guān)于開源的內(nèi)容,請訪問:??
前言
本次OpenHarmony學(xué)生挑戰(zhàn)賽我準(zhǔn)備的項目是一個基于OpenHarmony的無人配送小車。接觸OpenHarmony也有半年時間了,這也是我第一次帶隊參加OpenHarmony的比賽,雖然最后花費了很長時間也沒有做出來一個像樣的成品,很多方面都出了一點小狀況把進(jìn)度卡死了,但這過程也學(xué)到了很多東西。
??倉庫鏈接??(沒什么內(nèi)容,跟這篇差不多),雖然最后還水了個三等獎,但項目的完成度和我的預(yù)期差得有點遠(yuǎn),不過通過這個項目也知道自己很多的不足,下次會繼續(xù)努力,繼續(xù)為OpenHarmony貢獻(xiàn)出自己的力量。也沒什么成品好分享的,主要分享一下這個項目的架構(gòu),給大家看看我畫的餅。
項目簡介
疫情的持續(xù)反復(fù)對疫情防控的技術(shù)提高提出了迫切的要求,本項目聚焦防疫一線的配送工作中存在的“接觸感染風(fēng)險大”這一難題,重點聯(lián)系聯(lián)合國可持續(xù)發(fā)展目標(biāo)中的“良好的健康和福祉”、“可持續(xù)城市和社區(qū)”這兩方面內(nèi)容,設(shè)計出一款城市社區(qū)無人配送小車。
項目以O(shè)penHarmony為核心,軟硬件相結(jié)合,自主設(shè)計完成一套基于鴻蒙操作系統(tǒng),作用于隔離點,能夠替代防疫工作人員與被隔離人員之間接觸的配送物資系統(tǒng)以提高的運行效率的解決方案。通過控制端配置配送信息以及下達(dá)配送命令,小車端實現(xiàn)自動巡線,路徑規(guī)劃將物資送達(dá)客戶,并且提供與客戶端能夠互聯(lián)的系統(tǒng)來提高交互體驗及配送效率。并且,在這套系統(tǒng)的基礎(chǔ)上,還能延伸出許多拓展應(yīng)用場景。例如在這個無人配送的場景下,我們可以加上居民健康監(jiān)測的功能,只需加上測溫模塊,以及配置好個人信息的NFC標(biāo)簽,小車上門時只需手機(jī)與NFC模塊碰一碰,小車系統(tǒng)就會將體溫及居民的健康信息錄入,上傳到云端或者主控端。

系統(tǒng)架構(gòu)
基于以上場景實現(xiàn),可以將無人配送系統(tǒng)分為小車平臺端和鴻蒙終端(主控終端與客戶終端)兩部分,小車端是基于潤和的智能小車套件以及HiSpark AI Camera 開發(fā)套件進(jìn)行開發(fā)的搭載OpenHarmony系統(tǒng)的系統(tǒng)終端,二者都搭載wifi模組,可以與鴻蒙終端進(jìn)行通訊組網(wǎng),需要實現(xiàn)一系列組件的驅(qū)動以及通訊系統(tǒng)組建,智能語音交互。鴻蒙終端具備消息提醒以及確認(rèn)交互,小車狀態(tài)查詢及控制,分布式軟總線通信,以及鴻蒙原子化服務(wù)功能等。可以將系統(tǒng)架構(gòu)分為南向部分和北向部分。

硬件設(shè)計
無人配送小車硬件架構(gòu)整體由潤和的智能小車套件以及HiSpark AI Camera 開發(fā)套件以及其他拓展模塊組成。

通信架構(gòu)
無人配送小車系統(tǒng)主要利用串口通信以及TCP/IP協(xié)議在Openharmony小車控制系統(tǒng)內(nèi)部進(jìn)行信息通信,并且基于此通信方式完成配送機(jī)器人系統(tǒng)與鴻蒙分布式控制終端的鏈接。小車平臺與主控平臺間也可以建立一個云服務(wù)器,通過MQTT協(xié)議發(fā)布和訂閱實現(xiàn)交互,實現(xiàn)遠(yuǎn)程控制小車與遠(yuǎn)程監(jiān)視小車狀態(tài)。小車平臺與客戶平臺通過NFC進(jìn)行信息交換,簡化通信過程,提高交互效率。通訊網(wǎng)絡(luò)架構(gòu)如下:

心得體會
小車套件開發(fā)
對于智能小車的開發(fā)官方也是給了很多教程,尋跡以及避障的功能也有給出,只需要根據(jù)實際情況修改自己需要的邏輯功能即可。
潤和小車學(xué)習(xí)教程:
海思官方教程倉庫:https://gitee.com/hihope_iot/HiHope_Pegasus_Doc/tree/master官方學(xué)習(xí)資料:https://www.hisilicon.com/cn/chip-academy/materiallist。
AI視覺開發(fā)
視覺使用的是HiSpark AI Camera 開發(fā)套件的NNIE和IVE的硬件加速能力來實現(xiàn)深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)。小車的視覺部分是整套系統(tǒng)的關(guān)鍵部分,很可惜的是沒有調(diào)試出來,中間遇到的太多問題了,研究了海思官方的案例教程,也研究了OpenHarmony的AI子系統(tǒng),遇到了許多環(huán)境配置的問題,模型轉(zhuǎn)換的問題,最終也只是跑通了demo。遇到了教程使用的硬件如LCD與套件不適配,調(diào)試的好長好長時間,不得不說小型系統(tǒng)和標(biāo)準(zhǔn)系統(tǒng)的調(diào)試過程是還是挺折磨的,調(diào)試只能憑感覺調(diào)試,每次調(diào)試編譯燒錄還得挺久,也是自身水平還是不夠吧,希望未來能重新解決這個問題。
在這里貼上我學(xué)習(xí)HI3516 AI的教程:
海思官方視頻教程:https://www.hisilicon.com/cn/chip-academy/videolist海思官方資料教程:https://www.hisilicon.com/cn/chip-academy/materiallist。
產(chǎn)品說明書工具等:http://www.hihope.org/download/download.aspx。
Hi3516DV300實驗開發(fā)指導(dǎo):
https://gitee.com/openharmony/device_soc_hisilicon/tree/master/hi3516dv300/sdk_linux/sample/taurus。
通信方面
這次通信主要用到了TCP/IP協(xié)議,通過Hi3861的Wifi模塊STA模式連接熱點與終端進(jìn)行通信,以及上位機(jī)和下位機(jī)之間進(jìn)行串口通信,還有Hi3861通過MQTT將數(shù)據(jù)上傳的,因為項目前置條件也還沒完成,也不好演示,相關(guān)教程也有,在這里貼出來,可以學(xué)習(xí)學(xué)習(xí):
??潤和Hi3861網(wǎng)絡(luò)教程以及MQTT??(第19-26小節(jié))。
??Pegasus與Taurus串口互聯(lián)通信??Pegasus與Taurus WiFi互聯(lián)通信。
其他
NFC:本來是想兩個NFC之間的數(shù)據(jù)交換,發(fā)現(xiàn)好像并沒有這方面的教程,折騰了挺久也沒搞出來,目前有的是通過NFC拉取鴻蒙原子化服務(wù),NFC配網(wǎng),手機(jī)讀取NFC數(shù)據(jù)網(wǎng)頁,所以實現(xiàn)起來還是挺困難的,使用的海思3861的外接NFC也沒有例程,所以也算是踩坑了。
MLX90614紅外溫度傳感器:移植了老久紅外溫度傳感器驅(qū)動雖然最后跑通了,但得到的溫度數(shù)據(jù)有點錯誤,使用鴻蒙IO來寫SMBUS協(xié)議屬實有點困難,開漏輸出也找不到在哪里設(shè)置,不過通過IIC還是可以驅(qū)動成功了,等以后調(diào)完全了也會分享出來。




















