参考: https://cloud.tencent.com/document/product/634/14630
1 下载 MQTT.fx 下载地址 http://www.jensd.de/apps/mqttfx/1.7.1/
2 安装
3 配置
重要参数:
BrokerAddress : 产品id + .iotcloud.tencentdevices.com
User Credentials
UserName:
Password:
这个需要手动生成
python 3.7 代码如下
# -*- coding: utf-8 -*-
import base64
import hashlib
import hmac
import random
import string
import time
def getDerviceInfo(productID, devicename, devicePsk):
connid = ''.join(random.choice(string.ascii_uppercase + string.digits) for _ in range(5))
expiry = int(time.time()) + 60 * 60 * 2
clientid = "{}{}".format(productID, devicename)
username = "{};12010126;{};{}".format(clientid, connid, expiry)
psk_b = base64.b64decode(devicePsk.encode('utf-8')) # 解码后为二进制串
psk1 = str(psk_b, encoding="utf-8") # 按utf8编码成字符串
token = hmac.new(bytes(psk1, encoding='utf-8'), bytes(username, encoding='utf-8'),
digestmod=hashlib.sha256).hexdigest() # 转换成utf-8的字节串
password = "{};{}".format(token, "hmacsha256")
return {
"clientid": clientid,
"username": username,
"password": password
}
pass
if __name__ == '__main__':
productID = '产品id'
devicename = '产品名称'
# 设备密钥 需要使用base64 更新密钥中 有转成base64的按钮 否则会报错
devicePsk = '设备密钥'
info= getDerviceInfo(productID, devicename, devicePsk)
print(info)
代码跑一下 然后填入
UserName和Password
点击 ok 初始页面 点击 connect 之后disconnect就能点了 右边的锁开了 灯录了
产品列表-> 设备列表中它就在线了
剩下的就是发布订阅消息 直接复制
先订阅 mqtt.fx中的 subscribe 直接复制就行了 用 xxxx/data (订阅和发布)
云端可以在线调试
toppic 选fx中订阅的topic 消息内容使用json格式 点击发送 fx.最大化 就能看到接收到的消息了
fx端可以选择Publish topic选择一样