thingsboard(2.4 postgresql版)数据库表结构说明

本文详细介绍了thingsboard 2.4(postgresql版)的数据库表结构,包括系统设置、资产信息、属性信息、审计日志、规则链、用户信息等22个表的内容,为理解系统数据存储提供了清晰的指南。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文描述的表结构是根据thingsboard2.4(postgresql版)数据库中整理出来的,不一定完整,后续有新的发现再补充文档。

一、数据库E-R关系

Thingsboard2.4社区版共22个表,主要包括实体信息表、关系信息表、字典表和系统配置表。

 

二、数据库表结构

1、admin_settings 系统设置表

存储系统设置信息,目前的设置信息包括系统的访问URL地址,以及邮件发送相关配置信息。

Key为配置项,如general、mail,json_value是一个json字符串,是配置项对应的一个或多个键值对信息组成一个json字符串。


2、alarm 警告信息表Key为配置项,如general、mail,json_value是一个json字符串,是配置项对应的一个或多个键值对信息组成一个json字符串。

 

3、asset资产信息表

可能与其他设备和资产相关的抽象物联网实体。例如工厂,油田,车辆。 

 

4、attribute_kv属性信息表

存储实体信息的属性信息,属性信息可以是静态和动态的,属性信息以键值对方式存储。

在Python中,将数据从数据库上传到ThingBoard(一个基于物联网的平台),通常涉及以下几个步骤: 1. **连接数据库**:首先需要安装数据库驱动,如`pymysql`(MySQL)、`psycopg2`(PostgreSQL)或`pyodbc`(支持多种ODBC兼容数据库)。使用相应的库连接到你的数据库。 ```python import pymysql # 连接示例 (MySQL) db = pymysql.connect(host='localhost', user='username', password='password', db='database_name') ``` 2. **查询数据**:运行SQL查询以获取你需要上传的数据。 ```python cursor = db.cursor() query = "SELECT * FROM table_name" cursor.execute(query) data_records = cursor.fetchall() ``` 3. **处理数据**:将查询结果转换成适合ThingsBoard所需的格式,比如JSON对象。每个记录可能是字典或者列表。 ```python formatted_data = [] for record in data_records: formatted_data.append(dict(zip(cursor.column_names, record))) ``` 4. **发送请求**:使用ThingsBoard的API或SDK将数据上传到平台。这通常涉及到HTTP请求,可以使用Python的`requests`库。如果 ThingsBoard 提供了客户端库,那就更简单了。 ```python import requests url = 'https://your-thingsboard-instance/api/v1/gateways/{gateway_id}/telemetry' headers = {'Content-Type': 'application/json'} response = requests.post(url, json=formatted_data, auth=('your_token', '')) ``` 5. **错误处理**:检查响应状态码,确认数据是否成功上传并处理可能出现的异常。 ```python if response.status_code == 200: print("Data uploaded successfully") else: print(f"Error: {response.text}") ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值