在线开发MQTT协议的环境检测仪(MQTTv2.0协议)
场景说明
本文以“环境检测仪”举例,通过MQTT.fx模拟器代替真实设备,为您介绍设备开发全过程。
业务流程
基于MQTT.fx体验平台功能是指以在MQTT.fx模拟器为例,介绍数据上报、命令下发等业务。
1.创建产品。创建一个MQTT协议的产品。
2.创建物模型。通过定义产品物模型,在物联网平台上创建一款检测仪产品,支持上报温度、下发开关机状态命令。
3.创建设备。创建一个检测仪设备。
4.设备入网。使用MQTT.fx模拟设备激活过程。
5.数据上报-物模型属性上报。使用MQTT.fx向物联网平台上报物模型属性数据。
6.命令下发-物模型属性设置。在管理控制台下发属性设置命令,远程控制设备。
创建产品
产品是一组具有相同功能的设备集合。
1.登录物联网平台,在控制台首页点击“创建产品”或进入云平台,在左侧导航栏,选择产品管理>点击添加产品。
2.按照以下信息填写,然后点击“确认”,完成产品的创建:
参数 | 内容 |
---|---|
产品名称 | 环境检测仪 |
节点类型 | 设备 |
接入方式 | 设备直连 |
网络类型 | 移动蜂窝数据 |
通信协议 | MQTT |
平台协议版本 | V2.0 |
安全类型 | 一型一密免注册 |
认证加密方式 | AES128 |
数据是否加密 | 不加密 |
是否透传 | 非透传 |
消息格式 | JSON |
创建物模型
1.在产品管理列表找到刚创建的产品,进入产品详情页。
2.在产品详情页找到“物模型定义”页面,点击“编辑物模型”,配置产品物模型。
3.在属性定义页,点击添加属性:
a.添加“亮度”属性,填写以下信息:
参数 | 内容 |
---|---|
属性标识 | temp |
属性名称 | 温度 |
数据类型 | int32 |
取值范围 | -20-70 |
步长 | 1 |
单位 | 摄氏度 |
读写类型 | 只读 |
描述 | 不填写 |
b.添加“开关机”属性,填写以下信息:
参数 | 描述 |
---|---|
属性标识 | state |
属性名称 | 开关机 |
数据类型 | bool |
布尔值 | 0-关,1-开 |
读写类型 | 读写 |
描述 | 不填 |
4.点击“应用配置”,发布物模型。
创建设备
1.登录物联网平台,在控制台首页点击进入云平台,在左侧导航栏,选择设备管理>点击添加设备。
2.按照以下信息填写,然后点击“确认”,完成设备的创建:
参数 | 描述 |
---|---|
所属产品 | 环境检测仪 |
设备ID | Test001 |
备注名称 | 不填 |
3.设备创建成功后,将自动弹出设备证书弹框。您可以查看、一键复制设备证书信息,包含DeviceID、DeviceSecret、OpenID、ProductID和ProductKey,是设备与物联网平台进行通信的重要身份认证,建议您妥善保管。
设备连接
接下来使用MQTT.fx工具默认设备连接过程。
注:前期方便调试可以直接使用页面生成的连接信息,批量设备接入请参考-->MQTT直连设备接入协议V2.0
1.下载并安装MQTT.fx软件。请访问MQTT.fx官网。
2.打开MQTT.fx软件,单击设置图标。
3.在设备管理列表找到刚创建的设备,进入设备详情页,找到设备MQTT连接信息。
参考以下表配置鉴权参数,单击"Apply"。连接密码计算示例
参数 | 内容 |
---|---|
Broker Address | mqtt.xiot.senthink.com |
Broker Port | 1883 |
Client ID | V2_173BF264.test001_0_1689132448 |
User Name | 63F32D31-173BF264-test001 |
Password | BEE0E7DB30F873CB003558E6BF4D838D2BCB58A5B1191AD2EBCE270915F58929FB3588337E5AAD1FB32E771CCCA50070127166F96FF56419A6DC8106CB265E81 |
3.点击“Connect”,连接成功后在物联网平台上已经可以看到该设备已经成功上线。
数据上报-物模型属性上报
使用MQTT.fx工具向物联网平台上报数据。
1.在“Publish”页的地址栏内填写物模型JSON格式属性上报Topic,在工具中间空白处填写入网上报数据,点击“Publish"。
发布-物模型JSON格式属性上报Topic:/sys/${openId}/${productId}/${deviceId}/model/property/report
数据格式和内容如下所示:
{
"MessageId":1231,
"HeaderCtrl":16,//命令码,16:物模型JSON属性上报
"Payload":{
"temp":30,// 物模型属性:温度
"state":0// 物模型属性:开关机
},
"Version":"2.0"
}
}
2.上报成功后,可以在物联网平台的对应设备详情-物模型数据页查看设备是否成功上报数据。
命令下发-物模型属性设置
使用MQTT.fx工具订阅物联网平台下发的数据。
1.在“Subscribe”页订阅平台下发物模型属性设置topic。
订阅-平台下发物模型属性设置Topic:/sys/${openId}/${productId}/${deviceId}/model/property/set
2.在设备详情-物模型数据-属性上报页,选择“设置”‘路灯开关“属性为“开”,点击发送。
3.发送成功后,可以在“Subscribe”页查看命令下发数据。