新闻中心

使用MQTT.fx接入物联网平台

2019-06-13

本文档以MQTT.fx为例,介绍使用第三方软件以MQTT协议接入物联网平台。MQTT.fx是一款基于Eclipse Paho,使用Java语言编写的MQTT客户端工具。支持通过Topic订阅和发布消息。

前提条件

您已在域乎物联网平台控制台创建了产品和设备,并获取了设备三元组信息:ProductKey、DeviceName和DeviceSerect。在MQTT.fx中设置连接参数时,将需要使用设备的三元组信息。

MQTT.fx接入物联网平台

1.       下载并安装MQTT.fx软件。

Windows系统: http://mqtt-fx.software.informer.com/download/

 

Mac系统: http://macdownload.informer.com/mqtt-fx/

 

2.       打开MQTT.fx软件,单击设置图标。
IMG_256 

3.       在参数设置页面,设置连接参数。

目前支持两种连接模式:TCP直连和TLS直连。两种模式设置仅Client ID与SSL/TLS信息设置不同。

 

具体设置步骤如下:

 

i.       设置基本信息。设置参数说明,请参见下表。

General栏目下的设置项可保持系统默认,也可根据您的具体需求设置。

 

IMG_257

参数

说明

Profile Name

输入您的自定义名称。

Profile Type

选择为 MQTT Broker

Broker Address

连接域名。格式:${YourProductKey}.iot-as-mqtt.cn-shanghai.aliyuncs.com

Broker Port

设置为1883

Client ID

填写mqttClientId,用于MQTT的底层协议报文。格式固定,为:${clientId}|securemode=3,signmethod=hmacsha1|。完整示例如:12345|securemode=3,signmethod=hmacsha1|。其中,

·       ${clientId}为设备的ID信息,可取任意值,长度在64字符以内。建议使用设备的MAC地址或SN码。

·       securemode为安全模式,TCP直连模式设置为securemode=3,TLS直连为securemode=2。

·       signmethod为算法类型,支持hmacmd5和hmacsha1。

说明 输入Client ID信息后,请勿单击 Generate

 

单击User Credentials,设置 User Name 和 Password
IMG_258

参数

说明

User Name

由设备名DeviceName、符号(&)和产品ProductKey组成。格式为:${YourDeviceName}&${YourPrductKey}。完整示例如:device&fOAt5H5TOWF。

Password

密码由参数值拼接加密而成。您可以下载并使用Password生成小工具自动生成Password,也可以手动生成Password。

·       使用Password生成小工具中参数说明:

a.       productKey:设备所属产品Key。可在控制台设备详情页查看。

b.       deviceName:设备名称。可在控制台设备详情页查看。

c.       deviceSecret:设备密钥。可在控制台设备详情页查看。

d.       timestamp:(可选)时间戳。

e.       clientId:设备的ID信息,与Client ID${clientId}一致。

f.       method:选择签名算法类型,与Client IDsignmethod确定的加密方法一致。

·       手动生成方法如下:

a.       拼接参数。

提交给服务器的clientIddeviceNameproductKeytimestamp(timestamp为非必选参数)参数及参数值依次拼接。本例中拼接结果为:clientId12345deviceNamedeviceproductKeyfOAt5H5TOWF

 

b.       加密。

通过Client ID中确定的加密方法,使用设备deviceSecret,将拼接结果加密。

 

假设设备的deviceSecret值为abc123,加密计算格式为hmacsha1(abc123,clientId12345deviceNamedeviceproductKeyfOAt5H5TOWF)

 

 

ii.       在TLS直连模式下,需设置SSL/TLS信息。TCP直连无需设置。

勾选 Enable SSL/TLS对应的复选框,并选择 Protocol 为 TLSv1

 

iii.       IMG_259

iv.       填写完成后,单击OK

设置完成后,单击 Connect进行连接。
IMG_260

下行通信测试

从物联网平台发送消息,在MQTT.fx上接收消息,测试MQTT.fx与物联网平台连接是否成功 。

1.       在MQTT.fx上,单击Subscribe

2.       输入一个设备下的Topic,然后单击Subscribe,订阅这个Topic。
IMG_261 

订阅成功后,该Topic将显示在列表中。

 

3.       IMG_262 

4.       物联网平台控制台中,该设备的设备详情页,Topic列表下,单击已订阅的Topic对应的发布消息操作按钮。

5.       输入消息内容,单击确认
img8 

6.       回到MQTT.fx上,查看是否接收到消息。
IMG_264 

上行通信测试

在MQTT.fx上发送消息,通过查看设备日志,测试MQTT.fx与物联网平台连接是否成功 。

1.       在MQTT.fx上,单击Publish

2.       输入一个设备的Topic,然后单击Publish,向这个Topic推送QoS 1的消息。
IMG_265

3.       物联网平台控制台中,该设备的设备详情 > 日志服务 > 上行消息分析栏下,查看上行消息。

您还可以复制MessageID,在消息内容查询中,选择原始数据查看具体消息内容。

查看日志

在MQTT.fx上,单击Log查看操作日志和错误提示日志。

 

IMG_267

这里有最新的公司动态,这里有最新的网站设计、移动端设计、网页相关内容与你分享

下一篇