feat(config): 添加配置管理和MQTT模拟服务功能

- 实现了应用配置的数据类结构(MqttConfig, TmsConfig, AppConfig)
- 创建了配置加载和解析功能,支持从YAML文件读取配置
- 添加了TDengine数据库配置和连接池管理
- 实现了MQTT客户端依赖注入和服务构建
- 创建了钻孔实时数据的ORM映射和SQL构建功能
- 实现了TDengine Writer用于数据写入超级表
- 添加了MQTT模拟服务,支持发布、订阅和数据转发功能
- 创建了随机数据发送器用于测试
- 实现了消息持久化到本地文件功能
- 配置了数据库连接池和SQL执行功能
This commit is contained in:
2026-03-12 09:58:00 +08:00
commit d5d1cb0b7d
19 changed files with 1224 additions and 0 deletions

20
db/writer.py Normal file
View File

@@ -0,0 +1,20 @@
from db.orm import DrillingRealtimeORM
from db.pool import create_taos_pool
class TDengineWriter:
def __init__(self, config, pool=None, orm=None):
self.config = config
self.pool = pool if pool is not None else create_taos_pool(config)
self.orm = orm if orm is not None else DrillingRealtimeORM(
config.database,
stable=config.stable,
default_device_code=config.device_code,
)
self.enabled = bool(config.enabled and self.pool)
def write_payload(self, payload):
if not self.enabled:
return None
sql = self.orm.build_insert_sql(payload)
return self.pool.execute(sql)