色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          "); //-->

          博客專欄

          EEPW首頁 > 博客 > OpenHarmony開發(fā)樣例- 基于Pegasus物聯(lián)網(wǎng)開發(fā)套件來開發(fā)的智能垃圾桶

          OpenHarmony開發(fā)樣例- 基于Pegasus物聯(lián)網(wǎng)開發(fā)套件來開發(fā)的智能垃圾桶

          發(fā)布人:dianlaotie 時(shí)間:2022-03-16 來源:工程師 發(fā)布文章

          一、 介紹

          智能垃圾桶可以通過數(shù)字管家應(yīng)用來監(jiān)測垃圾桶當(dāng)前可用容量,提醒主人及時(shí)處理垃圾;通過日程管家可以實(shí)現(xiàn)和其他智能設(shè)備聯(lián)動(dòng)。
          核心組件位置功能
          距離傳感器置于垃圾桶蓋內(nèi)側(cè)感應(yīng)垃圾量
          紅外傳感器置于垃圾桶前端感應(yīng)是否有人靠近
          光敏電阻開發(fā)板上固定感應(yīng)照明情況
          LED燈開發(fā)板上固定模擬晚上照明燈,和紅外傳感器聯(lián)動(dòng)
          舵機(jī)垃圾桶蓋下方合適位置通過轉(zhuǎn)動(dòng),控制垃圾桶蓋的開關(guān)


          1. 交互流程


          智能垃圾桶整體方案原理圖可以大致分成:智能垃圾桶設(shè)備、數(shù)字管家應(yīng)用、云平臺(tái)三部分。智能垃圾桶通過MQTT協(xié)議連接華為IOT物聯(lián)網(wǎng)平臺(tái),從而實(shí)現(xiàn)命令的接收和屬性上報(bào)。 關(guān)于智能設(shè)備接入華為云IoT平臺(tái)的詳細(xì)細(xì)節(jié)可以參考 連接IOT云平臺(tái)指南;智能設(shè)備同數(shù)字管家應(yīng)用之間的設(shè)備模型定義可以參考profile .


          2.實(shí)物簡介

          我們使用 Pegasus物聯(lián)網(wǎng)開發(fā)套件來模擬智能垃圾桶設(shè)備;
          reset按鍵控制設(shè)備重啟;reset按鍵組合控制按鍵可以清除已保存的配網(wǎng)信息,具體操作:先按下控制按鍵user,然后按下reset按鍵,1-2秒后再松開reset按鍵;
          通過NFC模塊實(shí)現(xiàn)設(shè)備碰一碰快速配網(wǎng)。

          3.實(shí)物操作體驗(yàn)


          二、快速上手
          1. 硬件準(zhǔn)備

          Pegasus物聯(lián)網(wǎng)開發(fā)套件一套
          預(yù)裝HarmonyOS手機(jī)一臺(tái)

          2、Linux編譯服務(wù)器基礎(chǔ)環(huán)境準(zhǔn)備

          開發(fā)基礎(chǔ)環(huán)境由windows 工作臺(tái)和Linux 編譯服務(wù)器組成。windows 工作臺(tái)可以通過samba 服務(wù)或ssh 方式訪問Linux編譯服務(wù)器。其中windows 工作臺(tái)用來燒
          錄和代碼編輯,Linux編譯服務(wù)器用來編譯OpenHarmony代碼,為了簡化步驟,Linux編譯服務(wù)器推薦安裝Ubuntu20.04。

          安裝和配置Python

          • 打開Linux終端。

          • 輸入如下命令,查看python版本號,需要使用python3.7以上版本,否則參考 系統(tǒng)基礎(chǔ)環(huán)境搭建。


            復(fù)制代碼



            1. <font size="4">python3 --version</font>

          • 安裝并升級Python包管理工具(pip3)。



          1. <font size="4">sudo apt-get install python3-setuptools python3-pip -y

          2. sudo pip3 install --upgrade pip</font>

          復(fù)制代碼


          安裝hb

          • 運(yùn)行如下命令安裝hb


            復(fù)制代碼



            1. <font size="4">python3 -m pip install --user ohos-build</font>

          • 設(shè)置環(huán)境變量


            復(fù)制代碼


            將以下命令拷貝到.bashrc文件的最后一行,保存并退出。


            復(fù)制代碼


            執(zhí)行如下命令更新環(huán)境變量。


            復(fù)制代碼



            1. <font size="4">source ~/.bashrc</font>

            1. <font size="4">export PATH=~/.local/bin:$PATH</font>

            1. <font size="4">vim ~/.bashrc</font>

          • 執(zhí)行"hb -h",有打印以下信息即表示安裝成功.


            復(fù)制代碼



            1. <font size="4">usage: hb


            2. OHOS build system


            3. positional arguments:

            4.   {build,set,env,clean}

            5.     build               Build source code

            6.     set                 OHOS build settings

            7.     env                 Show OHOS build env

            8.     clean               Clean output


            9. optional arguments:

            10.   -h, --help            show this help message and exit</font>

          3、Hi3861開發(fā)環(huán)境準(zhǔn)備

          在Linux編譯服務(wù)器上搭建好基礎(chǔ)開發(fā)環(huán)境后,需要安裝OpenHarmony 編譯Hi3861 平臺(tái)特有的開發(fā)環(huán)境。

          安裝編譯依賴基礎(chǔ)軟件

          1. <font size="4">sudo apt-get install -y build-essential gcc g++ make zlib* libffi-dev</font>

          復(fù)制代碼


          安裝Scons

          • 打開Linux 終端。

          • 運(yùn)行如下命令,安裝Scons安裝包。


            復(fù)制代碼



            1. <font size="4">python3 -m pip install scons</font>

          • 運(yùn)行如下命令,查看是否安裝成功。如果安裝成功,查詢結(jié)果下圖所示。


            復(fù)制代碼


            下圖 Scons安裝成功界面,版本要求3.0.4以上

            1. <font size="4">scons -v</font>

          安裝python模塊

          1. <font size="4">sudo pip3 install setuptools kconfiglib pycryptodome ecdsa six --upgrade --ignore-installed six

          2. </font>

          復(fù)制代碼


          安裝gcc_riscv32(WLAN模組類編譯工具鏈)

          • 打開Linux終端。

          • 下載gcc_riscv32鏡像,下載鏈接。

          • 設(shè)置環(huán)境變量
            將壓縮包解壓到根目錄


            復(fù)制代碼


            設(shè)置環(huán)境變量。


            復(fù)制代碼


            將以下命令拷貝到.bashrc文件的最后一行,保存并退出。


            復(fù)制代碼


            生效環(huán)境變量。


            復(fù)制代碼



            1. <font size="4">source ~/.bashrc</font>

            1. <font size="4">export PATH=~/gcc_riscv32/bin:$PATH</font>

            1. <font size="4">vim ~/.bashrc</font>

            1. <font size="4">tar -xvf gcc_riscv32-linux-7.3.0.tar.gz -C ~</font>

          • 在命令行中輸入如下命令,如果能正確顯示編譯器版本號,表明編譯器安裝成功。


            復(fù)制代碼



            1. <font size="4">riscv32-unknown-elf-gcc -v</font>

          4、源碼下載&編譯準(zhǔn)備
          1.碼云工具下載

          1. <font size="4">cd ~

          2. curl https://gitee.com/oschina/repo/raw/fork_flow/repo-py3 > /usr/local/bin/repo

          3. chmod a+x /usr/local/bin/repo

          4. pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple requests</font>

          復(fù)制代碼


          2.代碼下載
          1) OpenHarmony代碼下載

          1. <font size="4">#特別注意:請下載OpenHarmony 1.0.1 版本,后續(xù)會(huì)更新支持OpenHarmony其他版本

          2. mkdir ~/OpenHarmony1.01

          3. cd ~/OpenHarmony1.01

          4. repo init -u git@gitee.com:openharmony/manifest.git -b OpenHarmony_1.0.1_release --no-repo-verify

          5. repo sync -c

          6. repo forall -c 'git lfs pull'</font>

          復(fù)制代碼


          2) 設(shè)備側(cè)代碼下載

          具體倉庫地址:https://gitee.com/openharmony-sig/knowledge_demo_smart_home/
          具體下載命令如下:



          1. <font size="4">git clone git@gitee.com:openharmony-sig/knowledge_demo_smart_home.git</font>

          復(fù)制代碼


          3) 編譯前準(zhǔn)備

          • 代碼拷貝


            復(fù)制代碼



            1. <font size="4">cp -RFa  ~/knowledge_demo_smart_home/dev/team_x  ~/OpenHarmony1.01/vendor/

            2. cp -rfa  ~/knowledge_demo_smart_home/dev/third_party/iot_link  ~/OpenHarmony1.01/third_party/</font>

          • Hispark 開發(fā)板特定修改
            地址:device/hisilicon/hispark_pegasus/hi3861_adapter/hals/communication/wifi_lite/wifiservice/source/wifi_hotspot.c


            復(fù)制代碼


            地址:device/hisilicon/hispark_pegasus/hi3861_adapter/hals/communication/wifi_lite/wifiservice/source/wifi_device.c


            復(fù)制代碼


            • 修改usr_config.mk 文件
              地址:device/hisilicon/hispark_pegasus/sdk_liteos/build/config/usr_config.mk


              復(fù)制代碼



            • 修改wifiservice 文件夾

            1. <font size="4">DispatchConnectEvent函數(shù)下 屏蔽StaSetWifiNetConfig相關(guān)代碼行

            2. 239         //StaSetWifiNetConfig(HI_WIFI_EVT_CONNECTED);

            3. 260        //StaSetWifiNetConfig(HI_WIFI_EVT_DISCONNECTED);</font>

            1. <font size="4">EnableHotspot函數(shù)中屏蔽如下字段

            2. 139     //if (SetHotspotIpConfig() != WIFI_SUCCESS) {

            3. 140     //    return ERROR_WIFI_UNKNOWN;

            4. 141     //}</font>

            1. <font size="4">使能如下配置項(xiàng)

            2. CONFIG_I2C_SUPPORT=y

            3. CONFIG_PWM_SUPPORT=y</font>

          整合并修改完成后的目錄結(jié)構(gòu)如下圖:

          5、編譯&燒錄

          1. <font size="4">編譯命令:

          2. hb set  // 如果是第一次編譯,Input code path 命令行中鍵入"./" 指定OpenHarmony工程編譯根目錄后 回車,

          3. 如下圖所示,使用鍵盤上下鍵選中智能臺(tái)燈</font>

          復(fù)制代碼




          1. <font size="4">hb build // 如果需要全量編譯,可以添加-f 選項(xiàng)</font>

          復(fù)制代碼


          詳細(xì)的代碼編譯及固件燒錄步驟,請參考 編譯和燒錄指南

          6、設(shè)備配網(wǎng)

          • 在設(shè)備上電前需準(zhǔn)備好安裝了數(shù)字管家應(yīng)用的HarmonyOS手機(jī),詳情見數(shù)字管家應(yīng)用開發(fā), 并在設(shè)置中開啟手機(jī)的NFC功能;

          • 寫設(shè)備NFC標(biāo)簽,詳細(xì)操作見設(shè)備NFC標(biāo)簽指導(dǎo)文檔;

          • 燒錄完成后,上電。開發(fā)者在觀察開發(fā)板上狀態(tài)LED燈以8Hz的頻率閃爍時(shí),將手機(jī)上半部靠近開發(fā)板NFC標(biāo)簽處;

          • 無需任何操作手機(jī)將自動(dòng)拉起數(shù)字管家應(yīng)用并進(jìn)入配網(wǎng)狀態(tài),配網(wǎng)過程中無需輸入熱點(diǎn)賬號密碼。 具體無感配網(wǎng)相關(guān)流程參考 無感配網(wǎng)指南


          *博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請聯(lián)系工作人員刪除。




          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉