thingsboard(2)创建设备、仪表、分配给用户

官网上描述的非常清晰
https://thingsboard.io/docs/getting-started-guides/helloworld/#step-2-connect-device

创建设备

在这里插入图片描述

连接设备

我这次使用了MQTTBox进行连接
我的thingsboard使用docker安装到我的虚拟机里
在这里插入图片描述
设置好后,就可以看到已经连接上了
在这里插入图片描述
发送数据
主题是:v1/devices/me/telemetry
在这里插入图片描述
内容里包含的是json文本,键值是temperature,一定不要写错了
点击publish后,就能在thingsboard中看到这个遥测数据了
在这里插入图片描述

创建仪表盘

在这里插入图片描述
按照官网文档,创建3个仪表
在这里插入图片描述
在创建仪表时,按照官网需要创建设备别名,这个别忘记了
在这里插入图片描述

创建用户

在这里插入图片描述
将设备分配给用户
在这里插入图片描述
将仪表分配给用户
在这里插入图片描述

用户登录查看

需要验证用户,设置用户密码,请自行查看官网
在这里插入图片描述

<think>好的,我现在需要帮用户解决如何在ThingsBoard仪表板中通过代码关联设备的问题。用户提到了示例教程,所以我应该给出具体的代码示例和步骤。首先,我需要回忆ThingsBoard的API文档,了解如何通过REST API或客户端库来关联设备。 首先,用户可能需要在仪表板中展示关联设备的数据,所以可能需要使用ThingsBoard的规则链或者小部件。不过用户明确提到“通过代码关联设备”,所以应该侧重于API调用。 接下来,我需要确定关联设备的类型。ThingsBoard中的关联通常指设备与资产、客户或其他设备的关系。例如,创建父子设备关系或者将设备分配到某个资产。 然后,我需要检查是否有相关的REST API端点。例如,创建关系的API可能是POST /api/relation,需要指定from和to的实体ID,以及关系类型。比如,在代码示例中,可以使用Python的requests库发送POST请求,包含认证Token。 另外,可能需要使用规则链中的节点,比如“Create Relation”节点,在数据上传时自动建立关系。不过用户要求的是通过代码,所以应该以API为主。 还需要考虑设备如何被创建,确保设备已经存在,并且有正确的access token。然后通过API建立关系,比如将传感器设备关联到某个资产下。 可能还需要处理错误情况,比如设备不存在时返回错误。同时,代码示例需要包括认证部分,比如获取JWT token或者使用基本认证。 最后,生成相关问题,帮助用户扩展了解,比如如何删除关系、通过规则链自动关联,或者前端显示关联设备的方法。确保引用正确的参考资料,特别是用户提供的引用[1]、[2]、[3]中的内容,比如规则链节点的使用。</think>### 通过代码在ThingsBoard仪表板中关联设备的实现方法 #### 1. 使用REST API关联设备与资产 ThingsBoard提供REST API实现设备与资产、设备与客户等实体的关系绑定。以下是通过Python代码创建设备与资产关系的示例: ```python import requests # 配置参数 THINGSBOARD_URL = "http://your-thingsboard-url:8080" JWT_TOKEN = "YOUR_ADMIN_JWT_TOKEN" ASSET_ID = "YOUR_ASSET_ID" # 目标资产ID DEVICE_ID = "YOUR_DEVICE_ID" # 需要关联的设备ID # 创建关系API请求 headers = { "Content-Type": "application/json", "X-Authorization": f"Bearer {JWT_TOKEN}" } relation_data = { "from": { "id": DEVICE_ID, "entityType": "DEVICE" }, "to": { "id": ASSET_ID, "entityType": "ASSET" }, "type": "Contains" # 关系类型 } response = requests.post( f"{THINGSBOARD_URL}/api/relation", headers=headers, json=relation_data ) if response.status_code == 200: print("设备与资产关联成功!") else: print(f"关联失败: {response.text}") ``` #### 2. 通过MQTT协议动态关联设备 设备端可以在发送遥测数据时携带关系信息: ```python import paho.mqtt.client as mqtt client = mqtt.Client() client.username_pw_set("DEVICE_ACCESS_TOKEN") # 发送包含关系信息的属性更新 relation_payload = { "parentAsset": "ASSET_001", "relationType": "Controls" } client.connect("localhost", 1883) client.publish("v1/devices/me/attributes", str(relation_payload)) ``` #### 3. 使用规则链自动建立关系 在规则链中配置`Create Relation`节点(需提前在规则链编辑器中配置)[^3]: ```json { "ruleChainId": "YOUR_RULE_CHAIN_ID", "nodes": [ { "type": "org.thingsboard.rule.engine.relation.TbCreateRelationNode", "configuration": { "direction": "FROM", "relationType": "Contains", "entityType": "ASSET" } } ] } ``` ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值