ESP-AT 应用: AT+MQTT 对接阿里云 IoT 物联网平台
AT+MQTT 对接阿里云 IoT 物联网平台本文介绍如何通过 AT 指令对接阿里云 IoT 物联网平台.AT+MQTT 指令说明参考 AT+MQTT 介绍当前阿里云 IoT 物联网平台 iotkit-embedded 支持三种 MQTT 方式接入阿里云, 分别是:MQTT 基于设备秘钥认证方式 (包括一机一密,一型一密,子设备动态注册)MQTT 基于 ID2 认证方式MQTT 基于 X.509
AT
工程:https://github.com/espressif/esp-at
AT
文档:https://docs.espressif.com/projects/esp-at/zh_CN/latest/
ESP-AT 应用: AT+MQTT 对接阿里云 IoT 物联网平台
本文介绍如何通过 AT
指令对接阿里云 IoT 物联网平台.
AT+MQTT
指令说明参考 AT+MQTT 介绍
当前阿里云 IoT 物联网平台 iotkit-embedded 支持三种 MQTT
方式接入阿里云, 分别是:
MQTT
基于设备秘钥认证方式 (包括一机一密,一型一密,子设备动态注册)MQTT
基于 ID2 认证方式MQTT
基于 X.509 证书认证方式
本文以 AT+MQTT
基于设备秘钥认证方式,展示一机一密具体过程。
准备
读者需根据 阿里云物联网平台文档中心, 获取 MQTT 连接参数:
ClientID
用户名
密码
服务器地址
服务器端口
建议:
多阅读几遍 阿里云物联网平台文档中心, 实际操作, 加深印象, 尤其是下面文档:
MQTT 基于设备秘钥认证方式(一机一密)
当前 AT+MQTT
连接阿里云,是基于设备秘钥认证方式, 基于 TCP, 无证书认证方式。
MQTT 连接需要使用上述准备阶段中的: ClientID
, 用户名
, 密码
, 服务器地址
, 服务器端口
.
AT+MQTT 对接阿里云指令参考
AT+CWMODE=1
AT+CWJAP="ssid","password"
AT+CIPSNTPCFG=1,8,"ntp1.aliyun.com"
AT+CIPSNTPTIME?
AT+MQTTUSERCFG=0,1,"","","",0,0,""
AT+MQTTUSERNAME=0,"esp-at-001&a1nYdyIs7du"
AT+MQTTPASSWORD=0,"02CE99D94D22B22CD2A6033098B96C0ED157C3F127CFBBE41D5A131A5B0B1886"
AT+MQTTCLIENTID=0,"a1nYdyIs7du.esp-at-001|timestamp=2524608000000\,_v=sdk-c-3.0.1\,securemode=3\,signmethod=hmacsha256\,lan=C\,gw=0\,ext=0|"
AT+MQTTCONN=0,"a1nYdyIs7du.iot-as-mqtt.cn-shanghai.aliyuncs.com",1883,1
AT+MQTTSUB=0,"/a1nYdyIs7du/esp-at-001/user/get",1
AT+MQTTPUB=0,"/a1nYdyIs7du/esp-at-001/user/get","hello\, aliyun!",1,0
注意:
AT+MQTTUSERCFG
中第二参数为 1, 即基于 TCP, 无证书校验的方式AT+MQTTCLIENTID
中第二参数为准备阶段的ClientID
AT+MQTTUSERNAME
中第二参数为准备阶段的用户名
AT+MQTTPASSWORD
中第二参数为准备阶段的密码
AT+MQTTCONN=0,"<endpoint>",1883,1
中,endpoint
为准备阶段的服务器名称
, 端口1883
不可更改- 阿里云使用受限的
MQTT topic
, 注意阅读 自定义Topic 中介绍 - 设备发布到阿里云的
MQTT
消息, 需用户 配置 AMQP 服务端订阅 等方式去接收
示例 LOG
正常交互 LOG 如下:
-
ESP 设备端 LOG
-
Aliyun 物联网平台 LOG
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)