0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

【HarmonyOS HiSpark Wi-Fi IoT 套件试用连载】MQTT 控制红绿灯的演示与代码分享

开发板试用精选 来源:开发板试用 作者:电子发烧友论坛 2022-11-03 16:01 次阅读
本文来源电子发烧友社区,作者:soon顺soon, 帖子地址:https://bbs.elecfans.com/jishu_2016397_1_1.html


网络配置和MQTT的移植请参阅连老师的

简单的Python网页实现请参考之前的文章

硬件模块:
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的时候,接收/发布消息会有问题

代码目录说明如下
201251n8umwhzx3szkhkmp.png

代码中需要配置的地方
1.mqtt_led.c 的MQTT_LED_Task()中
  1. wifi_connect_ok_flg = start_sta_connect("SSID", strlen("SSID"), "Passwd", strlen("Passwd"));
  2. //填入你要连接的WIFI SSID和密码
复制代码
2.mqtt_fun.h 中填入 你MQTT Broker 的信息
  1. #define _host "your server ip" //MQTT服务器IP
  2. #define _port 1883 //端口 默认1883
  3. #define _interval180 //保持链接时间s
  4. #define _client_id "your id" //连接到mqtt服务器的id
  5. #define _username"usrer" //这个id下的使用的用户名
  6. #define _password"passwd" //密码
复制代码
3.记得在applicationssamplewifi-iotappBUILD.gn 中添加"mqtt_led:mqtt_led",
  1. import("//build/lite/config/component/lite_component.gni")
  2. lite_component("app") {
  3. features = [
  4. "startup",
  5. "mqtt_led:mqtt_led",
  6. ]
  7. }
复制代码


具体实现有兴趣的朋友可以下载附件代码,学习参考,欢迎帮忙改进指正。

附件代码下载地址,详见作者原文链接。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • wi-fi
    +关注

    关注

    14

    文章

    1995

    浏览量

    122942
  • HarmonyOS
    +关注

    关注

    79

    文章

    1904

    浏览量

    29373
  • HiSpark
    +关注

    关注

    1

    文章

    156

    浏览量

    6780
收藏 人收藏

    评论

    相关推荐

    PSoC6上的Wi-fi_mqtt_Client出现MQTT连接错误怎么解决?

    错误: `MQTT 连接失败,错误代码为 0x8060009。` 我已经验证了证书、密钥文件和其他配置的正确性。 Wi-Fi 连接已建立,没有问题。 如果有人对这个特定的错误代码有经验
    发表于 03-04 06:37

    揭秘 “红绿灯倒计时” 原理

    如今,高德“红绿灯倒计时”功能已服务遍布全国范围内近240个城市的8万多个红绿灯路口,未来还将进一步拓展至更高数量级。
    的头像 发表于 02-21 17:19 862次阅读

    PSoC6 Wi-Fi示例无法调试FreeRTOS任务级代码怎么解决?

    你好, 我在 Ubuntu 18.04.6 中运行 MTB 3.1 GUI LTS 并为原型开发套件 (CY8CPROTO-062-4343W) 构建 PSoC6 示例。 在调试最新的 Wi-Fi
    发表于 01-22 07:50

    BT Wi-Fi模式是否可以通过ModustoolBox对套件进行编程来实现?

    想配置用于分析 CYW43439 的 CY8CPROTO-062S2-43439 原型开发套件。 浏览文档我无法弄清楚如何在不同的 Wi-Fi 和蓝牙模式(电源模式、连接模式等)下配置套件。 在
    发表于 01-22 06:19

    Wi-Fi 6和Wi-Fi 5之间有哪些区别呢?

    Wi-Fi 6和Wi-Fi 5之间有哪些区别呢? Wi-Fi 6和Wi-Fi 5是无线局域网标准的两个版本,它们之间存在很多区别。Wi-Fi
    的头像 发表于 12-09 16:09 1147次阅读

    轻量系统:润和HH-HSP101满天星系列Pegasus智能家居开发套件(HI3861)

    ,实现Wi-Fi IoT功能,套件包含主板、通用底板、显示板、NFC板、智能红绿灯板、智能炫彩灯板、环境监测板;功能强大的主板搭配多种扩展板,可广泛应用于常电智能家居(如白电、小家电、
    发表于 10-19 11:11

    基于51单片机的带时间显示的红绿灯设计

    带时间显示的红绿灯设计,30秒南北绿灯,东西红灯;3次闪烁黄灯;切换为30秒东西绿灯,南北红灯; 具体定时时间可根据程序自行修改,带有源程序、仿真图。
    发表于 08-23 15:51 1109次阅读
    基于51单片机的带时间显示的<b class='flag-5'>红绿灯</b>设计

    用树莓派控制交通红绿灯(进阶版)

    哇奥,今天才发现上一次建造的红绿灯居然不对,绿灯一般在下方,当红灯变绿灯时黄灯闪烁,我做的是绿灯变红灯时黄灯闪烁!。这在我们开发时也会碰到,就像找bug一样,对于发现的问题要及时修正。
    的头像 发表于 07-02 15:10 1155次阅读
    用树莓派<b class='flag-5'>控制</b>交通<b class='flag-5'>红绿灯</b>(进阶版)

    用树莓派控制交通红绿灯(简洁版)

    前面我们通过控制LED灯和读取按钮状态,简单演示了树莓派如何通过GPIO来与外部世界沟通。今天我们要用树莓派模拟一个控制交通的红绿灯,让大家进一步学习如何通过程序和计算机的I/O来解决
    的头像 发表于 07-02 15:08 1370次阅读
    用树莓派<b class='flag-5'>控制</b>交通<b class='flag-5'>红绿灯</b>(简洁版)

    支持 Quick-Connect IoT Wi-Fi 的云解决方案套件快速入门指南

    支持 Quick-Connect IoT Wi-Fi 的云解决方案套件快速入门指南
    发表于 06-30 19:38 0次下载
    支持 Quick-Connect <b class='flag-5'>IoT</b> <b class='flag-5'>Wi-Fi</b> 的云解决方案<b class='flag-5'>套件</b>快速入门指南

    Arduino迷你红绿灯

    电子发烧友网站提供《Arduino迷你红绿灯.zip》资料免费下载
    发表于 06-30 14:30 0次下载
    Arduino迷你<b class='flag-5'>红绿灯</b>

    公交车LED屏显示红绿灯倒计时数

    介绍一种在公交车LED屏上显示红绿灯倒计时数的方案,本方案的核心是在公交车上增加一台根据公交车行驶位置数据从百度红绿灯API接口获取红绿灯倒计时数据并转化为控制车载LED屏显示的设备,
    的头像 发表于 06-30 12:21 1076次阅读
    公交车LED屏显示<b class='flag-5'>红绿灯</b>倒计时数

    红绿灯倒计时API开发文档

    百度红绿灯倒计时API开发文档
    发表于 06-30 11:53 3次下载

    使用Fuxa为Arduino红绿灯制作HMI屏幕

    电子发烧友网站提供《使用Fuxa为Arduino红绿灯制作HMI屏幕.zip》资料免费下载
    发表于 06-25 15:15 4次下载
    使用Fuxa为Arduino<b class='flag-5'>红绿灯</b>制作HMI屏幕

    红绿灯识别知识点

    红绿灯识别是自动驾驶中最为基础的功能,识别方法主要有两种,一种基于视觉图像识别,一种基于v2x。 v2x,即通过红绿灯自己实时发送信号状态,再由车辆低延迟接收信号。该方法要对红绿灯进行改造,不仅
    发表于 06-06 09:54 0次下载
    <b class='flag-5'>红绿灯</b>识别知识点