# 初始化配置及持久化文件 > - `./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" ```