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这一项就对应温度这一数值

示例代码

相关推荐
深圳老胡1 分钟前
STM32CubeMX 生成 CMake 工程,用 VSCode 编译与调试的完整流程
笔记·stm32·单片机·代码规范
甜甜的大香瓜23 分钟前
【MT32F006】MT32F006之Timer定时
单片机
甜甜的大香瓜27 分钟前
【MT32F006】MT32F006之读写内部EEPROM
单片机
沐欣工作室_lvyiyi1 小时前
超市智能货架系统设计与实现(论文+源码)
c语言·单片机·课程设计·电子信息工程毕业设计·黑龙江工商学院·广州工商学院·成都工业学院
老孟说禅1 小时前
硬件测试 - 测试用例设计:测试需求分析、测试点提取、测试用例编写方法
单片机·嵌入式硬件·智能硬件
C++ 老炮儿的技术栈1 小时前
static的作用
c语言·c++·人工智能·单片机·c
逐光者9332 小时前
STM32通信协议——I2C
stm32·单片机·嵌入式硬件
千秋岁rr2 小时前
15.PWR电源控制
单片机·嵌入式硬件
甜甜的大香瓜2 小时前
【MT32F006】MT32F006之PWM控制背光灯(白光)
单片机
李日华大战鸡红2 小时前
FOC SVPWM过调制(学习记录)
stm32·单片机·学习