MQTTfx连接物联网云平台

14 篇文章 5 订阅
13 篇文章 5 订阅

MQTTfx连接物联网云平台

陈拓 chentuo@ms.xab.ac.cn 2020/01/03-2020/01/05

1. 概述

MQTT.fx 是一个MQTT客户端工具,支持windows、Linux和Mac,可以对基于MQTT的云服务进行测试。

本文介绍MQTT.fx的基本用法,在《MQTT.fx脚本Scripts使用》

https://blog.csdn.net/chentuo2000/article/details/104252690

一文中介绍MQTT.fx的高级用法。

下面我们用阿里云物联网平台进行测试。

先设置阿里云物联网平台,看《阿里云物联网平台基本设置-物模型》

阿里云物联网平台基本设置-物模型_阿里云如何在物模型中设置触发条件?-CSDN博客

2. 下载安装MQTTfx

官方网址:http://mqttfx.jensd.de/index.php/download

下载最新版本:

我用的是32位版的win7,下载mqttfx-1.7.1-windows.exe。

双击mqttfx-1.7.1-windows.exe进行安装,默认安装就好。

3. 设置、连接

打开MQTT.fx。

3.1 设置

点击齿轮图标进行设置:

说明:

  • Profile Name

为配置文件起个名字:mosquitto test

  • Broker Address连接域名

格式:${YourProductKey}.iot-as-mqtt.${region}.aliyuncs.com

        ■ ProductKeyt

到阿里云物联网平台查看:

        ■ Region

物联网平台服务所在地域的代码。先去阿里云看看我的服务所在地域:

查代码:

https://help.aliyun.com/document_detail/40654.html?spm=a2c4g.11186623.2.19.3d1b5800mCdZd7#concept-h4v-j5k-xdb

华东 2 上海   cn-shanghai

所以我的Broker Address:

a14U7TTbz9q.iot-as-mqtt.cn-shanghai.aliyuncs.com

  • Broker Port端口:1883
  • Client ID

填写mqttClientId,用于MQTT的底层协议报文。

格式固定:${clientId}|securemode=3,signmethod=hmacsha1|。

其中,

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

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

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

我的Client ID:12345|securemode=3,signmethod=hmacsha1|

注意:输入Client ID信息后,请勿单击后面的Generate。

  • User Credentials

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

        ■ User Name

由设备名DeviceName、符号(&)和产品ProductKey组成。

去阿里云查看设备名DeviceName和产品ProductKey:

DeviceName:BedroomTemp

ProductKey:a14U7TTbz9q

固定格式:${YourDeviceName}&${YourPrductKey}。

所以,我的User Name:BedroomTemp&a14U7TTbz9q

        ■ Password

下载Password生成小工具: 88413c66e471bec826257781969d1bc7.zip

https://files.alicdn.com/tpsservice/88413c66e471bec826257781969d1bc7.zip?spm=a2c4g.11186623.2.21.3d1b5800mCdZd7&file=88413c66e471bec826257781969d1bc7.zip

解压缩下载包后,双击sign文件,即可使用。

使用Password生成小工具的输入参数:

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

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

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

        ■ timestamp:(可选)时间戳。

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

        ■ method:选择签名算法类型,与Client ID中signmethod确定的加密方法一致。

其他设置都保持默认即可。

设置完成后,单击右下角的OK。

3.2 连接

单击Connect进行连接。

4. 通信测试

4.1 下行通信测试

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

  • 在MQTT.fx上,单击Subscribe选项卡
  • 订阅一个Topic

输入一个设备具有订阅权限的Topic,例如阿里云物联网平台上的自定义Topic:/a14U7TTbz9q/BedroomTemp/user/get

在MQTT.fx上,输入/a14U7TTbz9q/BedroomTemp/user/get

单击Subscribe按钮,订阅这个Topic。

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

  • 在物联网平台控制台中,点击/a14U7TTbz9q/BedroomTemp/user/get Topic后面的“发布消息”。

  • 输入消息内容,单击确认
  • 回到MQTT.fx上,查看接收到的消息

4.2 上行通信测试

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

  • 在MQTT.fx上,单击Publish选项卡
  • 发布消息到Topic

输入一个设备具有发布权限的Topic,例如阿里云物联网平台上的物模型通信Topic:

/sys/a14U7TTbz9q/BedroomTemp/thing/event/property/post

在MQTT.fx上,输入/sys/a14U7TTbz9q/BedroomTemp/thing/event/property/post

和要发送的消息内容,这里是温度值 23.4。

单击Publish,向这个Topic推送一条消息。

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

  • 云端上行消息

消息详情:

  • 云端下行消息

消息详情:

数据格式有错误。

4.3 查看MQTT.fx日志

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

推送成功。

4.4 阿里云属性上报格式

在《树莓派连接阿里云物联网平台-订阅(nodejs)》一文中有正确的格式可供参考:

  • 将上报数据写成要求的JSON格式

{"id":"1","version":"1.0","params":{"RoomTemp":23.4},"method":"thing.event.property.post"}

  • 单击Publish,推送消息
  • 在云端查看上报数据

  • 云端上行消息

  • 云端下行消息

Success,成功!

参考文档:

  1. 使用MQTT.fx接入物联网平台
    如何使用MQTT协议模拟设备快速接入物联网平台_物联网平台(IoT)-阿里云帮助中心
  2. 自己写微信小程序MQTT模拟器自己写微信小程序MQTT模拟器_小程序 多页面 mqtt-CSDN博客
  3. 阿里云物联网平台基本设置-物模型
    阿里云物联网平台基本设置-物模型_阿里云如何在物模型中设置触发条件?-CSDN博客
  4. 微信小程序MQTT模拟器 阿里云物联网平台测试https://blog.csdn.net/chentuo2000/article/details/102216865
  5. 树莓派连接阿里云物联网平台-属性(nodejs)树莓派连接阿里云物联网平台-属性(nodejs)_树莓派与阿里云显示未激活-CSDN博客
  6. 树莓派连接阿里云物联网平台-服务(nodejs)树莓派连接阿里云物联网平台-服务(nodejs)_nodejs mqtt连接阿里云物联网平台-CSDN博客
  7. 树莓派连接阿里云物联网平台-订阅(nodejs)树莓派连接阿里云物联网平台-订阅(nodejs)_树莓派与阿里云显示未激活-CSDN博客
  8. 树莓派连接阿里云物联网平台-事件(nodejs)https://blog.csdn.net/chentuo2000/article/details/103805559

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

晨之清风

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值