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. 一场“交通进化”将至: 5G带给车联网与自动驾驶哪些升级?
  2. linux centos 7 bash升级到5.0
  3. import和from...import
  4. java中lambda表达式的应用
  5. 「ImageProcess」mp4视频转存图片内存变大的原因探究
  6. php并发访问mysql_php并发对MYSQL造成压力的解决方法_PHP
  7. jmeter聚个报告怎么看qps_【jmeter】jmeter测试网站QPS
  8. 自动驾驶算法-滤波器系列(七)——ESKF(error-state Kalman Filter)介绍
  9. 德赛西威280b升级_牵手英伟达/德赛西威 理想自动驾驶蓝图初现
  10. java实现 tiff图片 转 JPG图片(完美解决)
  11. win7美化_美化你的win10桌面,让你的电脑更美观
  12. linux --- linux目录结构
  13. 日语バズる中文怎么翻译?
  14. python基础思维导图
  15. 海信、索尼“圈层化”、美的、小天鹅奔向“拼多多”,家电品牌谋新路
  16. 安卓圆形图片控件CircleImageView的使用
  17. Installation and use of OpenWrt (x86) | Hardware
  18. Pytorch 并行训练(DP, DDP)的原理和应用
  19. QTimer定时器问题分析
  20. modelsim仿真系列之基于ISE的独立进行后仿真(三)

热门文章

  1. Android中步骤图界面的编写
  2. 善待员工细节所有这一切都是为了让员工有舒适的工作环境,从而能为用户创造出更好的产品。
  3. OpenStack平台对接堡垒机
  4. C语言 源代码中的换行
  5. 怎样用计算机撩妹,撩妹子的绝招聊天 追女孩子的套路和技巧
  6. PHP加载TTF或TTC字体文件
  7. 极域电子教室 e-Learning Class V4 2010专业版 学生机 卸载方法
  8. Mac MAMP修改mysql配置文件my.cnf,修改PHP配置文件php.ini
  9. b站韩顺平老师的坦克大战
  10. 从马帮到金蝶云星空通过接口配置打通数据