使用MQTT.fx接入
操作步骤:
1.下载并安装MQTT.fx软件。
2.打开MQTT.fx软件,单击设置图标
3.设置连接参数
参数 | 说明 |
---|---|
Profile Name | 输入您的自定义名称。 |
Profile Type | 选择为MQTT Broker。 |
Broker Address | 接入地址,在平台“产品开发”,点击产品卡片,复制“产品概览”中的接入地址。 |
Broker Port | 设置为1883。 |
Client ID | 填写mqttClientId,用于MQTT的底层协议报文。格式固定:dev:{pk}:{devId} 详情参考。 |
General | General栏目下的设置项可保持系统默认,也可以根据您的具体需求设置。 |
4.单击User Credentials,设置Username和Password
参数 | 说明 |
---|---|
User Name | 填写登录用户名,格式{hashMethod}:{random} |
Password | 填写登录密码,格式hash(pk+devId+devSecret+random),加密密钥:devSecret。计算方式参考 |
【注意】:
只有在需要进行登录校验的设备才需要填写用户名和密码信息。
5.设置完成后,单击Connect进行连接
6.发布消息,测试上行通信
1)在MQTT.fx上,单击Publish
2)输入具有发布权限的Topic。设备发送到云端的 topic 有且只有一个,格式为 up/dev/{pk}/{devId},这里的{pk}和{devId}要替换成设备对应的产品PK和设备ID。
3)文本框中填写要发布的数据,IoT OS标准数据格式为KLink,格式如下:
{
"action": "devSend",
"msgId": 1,
"pk": "xxxxxxxxxxxxx",
"devId": "xxxxxxxxxxxx",
"data": {
"cmd": "reportPower",
"params": {
"power": 0,
"hum": "one"
}
}
}
4)发布数据,单击“Publish”,即向这个Topic推送了一条消息。
5)订阅消息,单击“Subscribe”。
6)输入具有订阅权限的Topic,格式为 down/dev/{pk}/{devId},这里的{pk}和{devId}要替换成设备对应的产品PK和设备ID。
7)填好订阅Topic后,单击Topic右侧的“Subscribe”,完成订阅。设备发布消息后,就可在订阅的页面右侧消息栏中查看云端回复的消息。
数据格式
产品创建时可以将产品格式设置为"自定义格式"或者"KLink"格式。
自定义格式
如果产品的数据格式为自定义格式,则需要用户在"产品开发","数据解析"中将符合自己需求的数据解析协议编写完成。操作参考。
数据解析协议编写完成后,用户可以在传输信息时(即如上述发布消息操作)用户发送自定义格式的数据即可。
KLink格式
如果产品选择的数据格式为KLink格式,则在传输信息时(即如上述发布消息操作)用户需要发送符合KLink协议的数据。接入协议简介。
【注意】除了消息格式必须符合KLink协议,使用的指令必须属于MQTT设备支持的指令。
MQTT设备支持指令表:
指令功能 | 发送形式 | 详情 |
---|---|---|
设备上报数据 | D => C | devSend |
云端回复设备上报数据 | C => D | devSendResp |
云端给设备下发指令 | C => D | cloudSend |
设备回复云端下发指令 | D => C | cloudSendResp |
设备上报固件信息 | D => C | reportFirmware |
云端回应设备上报固件信息 | C => D | reportFirmwareResp |
云端给设备下发固件升级指令 | C => D | devUpgrade |
设备回应固件升级指令 | D => C | devUpgradeResp |
设备上报升级进度 | D => C | devUpgradeProgress |
动态注册设备 | D => C | register |
云端回复动态注册设备 | C => D | registerResp |
网关添加拓扑关系(子设备) | D => C | addTopo |
云端回复网关添加拓扑关系(子设备) | C => D | addTopoResp |
网关查询拓扑关系(子设备) | C => D | getTopo |
云端回复网关查询拓扑关系(子设备) | D => C | getTopoResp |
网关删除拓扑关系(子设备) | D => C | delTopo |
云端回复网关删除子设备(子设备) | C => D | delTopoResp |
子设备上线 | D => C | devLogin |
云端回复子设备上线 | C => D | devLoginResp |
子设备下线 | D => C | devLogout |
云端回复子设备下线 | C => D | devLogoutResp |