Hi3861鴻蒙物聯(lián)網(wǎng)項目實戰(zhàn):智能安防報警
華清遠見FS-Hi3861開發(fā)套件,支持HarmonyOS 3.0系統(tǒng)。開發(fā)板主控Hi3861芯片內(nèi)置WiFi功能,開發(fā)板板載資源豐富,包括傳感器、執(zhí)行器、NFC、顯示屏等,同時還配套豐富的拓展模塊。開發(fā)板配套豐富的學(xué)習(xí)資料,包括全套開發(fā)教程、視頻課程、7大項目實戰(zhàn)案例,
可以幫助學(xué)員系統(tǒng)性學(xué)習(xí)鴻蒙設(shè)備開發(fā)及物聯(lián)網(wǎng)開發(fā)。同時作為一款物聯(lián)網(wǎng)開發(fā)板,華清遠見FS-Hi3861開發(fā)套件可以進行物聯(lián)網(wǎng)全技術(shù)體系的學(xué)習(xí),包括傳感器、無線傳感網(wǎng)絡(luò)(WiFi/藍牙)、物聯(lián)網(wǎng)操作系統(tǒng)(OpenHarmonyOS)、物聯(lián)網(wǎng)云接入(華為云)等技術(shù)方向,可廣泛應(yīng)用于高校物聯(lián)網(wǎng)創(chuàng)新教學(xué)、學(xué)生畢設(shè)及企業(yè)產(chǎn)品開發(fā)評估。
可學(xué)習(xí)技術(shù):鴻蒙設(shè)備開發(fā)環(huán)境搭建、鴻蒙裸機驅(qū)動開發(fā)、OpenHarmonyOS系統(tǒng)開發(fā)、鴻蒙網(wǎng)絡(luò)開發(fā)、華為IoTDA設(shè)備接入、鴻蒙系統(tǒng)項目開發(fā)等鴻蒙設(shè)備開發(fā)及物聯(lián)網(wǎng)開發(fā)技術(shù)。
可實戰(zhàn)項目:智能照明燈、智能安防報警、智能農(nóng)業(yè)、智能溫度計、智能測距儀、倒車雷達、智能小車。

華清遠見綜合項目案例包括:
? 鴻蒙物聯(lián)網(wǎng)項目實戰(zhàn):智能照明燈
? 鴻蒙物聯(lián)網(wǎng)項目實戰(zhàn):智能溫度計
? 鴻蒙物聯(lián)網(wǎng)項目實戰(zhàn):智能安防報警
? 鴻蒙物聯(lián)網(wǎng)項目實戰(zhàn):智慧農(nóng)業(yè)
? 鴻蒙物聯(lián)網(wǎng)項目實戰(zhàn):倒車雷達
? 鴻蒙物聯(lián)網(wǎng)項目實戰(zhàn):智能測距儀
? 鴻蒙物聯(lián)網(wǎng)項目實戰(zhàn):智能小車
這7個綜合項目的難易程度各不相同,方便用戶以循序漸進的方式進行學(xué)習(xí)。項目案例的設(shè)計,偏重于綜合性更強,更貼近于產(chǎn)品化。每個項目,都可以使用“NFC碰一碰”進行配網(wǎng)。每個項目,都有微信小程序和華為云物聯(lián)網(wǎng)平臺的聯(lián)動。每個項目,都配套詳細的項目開發(fā)文檔及實驗源碼,非常方便開發(fā)者學(xué)習(xí)。
公眾號“華清遠見V智能有料”,回復(fù)“鴻蒙項目”,可索取項目配套文檔及源碼。
鴻蒙開發(fā)板項目演示視頻
https://www.bilibili.com/video/BV1pM41127Jp/?spm_id_from=333.999.0.0
基于物聯(lián)網(wǎng)的智能安防報警項目
項目簡介:
為了保障家庭生活中人身以及財產(chǎn)安全,設(shè)計了一款基于單片機的智能安防報警系統(tǒng),主要有遭遇竊賊等報警功能。當(dāng)家庭中發(fā)生非正常緊急情況時,通過一系列傳感器的感應(yīng),及時將測量數(shù)據(jù)但反饋給單片機,判斷事故后立即進行聲光報警。
開發(fā)平臺:
華清遠見hi3861鴻蒙開發(fā)板
項目功能:
1) ?NFC配網(wǎng)功能;
2) ?一鍵安防報警功能;
3) ?發(fā)布和訂閱MQTT的消息;
4) ?保存一鍵安防報警功能信息到ESP32單片機外部存儲中,掉電再次開機后繼續(xù)安防模式。
2. ?微信小程序端
1) ?可以將配網(wǎng)信息數(shù)據(jù)寫入NFC標(biāo)簽中;
2) ?可以手動控制蜂鳴器的開關(guān);
3) ?可以設(shè)置一鍵安防報警功能;
4) ?在界面中顯示當(dāng)前蜂鳴器和監(jiān)測芯片的狀態(tài);
項目框架:
本項目使用的是華為云物聯(lián)網(wǎng)平臺作為中間服務(wù)器,在設(shè)備端(Hi3861),首先進行連接附近的WiFi熱點,與華為云物聯(lián)網(wǎng)平臺建立MQTT連接,并且使用JSON格式數(shù)據(jù)進行交互數(shù)據(jù);在應(yīng)用端(微信小程序),使用HTTP協(xié)議與華為云物聯(lián)網(wǎng)平臺進行連接,使用華為云物聯(lián)網(wǎng)平臺相關(guān)的API進行交互數(shù)據(jù)。
在設(shè)備端,在連接不上附近WiFi熱點的時候,會在OLED顯示屏上顯示,連接WiFi熱點失敗的提示信息,此時我們可以使用微信小程序上的NFC燒寫界面,將WiFi名稱和密碼進行燒寫開發(fā)板上的NFC標(biāo)簽,然后再重新開發(fā)板進行重新連接新的WiFi熱點。
設(shè)備端在空閑的時候,監(jiān)聽訂閱的主題中是否接收到云平臺轉(zhuǎn)發(fā)下來的數(shù)據(jù),如果接收到了,進行JSON的數(shù)據(jù)解析,然后控制相關(guān)設(shè)備。
整體框架

設(shè)備端框架

應(yīng)用端框架

硬件部分
主控部分
本項目使用的是WF-H861-RTA1模組作為主控,此模組是基于Hi3861V100芯片設(shè)計的,該芯片是一款高度集成的2.4GHz芯片,集成了IEEE 802.11b/g/n基帶和RF電路,包括功率放大器PA、低噪聲放大器LNA、RF balun、天線開關(guān)以及電源管理模塊等。
支持20MHz標(biāo)準(zhǔn)帶寬和5MHz/10MHz窄帶寬,提供最大72.2Mbit/s物理層速率。并且集成了高性能32位微處理器,提供SPI、UART、I2C、I2S、PWM、GPIO以及多路ADC模擬輸入等豐富的外設(shè)接口,同時支持SDIO2.0接口,時鐘最高支持50MHz。
主控部分原理圖如下圖所示:

NFC通信部分
NFC通信使用的是恩智浦公司生產(chǎn)的NT3H1101芯片,此芯片支持I2C通信,支持可配置的現(xiàn)場檢測引腳,內(nèi)部配備有EEPROM存儲芯片,允許在RF和I2C之間快速傳出數(shù)據(jù),不收EEPROM內(nèi)存的寫入周期進行限制。

OLED顯示屏部分
采用SSD1306芯片進行驅(qū)動0.96寸OLED顯示屏,本顯示屏使用黃+藍屏幕進行顯示。點陣數(shù)量為128*64。

傳感器部分
在本實驗中,使用I2C總線與AP3216C三合一傳感器進行通信,讀取當(dāng)前的光照強度、紅外、接近的數(shù)據(jù)。下面給出了硬件連接圖:

軟件部分
注冊華為云賬號并登錄
3. ?打開華為云物聯(lián)網(wǎng)平臺的網(wǎng)址https://www.huaweicloud.com/,打開網(wǎng)址之后,點擊右上角的“注冊”。

4. ?在“注冊”頁面中,填入手機號進行注冊,所有信息填寫完成之后,點擊“注冊按鈕”進行注冊,注冊成功之后,進入下一步。

5. ?注冊完成之后,再次進入華為云的官網(wǎng)進行登錄。

6. ?在登錄界面,填入剛剛注冊的“手機號”、“華為賬號”和“密碼”,然后點擊“登錄”。

7. ?登錄成功之后,點擊右上角的“控制臺”。

8. ?在控制臺的左上角,因為“標(biāo)準(zhǔn)版免費試用僅對企業(yè)用戶開放,個人用戶建議使用北京四基礎(chǔ)版”,所以選擇地區(qū)為“北京四”,然后點擊左側(cè)“服務(wù)列表”。

9. ?在“服務(wù)列表”的搜索框中搜索“IoTDA”,然后點擊“設(shè)備接入 IoTDA”。

10. ?點擊“平臺接入地址”,需要在記事本記錄“MQTT協(xié)議設(shè)備接入IP地址和端口號”。

11. ?我們只需要使用設(shè)備接入的MQTT協(xié)議就可以,記住這個服務(wù)器的地址。

創(chuàng)建新產(chǎn)品
12. ?點擊左側(cè)的產(chǎn)品,點擊右上角的創(chuàng)建產(chǎn)品按鈕。

13. ?選擇所屬的資源,產(chǎn)品名稱填寫smartSecurity_Hi3861,數(shù)據(jù)格式默認,廠商名稱和設(shè)備類型任意,點擊確定。

14. ?在左側(cè)菜單欄中,找到所有設(shè)備,點擊注冊設(shè)備。

15. ?選擇所屬資源空間,所屬產(chǎn)品,填寫設(shè)備標(biāo)識碼為hi3861,秘鑰為fs123456,當(dāng)然也可以自己定義。

注意:生成好的設(shè)備ID和設(shè)備秘鑰一定到妥善保管,只生成這一份。
創(chuàng)建產(chǎn)品模型
16. ?點擊左側(cè)“產(chǎn)品”,點擊設(shè)備新創(chuàng)建好的產(chǎn)品名稱“smartFarm_Hi3861”

17. ?點擊自定義模型。

18. ?填加基礎(chǔ)服務(wù)(base)

19. ?添加控制服務(wù)(control)

20. ?在“基礎(chǔ)服務(wù)”中添加“isBody”屬性。

21. ?在“基礎(chǔ)服務(wù)”中添加“buzzer”屬性。

22. ?在“基礎(chǔ)服務(wù)”中添加“autoMode”屬性。

23. ?在“控制服務(wù)”中添加“buzzer”命令。

24. ?在“控制服務(wù)”中添加“autoMode”命令。

根據(jù)設(shè)備信息,生成用戶名和密碼
25. ?打開由華為云提供的生成用戶名和密碼的網(wǎng)址,進行生成。
https://iot-tool.obs-website.cn-north-4.myhuaweicloud.com/
26. ?填寫生成好的設(shè)備ID和設(shè)備秘鑰,點擊按鈕,生成用戶名和密碼。
注意:下面的圖片提供了方法。

27. ?將生成好的信息(ClientID、Username、Password),修改文件“/applications/sample/wifi-iot/app/smartSecurityDefense/sys_config.h”,下面內(nèi)容直接替換。

圖5-24 替換代碼中的ClientID、UserName、Password
28. ?修改華為云平臺的MQTT服務(wù)器的IP地址,打開Windows下cmd控制端,在控制端輸入內(nèi)容。

29. ?然后修改/applications/sample/wifi-iot/app/ smartSecurityDefense/sys_config.h文件中IP地址和端口號。

設(shè)備端編譯
導(dǎo)入程序
30. ?將【FS_Hi3861開發(fā)板光盤資料/程序源碼/硬件驅(qū)動源碼/bsp】目錄,拷貝到【OpenHarmony/base/iot_hardware】目錄下。如下圖所示:

31. ?將【FS_Hi3861開發(fā)板光盤資料/程序源碼/硬件驅(qū)動源碼/綜合實驗源碼/智慧安防報警/設(shè)備端/smartSecurityDefense】目錄拷貝到【OpenHarmony/application/sample/wifi-iot/app】目錄下。
修改文件
32. ?修改【OpenHarmony/base/iot_hardware/bsp/include/hal_bsp_ssd1306_bmps.h】文件,將“#define smartSecurityDefense 0”改為“#define smartSecurityDefense 1”。如下圖所示:

33. ?修改【OpenHarmony/application/sample/wifi-iot/app/BUILD.gn】文件,添加下面一句:
" smartSecurityDefense:smartSecurityDefense _demo"
其余的注釋掉,只保留這一句話。

編譯程序
34. ?在Vscode的左側(cè)按鈕中,打開DevEco Device Tool開發(fā)工具,在開發(fā)工具中首先點擊“Clean”,再點擊“build”進行編譯源碼。

35. ?編譯完成之后,會在終端中提示“SUCCESS”字樣,說明編譯完成。

36. ?編譯完成之后,將要燒寫的.bin文件拷貝到共享目錄下。在VSCode中打開終端:
1) ?點擊“+”,新建一個新的終端,如下圖所示:

2) ?然后在工程源碼的目錄下,輸入以下命令,將文件拷貝到共享目錄下。
cp out/hispark_pegasus/wifiiot_hispark_pegasus/Hi3861_wifiiot_app_allinone.bin /mnt/hgfs/share/

燒寫程序
37. ?打開【FS_Hi3861開發(fā)板光盤資料\工具軟件\HarmonyOS相關(guān)工具\Hiburn】程序燒寫軟件,點擊左上角“setting”中“com setting”選項,配置一下串口的波特率為2000000,然后點擊確定,如下圖所示:

38. ?此時需要開發(fā)本通過串口線連接電腦,電腦端的設(shè)備管理器會出現(xiàn)一個串口端口號,當(dāng)然也可以通過燒寫軟件中“Refresh”按鈕進行刷新,然后選擇要燒寫的bin文件,操作步驟如下圖所示:

39. ?最后要選擇“Auto burn”,要不然下載速度會很慢很慢。

40. ?會自動的添加.bin文件,添加完成之后,點擊“Connect”按鈕,然后復(fù)位開發(fā)板,即可開始燒寫程序。燒寫完成之后會有提示:


注意:燒寫完成之后,一定要關(guān)閉串口連接,點擊“DisConnect”。不然的話,當(dāng)你點擊復(fù)位之后,又會再次下載一次。
應(yīng)用端編譯
41. ?硬件環(huán)境:手機。
42. ?軟件環(huán)境:微信開發(fā)者工具。
43. ?源碼位置:
【FS_Hi3861開發(fā)板光盤資料\程序源碼\綜合實驗源碼\智慧安防報警\微信小程序端\Smart_SecurityDefense】
編譯
44. ?雙擊打開app.wxss工程文件,即可打開微信開發(fā)者工具。

45. ?首先點擊左上角的圖標(biāo),進行掃碼登錄自己的微信。

46. ?登錄成功之后,填寫自己的AppID。

47. ?點擊上面的編譯按鈕,進行編譯,然后點擊預(yù)覽,用手機掃碼進行調(diào)試。

運行程序
按下開發(fā)板中復(fù)位按鈕,讓設(shè)備重啟,會出現(xiàn)兩種情況。
連接WiFi失敗
第一種是連接不上附近的WiFi熱點,如下圖所示:
51
圖6-17 連接WiFi失敗
這是因為在NFC標(biāo)簽內(nèi)部存儲的WiFi信息與當(dāng)前環(huán)境中的WiFi熱點不匹配導(dǎo)致的,按照下面的步驟進行操作:
注意:微信小程序不支持ios系統(tǒng)的NFC配置功能!!下方會有方法解決。
48. ?使用具有NFC功能的手機掃描微信開發(fā)者工具的預(yù)覽二維碼。
49. ?掃描完成之后,在微信小程序中,點擊“NFC配網(wǎng)”按鈕。

50. ?在彈出的“NFC配網(wǎng)設(shè)置”界面中,填寫正確的WiFi名稱和WiFi密碼。

51. ?填寫完成之后,點擊“開始配置”,會提示“請靠近設(shè)備”,此時將手機靠近開發(fā)板上的NFC線圈區(qū)域。
52. ?當(dāng)提示“寫入數(shù)據(jù)成功”時,說明燒寫NFC線圈成功。

53. ?然后再次按下開發(fā)板中的復(fù)位按鈕。
54. ?還有一種是ios系統(tǒng)下微信小程序不能使用NFC配置的功能時,需要按照下面步驟進行操作:
1) ?在ios系統(tǒng)的手機商店中下載“NFC Tools”NFC調(diào)試工具。

2) ?然后點擊“寫”功能。

3) ?點擊“添加記錄”。

4) ?添加“Wi-Fi網(wǎng)絡(luò)”信息。

5) ?在“配置WiFi網(wǎng)絡(luò)”中,選擇身份驗證為“WPA/WPA2-Personal”,并輸入SSID和密碼。

6) ?然后點擊“寫/87字節(jié)”按鈕,進行燒寫。

7) ?此時會彈出“貼近NFC標(biāo)簽”,請靠近開發(fā)板上NFC線圈部分。

8) ?燒寫完成之后,會在顯示如下圖片,說燒寫NFC芯片數(shù)據(jù)成功。

連接WiFi成功
第二種是直接連接附近WiFi成功,會在OLED顯示屏界面中會顯示當(dāng)前設(shè)備連接附近WiFi熱點的提示信息和連接華為云平臺服務(wù)器的信息,直到在界面中顯示如下圖所示,說明連接華為云成功。

連接成功之后,我們需要打開微信小程序,在小程序中界面中,我們可以點擊開關(guān)按鈕,進行下發(fā)指令讓設(shè)備中蜂鳴器開或者關(guān),還可以設(shè)置一鍵安防模式。
?