本文的目标是通过MQTTX的客户端,连接到阿里云的物联网的平台,发送温度信息,在阿里云的平台中显示出来。阿里云免费注册,免费有一个MQTT的服务器。有数量限制,但是对于测试来讲,已经足够。
1、注册阿里云的物联网平台中是公共实例
新开通物联网平台服务的阿里云账号下,默认提供一个新版公共实例供您试用。
新版公共实例默认不开通,需手动开通后使用。
开通后,已默认配置固定资源规格,不计费,没有时间限制。如果实际使用超出固定资源规格,超出部分会按量计费,计费规则请参考旧版公共实例。
同时在线设备数为50个,最多可创建设备数为500个。
消息通信TPS为5条/秒。
消息转发TPS为5条/秒。
OTA升级次数为10次/自然月。
开通后,如果设备长时间不在线,物联网平台系统会冻结该实例
2、在产品目录下,创建产品
产品是有共同的设备属性的集合。
新建产品
添加确认之后
进入功能定义
点击编辑草稿
需要新增一个模块,来增加用户自定义的属性。
如果采用默认的模块,在默认模块中增加自定义属性,那么在当前的版本下,设备里面不显示这个自定义的属性。
所以,为了在设备中显示自定义的属性,严格按照这个步骤来进行操作。
然后选择发布上线?
在该产品下添加设备
在设备信息下,查看MQTT的连接参数
这些连接参数后面在MQTTX的客户端来使用。
注意:passwd这个内容,是不是devicesecret,而是根据这个来进行计算的一个值。只是阿里这个平台,已经计算好了,直接在连接参数中,就能呈现出来。
也可以采用工具来自己计算
然后在回到产品界面,进行发布
配置MQTTX的客户端
从网上搜索,下载一个客户端
新建一个连接,填写的对应关系
点击Connect,应该出现连接成功的标记
找到这个topic
/sys/a1YkJ7cGX3c/${deviceName}/thing/event/property/post
把${deviceName},更换为设备名称dh1001
得到
/sys/a1YkJ7cGX3c/dh1001/thing/event/property/post
将该topic放入到MQTTX中
然后在组成上报的参数,参数的格式满足阿里上层物理的需求
{
"id": "12222345",
"params": {
"MTemperature:temperature": 22.8
}
}
id是唯一的任意值
params中MTemperature:temperature
MTemperature是模块名称
temperature是属性的标识符
下一篇讲解一下如何从STM32发布到阿里云的物联网上