ESP8266 -- 串口助手 AT MQTT 指令与阿里云物联网平台建立通信(三)_esp-wroom-02d at指令连接阿里云

  • 连接wifi热点
  • 连接云平台
  • 发布和订阅消息
  • 数据上报及属性设置

具体AT命令说明这里不做解释,可以自行参考AT MQTT命令手册

2.1 AT命令连接wifi

  • < AT > 命令测试

记得加回车换行(手动换行或者串口助手自动换行),我这里选择串口助手自动换行。

  • < AT+RESTORE > 命令测试

  • < AT+CWMODE=1 > 命令测试

  • < AT+CWJAP=“wifi名称”,“wifi密码” > 命令测试

2.2 AT命令连接阿里云平台

如何搭建阿里云物联网平台请参考:ESP8266 – 搭建阿里云物联网与MQTT.fx通信的平台(二)

  • < AT+CIPMUX=0 > 命令测试

  • < AT+MQTTUSERCFG=0,1,“client_id”,“username”,“password”,0,0,“” > 命令测试

这里使用阿里云物联网平台进行连接,点击<设备>,查看<MQTT连接参数>,把连接参数输入到相应的位置。然后发送AT指令。

按照上面的发送,发现发送的AT指令报错,这是因为client_id有逗号存在,这里的解决方法是在逗号前面增加“\”解决,具体举例如下:

原始的client_id:izi77c2rrrB.TestDevice|securemode=2,signmethod=hmacsha256,timestamp=1703540769510|

修正后的client_id:izi77c2rrrB.TestDevice|securemode=2,signmethod=hmacsha256,timestamp=1703540769510|

使用修正后的client_id发送数据,发现回复OK,证明修正成功。

  • < AT+MQTTCONN=0,“host”,port,0 > 命令测试

查看<MQTT连接参数>,得到“host”和"port"的参数。

2.3 AT命令实现订阅和发布

首先订阅消息,然后在发布消息,发布消息完成,串口界面自动显示订阅的消息及大小。

2.3.1 自定义环回测试

首先找到环回测试的的Topic,进入阿里云物联网平台,进入<产品>–<Topic类列表>–<自定义Topic>,定义一个发布和订阅的Topic,我这里定义了一个名称为LoopTopic的主题。

  • < AT+MQTTSUB=0,“topic”,0 > 命令测试

定义好自定义的Topic之后,去到<设备>–<Topic列表>页面,把刚才定义好的Topic找到,替换掉**< AT+MQTTSUB=0,“topic”,0 >**里面的“Topic”。

  • < AT+MQTTPUB=0,“topic”,“data”,0,0 > 命令测试

同**< AT+MQTTSUB=0,“topic”,0 > 命令测试**一样的操作,然后发送一串字符串,查看正确接收到了数据。最终实现了对指定topic的发布和订阅操作,这里发送的数据是“This is a MQTT test”,大小是19字节,收到的数据是“This is a MQTT loop test”,数据大小是24字节,功能验证正确。

同时也能在云端查看发生和接收的数据及Topic。

2.3.2 物模型的属性上报和属性设置

物模型的创建、Topic及数据的编码格式获取这里不讲,请参考:ESP8266 – 搭建阿里云物联网与MQTT.fx通信的平台(二)

  • 属性上报

属性上报就是下位机实时上报数据到云端,云端收到下位机上报的数据之后,回复下位机已确认收到消息。

< AT+MQTTSUB=0,“topic”,0 > 命令测试

< AT+MQTTPUB=0,“topic”,“data”,0,0 > 命令测试

这里又发现发布的数据出现问题,和上面“< AT+MQTTUSERCFG=0,1,“client_id”,“username”,“password”,0,0,“” > 命令测试”问题一样,都是逗号前面需要增加“\”符号,不过这里面有存在 " 符号,我们也需要在 " 符号前面增加 “” 符号(注意字符串前后本身存在"“符号。不需要在加”"),举例说明一下:

原始的命令:AT+MQTTPUB=0,“topic,123"125”,55",“data”,0,0

修正后的命令:AT+MQTTPUB=0,“topic,123"125”,55",“data”,0,0

修正之后,发送正常,这里发送给标签为TestTSL的数据为888。同时可以在阿里云物联网平台查看到发布和订阅的数据。

  • 属性设置

属性设置就是下位机实时订阅消息,等到云端下发数据,下位机及时响应消息,并进行相应的动作,比如开关灯等。

< AT+MQTTSUB=0,“topic”,0 > 命令测试

1. 首先订阅属性设置的主题,进行实时的监控。主题可以通过查看产品的Topic页面找到。

2. 进入阿里云物联网平台的<在线调试>界面,发送数据123,在串口助手界面,查看到接收到的数据为123。

最后

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。

因此收集整理了一份《2024年嵌入式&物联网开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

img

img

img

img

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上嵌入式&物联网开发知识点,真正体系化!

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新!!

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上嵌入式&物联网开发知识点,真正体系化!*

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新!!

  • 26
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值