3.8 KiB
3.8 KiB
初始化配置及持久化文件
./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
-- 查询长时间离线的设备信息
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';
常用日志过滤
tail -f data/run.log |grep -v "heartBeat\|心跳\|上线阈值\|新数据\|HeartBeat\|移除订阅\|ms\|subscribe"