ESP8266 MQTT连接onenet

1、ESP-01S硬件连接

注意EN要接到3.3V

2、ESP设置流程

Serial2_SendString("AT+RESTORE\r\n"); // 发送恢复出厂指令

ESP8266_SendCmdOK("AT\r\n", 2000)) // 发送AT并等待OK

ESP8266_DisableEcho(2000); // 发送ATE0关闭回显

ESP8266_SendCmdOK("AT+CWMODE=1\r\n", 2000); // 设置为Station模式

ESP8266_ConnectWiFi(WIFI_SSID, WIFI_PWD) 连接指定WiFi

MQTTUSERCFG配置 MQTT 用户参数,见第4节。

"AT+MQTTCONN=0,\"mqtts.heclouds.com\",1883,1\r\n" 第5节 连接服务器

订阅消息 见第6节

发布数据 见第7节

3、Token生成

使用OneNET Token 生成工具生成token,用于连接平台

工具说明https://iot.10086.cn/doc/aiot/fuse/detail/1487

点击生成后,下方文本框就会有生成的token文本

4、MQTT用户名定义MQTTUSERCFG

ESP连接wifi后 需要设置MQTT用户名/密码等,发送命令格式如下,token为上一步生成的token。

复制代码
#define MQTT_USER_CFG   "AT+MQTTUSERCFG=0,1,\"设备名称\",\"产品ID\",\"token\",0,0,\"\r\n"

向ESP发送以上字符串即可完成用户名等信息设定。

5、连接MQTT服务器

onenet地址为

复制代码
//Onenet 服务器地址
#define MQTT_CONN_CFG   "AT+MQTTCONN=0,\"mqtts.heclouds.com\",1883,1\r\n"

6、订阅消息

复制代码
// 订阅主题
// OneNET 设备命令下发主题格式:(接收云端控制指令)
// $sys/产品ID/设备名称/thing/property/post/reply
#define MQTT_SUB_REPLY  "\"$sys/tC4k024B72/STM32-01/thing/property/post/reply\",0\r\n"

#define MQTT_SUB_SET    "\"$sys/tC4k024B72/STM32-01/thing/property/set\",0\r\n"

// 发布主题(上传数据到平台)
// OneNET 属性上报主题格式:
// $sys/产品ID/设备名称/thing/property/post
#define MQTT_PUB_TOPIC  "$sys/tC4k024B72/STM32-01/thing/property/post"

7、发布数据到云平台

下一步就可以发布数据了,在发布之前需要在onenet平台定义产品的数据,比如温度数据。

定义数据

点击产品开发-》设置模型

添加自定义功能点,注意标识符这一项,在设备发送数据时要靠这个匹配数据,比如设备发送的json中有Temp这一项就对应温度这一数值

示例代码

相关推荐
FreakStudio1 天前
W55MH32L-EVB 上手测评:硬件 TCP/IP 加持的以太网单片机,MicroPython 零门槛开发
python·单片机·嵌入式·大学生·面向对象·并行计算·电子diy·电子计算机
✎ ﹏梦醒͜ღ҉繁华落℘6 天前
单片机基础知识---stm32单片机的优先级
stm32·单片机·mongodb
zd8451015006 天前
RS485 总线详解
单片机·嵌入式硬件
牛根生同志6 天前
SPI数据收发的时候 TXE与RXNE标志位置位的时机
stm32·spi·transfer
goldenrolan7 天前
学习型红外控制系统稳定性挂测工装专项总结
软件测试·python·stm32·嵌入式·红外
✎ ﹏梦醒͜ღ҉繁华落℘7 天前
编程基础 --高内聚,低耦合
c语言·单片机
科芯创展7 天前
1A,1MHz,30VIN,XZ4115,降压恒流LED驱动芯片
单片机·嵌入式硬件
集芯微电科技有限公司7 天前
四通道2A输出集成功率电感降压模块专为紧凑型方案设计
人工智能·单片机·嵌入式硬件·生成对抗网络·计算机外设
踏着七彩祥云的小丑7 天前
嵌入式测试学习第 37 天:异常场景测试:断电、拔插、干扰、非法指令
单片机·嵌入式硬件·学习
CC城子7 天前
STM32H7_FDCAN 驱动笔记
stm32·can·canfd