MQTT之MQTT.fx通信测试
1. 产品与设备创建
2. MQTT.fx客户端配置
3. 设备连接
4. 产品与设备创建
创建产品,接入协议选择MQTT,并创建设备。
在设备管理-设备详情里,查询设备相关参数,本例中,设备接入相关参数如下:
2. MQTT.fx客户端配置 打开MQTT.fx客户端,进入客户端配置页面 设置Profile Name,设置接入地址与端口 (mqtt tls: 183.230.102.116:8883; mqtt-notls:218.201.45.7:1883),并设置Client
ID、User Name与Password,其中参数设置方式如下: Client ID:设备名称 User Name:产品id
Password:token
算法参见接入安全认证
3. 设备连接点击配置文件选择箭头,选择配置MQTT相应项目,点击conncent,此时,设备在页面处于在线状态。 属性上报 订阅属性上报结果通知消息
为了确保设备上传消息确实被平台所接受处理,设备可以订阅系统 topic
获取属性上报结果消息,属性上报回复topic为:$sys/{pid}/{device-name}/thing/property/post/reply我们进入产品管理-详情页面,创建两个属性,分别为Power、temp,添加完成后保存物模型。
属性上报的topic为:$sys/{pid}/{device-name}/thing/property/post
上报数据成功后,订阅的属性上报会返回success OneJSON请求数据格式:
> {
> "id": "123",
> "version": "1.0",
> "params": {
> "Power": {
> "value": "12345",
> "time": 1599534283111
> },
> "temp": {
> "value": 23.6,
> "time": 1599534283111
> }
> } }
请求参数说明 参数 类型 说明 id String 消息id号,用户自定义,String类型的数字,长度限制13位。 version
String 物模型版本号,可选字段,不填默认为1.0 params JsonObject
请求参数,用户自定义,标准json格式。如以上示例中,设备上报了的两个属性Power和WF。具体属性信息,包含属性上报时间(time)和上报的属性值(value)。
time Long
属性值生成时间。该参数为可选字段,到豪秒级。根据您的业务场景决定消息中是否带时间戳。如果消息频繁,需根据时间戳判断消息顺序,建议消息中带有时间戳。
value Object 上报的属性值页面设备管理-设备详情,查看设备上报的属性数据。 设备属性设置
设备侧需要收到平台下发的数据,需要订阅: $sys/{pid}/{device-name}/thing/property/set
在页面运维监控-设备调试中-下行数据调试,可进行设置设备属性。
topic: $sys/{pid}/{device-name}/thing/property/set_reply
{ “id”: “2”, “code”:200, “msg”:“success” }
其中id为下行数据的id,需要匹配,code为200代表成功,msg可以自定义。 事件上报 订阅事件上报结果通知消息
为了确保事件上传消息确实被平台所接受处理,设备可以订阅系统 topic
获取事件上报结果消息,属性上报回复topic为:$sys/{pid}/{device-name}/thing/event/post/reply。
上报数据成功后,订阅的事件上报会返回success。我们进入产品管理-详情页面,创建1个事件(switch),包含两个参数(led1,led2,参数类型为整型)。
上报事件topic为:$sys/{pid}/{device-name}/thing/event/post OneJSON请求数据格式:
> {
> "id": "123",
> "version": "1.0",
> "params": {
> "switch": {
> "value": {
> "led1": 22,
> "led2":23
> },
> "time": 1599534283111
> }
>
> } }
请求参数说明 参数 类型 说明 id String 消息id号,用户自定义,String类型的数字,长度限制13位。 version
String 物模型版本号,可选字段,不填默认为1.0 params JsonObject 上报事件的参数。 time Long
属性值生成时间。该参数为可选字段,到豪秒级。根据您的业务场景决定消息中是否带时间戳。如果消息频繁,需根据时间戳判断消息顺序,建议消息中带有时间戳。
value Object 具体的事件信息。页面设备管理-设备详情,查看设备上报的事件数据。 订阅获取设备期望值topic
$sys/{pid}/{device-name}/thing/property/desired/get/reply 设备获取期望值:
$sys/{pid}/{device-name}/thing/property/desired/get OneJSON数据格式:{
“id” : “123”,
“version”:“1.0”,
“params” : [
“Power”
] }请求参数说明 参数 类型 说明 id String 消息id号,用户自定义,String类型的数字,长度限制13位。 version
String 物模型版本号,可选字段,不填默认为1.0 params JsonObject 获取属性期望的标识符列表。
这篇文档是否帮助您解决了问题?