63 lines
3.8 KiB
Markdown
63 lines
3.8 KiB
Markdown
# 初始化配置及持久化文件
|
||
|
||
> - `./data/gateway{}.json` 手动维护, 存储已经完成注册上线虚拟网关信息
|
||
> - `./data/devices.csv` 手动维护, 存储每个设备的所属项目编码、设备ID以及人为设置的主题信息
|
||
> - `./data/users.csv` 手动维护, 存储初始的用户信息
|
||
> - `./data/meian.db` 自动维护, 存储程序初始化及运行过程中的数据
|
||
|
||
# 可拓展性
|
||
|
||
> devices.meian_model
|
||
> - 完成创建的数据模型,可拓展更多的数据模型
|
||
> - 不同体系的数据模型应当存储在不同的文件中,如{factory}_model
|
||
> - 每个用于转换的数据模型都应该继承一个具有check函数的BaseInfo类,用于校验数据的有效性
|
||
|
||
> devices.meian_db
|
||
> - 实现与数据库的对接逻辑,可拓展不同表的处理逻辑
|
||
> - 每个表class应当继承BaseTable再进行个性化拓展
|
||
> - 在完成拓展后需要在TableHandle进行路由逻辑补充
|
||
|
||
> devices.meian_service
|
||
> - 业务逻辑层,可拓展不同的业务处理逻辑
|
||
> - 拓展的每个服务应当最追加到Services中,并对BaseService进行继承,实现handle方法,实现拿到数据后的**处理逻辑**
|
||
> - 完成拓展后,若对BaseService进行了修改则需在auto_service中进行路由逻辑补充
|
||
|
||
# 生产部署手册
|
||
|
||
**注意事项:**
|
||
> - 完成 devices.csv 的信息收集
|
||
> - 根据 devices.csv 的项目编码一一手动完成网关设备的注册上线并记录返回的ID与token保存存到gateway.json中
|
||
> - 若有初始化人员信息需求则补充users.csv,若无则不做操作或删除该文件
|
||
> - 每次重启需保证meian.db的数据备份,保持其唯一性
|
||
|
||
环境变量
|
||
|
||
| 环境变量 | 参考值 | 备注 |
|
||
|----------------------|-------------------------------------|--------------------------------------|
|
||
| ENV_TYPE | 0: local;1: test-svc;2: product-svc | 用于控制环境变量的动态选择,可统一控制以下所有变量,但优先级低于环境变量 |
|
||
| LOGGER_DEBUG | False\True | 用于控制日志的丰富程度 |
|
||
| BROKER_0_HOST, | iot-broker-test.*******.com | 云端中转mqtt的访问地址 |
|
||
| BROKER_0_PORT, | 31883 | 云端中转mqtt的请求端口 |
|
||
| BROKER_0_API_PORT, | 38083 | 云端中转mqtt的api请求端口 |
|
||
| BROKER_0_USERNAME, | center@meian | 云端中转mqtt的mqtt账号 |
|
||
| BROKER_0_PASSWD, | 28b8db7******a5f2 | 云端中转mqtt的mqtt密码 |
|
||
| BROKER_0_API_KEY, | fe705******b707 | 云端中转mqtt的api请求key |
|
||
| BROKER_0_API_SECRET, | yNsTO21******iRHByI | 云端中转mqtt的api请求secret |
|
||
| BROKER_1_HOST, | iot-broker-test.*******.com | 云服aiot平台的mqtt请求地址 |
|
||
| BROKER_1_PORT, | 1883 | 云服aiot平台的mqtt请求端口 |
|
||
|
||
# 常用查询sql
|
||
|
||
```sql
|
||
-- 查询长时间离线的设备信息
|
||
select heart_beat.device_id, device_position_desc, last_heart_beat from heart_beat LEFT JOIN register ON register.device_id=heart_beat.device_id LEFT JOIN device ON device.device_id=heart_beat.device_id where project_code = 'WF-TYJMY' AND last_heart_beat < '1720576800';
|
||
|
||
-- 查询某个项目的设备注册状态
|
||
select * from device where project_code = 'NSJMW';
|
||
```
|
||
|
||
# 常用日志过滤
|
||
|
||
```bash
|
||
tail -f data/run.log |grep -v "heartBeat\|心跳\|上线阈值\|新数据\|HeartBeat\|移除订阅\|ms\|subscribe"
|
||
``` |