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

ESP8266实现mqtt

        参考文章:ESP8266-01S 模块详解及 MQTT 固件烧写实战 - 知乎

零基础国产GD32单片机编程入门(十一)WIFI模块实战含源码_gd32 wifi-CSDN博客

        开始是发现8266的固件版本太老了不支持mqtt,然后找官网准备升级固件。开始是出现了下载失败,然后发现是因为要让8266进入升级模式的话就需要让P0口接地。然后飞了根线。

通过网盘分享的文件:
链接: https://pan.baidu.com/s/1R4FuqbnHV_qmgn2cl3QLzQ 提取码: 3zr7 复制这段内容后打开百度网盘手机App,操作更方便哦 
--来自百度网盘超级会员v2的分享

        解决了下载失败的问题但是发现目前手里这种1MB的8266的固件已经不维护了。只能从网上找之前的版本。这里实际是找了很多个版本都不能用,还有的是多段式的固件。。。。最终也是找到了一个能用的版本。而且配备了老的升级工具。也算是升级成功了。

然后就是查询升级成功的版本,并连接WiFi。然后通过公共服务器测试一下mqtt功能。

AT+RST

OK

s$l軣<刲??l?c|弬?況?lc匊go焏og溾?c8鋰lsd;lx鹢??$#g銃剣|?#岓ng?l審l ?_x0012_no$`'{彃沷_x0012_沴 p騨?{屲溾?co??嘽尿'o?d`?_x0012_'o$`g{彃沷_x0012_溘`p??{屲溾??co?靌l審c匊gn?l`?gn?dgs庅搉脫沗;摏g儧?

################################################

arch:ESP8266, 1

compile_time:Ai-Thinker|B&T

wifi_mac:cc50E31dEE6A

sdk_version:v3.4-22-g967752e2

firmware_version:2.2.0

compile_time:Jun 30 2021 11:28:20

ready

################################################AT+GMR

AT version:2.3.0.0-dev(s-bcd64d2 - ESP8266 - Jun 23 2021 11:42:05)

SDK version:v3.4-22-g967752e2

compile time(b498b58):Jun 30 2021 11:28:20

Bin version:2.2.0(ESP8266_1MB)

OK

AT+CWMODE=1

OK

AT+CWLAP

+CWLAP:(4,"SVN_HA",-47,"f4:83:cd:60:14:eb",11,-1,-1,4,4,7,0)

+CWLAP:(4,"TP-LINK_DBBE",-58,"f4:84:8d:5c:db:be",6,-1,-1,4,4,7,0)

+CWLAP:(4,"",-64,"f6:84:8d:5d:db:be",6,-1,-1,4,4,7,0)

+CWLAP:(4,"TP-LINK_6EB0",-70,"4c:10:d5:b5:6e:b1",6,-1,-1,4,4,7,0)

+CWLAP:(3,"123",-73,"02:1f:19:27:65:1c",7,-1,-1,4,4,7,1)

+CWLAP:(4,"搴锋槑鏄?,-75,"5a:7d:2e:98:04:9b",1,-1,-1,4,4,7,0)

+CWLAP:(4,"搴锋槑鏄?,-77,"48:7d:2e:98:04:9b",1,-1,-1,4,4,7,0)

+CWLAP:(4,"TP-LINK_20F7",-85,"74:39:89:e2:45:5b",11,-1,-1,4,4,7,0)

+CWLAP:(4,"TP-LINK_20F7",-85,"4c:10:d5:91:20:f7",11,-1,-1,4,4,7,0)

+CWLAP:(3,"D3460044230000060602035J",-86,"00:6c:fd:9f:45:e7",1,-1,-1,4,4,7,0)

+CWLAP:(4,"TP-LINK_KM",-86,"4c:10:d5:50:3a:67",1,-1,-1,4,4,7,0)

+CWLAP:(4,"",-86,"4e:10:d5:91:20:f7",11,-1,-1,4,4,7,0)

+CWLAP:(4,"",-87,"76:39:89:e1:45:5b",11,-1,-1,4,4,7,0)

OK

AT+CWLAP="TP-LINK_DBBE","62102118"

ERROR

AT+CWJAP="TP-LINK_DBBE","62102118"

WIFI CONNECTED

WIFI GOT IP

OK

AT+CIFSR

+CIFSR:STAIP,"192.168.0.124"

+CIFSR:STAMAC,"cc:50:e3:1d:ee:6a"

OK

AT+MQTTUSERCFG=0,1,"MyClientID","","",0,0,""

OK

AT+MQTTCONN=0,"broker.hivemq.com",1883,1

+MQTTCONNECTED:0,1,"broker.hivemq.com","1883","",1

OK

AT+MQTTSUB=0,"test/topic",0

OK

+MQTTSUBRECV:0,"test/topic",497,XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

后续测试了一下用电脑的MQTT.FX和8266进行通信。

MQTT.FX配置如下:

  1. Profile Name: HiveMQ Test
  2. Broker Address: broker.hivemq.com
  3. Broker Port: 1883
  4. 其他保持默认

8266的指令配置

// 1. 设置MQTT客户端参数

AT+MQTTUSERCFG=0,1,"ESP8266_Client","","",0,0,""

// 2. 连接MQTT服务器

AT+MQTTCONN=0,"broker.hivemq.com",1883,1

// 3. 订阅主题(建议使用独特主题名)

AT+MQTTSUB=0,"mytest/username/frompc",1

在MQTT.fx中:

Publish 标签页

Topic: mytest/username/frompc

Message: Hello from MQTT.fx!

点击"Publish"

在MQTT.fx中先订阅主题:

Subscribe 标签页

Topic to subscribe: mytest/username/fromesp

点击"Subscribe"

8266上发送

AT+MQTTPUB=0,"mytest/username/fromesp","Hello from ESP8266!",1,0

然后测试json格式

发送的话

{

  "command": "set_led",

  "value": 1,

  "timestamp": 1728391200

}

但是使用8266发送json格式开始一直失败,最后排查是发送的内容的问题,因为是通过AT指令的格式发送的mqtt信息,所以要符合AT指令和mqtt两种格式,设计到一些符号两种都用到了,需要转义特殊字符。就是在它们前面加上一个反斜杠\。经过测试后使用下面的指令可以用8266发送成功。

AT+MQTTPUB=0,"mytest/username/sensor","{\"t\":25.6\,\"h\":60}",1,0

至此8266配置完成。

http://www.dtcms.com/a/462140.html

相关文章:

  • 初识MYSQL —— 表的约束
  • mysql存储微信Emoji表情问题
  • DzzOffice 通知功能(notification_add)调用
  • 西安手机网站建设公司排名安徽房产网站建设
  • 杭州强龙网站建设电话广西桂林天气预报7天
  • autosar
  • LinkMate 智能会议室系统:基于 Qt / QML / WebRTC / FFmpeg / Whisper / OpenGL 的实时音视频会议平台
  • JavaScript编程工具有哪些?老前端的实用工具清单与经验分享
  • 企业营销网站服务器1g够wordpress 电影网站
  • 360°全景视频 数据集Dataset
  • 项目愿景缺乏共识会带来哪些风险
  • 网站服务器vps温州做网站哪里好
  • 分片并发上传实现
  • JavaWeb后端实战(IOC+DI)
  • php网站模板制作工具昆明网架公司
  • 甘肃省住房和城乡建设厅网站网站域名登录
  • lazarust中SqlConnector的使用
  • 美国银行与Anchorage合作推动稳定币发展,平台XBIT在去中心化交易所领域发力
  • Gemini 2.5如何通过视觉理解,告别脆弱的UI测试脚本
  • 【星海出品】ASCII
  • 青州网站建设优化排名找工程包工平台app
  • 哪些网做网站比较好网站产品关键词导出
  • python学习之单例模式和魔法方法属性
  • 网站地址英文网站视频与服务器的关系
  • 优秀电商设计网站有哪些免费的推广平台有哪些
  • 【论文阅读】LANGUAGE MODELS CAN LEARN FROM VERBAL FEEDBACK WITHOUT SCALAR REWARDS
  • 怎么管理网站的内容吗网站建设与实现毕业答辩ppt
  • 苏州做网站的哪个公司比较好PS做图标兼职网站
  • 【Flutter】约束错误总结(Constraint Error 全面解析)
  • 2025年Flutter状态管理新趋势:AI友好度成为技术选型第一标准