通过python脚本模拟一万个设备每秒向thingsboard通过mqtt的方式上传一条遥测数据,帮我实现这个脚本
时间: 2024-03-01 16:51:27 浏览: 175
好的,以下是一个 Python 脚本,可以用于模拟一万个设备每秒向 Thingsboard 通过 MQTT 协议上传一条遥测数据:
```python
import random
import time
import json
import paho.mqtt.client as mqtt
# 配置连接 Thingsboard 的 MQTT 客户端
THINGSBOARD_HOST = "your_thingsboard_host"
ACCESS_TOKEN = "your_access_token"
TOPIC = "v1/devices/me/telemetry"
client = mqtt.Client()
client.username_pw_set(ACCESS_TOKEN)
client.connect(THINGSBOARD_HOST, 1883, 60)
# 模拟一万个设备
devices = list(range(10000))
while True:
# 随机选择一个设备
device_id = random.choice(devices)
# 生成随机的遥测数据
data = {
"temperature": round(random.uniform(10, 30), 2),
"humidity": round(random.uniform(40, 80), 2),
"pressure": round(random.uniform(1000, 1100), 2)
}
# 将遥测数据发布到 Thingsboard
payload = json.dumps(data)
client.publish(TOPIC, payload, qos=1)
print(f"Published telemetry data from device {device_id}: {payload}")
# 休眠 1 秒
time.sleep(1)
```
你需要将 `your_thingsboard_host` 和 `your_access_token` 替换成你自己 Thingsboard 的主机地址和访问令牌。运行这个脚本后,它会不断地模拟一万个设备上传遥测数据到 Thingsboard。你可以在 Thingsboard 的 Web 界面上查看这些设备上传的数据。
阅读全文