OpenHarmony開發(fā)樣例- 基于Pegasus物聯(lián)網(wǎng)開發(fā)套件來(lái)開發(fā)的智能垃圾桶
一、 介紹
核心組件 | 位置 | 功能 |
距離傳感器 | 置于垃圾桶蓋內(nèi)側(cè) | 感應(yīng)垃圾量 |
紅外傳感器 | 置于垃圾桶前端 | 感應(yīng)是否有人靠近 |
光敏電阻 | 開發(fā)板上固定 | 感應(yīng)照明情況 |
LED燈 | 開發(fā)板上固定 | 模擬晚上照明燈,和紅外傳感器聯(lián)動(dòng) |
舵機(jī) | 垃圾桶蓋下方合適位置 | 通過(guò)轉(zhuǎn)動(dòng),控制垃圾桶蓋的開關(guān) |
1. 交互流程
2.實(shí)物簡(jiǎn)介
3.實(shí)物操作體驗(yàn)
二、快速上手
1. 硬件準(zhǔn)備
2、Linux編譯服務(wù)器基礎(chǔ)環(huán)境準(zhǔn)備
安裝和配置Python
打開Linux終端。
輸入如下命令,查看python版本號(hào),需要使用python3.7以上版本,否則參考 系統(tǒng)基礎(chǔ)環(huán)境搭建。
復(fù)制代碼<font size="4">python3 --version</font>
安裝并升級(jí)Python包管理工具(pip3)。
<font size="4">sudo apt-get install python3-setuptools python3-pip -y
sudo pip3 install --upgrade pip</font>
安裝hb
運(yùn)行如下命令安裝hb
復(fù)制代碼<font size="4">python3 -m pip install --user ohos-build</font>
設(shè)置環(huán)境變量
復(fù)制代碼
將以下命令拷貝到.bashrc文件的最后一行,保存并退出。復(fù)制代碼
執(zhí)行如下命令更新環(huán)境變量。復(fù)制代碼<font size="4">source ~/.bashrc</font>
<font size="4">export PATH=~/.local/bin:$PATH</font>
<font size="4">vim ~/.bashrc</font>
執(zhí)行"hb -h",有打印以下信息即表示安裝成功.
復(fù)制代碼<font size="4">usage: hb
OHOS build system
positional arguments:
{build,set,env,clean}
build Build source code
set OHOS build settings
env Show OHOS build env
clean Clean output
optional arguments:
-h, --help show this help message and exit</font>
3、Hi3861開發(fā)環(huán)境準(zhǔn)備
安裝編譯依賴基礎(chǔ)軟件
<font size="4">sudo apt-get install -y build-essential gcc g++ make zlib* libffi-dev</font>
安裝Scons
打開Linux 終端。
運(yùn)行如下命令,安裝Scons安裝包。
復(fù)制代碼<font size="4">python3 -m pip install scons</font>
運(yùn)行如下命令,查看是否安裝成功。如果安裝成功,查詢結(jié)果下圖所示。
復(fù)制代碼
下圖 Scons安裝成功界面,版本要求3.0.4以上<font size="4">scons -v</font>
安裝python模塊
<font size="4">sudo pip3 install setuptools kconfiglib pycryptodome ecdsa six --upgrade --ignore-installed six
</font>
安裝gcc_riscv32(WLAN模組類編譯工具鏈)
打開Linux終端。
下載gcc_riscv32鏡像,下載鏈接。
設(shè)置環(huán)境變量
將壓縮包解壓到根目錄復(fù)制代碼
設(shè)置環(huán)境變量。復(fù)制代碼
將以下命令拷貝到.bashrc文件的最后一行,保存并退出。復(fù)制代碼
生效環(huán)境變量。復(fù)制代碼<font size="4">source ~/.bashrc</font>
<font size="4">export PATH=~/gcc_riscv32/bin:$PATH</font>
<font size="4">vim ~/.bashrc</font>
<font size="4">tar -xvf gcc_riscv32-linux-7.3.0.tar.gz -C ~</font>
在命令行中輸入如下命令,如果能正確顯示編譯器版本號(hào),表明編譯器安裝成功。
復(fù)制代碼<font size="4">riscv32-unknown-elf-gcc -v</font>
4、源碼下載&編譯準(zhǔn)備
1.碼云工具下載
<font size="4">cd ~
curl https://gitee.com/oschina/repo/raw/fork_flow/repo-py3 > /usr/local/bin/repo
chmod a+x /usr/local/bin/repo
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple requests</font>
2.代碼下載
1) OpenHarmony代碼下載
<font size="4">#特別注意:請(qǐng)下載OpenHarmony 1.0.1 版本,后續(xù)會(huì)更新支持OpenHarmony其他版本
mkdir ~/OpenHarmony1.01
cd ~/OpenHarmony1.01
repo init -u git@gitee.com:openharmony/manifest.git -b OpenHarmony_1.0.1_release --no-repo-verify
repo sync -c
repo forall -c 'git lfs pull'</font>
2) 設(shè)備側(cè)代碼下載
<font size="4">git clone git@gitee.com:openharmony-sig/knowledge_demo_smart_home.git</font>
3) 編譯前準(zhǔn)備
代碼拷貝
復(fù)制代碼<font size="4">cp -RFa ~/knowledge_demo_smart_home/dev/team_x ~/OpenHarmony1.01/vendor/
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 文件夾
<font size="4">DispatchConnectEvent函數(shù)下 屏蔽StaSetWifiNetConfig相關(guān)代碼行
239 //StaSetWifiNetConfig(HI_WIFI_EVT_CONNECTED);
260 //StaSetWifiNetConfig(HI_WIFI_EVT_DISCONNECTED);</font>
<font size="4">EnableHotspot函數(shù)中屏蔽如下字段
139 //if (SetHotspotIpConfig() != WIFI_SUCCESS) {
140 // return ERROR_WIFI_UNKNOWN;
141 //}</font>
<font size="4">使能如下配置項(xiàng)
CONFIG_I2C_SUPPORT=y
CONFIG_PWM_SUPPORT=y</font>
5、編譯&燒錄
<font size="4">編譯命令:
hb set // 如果是第一次編譯,Input code path 命令行中鍵入"./" 指定OpenHarmony工程編譯根目錄后 回車,
如下圖所示,使用鍵盤上下鍵選中智能臺(tái)燈</font>
<font size="4">hb build // 如果需要全量編譯,可以添加-f 選項(xiàng)</font>
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)簽處;
無(wú)需任何操作手機(jī)將自動(dòng)拉起數(shù)字管家應(yīng)用并進(jìn)入配網(wǎng)狀態(tài),配網(wǎng)過(guò)程中無(wú)需輸入熱點(diǎn)賬號(hào)密碼。 具體無(wú)感配網(wǎng)相關(guān)流程參考 無(wú)感配網(wǎng)指南
*博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請(qǐng)聯(lián)系工作人員刪除。