描述
简单的Python网页实现请参考之前的文章
硬件模块:
1.WF-H861-SSA1 WiFi 模组
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的时候,接收/发布消息会有问题
代码目录说明如下
代码中需要配置的地方
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.记得在applicationssamplewifi-iotappBUILD.gn 中添加"mqtt_led:mqtt_led",
-
-
import("//build/lite/config/component/lite_component.gni")
-
-
lite_component("app") {
-
features = [
-
"startup",
-
"mqtt_led:mqtt_led",
-
]
-
}
复制代码
具体实现有兴趣的朋友可以下载附件代码,学习参考,欢迎帮忙改进指正。
附件代码下载地址,详见作者原文链接。
打开APP阅读更多精彩内容