Skip to content

工控机子系统

负责人:硬件端负责人
运行环境:门店本地工控机(定昌 A576,Ubuntu 22.04 LTS)
核心职责:连接物理硬件,执行实时控制逻辑,基于双密钥体系完成“上行业务签名 + 下行控制接入”


职责边界

工控机子系统是硬件世界与软件世界的桥梁,它直接与继电器、门磁、摄像头等物理设备交互,同时与客户私有云和首期选定的腾讯云 IoT Explorer 保持通信。

工控机负责的事情:

  • 驱动 AB 门的电磁锁开关
  • 读取门磁传感器状态(门开/门关)
  • 驱动人脸识别摄像头,执行本地人脸比对
  • 控制灯光继电器
  • 控制淋浴阀(待定)
  • 监控 UPS 电源状态
  • 与腾讯云 IoT Explorer 建立 MQTT 长连接,接收平台无关 JSON 控制指令
  • 使用 SN_Secret 对上行 HTTPS 请求进行签名

工控机不负责的事情:

  • 订单/支付逻辑(由客户 Backend 负责)
  • 前端展示(由小程序/管理后台负责)
  • 人脸信息的首次录入(由小程序负责,录入后同步到本地)

硬件接口清单

接口类型用途说明
GPIO 输出控制电磁锁(A 门 / B 门)高电平解锁,低电平锁定
GPIO 输入读取门磁传感器(A 门 / B 门)检测门开关状态
GPIO 输入检测隔离间人体传感器判断隔离间内是否有人
GPIO 输出灯光继电器控制多路继电器分区控制
USB / CSI人脸识别摄像头接入人脸 SDK
RS485 / GPIO淋浴控制(待定)硬件方案确定后补充
RS485 / 串口UPS 通信读取电量、告警状态
以太网与客户 Backend / MQTT 服务通信有线优先,4G 备用

本地服务架构


AB 门状态机

详细刷脸逻辑参见 刷脸系统文档

状态机维护以下变量:

变量类型说明
doorA_lockedboolA 门是否锁定
doorB_lockedboolB 门是否锁定
doorA_closedboolA 门是否已关闭(门磁)
doorB_closedboolB 门是否已关闭(门磁)
chamber_occupiedbool隔离间内是否有人(人体传感器)
face_verifiedbool当前隔离间内人员是否已刷脸成功

本地人脸数据库同步策略

  1. 初次同步:工控机启动时从云端拉取所有有效会员的人脸特征向量
  2. 增量同步:订阅 MQTT Topic {ProductID}/{deviceName}/data 中的人脸同步类指令,客户私有云推送新增/删除事件
  3. 刷脸时回退:本地库无此人脸 → 将图像发送至客户 Backend 验证 → 验证通过后将特征向量写入本地库
  4. 过期清理:定期清理已过期会员的本地人脸数据(以云端状态为准)

双密钥安全模型

凭证存储位置用途
SN_Secret工控机本地 + Centre + 客户私有云数据库/Redis工控机 -> 客户私有云 HTTPS 高频请求签名
IoT 连接凭证(DeviceSecret / 设备证书)工控机本地 + 首期腾讯云 IoT Explorer工控机 MQTT 长连接认证与下行控制链路

交付与初始化关系

  • 出厂仅烧录 SN + SN_Secret,不写入客户信息
  • 设备首次通电通过 fcc-api.fitron.vip 完成客户私有云寻址
  • 客户私有云完成 SN_Secret 跨云同步后,登记到本地数据库/Redis
  • 客户私有云在腾讯云 IoT Explorer 动态创建设备并下发 IoT 连接凭证
  • 注册闭环后,设备运行不依赖 Centre 在线

详细协议见工控机与云端通信协议定义


技术选型建议

组件建议方案备注
开发语言Python 3.x生态丰富,AI 辅助友好
人脸 SDK商业 SDK 或 InsightFace根据精度/成本权衡
本地数据库SQLite轻量,无需安装
MQTT 客户端paho-mqttPython 标准库
GPIO 操作RPi.GPIO / gpiod / pyserial根据工控机硬件选型
进程管理systemd / supervisord保证开机自启和崩溃恢复
IoT 连接平台首期腾讯云 IoT Explorer只使用长连接、连接鉴权、Topic 权限和 JSON 消息透传

MQTT 平台适配要求

  • 工控机主程序只依赖本地 MqttClient 抽象,不在门禁、灯控、人脸同步等业务模块中直接写腾讯云 SDK 逻辑。
  • 收到的 MQTT 消息必须按自定义 JSON Schema 校验,通过 msg_id 做幂等,通过 timestamp 做时间窗校验。
  • 工控机不解析 IoT 平台物模型语义,不依赖设备影子或平台规则引擎。
  • 连接配置、鉴权材料和 Topic 映射通过本地 MqttClient 抽象适配不同平台,业务指令处理逻辑保持不变。

待确认事项

  • [ ] 人脸识别 SDK 选型(本地推理精度与算力要求)
  • [ ] 隔离间人体检测方案(红外传感器 / 摄像头视频分析)
  • [ ] 淋浴控制硬件方案
  • [ ] 4G 备用网络模块选型

飞创 Fitron 内部规划文档