|
【HarmonyOS HiSpark Wi-Fi IoT 套件试用连载】MQTT 控制红绿灯的演示与代码分享,
本帖最后由 soon顺soon 于 2020-12-7 21:20 编辑
网络配置和MQTT的移植请参阅连老师的 Hi3861 实现手机APP配网功能 如何在鸿蒙系统中移植 Paho-MQTT 实现MQTT协议
简单的Python网页实现请参考之前的文章 用python快速搭建MQTT控制红绿灯测试页面
硬件模块: 1.WF-H861-SSA1 WiFi 模组 2.OLED 显示屏模块 3.智能红绿灯板 功能描述 1.上电OLED显示开机信息 2.OLED 显示屏模块 按键S1控制红灯状态翻转,并在OLED显示提示信息 3.OLED 显示屏模块 按键S2控制黄灯状态翻转,并在OLED显示提示信息 4.智能红绿灯板模块 按键S1控制绿灯状态翻转,并在OLED显示提示信息 5.按下USER按键连接到指定的WIFI,并在OLED显示提示信息 6.连接到指定WIFI 后按下OLED 显示屏模块 按键S1,开启MQTT task和订阅消息,及MQTT 状态检测,并在OLED显示提示信息 7.电脑上运行python webpy页面控制发送MQTT 消息控制红绿灯状态翻转 8.当MQTT连接成功后,LED 状态变换会发布LED状态消息
已知问题 1.由于目前用的MQTT 是单任务的,当刚好在做MQTT ping的时候,接收/发布消息会有问题
代码目录说明如下
code.png (38.24 KB, 下载次数: 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“,
- ]
- }
复制代码
具体实现有兴趣的朋友可以下载附件代码,学习参考,欢迎帮忙改进指正。
附件代码 mqtt_led.7z
(18.04 KB, 下载次数: 0, 售价: 1 分积分) 1 小时前 上传 点击文件名下载附件
阅读权限: 10
售价: 1 分积分 [记录] [购买]
下载积分: 积分 -1 分 |
|