1. esp8266 MQTT固件烧录

在先前如果使用Arduino开发过后的esp8266可能已经无法使用AT指令,或者出厂固件不支持全部的MQTT功能,这里我们首先对esp8266进行MQTT固件烧录,如果平时一直在使用原厂固件开发,可跳过第一步,若AT指令无效再按第一步操作。

 1)官网下载烧录工具和固件

烧录工具链接:

https://docs.ai-thinker.com/tools

固件链接:

https://docs.ai-thinker.com/%E5%9B%BA%E4%BB%B6%E6%B1%87%E6%80%BB

大家根据自己需要选择相应的版本,我使用的是esp01s,下载的是1471号

2)下载并打开固件烧录工具

https://docs.ai-thinker.com/%E5%BC%80%E5%8F%91%E5%B7%A5%E5%85%B72

3)进入烧录模式

连接usb转ttl模块,点击START,然后保持esp01s的IO0拉低后重新上电

4)按下图设置开始烧录

5)出现下图表示完成烧录

6)AT测试

打开串口助手,按下复位,输入命令”AT”,注意要取消勾选十六进制发送,勾选发送新行,然后检查串口打印工作状况,下图表示正常:

7)AT命令手册

接下来可能要用到的AT指令可以从官方手册中查看详细信息:

https://docs.espressif.com/projects/esp-at/zh_CN/latest/esp32/AT_Command_Set/MQTT_AT_Commands.html

2. 串口测试

1) 设置模块为STA模式

AT+CWMODE=1

2) 连接WiFi

AT+CWJAP="填写wifi名称","填写WiFi密码"

需略微等待片刻,等显示连接后再进行下面的操作

3) 设置MQTT的登陆用户名与密码

AT+MQTTUSERCFG=0,1,"NULL","填写用户名","填写密码",0,0,""

4) 设置MQTT的ClientID

用户名与密码为华为云MQTT三元组的相关信息,可以在下面的网站生成:

https://iot-tool.obs-website.cn-north-4.myhuaweicloud.com/
AT+MQTTCLIENTID=0,"填写ClientID"

华为云MQTT三元组的相关信息在上一步骤中获取的三元组中查看

5)设置MQTT接入地址

华为云物联网平台的地址,比如iot-mqtts.cn-north-4.myhuaweicloud.com,具体参考控制台首页的平台接入地址

AT+MQTTCONN=0,"填写MQTT接入的地址",1883,1

6)订阅主题

AT+MQTTSUB=0,"订阅的主题tpoic",1

完成属性上报的话需要先订阅设备属性上报的主题,此处topic可填写为:

$oc/devices/填写设备ID/sys/properties/report

7)上报数据

AT+MQTTPUB=0," 订阅的主题tpoic ","上报的json数据",0,0

订阅的主题:

$oc/devices/填写设备ID/sys/properties/report

上报的json数据:

{\"services\":[{\"service_id\":\"填写服务ID\"\,\"properties\":{\"填写设备属性\": 填写属性数据值}}]}

建议大家完成这步时,先使用MQTT.fx进行设备属性上报测试,确保数据无误正常上传,因为具体参数因个人的配置而异。

在完成上面的每一步时,系统都会打印一个OK,且连接wifi并接入华为云完成数据上报,记录如下:

此时我们可以查看华为云物联网平台的设备属性以及消息记录:

8)订阅平台下发命令的主题

AT+MQTTSUB=0,"订阅的主题topic ",1

此时我们在这填写的是平台下发命令的主题:

$oc/devices/填写设备ID/sys/commands/#

9)命令下发

进入华为云物联网平台的->监控运维->在线调试,选择在线的设备,填写命令参数,完成命令下发,此时设备会接收到下发的命令:

接收到命令后我们需要对命令进行响应,特别注意的是下面两步的操作时间建议接收到命令后的20s以内,超时后平台会认定为同步命令设备响应异常!

10)订阅设备响应的主题

AT+MQTTSUB=0,"$oc/devices/填写设备ID /sys/commands/response/request_id=填写接收到的request_id ",1

订阅设备响应平台命令主题,其中接收到的request_id在上图接收到的数据中,我们需要把它拿出来放到新订阅的tpoic的对应位置里

11)上报命令的响应

AT+MQTTPUB=0,"填写上面订阅的含request_id的完整主题","填写响应值,可以为空",0,0

例如:

AT+MQTTPUB=0,"$oc/devices/填写设备id/sys/commands/response/request_id=填写request_id ","",0,0

完成上面的这些操作后,我们可以看到华为云物联网平台已经完成了命令的接收与响应,接下来我们就可以通过使用其他MCU通过串口来实现华为云的相关操作了。

ESP8266通过AT指令接入华为云物联网平台相关推荐

  1. 教你如何使用esp8266接入华为云物联网平台(IOTDA)(Arduino IDE开发)

    教你如何使用esp8266接入华为云物联网平台(IOTDA)(Arduino IDE开发) 一.简介         esp8266系列作为低功耗高性价比的嵌入式无线网络控制模块,深受对嵌入式感兴趣的 ...

  2. stm32+AT指令+ESP8266接入华为云物联网平台并完成属性上报与命令响应

    (示例:stm32f103c8t6+esp01s串口AT指令模式) 流程简介: 一. MQTT透传AT固件烧录 本期教程使用的是stm32+AT指令控制esp01s接入华为云联网平台完成数据上报与命令 ...

  3. 合宙Air780e+luatos接入华为云物联网平台完成设备通信与控制

    一.简介 1.项目介绍 之前发布的文章有esp8266的wifi模块和BC20的NB模块与华为云物联网通信为主,本期文章采用了合宙的4G LTE Cat.1模块,编程语言用的是lua,整体来说代码比较 ...

  4. 【阿里云生活物联网架构师专题 ②】esp8266 sdk 直连接入阿里云物联网平台,实现天猫精灵找队友零配网功能和语音控制;

    本系列博客学习由非官方人员 半颗心脏 潜心所力所写,仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 1.esp32接入阿里云物联网平台,实现天猫精灵语音控制: 2.es ...

  5. 【4G模块】中移物联ML302 + GD32F407 使用支持MQTT协议AT指令接入阿里云物联网平台

    目录 〇.目的.GD32.ML302相关简介 0.目的: 1.ML302: 2.LTE Cat.1: 3.GD32F407 一.GD芯片创建工程写驱动:LED.串口4.4G模块 1.创建工程 2.LE ...

  6. HI3861学习笔记(25)——接入华为云物联网平台IoT

    一.平台简介 设备接入服务(IoTDA) 是华为云的物联网平台,提供海量设备连接上云.设备和云端双向消息通信.批量设备管理.远程控制和监控.OTA升级.设备联动规则等能力,并可将设备数据灵活流转到华为 ...

  7. STM32 标准库+ESP8266+华为云物联网平台

    文章内容: STM32标准库通过串口发送AT指令完成与ESP8266的控制实现接入华为云物联网平台,并完成基本通信与控制,包括设备属性上报和命令下发解析与响应,并将相关代码打包成HuaweiIOT_a ...

  8. STM32 HAL库+ESP8266+华为云物联网平台

    文章内容: STM32 HAL库通过串口发送AT指令完成与ESP8266的控制实现接入华为云物联网平台,并完成基本通信与控制,包括设备属性上报和命令下发解析与响应. 文末获取"STM32 H ...

  9. 【物联网】华为云物联网平台-基于C示例代码的快速体验

    00. 目录 文章目录 00. 目录 01. 概述 02. 开发环境 03. 创建产品 04. 注册设备 05. C语言工程下载 06. 编译OpenSSL库 07. 编译paho库 08. 编译C参 ...

最新文章

  1. react小测试忘记一个细节不显示
  2. 二分类吸引子和鞍点的准确率的表达式ca
  3. Simulink中DPCM量化和编码仿真
  4. wxWidgets:wxScrollEvent类用法
  5. python-argparse批量修改后缀名-batch_file_rename.py
  6. 【CodeForces - 705C】Thor(模拟,STLset优化链表)
  7. 微软ASP.NET官方网站MVC教程实际操作中的部分问题
  8. 重力坝计算c语言程序,混凝土重力坝计算程序
  9. 51单片机之步进电机实验
  10. 将CCT色温转换成RGB
  11. mysql登录报错:mysql: error while loading shared libraries: libncurses.so.5: cannot open shared object
  12. linux下命令行安装oracle 11g数据库
  13. 正则匹配特殊符号及标点符号
  14. Linux下的sock_stream和sock_dgram
  15. 信息系统项目管理师(2022年) —— 第 3 章 项目立项管理
  16. python大数据是什么_python和大数据有什么关系?
  17. python应用_恺撒密码加密与解密
  18. linux和win10文件共享smb,Windows 10 Samba文件共享的设置方法,解决不能访问和密码错误的问题...
  19. 2022年执法资格城管执法考试多选题专项训练题及答案
  20. 浅谈触摸屏技术以及未来的发展趋势

热门文章

  1. 微型计算机原理及应用考研试题,计算机考研必备微型计算机原理及应用试题精选...
  2. 投ISTP收录论文要注意什么?
  3. 【前端】【学习】HTML+CSS的W3Cschool网站的实战知识点
  4. jq中阿贾克斯的格式及作用
  5. 接口测试及常用接口测试工具解析
  6. 深度学习图像识别:基础知识与环境搭建
  7. wkhtmltopdf 实现html 文档对象转换为pdf 文件核心功能代码
  8. android摄像头代码,android: 调用摄像头拍照(示例代码)
  9. DIAL - 差分吸收激光雷达采集
  10. 大学计算机必修课 编译原理,大学计算机必修课新讲-编译原理+操作系统+图形学2020...