MQTTfx连接阿里云MQTT

首先贴上相关链接:使用MQTT.fx接入物联网平台、使用MQTT客户端连接阿里云MQTT服务器、阿里云物联网平台。
当遇到问题无从下手时可以找阿里的售后工程师:物联网平台支持与服务。

一、获取MQTTfx

MQTTfx下载链接,下载完成后打开软件,界面如下。

MQTTfx连接阿里云MQTT_第1张图片

二、配置MQTTfx

点击配置,弹出如下界面:
MQTTfx连接阿里云MQTT_第2张图片

首先你要在阿里云物联网平台创建产品和设备,获取四元组:ProductKey、ProductSecret、DeviceName、DeviceSecret。然后像下面一样填充数据。

(一)、Broker Address

填入:${YourProductKey}.iot-as-mqtt.${region}.aliyuncs.com
意义:代理地址,其中${YourProductKey}代表你的产品密钥,${region}代表你所使用的代理商地址,如下图所示。具体参考地域和可用区。

MQTTfx连接阿里云MQTT_第3张图片

(二)、Broker Port

填入:1883或其他
意义:代理端口

(三)、Client ID

填入:${clientId}|securemode=3,signmethod=hmacsha1|
意义:

${clientId}为设备的ID信息。可取任意值,长度在64字符以内。建议使用设备的MAC地址或SN码。
securemode为安全模式,TCP直连模式设置为securemode=3,TLS直连为securemode=2。
signmethod为算法类型,支持hmacmd5和hmacsha1。

signmethod我试过hmacsha256,可以连接上物联网,当然password要对应修改为对应的加密方式进行生成。

如果securemode=2则要在SSL/TLS配置为下图。
MQTTfx连接阿里云MQTT_第4张图片

(四)、User Name

填入:${YourDeviceName}&${YourPrductKey}
意义:用户名,${YourDeviceName}为你的设备名,${YourPrductKey}为你的产品密钥。

(五)、Password

填入:由对应加密方式将参数值拼接而成生成的密码。
意义:密码,生成方法可用阿里提供的工具密码生成工具。它仅支持hmacmd5和hmacsha1。如果需要hmacsha256加密方式,可以到HMAC在线计算根据下图中的手动生成方法来操作。
MQTTfx连接阿里云MQTT_第5张图片

例如参数为:

productKey:a1mWJcKdnBv
productSecret:M3Z5FAAoWvEj2ORw
deviceName:AInf4dmKbXkfHNN1C00K
deviceSecret:Mt9Hu81Z2lpGrmLzaj6gKTN2CaNkcIrq
clientIDA614A614|securemode=3,signmethod=hmacsha256|(注意加粗的部分才是ClientID,| |内部的是额外参数)
timestamp:66666

按照以下格式填入参数
clientId${YourClientId}deviceName${YourDeviceName}productKey${YourProductKey}timestamp${YourTimestamp}(timestamp不必要,仅用作区分)

MQTTfx连接阿里云MQTT_第6张图片

在MQTTfx填充完数据之后点击连接即可,进入物联网发现设备在线,可以开始进行调试。
MQTTfx连接阿里云MQTT_第7张图片
MQTTfx连接阿里云MQTT_第8张图片

三、调试

(一)、Publish

推送数据到阿里云之前,先要复制对应的Topic到MQTTfx的推送栏。

MQTTfx连接阿里云MQTT_第9张图片在这里插入图片描述

然后在推送框内部填写数据。

MQTTfx连接阿里云MQTT_第10张图片

点击推送,在物联网平台监控运维->日志服务->上行数据分析可以看到推送的事件。
MQTTfx连接阿里云MQTT_第11张图片

另外如果要修改对应的设备属性则要传输符合Alink编写规则的数据,并且推送的目的Topic为属性相关的主题。

MQTTfx连接阿里云MQTT_第12张图片

在推送框填入如下数据:

{
"id":"666",
"version":"1.0",
"params":{
    "Data":"seanOY"
},
"method":"thing.event.property.post"
}

params内部的Data为产品功能的标识符,可自定义。

MQTTfx连接阿里云MQTT_第13张图片

点击推送然后进入物联网平台可以发现设备运行状态的数据变化为"seanOY"。
MQTTfx连接阿里云MQTT_第14张图片

(二)、Subscribe

在物联网平台复制所要订阅的Topic,然后填入MQTTfx的subscribe栏,然后就可以接受到来自该Topic的数据了。
MQTTfx连接阿里云MQTT_第15张图片

在物联网平台发布消息,然后查看MQTTfx会发现对应的数据。

MQTTfx连接阿里云MQTT_第16张图片

MQTTfx连接阿里云MQTT_第17张图片

四、其他

我在调试ESP32的时候想用MQTTfx来获取ESP32发送的数据,像这种数据流通:ESP32<->物联网平台<->远端服务器。但是目前还没调试完成,希望大家有好的解决方法或思路可以提供一下,感谢了!

你可能感兴趣的:(MQTT,物联网)