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