HC-25 WIFI模块连接外网接入阿里云的方法(MQTT)
HC-25 MQTT 接入阿里云
一、到阿里云https://www.aliyun.com/注册账号。
二、注册成功后,请登录上阿里云账号,并进入https://iot.console.aliyun.com/lk/summary物联网平台。
三、打开“产品文档”里面的“物联网设备接入和管理”页面:
https://help.aliyun.com/product/30520.html进行学习如何创建产品与设备。
四、创建产品与设备:
依次填写好以上信息,联网方式选WiFi,设置完后会生成一个产品**,例如:
给产品设置一个设备名,例如:HC-25,并设置好参数。设置成功后,请保管好请设备证书,包含ProductKey、DeviceName和DeviceSecret。
五、用AT指令设置模块参数,连接到阿里云。(请参考使用MQTT.fx接入物联网平台:
https://help.aliyun.com/document_detail/86706.html?spm=a2c4g.11186623.6.820.4fc62359hUkURl#title-3yi-w85-xqo)
(1)设置MQTT连接域名:
AT+SOCK=MQTT,a1JqTigOYks.iot-as-mqtt.cn-shanghai.aliyuncs.com,1883
其中“a1JqTigOYks”为产品**Productkey,请修改为对应的Productkey。
${YourProductKey}.iot-as-mqtt.${YourRegionId}.aliyuncs.com:1883
${YourProductKey}请替换为您的产品key。
${YourRegionId}请参考地域和可用区替换为您的Region ID。
- 设置可变报头(variable header):Keep Alive
AT+MQTTK=60
Connect指令中需包含Keep Alive(保活时间)。保活心跳时间取值范围为30至1200秒。如果心跳时间不在此区间内,物联网平台会拒绝连接。如果网络不稳定,将心跳时间设置高一些。
(3)设置MQTT的Connect报文参数
①AT+MQTTCID=12345|securemode=3,signmethod=hmacsha1,timestamp=789|
mqttClientId: clientId+"|securemode=3,signmethod=hmacsha1,
timestamp=789|"
②AT+MQTTUSERNAME=HC-25&a1JqTigOYks
mqttUsername: deviceName+"&"+productKey
③AT+MQTTPASSWORD=1c810f26b7dd7573657d5c37b21a0690f815029e
mqttPassword:sign签名需把提交给服务器的参数按字典排序后,根据signmethod加签。
content的值为提交给服务器的参数(ProductKey、DeviceName、
timestamp和clientId),按照字母顺序排序, 然后将参数值依次拼接。
clientId:表示客户端ID,建议使用设备的MAC地址或SN码,64字符内。
timestamp:表示当前时间毫秒值,可以不传递。
mqttClientId:格式中||内为扩展参数。
signmethod:表示签名算法类型。支持hmacmd5,hmacsha1和hmacsha256,默认为hmacmd5。
securemode:表示目前安全模式,可选值有2 (TLS直连模式)和3(TCP直连模式)。
示例:
假设clientId = 12345,deviceName = HC-25, productKey = a1JqTigOYks, timestamp = 789,
signmethod=hmacsha1,
deviceSecret=wumV9KMNYXG2LpFxWBggkGCDqNp0JFul,
加密后的Password为二进制转16制字符串,示例结果为:
1c810f26b7dd7573657d5c37b21a0690f815029e
(4)设置MQTT订阅消息主题
AT+MQTTSUBTOPIC=/sys/a1yH6UqG4wl/hc25/thing/service/property/set
(5)设置MQTT推送消息主题
AT+MQTTPUBTOPIC=/sys/a1yH6UqG4wl/hc25/thing/event/property/post
把设备Topic列表中的对应消息主题设置到HC-25模块里面。
- 设置MQTT订阅消息的质量等级
AT+MQTTSUBQOS=1
- 设置MQTT推送消息的质量等级
AT+MQTTPUBQOS=1
五、设备(HC-25模块)连接到阿里云,进行数据传输。
登录阿里云账号后,打开控制台,点击物联网平台,从设备管理栏选取设备,可以在线调试设备了。
请登录https://help.aliyun.com/product/30520.html详细了解阿里云物联网平台!
- https://help.aliyun.com/document_detail/73742.html?spm=a2c4g.11186623.4.4.7d1e9ff56wjSAT MQTT-TCP连接通信
注意:此文章来源于hc-25官方群,经群主同意后发出。本人还没有时间亲自测试,等测试成功了再发一个Arduino的实例文章。