基于AT模组连接阿里云物联网平台
1. 开发准备
购买模组。(待修改购买连接)。阿里云IoT解决方案咨询购买模组以及获取相应资料请填写
云模组HAAS210规格介绍。云模组HAAS210规格介绍本实验以使用云模组HAAS210为例进行体验,关于云模组HAAS210的规格内容,详情请参见
连接模组请参考下图进行模组连线,波特率为115200。
2. 模组配网
本实验第二步至第六步为开发流程。本模组支持3种配网能力,设备热点配网和蓝牙辅助配网,也可以通过串口直接配网。以串口直接配网为例,步骤如下:AT+ IWIFICONNECT =,,[save] //输入路由器的账号和密码,save表示是否保存到flash。配网成功后,AT口将返回如下日志,提示已经成功接入WiFi路由器。
OK +INETSTAT:4,192.**.**.104,B4:**:**:**:8E:71
3. 接入物联网平台
该模组支持以阿里云物联网的设备证书接入IoT平台,用户无需关心设备证书与MQTT协议的username、passwd,、clientId等字段的映射关系,方便用户快速连云。
设备证书设置:。AT+IDMAUTH=, , ,输入:参考示例:
AT+IDMAUTH=gb***u1U,module_***_dev,b2a5*************************059 OK
设备接入物联网平台:。查看实例终端节点其中host字段为MQTT的终端节点。MQTT的终端节点详细信息,请参见,AT+IDMCONN=,输入:参考示例:
AT+IDMCONN=iot-06****ql.mqtt.iothub.aliyuncs.com,1883 +IDMSTATE:1 OK
4. MQTT消息收发
发消息:。AT+IMQTTPUB=,,输入参考上行:上报helloworld。
AT+IMQTTPUB=/gb8*****1U/eng_**_005/user/update,0,helloworld +IMQTTPUB:0 OK
收消息:)。自动订阅Topic说明云模组具备了Link SDK的免订阅能力(在不发送subscribe报文的情况下,平台为模组自动订阅,包括OTA、设备影子、物模型等,详细信息,请参见。+IMQTTRCVPUB:,,收到消息的格式:参考下行:控制台设置设备影子后,设备收到的下行报文。
+IMQTTRCVPUB:/shadow/get/gb80***u1U/eng_**_005,258,{"method":"control","payload":{*****},"timestamp":1650447219,"version":1}
5. 使用物模型
物模型的协议基础是Alink协议。该协议是针对物联网开发领域设计的一种数据交换规范,数据格式为JSON,用于设备端和物联网平台的双向通信。云模组集成了Link SDK,为用户屏蔽了Alink协议实现的细节,节省了封装、解析Alink协议报文的时间。。Alink协议Alink协议详细信息,请参见
属性上报:消息格式:
AT+IDMPP=<message>
AT+IDMPP={"LightStatus":1} +IDMPP:8 OK
属性下发:消息格式:
+IDMPS:<msg_id>,<msg_len>,<message>
+IDMPS:238420054,17,{"LightStatus":1} OK
事件上报:消息格式:
AT+IDMEP=<event_id>,<event_payload>
AT+IDMEP=OnSync,{"SyncTime":1} +IDMEP:15 OK
6. 使用OTA命令
云模组集成了LinkSDK中的固件升级能力, 用户可以在控制台部署OTA任务, 为连接在云模组上的MCU下推升级固件。交互步骤如下:
控制台部署OTA任务后,模组收到了OTA消息,告知MCU+IOTASTATE:,,。参考交互:
+IOTASTATE:0,2.0.1,521540
MCU收到上述消息后,通知模组是否接受OTA升级AT+IOTASTART=,模组响应OK。参考交互:
AT+IOTASTART=1 OK +IOTASTATE:1
模组完成下载固件,通知MCU开始收取+IOTASTATE:,,。参考交互:
+IOTASTATE:2 //模组在校验固件 +IOTASTATE:5 //模组已经收完固件,通知MCU去分片读取
MCU查询固件的分片详情AT+IOTASHO,模组响应+IOTASHO:, ,, ,, 。参考交互:
AT+IOTASHO +IOTASHO:2038,256,2.0.1,521540,0,fe52d2203d3406160f440a55fa7e6073
MCU获取其中某个分片AT+IOTASTX=,模组响应:+IOTASTX:,, ,。参考交互:
AT+IOTASTX=0 +IOTASTX:0,256,27069,**********************
升级结束, 上报新的固件版本号, 以确认固件升级成功。
AT+IOTAVER=2.0.0 //2.0.0表示新的固件版本号. 控制台收到后进行校验, 如果一致则更新任务状态
7. 参考资料
AT模组HAAS210模组手册:
https://help.aliyun.com/document_detail/431770.html
通过MCU+AT模组接入物联网平台:
https://help.aliyun.com/document_detail/430695.html
AT模组开发指导文档:
https://linkkit-export.oss-cn-shanghai.aliyuncs.com/ali_wifi_module/ali_wifi_module.zip
实验链接:https://developer.aliyun.com/adc/scenario/7acc02eb059e424796c23c06c757ef4c