前言
最近想用 MQTT 把从ds18b20获取到的温度数据上报到腾讯云中。在使用代码通信之前,我先用MQTTfx小工具与腾讯云通信,以便了解通信的大概逻辑、具体参数的作用、要用到哪些参数等等内容,为用代码实现mqtt通信打个基础。 总结比较长,因为写的比较详细,每一步都有介绍和截图。使用MQTTfx连接腾讯云的过程:
创建产品和设备号
首先进入腾讯云官网(百度搜索腾讯云即可),然后登录或者注册,点击右上角的控制台。
点击左上角的云产品,在产品栏输入 :物联网通信,并点击进入
来到产品的首页,点击创建新产品
然后是创建页面,参数按下面框框提示的选。要选择证书认证!因为持MQTT.fx不支持对称加密PSK
产品创建完成后,点击进入管理
点击设备列表,此时我们要创建新设备
按需求填写设备名
创建成功后会弹出这个界面,把设备密匙下载保存,因为连接MQTT.fx时还要用到
设备创建好之后,我们就要用MQTT.fx接入了
MQTT.fx 小工具配置文件的设置
MQTT.fx下载地址:http://mqttfx.jensd.de/index.php/download
下载成功后打开MQTT.fx (我下载的版本是 MQTT.fx.1.7.1,所以我就以这个版本为例
点击左下角的“+”,创建新的配置文件
然后我们再来看看参数的填写,对于 MQTT Broker Profile Settings的参数
产品ID
所以我这里的参数是
Broker Address : 2MRCK9NBMW.iotcloud.tencentdevices.com
Broker Port : 8883
Client ID : 2MRCK9NBMWsht20
然后我们再填写User Credentials 信息
我们看看参数的填写
所以这里我的参数为:
User Name : 2MRCK9NBMWsht20;12010126;12345(只更产品ID和设备名即可)
Password : weizhiyan (任意的字符,这里和阿里云的密码略有不同,阿里云是计算出来的密码,腾讯云是自己设置的)
填好以上信息之后是SSL/TLS的填写,因为腾讯云使用安全加密链路,因此还需要设置 SSL/TLS 信息。MQTT.fx 不支持对称加密 PSK,本文仅演示非对称加密连接设置
关于以上几个参数的说明
第一个参数 CA file在这里下载
第二第三个参数在我们刚刚下载保存的密匙证书里
记得将密匙证书解压,然后导入文件
然后参数就配置完成啦,点击 OK,再点击 connect,当右上角的灯变绿了就是成功连接到腾讯云了(PS:连接不上的话应该是参数有错误,再仔细检查就可以)
实现双向通信 :订阅与发布
1. 腾讯云作为发布者
打开腾讯云,进入权限列表。首先我们要测试的是在腾讯云发布的消息小工具能收到,此时腾讯云是发布端(腾讯云同时是broker),小工具是订阅端
订阅腾讯云。
打开腾讯云的在线调试,选择对应的topic权限
在腾讯云输入要发布的消息,发布
MQTTfx小工具这边已经收到腾讯云发布的消息
2.MQTT.fx小工具作为发布者
topic权限选择发布,然后复制
进入小工具选择发布
总结
在用小工具与腾讯云通信的过程中,我了解到了通信需要哪些参数,实现双向通信的具体方式