视频讲解: https://www.bilibili.com/video/BV1av41177mZ/
thingsboard手动创建设备有如下几个步骤:
- 登录平台,打开设备页面,添加一个新设备,所有参数默认。

- 选中新建的设备,复制访问令牌,作为客户端用户名。

复制保存的访问令牌: aiQ9WxsquQAtduJmu5UY
- 客户端设备连接,发布数据,python代码。
import paho.mqtt.client as pahoimport jsonimport timeimport randomaccess = "aiQ9WxsquQAtduJmu5UY"borker = 'www.vincentisme.com'port = 1883def on_publish(client, userdata, result):print(time.time())print("sending...")def on_connect(client, userdata, flag, rc):print(str(rc))print("connected")def on_subscribe(client, userdata, mid, granted_qos):print("subscribe...")def on_message(client, obj, msg):print('rev...')print(msg.payload)# print("平台发布的需要修改的寄存器值是:", json.loads(msg.payload)['params'])# 当收到平台发布的数据之后修改PLC的寄存器的值。modbus_tcp 的写操作。test = paho.Client("device1")test.on_publish = on_publishtest.on_connect = on_connecttest.on_subscribe = on_subscribetest.on_message = on_messagetest.username_pw_set(access)test.connect(borker, port, keepalive=60)test.loop_start()while True:# 来自PLC,实际状况中读 modbus TCP的读寄存器值。eg:40001data = {"温度": random.randint(0, 40),"高度": random.randint(5, 50)}test.publish('v1/devices/me/telemetry', payload=json.dumps(data), qos=0)time.sleep(5) #5秒发布一次数据
发布数据结果:
使用MQTTBOX测试验证:
发送{“hello” : “vincent iot”}
验证结果:
