2024-10-24 09:04:38 +08:00

3.8 KiB
Raw Blame History

初始化配置及持久化文件

  • ./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"