# budiot **Repository Path**: budwk/budiot ## Basic Information - **Project Name**: budiot - **Description**: 萌发开源物联网设备平台 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: https://budiot.com - **GVP Project**: No ## Statistics - **Stars**: 123 - **Forks**: 48 - **Created**: 2024-07-23 - **Last Updated**: 2026-05-22 ## Categories & Tags **Categories**: iot **Tags**: Java, budwk, IOT ## README # BudIot 物联网接入平台
## 仓库结构
```text
budiot
├── wk-gateway # API 网关
├── wk-platform # 平台管理服务
├── wk-device # 物联网核心模块
│ ├── wk-device-common # 设备实体、DTO、枚举、协议模型
│ ├── wk-device-message # 设备消息模型与消息支持
│ ├── wk-device-network # 网络接入基础能力
│ ├── wk-device-gateway # 设备网关/接入层
│ ├── wk-device-handler # 原始上行处理、协议脚本执行、解析分发
│ ├── wk-device-rule # 规则引擎
│ ├── wk-device-database # 设备消息归档与存储适配
│ ├── wk-device-server # 设备管理、产品、物模型、指令、查询 API
│ └── wk-device-test # 设备相关测试/示例
├── wk-message # 消息中心
├── wk-file # 文件服务
├── wk-starter # 通用基础设施 Starter
├── wk-ant-admin # Ant Design Pro 管理后台
└── scripts # 部署与运维脚本
```
## 核心能力
### 平台基础能力
- API 网关、统一认证、RBAC 权限、组织架构、菜单、字典、系统配置
- Dubbo 服务调用、Nacos 注册/配置、Redis 缓存
- 数据库初始化、公共 Starter、日志审计、定时任务支持
### 物联网能力
- 产品、设备、物模型、协议脚本、设备指令
- 原始报文、解析数据、事件、指令日志归档
- 规则引擎、消息联动、设备详情与遥测展示
- 支持多种设备数据存储后端:**DEFAULT / MongoDB / TDengine**
## 物联网架构概览
当前 `wk-device` 按职责拆分为接入、处理、归档、查询四层:
1. **wk-device-gateway**:负责设备接入与消息入口
2. **wk-device-handler**:负责原始上行处理、协议脚本执行、解析 properties / events
3. **wk-device-database**:负责 raw/data/event/command 归档,按配置写入不同存储
4. **wk-device-server**:负责设备管理、产品配置、查询接口和管理端页面数据
设备上行的主链路为:
```text
设备报文 -> gateway -> handler -> MQ topic -> database -> 存储后端 -> server 查询/API -> 管理后台
```
## 设备数据归档说明
### 归档分类
- **Raw**:原始通信报文
- **Data**:协议解析后的属性数据
- **Event**:设备事件
- **Command**:平台下发指令及状态
### DEFAULT(关系型数据库)
- 支持按月分表归档
- `device_raw_log_*_*` / `device_event_log_*_*` / `device_command_log_*_*` 按日志明细存储
- `device_data_log_*_*` 已调整为**一条上报一行**
- `device_data_log_*_*` 中除基础字段外,**每个物模型属性对应一个列**
- 物模型 properties 变更时,服务端会同步调整 `device_data_log` 表结构
- 属性列名规则为 **`p_