MQTT.fx是一款基于Eclipse Paho使用Java语言编写的MQTT客户端,支持Windows、Mac和Linux操作系统,可用于验证设备是否可与物联网平台正常连接,并通过Topic订阅和发布消息。本文以Windows系统下MQTT.fx为例,介绍设备使用MQTT协议模拟接入Modbus物联网平台。
前提条件 #
创建设备 #
●创建项目(项目管理→新增项目)。
●创建设备(设备管理→设备配置→新增设备)
●填写设备名称,随机生成或者手动填写设备号,在设备协议中选择MLINK MQTT,定位设备所在经纬度,保存即可。(设备号复制保存备用)
添加数据 #
打开设备管理→设备配置→选择刚刚添加的设备,然后点击“ +添加数据 ”
备注
从设备地址是sensor_device_id ,寄存器是port_id,数据数值是Sdata ,具体稍后有具体说明。
使用MQTT通讯协议,下面的属性名称,Modbus功能码,数据格式,数据顺序不会影响最终数据,随便选择就可以!
使用MQTT.fx,模拟设备接入物联网平台的操作如下。
配置MQTT.fx接入 #
1.下载并安装MQTT.fx软件。MQTT.fx软件安装和使用说明,请参见MQTT.fx。本文操作以mqttfx-5.2.0-windows-x64版本为例演示具体操作。由于第三方软件不定期更新,建议您以实际页面为准。
说明
使用MQTT.fx工具所需的License,请自行申请。
2.打开MQTT.fx软件,单击菜单栏中的Extras,选择Edit Connection Profiles。
3.在Edit Connection Profiles页面,完成以下参数的设置。
4.设置基本信息。
Topic | 权限 | 说明 |
Profile Name | Modbus | 输入您的自定义名称 |
Profile Type | MQTT Broker | MQTT服务器连接,选择MQTT Broker |
Broker Address | iot.modbus.cn | MQTT地址 |
Broker Port | 1883 | MQTT端口号 |
Client ID | 4QR8TZ9ThuL4G | 设备号SN(请替换为自己的) |
5单击User Credentials,选中Use Username/Password复选框,设置User Name和Password
Topic | 权限 | 说明 |
User Name | ceshi | 用户账户 |
Password | 123456 | 用户密码 |
6.设置完成后,单击右下角的OK。
7.单击Connect。右侧亮绿灯,表示连接成功。
您可在设备监控,在对应项目下,查看该设备状态。
MQTT 主题一览 #
Modbus物联网平台 作为物联网 PaaS 云平台,对设备 MQTT 接入提供了内置的访问协议规范,让设备和云平台的消息通信更加有章可循,大大简化了物联网项目的开发难度,缩短了产品的开发周期。
不同于普通的 MQTT 使用方式,我们提供了标准的内置主题,这足以实现绝大多数的物联网应用场景。
Topic | 权限 | 说明 |
/dev/coo/4QR8TZ9ThuL4G | 发布 | 上行通信:设备通过该Topic向物联网平台发送消息。 |
/server/coo/4QR8TZ9ThuL4G | 订阅 | 下行通信:设备通过订阅该Topic,获取从物联网平台下发的消息。 |
4QR8TZ9ThuL4G为示例设备号SN,请替换为自己的!
上行通信 #
1.在MQTT.fx上,单击Publish,在Publish文本框中,输入具有发布权限的
2.Topic:/dev/coo/4QR8TZ9ThuL4G 设备号SN(请替换为自己的)
3.在文本编辑页面,输入要发送的消息内容,然后单击Publish。
[ {"sensor_device_id": 1, "port_id": 1, "sdata": 33} ]
多条示例:
[ {"sensor_device_id": 1, "port_id": 1, "sdata": 33}, {"sensor_device_id": 1, "port_id": 2, "sdata": 60} ]
备注:sensor_device_id 地址号,port_id 寄存器号,Sdata 数据数值
下行通信 #
1.在MQTT.fx上单击Subscribe,在Subscribe文本框中,输入与订阅对应的 topic 信息
2.Topic:/server/coo/4QR8TZ9ThuL4G 设备号SN(请替换为自己的)
3.单击Subscribe。订阅成功后,该Topic会显示在列表中。
{"sensor_device_id":1,"port_id":2,"sdata":100.0}
备注:sensor_device_id 地址号,port_id 寄存器号,Sdata 传感器数值
4.登录物联网平台控制台,在对应实例下,选择设备监控 > 选择对应的数据下发。
5.单击设备对应操作列的查看,进入设备详情页面。
6.单击Topic列表页签,单击已订阅Topic对应操作列的发布消息。
7.输入消息内容,例如100 .0,单击确认。
8.回到MQTT.fx上,查看接收到的消息。