当前位置: 首页 > news >正文

MQTT控制ESP32

MQTT控制ESP32

  • 使用ESP开发之开关控制LED灯代码:https://www.cnblogs.com/the-fool-l/p/19713335
  • 使用ESP32连接MQTT服务器代码:https://www.cnblogs.com/the-fool-l/p/19780342

开始

1. 打开tcp文件

  • 使用VScode打开\v5.4.3\esp-idf\examples\protocols\mqtt\tcp文件夹
    image

2. 添加blink文件到工作区

  • \v5.4.3\esp-idf\examples\get-started\blink添加到工作区
    image

3. 配置WiFi和MQTT服务器地址

  • 配置WiFi名称和WiFi密码与MQTT服务器地址
    image
    image
    Broker URL:填写MQTT地址
    WiFi SSID:填写WiFi名称
    WiFi Password:填写WiFi密码

4. 打开tcp/main/app_main.c文件

  • 打开文件
    image

5. 使用到的事件

  • MQTT_EVENT_CONNECTED 连接成功的事件
    image
  • MQTT_EVENT_DATA 订阅主题数据变化事件
    image
    event->topic:指向接收到的消息主题的指针
    event->data:指向接收到的消息负载的指针

6. 复制粘贴代码

  • blink/main/switch_control_led_main.c的代码
    image
  • switch_control_led_main.c头文件复制粘贴到tcp/main/app_main.c顶部
    image
  • switch_control_led_main.c的整个app_main内的代码复制粘贴到tcp/main/app_main.c的mqtt_app_start下方
    image

7. 编译代码

  • 编译
    image
  • 编译成功
    image

8.接入esp32

  • 烧录,监视设备
    image
    image
    MQTT服务器连接成功

9.使用strstr进行条件判断

  • 在MQTT_EVENT_DATA下添加strstr的条件判断
    image

10.启动MQTTX

  • 图标
    image
  • 连接MQTT服务器
    image
    image

11.MQTT发送命令

  • 重新构建、烧录、监视设备,on命令
    image
  • off命令
    image
  • 发送数据为JSON格式,存在问题,strstr(event->data, "on")会自动匹配event->data内所有on,可能导致被意外触发
  • 使用strstr(event->data, "/"on/")匹配"on",可以减少意外触发次数
    image

12.手动开关LED灯传回数据

  • 设置全局变量
    image
  • 将mqtt_event_handler内的client赋予给全局变量
    image
  • while函数内设置向主题发送信息
    image
  • 构建,烧录,监视设备
    image
http://www.jsqmd.com/news/586050/

相关文章:

  • 2026年4月全球充电站加盟品牌评测:五家口碑产品推荐评价靠谱 - 品牌推荐
  • 如何用luci-app-dockerman实现Docker容器轻松掌控与高效管理?
  • 【MicroPython编程-ESP32篇:设备驱动】-PCF8591数据采集驱动
  • Campus-iMaotai:告别手动抢茅台,实现智能自动预约的完整解决方案
  • 深度学习训练营打卡记录——W3_P3
  • 3步解锁网盘直链:LinkSwift八大平台高速下载完全指南
  • yz-bijini-cosplay入门必看:Z-Image中英混合提示词工程最佳实践
  • yz-bijini-cosplay惊艳效果:多光源环境下Cosplay角色面部光影层次还原
  • SEO_深入解读搜索引擎算法与SEO核心原理
  • 利用快马平台十分钟搭建基于langchain的智能文档问答原型
  • 谷歌 Gemma 4 实战部署指南:从开源协议解读到本地推理落地
  • Vue大屏自适应终极解决方案:v-scale-screen深度解析与实践指南
  • 安全是跑出来的:从萝卜快跑看自动驾驶的“成人礼”
  • 新手入门:借助快马平台轻松理解并解决战网更新睡眠问题
  • 最简单的赛博朋克2077 dll丢失修复教程:d3dx9_43.dll缺失怎么办
  • 终极指南:三步骤掌握AMD Ryzen处理器深度调试与性能优化
  • 2026年AI自动化测试工具全景:从单元测试到端到端覆盖
  • 智能体快速构建指南
  • 2026年Turnitin AI检测对留学生论文的影响:检测标准和应对方案
  • Java全栈开发工程师的面试实录:从基础到实战
  • 通义千问3-Reranker-0.6B开箱即用:国产信创服务器上的语义裁判快速搭建
  • 如何建立有利于SEO的网站内容体系_网站 SEO 优化的周期是多长时间
  • 2026年靠谱的推荐出租蜘蛛车公司排名,高智捷位居前列 - 工业品牌热点
  • Nunchaku-flux-1-dev企业级部署:内网穿透方案与安全配置
  • 技术突破:系统性能提升23%的优化秘籍,第四十天:成绩排序。
  • ReTerraForged地形引擎:从零构建个性化游戏世界的完整方案
  • 深度解析:OBS VirtualCam插件如何实现Windows虚拟摄像头解决方案
  • 快马平台五分钟速成:用AI生成你的第一个电商数据爬虫原型
  • G-Helper终极指南:华硕笔记本性能控制工具快速入门教程
  • 分析2026年浙江优橙拆除,接建渣清运服务口碑怎么样 - 工业推荐榜