1概述
智能窗簾設(shè)備不僅接收數(shù)字管家應(yīng)用下發(fā)的指令來控制窗簾開啟的時(shí)間,而且還可以加入到數(shù)字管家的日程管理中。通過日程可以設(shè)定窗簾開關(guān)的時(shí)間段,使其在特定的時(shí)間段內(nèi),窗簾自動打開或者關(guān)閉;通過日程管家還可以實(shí)現(xiàn)窗簾和其他的智能設(shè)備聯(lián)動。
1.交互流程
如上圖所示,智能窗簾整體方案原理圖可以大致分成:智能窗簾設(shè)備、數(shù)字管家應(yīng)用、云平臺三部分。智能窗簾通過MQTT協(xié)議連接華為IoT物聯(lián)網(wǎng)平臺,從而實(shí)現(xiàn)命令的接收和屬性上報(bào)。關(guān)于智能設(shè)備接入華為云IoT平臺的具體細(xì)節(jié)可以參考 連接IOT云平臺指南;智能設(shè)備同數(shù)字管家應(yīng)用之間的設(shè)備模型定義可以參考窗簾設(shè)備profile定義
2.實(shí)物簡介
我們使用小熊派bearpi_hm_nano開發(fā)底板+ E53_IA1拓展板來模擬智能窗簾設(shè)備。
通過PWM接口控制拓展板上的電機(jī)來模擬窗簾開關(guān)工作狀態(tài);
reset按鍵控制設(shè)備重啟;reset按鍵組合控制按鍵可以清除已保存的配網(wǎng)信息,具體操作:先按下控制按鍵F2,然后按下reset按鍵;
通過NFC模塊實(shí)現(xiàn)設(shè)備碰一碰快速配網(wǎng);
3.實(shí)物操作體驗(yàn)
2快速上手
1. 硬件開發(fā)環(huán)境準(zhǔn)備
BearPi-HM Nano套件一套預(yù)裝HarmonyOS手機(jī)一臺
2.Linux編譯服務(wù)器基礎(chǔ)環(huán)境準(zhǔn)備
開發(fā)基礎(chǔ)環(huán)境由windows 工作臺和Linux編譯服務(wù)器組成。windows 工作臺可以通過samba 服務(wù)或ssh 方式訪問Linux編譯服務(wù)器。其中windows 工作臺用來燒錄和代碼編輯,Linux編譯服務(wù)器用來編譯OpenHarmony代碼,為了簡化步驟,Linux編譯服務(wù)器推薦安裝Ubuntu20.04。
安裝和配置Python
-
打開Linux終端。
-
輸入如下命令,查看python版本號,需要使用python3.7以上版本,否則參考 系統(tǒng)基礎(chǔ)環(huán)境搭建。
python3 --version
左右滑動查看全部內(nèi)容
-
安裝并升級Python包管理工具(pip3)
sudo apt-get install python3-setuptools python3-pip -y
sudo pip3 install --upgrade pip
左右滑動查看全部內(nèi)容
安裝hb
-
運(yùn)行如下命令安裝hb
python3 -m pip install --user ohos-build
左右滑動查看全部內(nèi)容
-
設(shè)置環(huán)境變量
vim ~/.bashrc
左右滑動查看全部內(nèi)容
將以下命令拷貝到.bashrc文件的最后一行,保存并退出。
export PATH=~/.local/bin:$PATH
左右滑動查看全部內(nèi)容
執(zhí)行如下命令更新環(huán)境變量。
source ~/.bashrc
左右滑動查看全部內(nèi)容
-
執(zhí)行"hb -h",有打印以下信息即表示安裝成功
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
左右滑動查看全部內(nèi)容
3.Hi3861開發(fā)環(huán)境準(zhǔn)備
在Linux編譯服務(wù)器上搭建好基礎(chǔ)開發(fā)環(huán)境后,需要安裝OpenHarmony 編譯Hi3861 平臺特有的開發(fā)環(huán)境。
安裝編譯依賴基礎(chǔ)軟件
sudo apt-get install -y build-essential gcc g++ make zlib* libffi-dev
左右滑動查看全部內(nèi)容
安裝Scons
-
打開Linux 終端。
-
運(yùn)行如下命令,安裝Scons安裝包。
python3 -m pip install scons
左右滑動查看全部內(nèi)容
-
運(yùn)行如下命令,查看是否安裝成功。如果安裝成功,查詢結(jié)果下圖所示。
scons -v
左右滑動查看全部內(nèi)容
下圖 Scons安裝成功界面,版本要求3.0.4以上

安裝python模塊
sudo pip3 install setuptools kconfiglib pycryptodome ecdsa six --upgrade --ignore-installed six
左右滑動查看全部內(nèi)容
安裝gcc_riscv32(WLAN模組類編譯工具鏈)
-
打開Linux終端。
-
下載gcc_riscv32鏡像,下載鏈接。
-
設(shè)置環(huán)境變量
將壓縮包解壓到根目錄
tar -xvf gcc_riscv32-linux-7.3.0.tar.gz -C ~
左右滑動查看全部內(nèi)容
設(shè)置環(huán)境變量
vim ~/.bashrc
左右滑動查看全部內(nèi)容
將以下命令拷貝到.bashrc文件的最后一行,保存并退出。
export PATH=~/gcc_riscv32/bin:$PATH
左右滑動查看全部內(nèi)容
生效環(huán)境變量
source ~/.bashrc
左右滑動查看全部內(nèi)容
-
在命令行中輸入如下命令,如果能正確顯示編譯器版本號,表明編譯器安裝成功。
riscv32-unknown-elf-gcc -v
左右滑動查看全部內(nèi)容
4.源碼下載&編譯準(zhǔn)備
碼云工具下載
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
左右滑動查看全部內(nèi)容
代碼下載
1) OpenHarmony代碼下載
#特別注意:請下載OpenHarmony 1.0.1 版本,后續(xù)會更新支持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'
左右滑動查看全部內(nèi)容
2)設(shè)備側(cè)代碼下載
具體倉庫地址:https://gitee.com/openharmony-sig/knowledge_demo_smart_home/
具體下載命令如下:
git clone git@gitee.com:openharmony-sig/knowledge_demo_smart_home.git
左右滑動查看全部內(nèi)容
3) 編譯前準(zhǔn)備
代碼拷貝
cp -rfa ~/knowledge_demo_smart_home/dev/device/bearpi ~/OpenHarmony1.01/device/
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/
左右滑動查看全部內(nèi)容
整合并修改完成后的目錄結(jié)構(gòu)如下圖:

5.編譯&燒錄
hb set
如果是第一次編譯,輸入該命令會提示輸入代碼路徑,輸入 ./ 按下回車,即可表示當(dāng)前目錄。
按鍵盤上下鍵選擇智能風(fēng)扇,按下回車進(jìn)行確認(rèn)。
左右滑動查看全部內(nèi)容

hb build // 如果需要全量編譯,可以添加-f 選項(xiàng)
輸入該命令開始編譯,編譯成功會提示build success。
左右滑動查看全部內(nèi)容
詳細(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ī)將自動拉起數(shù)字管家應(yīng)用并進(jìn)入配網(wǎng)狀態(tài),配網(wǎng)過程中無需輸入熱點(diǎn)賬號密碼。具體無感配網(wǎng)相關(guān)流程參考 無感配網(wǎng)指南

7.操作體驗(yàn)
1)設(shè)備控制
配網(wǎng)完成后,數(shù)字管家應(yīng)用會自動進(jìn)入智能窗簾的控制頁面,通過控制頁面可以實(shí)現(xiàn)對智能窗簾開關(guān)的操作。

2) 添加日程
使用者可以進(jìn)入數(shù)字管家的日程管理頁面中添加智能窗簾的相關(guān)日程,具體步驟如下:
-
在輸入日程名稱后,選擇相關(guān)通知成員和臺燈設(shè)備;
-
選擇期待執(zhí)行的窗簾操作,例如:設(shè)置窗簾在特定時(shí)間段內(nèi)開啟或關(guān)閉;
-
設(shè)置日程的重復(fù)日期,例如:可以設(shè)置單次日程(僅在當(dāng)天執(zhí)行),或者重復(fù)日程(設(shè)置日程在設(shè)定的 星期幾重復(fù)執(zhí)行)

原文標(biāo)題:OpenHarmony開發(fā)樣例:智能窗簾
文章出處:【微信公眾號:HarmonyOS官方合作社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
-
設(shè)備
+關(guān)注
關(guān)注
2文章
4616瀏覽量
71348 -
智能窗簾
+關(guān)注
關(guān)注
1文章
36瀏覽量
7458 -
OpenHarmony
+關(guān)注
關(guān)注
26文章
3804瀏覽量
17890
原文標(biāo)題:OpenHarmony開發(fā)樣例:智能窗簾
文章出處:【微信號:HarmonyOS_Community,微信公眾號:電子發(fā)燒友開源社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
小熊派BearPi-HM_Nano
福利!搭載華為鴻蒙操作系統(tǒng)BearPi-HM Nano 開發(fā)板限時(shí)開搶!
小熊派 BearPi-HM Nano 鴻蒙開發(fā)板開發(fā)教程集合
基于HarmonyOS和小熊派BearPi-HM Nano的護(hù)花使者
BearPi-HM Nano開發(fā)板“護(hù)花使者”案例
小熊派BearPi-HM Micro體驗(yàn)分享
小熊派BearPi-HM_Nano開發(fā)板資料(原理圖+手冊+教程)
每日推薦 | 小熊派BearPi-HM_Nano開發(fā)板教程,60+個(gè)畢設(shè)開源項(xiàng)目資料
小型系統(tǒng)開發(fā)套件介紹:小熊派 BearPi-HM Micro 開發(fā)板套件
輕量系統(tǒng)開發(fā)套件介紹:小熊派 BearPi-HM Nano 開發(fā)板套件
輕量系統(tǒng):小熊派BearPi-HM Nano(HI3861)
小熊派攜手意法半導(dǎo)體,發(fā)布基于OpenHarmony的折疊屏開發(fā)板
小熊派BearPi-HM Micro折疊屏開發(fā)板將于下午發(fā)布
OpenHarmony Dev-Board-SIG專場:BearPi-HM Nano開發(fā)板提供一套數(shù)字管家開發(fā)示例代碼

BearPi-HM Micro已進(jìn)OpenHarmony主干

評論