|
【HarmonyOS HiSpark Wi-Fi IoT 套件試用連載】MQTT 控制紅綠燈的演示與代碼分享,
本帖最后由 soon順soon 于 2020-12-7 21:20 編輯
網(wǎng)絡(luò)配置和MQTT的移植請(qǐng)參閱連老師的 Hi3861 實(shí)現(xiàn)手機(jī)APP配網(wǎng)功能 如何在鴻蒙系統(tǒng)中移植 Paho-MQTT 實(shí)現(xiàn)MQTT協(xié)議
簡(jiǎn)單的Python網(wǎng)頁(yè)實(shí)現(xiàn)請(qǐng)參考之前的文章 用python快速搭建MQTT控制紅綠燈測(cè)試頁(yè)面
硬件模塊: 1.WF-H861-SSA1 WiFi 模組 2.OLED 顯示屏模塊 3.智能紅綠燈板 功能描述 1.上電OLED顯示開機(jī)信息 2.OLED 顯示屏模塊 按鍵S1控制紅燈狀態(tài)翻轉(zhuǎn),并在OLED顯示提示信息 3.OLED 顯示屏模塊 按鍵S2控制黃燈狀態(tài)翻轉(zhuǎn),并在OLED顯示提示信息 4.智能紅綠燈板模塊 按鍵S1控制綠燈狀態(tài)翻轉(zhuǎn),并在OLED顯示提示信息 5.按下USER按鍵連接到指定的WIFI,并在OLED顯示提示信息 6.連接到指定WIFI 后按下OLED 顯示屏模塊 按鍵S1,開啟MQTT task和訂閱消息,及MQTT 狀態(tài)檢測(cè),并在OLED顯示提示信息 7.電腦上運(yùn)行python webpy頁(yè)面控制發(fā)送MQTT 消息控制紅綠燈狀態(tài)翻轉(zhuǎn) 8.當(dāng)MQTT連接成功后,LED 狀態(tài)變換會(huì)發(fā)布LED狀態(tài)消息
已知問題 1.由于目前用的MQTT 是單任務(wù)的,當(dāng)剛好在做MQTT ping的時(shí)候,接收/發(fā)布消息會(huì)有問題
代碼目錄說明如下
code.png (38.24 KB, 下載次數(shù): 0)
下載附件 保存到相冊(cè)
1 小時(shí)前 上傳
代碼中需要配置的地方 1.mqtt_led.c 的MQTT_LED_Task()中
- wifi_connect_ok_flg = start_sta_connect(“SSID“, strlen(“SSID“), “Passwd“, strlen(“Passwd“));
- //填入你要連接的WIFI SSID和密碼
復(fù)制代碼 2.mqtt_fun.h 中填入 你MQTT Broker 的信息
- #define _host “your server ip“ //MQTT服務(wù)器IP
- #define _port 1883 //端口 默認(rèn)1883
- #define _interval 180 //保持鏈接時(shí)間s
- #define _client_id “your id“ //連接到mqtt服務(wù)器的id
- #define _username “usrer“ //這個(gè)id下的使用的用戶名
- #define _password “passwd“ //密碼
復(fù)制代碼 3.記得在applications\sample\wifi-iot\app\BUILD.gn 中添加“mqtt_led:mqtt_led“,
- import(“//build/lite/config/component/lite_component.gni“)
- lite_component(“app“) {
- features = [
- “startup“,
- “mqtt_led:mqtt_led“,
- ]
- }
復(fù)制代碼
具體實(shí)現(xiàn)有興趣的朋友可以下載附件代碼,學(xué)習(xí)參考,歡迎幫忙改進(jìn)指正。
附件代碼 mqtt_led.7z
(18.04 KB, 下載次數(shù): 0, 售價(jià): 1 分積分) 1 小時(shí)前 上傳 點(diǎn)擊文件名下載附件
閱讀權(quán)限: 10
售價(jià): 1 分積分 [記錄] [購(gòu)買]
下載積分: 積分 -1 分 |
|