一、创建产品
1.进入华为云官网,右上角点击注册或登录
2.登录华为云账号后,点击右上角控制台进入控制台
3.鼠标移到左上角展开导航栏
4.找到IoT物联网,点击下面的设备接入IoTDA
5.切换控制台的位置为北京四
6.点击产品,进入产品页面,然后点击创建产品,我们先来创建一个产品
7.产品创建信息如下,点击确认,就创建好了一个名为MQTT_TEMP的产品,点击确定
二、创建产品功能
1.现在我们的产品还没有任何功能,点击自定义模型,我们来为产品创建一个发布温度的功能
2.服务描述如下,点击确定
3.点击添加属性
4.新增属性信息如下,点击确定,产品一个发布温度的功能就创建好了
三、创建设备
设备是产品的实例,一个产品下可以有多个设备
1.展开设备栏,点击下面的所有设备,我们来创建一个设备来测试发布温度的功能
2.点击注册设备
3.设备创建信息如下,点击确认就创建好了产品MQTT_TEMP下的第一个设备MQTT_TEMP_01
四、获取MQTT客户端连接信息
1.点击保存并关闭,保存设备信息到txt文件中以便等会儿MQTT客户端连接华为云使用
2.点击这个连接https://iot-tool.obs-website.cn-north-4.myhuaweicloud.com/,这是华为云根据设备id和设备密钥生成MQTT客户端连接信息的一个网页
将设备id和设备密钥填入,点击Generate生成MQTT客户端连接信息
3.将生成的连接信息复制到txt文件中,现在txt文件内容如下
4.到总览页面点击平台接入地址
5.复制MQTT协议接入的地址,且可以看到MQTT协议使用的是1883端口,将这些信息保存到txt文件中
6.回到产品页面点击查看,点击Topic管理
7.在系统预置Topic中找到设备属性相关Topic下的设备上报属性数据,将这条Topic复制粘贴到刚才的txt文件
8.现在我们的txt文件内容如下,注意Topic中的{device_id}需要替换为设备id
五、了解MQTT客户端上报华为云消息主体JSON格式
有了上面的连接信息我们的MQTT客户端就可以连接上华为云了,但要想华为云MQTT服务器能够正确解析我们上报的数据,我们还需要了解华为云数据上报的格式。
华为云设备属性上报的官方文档链接:https://support.huaweicloud.com/api-iothub/iot_06_v5_3010.html
通过官方说明可以知道,如果我们只想将温度属性上报给华为云,我们的数据格式应该如下:
{
"services": [{
"service_id": "value",
"properties": {
"property": "value"
}
}]
}
六、MQTT.fx的使用
mqtt.fx下载地址:
https://www.jensd.de/apps/mqttfx/1.7.1/?spm=a2c4g.11186623.0.0.33163df4Mn5vxH
使用手册:
https://help.aliyun.com/document_detail/86706.htm?spm=a2c4g.11186623.0.0.10fc4d8bjKlkQe#concept-d3l-fw3-p2b
1.打开mqtt.fx,选择Publish,点击设置
2.按照记录的信息分别填入,点击OK
3.填入Topic
4.点击Connect,连接成功后右上方的圆形标志显示为绿色
5.在本例中如果上报25.6度给华为云,消息主体应该如下。
{
"services": [{
"service_id": "1",
"properties": {
"CurrentTemperature": 25.6
}
}]
}
6.填入信息,点击Publish
7.回到华为云设备页面,结果如下,上传成功!