ML307S使用MQTT连接阿里云---动态注册连接教程

ML307S使用MQTT连接阿里云—动态注册连接教程



前言

在之前使用中国移动的ML307S物联网芯片去连接阿里云时,因为网上资料十分匮乏并且厂家提供的资料也十分有限,所以走了许多弯路,所以再此将自己的经历总结出来帮助大家


一、阿里云的动态注册流程简介

动态注册又称为一型一密注册,是阿里云的物联网设备登录方式之一。

一型一密认证方式下,同一产品下所有设备可以烧录相同的设备标志信息,即所有设备包含相同的产品证书(ProductKey和ProductSecret)。设备发送激活请求时,物联网平台会进行身份确认,认证通过后,下发设备接入所需信息。
一型一密认证支持两种使用方式:一型一密免预注册、一型一密预注册,具体区别可以自行前往阿里云官方文档查看,不在此做过多阐述,本文教程采用的为一型一密免预注册方式。

二、连接步骤

1.在阿里云物联网控制台增加产品

在阿里云中添加产品为直连方式
在这里插入图片描述

并且打开产品的动态注册开关
在这里插入图片描述

产品添加完成后,将产品的域名、端口号、实例ID、ProductKey和ProductSecret复制下来,为后续MQTT动态注册使用
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.配置ML307S芯片

因为大家写程序的实现方式不同,在此直接使用底层的AT指令进行配置,后续大家可以直接在程序中实现AT指令即可

2.1、配置ML307S为TSL加密方式连接

AT+MSSLCFG="auth",1,1 //配置ssl id1认证方式为单向认证
OK                    //芯片回复
AT+MSSLCFG="version",1,3 //配置ssl id1的加密版本为TSL1.2
OK                       //芯片回复

键入根证书时,请大家务必按照我提供的格式来输入,否则很难成功输入,

AT+MSSLCERTWR="root.cer",0,1261 //写入加密证书
>                               //芯片回复
-----BEGIN CERTIFICATE-----
MIIDdTCCAl2gAwIBAgILBAAAAAABFUtaw5QwDQYJKoZIhvcNAQEFBQAwVzELMAkG
A1UEBhMCQkUxGTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOBgNVBAsTB1Jv
b3QgQ0ExGzAZBgNVBAMTEkdsb2JhbFNpZ24gUm9vdCBDQTAeFw05ODA5MDExMjAw
MDBaFw0yODAxMjgxMjAwMDBaMFcxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9i
YWxTaWduIG52LXNhMRAwDgYDVQQLEwdSb290IENBMRswGQYDVQQDExJHbG9iYWxT
aWduIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDaDuaZ
jc6j40+Kfvvxi4Mla+pIH/EqsLmVEQS98GPR4mdmzxzdzxtIK+6NiY6arymAZavp
xy0Sy6scTHAHoT0KMM0VjU/43dSMUBUc71DuxC73/OlS8pF94G3VNTCOXkNz8kHp
1Wrjsok6Vjk4bwY8iGlbKk3Fp1S4bInMm/k8yuX9ifUSPJJ4ltbcdG6TRGHRjcdG
snUOhugZitVtbNV4FpWi6cgKOOvyJBNPc1STE4U6G7weNLWLBYy5d4ux2x8gkasJ
U26Qzns3dLlwR5EiUWMWea6xrkEmCMgZK9FGqkjWZCrXgzT/LCrBbBlDSgeF59N8
9iFo7+ryUp9/k5DPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8E
BTADAQH/MB0GA1UdDgQWBBRge2YaRQ2XyolQL30EzTSo//z9SzANBgkqhkiG9w0B
AQUFAAOCAQEA1nPnfE920I2/7LqivjTFKDK1fPxsnCwrvQmeU79rXqoRSLblCKOz
yj1hTdNGCbM+w6DjY1Ub8rrvrTnhQ7k4o+YviiY776BQVvnGCv04zcQLcFGUl5gE
38NflNUVyRRBnMRddWQVDf9VMOyGj/8N7yy5Y0b2qvzfvGn9LhJIZJrglfCm7ymP
AbEVtQwdpf5pLGkkeB6zpxxxYu7KyJesF12KwvhHhm4qxFYxldBniYUr+WymXUad
DKqC5JlR3XC321Y9YeRq4VzW9v493kHMB65jUr9TU/Qr6cf9tveCX4XSQRjbgbME
HMUfpIBvFSDJ3gyICh3WZlXi/EjJKSZp4A== -----END CERTIFICATE-----

OK                              //芯片回复
AT+MSSLCFG="cert",1,"root.cer" //配置ssl id1的根证书为root.cer
OK                             //芯片回复

2.2、配置ML307S使用MQTT进行动态注册

AT+MQTTCFG="ssl",0,1,1         //配置MQTT为SSL加密连接
OK                             //芯片回复
AT+MIPCALL=1,1                 //建立应用层连接
OK                             //芯片回复

以下的连接参数以我的连接参数为参考,我的域名为:iot-06z00joki0zidra.mqtt.iothub.aliyuncs.com;端口号为:1883;ID:868706060162370,实例iD:iot-06z00joki0zidra,最后的密码大家自己使用哈希256算法进行计算即可得到
提示:哈希256加密算法大家如果有不会的,我提供一个精简版的SDK,大家可以参考用下,下载链接如下:https://download.csdn.net/download/m0_56991046/87349148 (我没有设置积分,大家可以放心下载)

AT+MQTTCONN=0,"iot-06z00joki0zidra.mqtt.iothub.aliyuncs.com",1883,"868706060162370|securemode=-2,authType=regnwl,random=256,signmethod=hmacsha256,instanceId=iot-06z00joki0zidra|","868706060162370&htldL6qAlX2","e7ca01d6ce0c90dd5860c1c2025caa5f63cf034242c44f9cb77aa2071dd249d7"                                                                      //发送连接请求
OK                              //芯片回复
+MQTTURC: "conn",0,0            //芯片回复:连接成功
+MQTTURC: "publish",0,0,"/ext/regnwl",148,148,{"clientId":"f5XaBqey80DsUMeUuF7a000100","productKey":"htldL6qAlX2","deviceName":"868706060162370","deviceToken":"^1^1670813932604^e0dac5d08f5b3a8"}               //阿里云返回的动态注册信息

2.3、获取到阿里云的 动态注册信息后,需要断开连接,再以不加密方式连接

AT+MQTTDISC=0                  //断开连接
OK                             //芯片回复
AT+MQTTCFG="pingresp",0,1      //设置心跳回显
OK                             //芯片回复
AT+MQTTCONN=1,"iot-06z00joki0zidra.mqtt.iothub.aliyuncs.com",1883,"f5XaBqey80DsUMeUuF7a000100|securemode=-2,authType=connwl|","868706060162370&htldL6qAlX2","^1^1670813932604^e0dac5d08f5b3a8"      //使用MQTT连接阿里云
OK                              //芯片回复
+MQTTURC: "conn",0,0            //芯片回复:连接成功

总结

提示:如果对以上内容哪里不明白有疑问,大家可以留言,我有时间会一一回复的

以上就是使用ML307S动态注册的流程,因为怕大家没有耐心看太长篇幅所以进行了一些精简,不过核心内容都在,希望可以帮助大家,不过有一点需要说明的是,阿里云虽然提供了基于MQTT动态注册的SDK,但是其并不适配ML307S芯片,我虽然与阿里官方进行了反馈,但是官方没有很好的解决,大家底层可以直接使用我的这个流程进行编写,这样既可以精简程序,也可以帮助我们自己更好的排查问题。

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

仰望space

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值