主题
IPC 云端通信:生命周期与流程
生命周期总览
阶段一:确认归属(首启寻址)
- IPC 上电后调用
POST https://fcc-api.fitron.vip/device/locate到 FCC - 请求携带
SN_SecretHMAC 签名(签名原文:uppercase(SN):TIMESTAMP:NONCE:BODY) - 成功返回 CPC
base_url后,IPC 切换到客户私有云通信 - 若未归属,IPC 每 60 秒重试;SN 无效进入异常状态并停止后续流程
| 起始状态 | 条件 | 目标状态 |
|---|---|---|
INIT | 查询到 base_url | REGISTER_PENDING |
INIT | 未归属 | 保持 INIT(60 秒重试) |
INIT | SN 非法 | ERROR |
阶段二:设备注册(报到)
- IPC 调用
POST {cpc_url}/v1/ipc/activation/check-in - CPC 向 FCC 跨云拉取
SN_Secret(POST https://fcc-api.fitron.vip/cpc/sn-secrets,使用FitronClientSecret签名) - CPC 使用
SN_Secret验签 - 验签通过后,CPC 在 IoT 平台创建设备并返回
DeviceSecret
| 起始状态 | 条件 | 目标状态 |
|---|---|---|
REGISTER_PENDING | 注册成功 | REGISTERED |
REGISTER_PENDING | 签名失败且重试 < 3 | 保持 REGISTER_PENDING |
REGISTER_PENDING | 签名失败且重试 >= 3 | ERROR |
阶段三:信息上报
POST {cpc_url}/v1/ipc/report(type=report:device:discovery):上报控制器/传感器发现结果
| 起始状态 | 条件 | 目标状态 |
|---|---|---|
REGISTERED | 发现信息上报成功 | RUNNING |
阶段四:配置下发
- CPC 先通过 MQTT 发送
control:config:update通知 - IPC 再调用
GET {cpc_url}/v1/ipc/config拉取配置 - IPC 完成哈希校验后调用
POST {cpc_url}/v1/ipc/report(type=result:config:acceptance)回传结果
| 起始状态 | 条件 | 目标状态 |
|---|---|---|
RUNNING | 收到配置更新通知 | CONFIG_UPDATING |
CONFIG_UPDATING | 校验通过 | RUNNING |
CONFIG_UPDATING | 校验失败 | RUNNING(保持旧配置) |
阶段五:日常运行
日常运行包含:
- HTTPS 上行统一经
POST {cpc_url}/v1/ipc/report上报(type=report:*/type=result:*) - 控制指令执行与结果回传
- 扫脸上报与动作执行
- 人脸管理指令处理
- 网络中断后的补偿上报
| 起始状态 | 条件 | 目标状态 |
|---|---|---|
RUNNING | 网络中断 | OFFLINE_BUFFERING |
OFFLINE_BUFFERING | 网络恢复且补偿完成 | RUNNING |
OFFLINE_BUFFERING | 缓冲区达到上限 | 保持 OFFLINE_BUFFERING(覆盖最旧) |