◉定位实验室
系统流程 / 从设备到手机

定位与行程 · 完整系统架构

看懂设备如何获取位置、服务器如何整理行程、手机如何展示。点击图中方框,右侧查看步骤说明与术语解释。

4设备与三层程序
81流程节点(含总览)
112数据流向连线

定位 / 行程数据指令 / 确认 / 失败处理排查问题的记录点击节点或连接,展开具体规则;可滚动、缩放和导出。
展开本图全部连接清单:逐条核对起点、终点与载荷
序号发送节点 → 接收节点传递什么 / 有什么用连接类型

设备、服务器与 App 之间的数据约定

原文描述契约含义,字段可映射到现有协议;不要求设备直接采用 JSON。

trip_id1 → Nsegment_id1 → Npoint_id业务行程允许多个不连续轨迹段;revision 管理结果修订。
设备 → 云端

定位观测与物理证据

唯一身份、采样时间及可信度、坐标系、位置来源、质量、速度、运动状态;运动事件另带发生时间、持续时间、来源与关联观测。

device_id · boot_id · record_seq · point_id · event_id · batch_id

设备不上传最终行程结论。重传不改变点与事件身份;新批次仍保留原点关联。

云端 → App

权威结果与修订版本

实时位置携带原数据时间、来源和质量;历史携带稳定行程ID、轨迹段ID、断段原因、统计口径及修订版本。

trip_id · segment_id · revision · message_id · request_id

App 按版本整体替换,不把新旧版本逐点拼接。不本地切行程或另算里程。

控制面 / 双向

配置、回执与诊断

云端仅下发采样率、门限和规则/诊断配置;设备报告实际生效版本。App 只报告展示异常,不回写定位事实。

config_version · algo_version · run_id

配置包括设备范围、有效期、采样率、存储及上传预算。业务接收 ACK 的具体协议属于补充设计。

身份 / 时间 / 版本用途与规则来源
device_id + boot_id + record_seq设备、启动周期、定位观测序号;结合启动身份防止重启后的序号碰撞。07 关联字段
point_id / event_id点跨层不重新生成;事件重传保持ID;拒点也保留诊断关联。07 关联字段
batch_id + attempt批次关联多个点;每次发送另记尝试次数,重组批次不丢点身份。07 关联字段
trip_id / segment_id由云端最终分配;设备自身段号单独存储,不能混为最终业务ID。07 关联字段
event_time / ingest_time采样/事件时刻与接收时刻分开;实时按可信event_time更新,迟到点归位历史。03 云端最佳实践
实际发生 / 确认 / 处理完成阶段时间分开保存;actual_stop_time不等于confirmed_time。03 / 07
UTC + 时间来源 + 估计误差跨端关联;误差未知要明确标记。不可靠设备UTC不能直接减接收时间当准确传输时延。07 时间约定
单调时间只用于同进程或同次设备启动内耗时,不跨重启/设备直接相减。07 时间约定
GNSS epoch / IMU sample time传感器实际观测/采样时刻,不以串口接收完成或FIFO读出时间替代。07 时间约定
revision / algo_version / config_version区分结果修订、算法和参数版本;记录各层实际生效值,支持重算、对照和回滚。03 / 07 / 12
run_id绑定实验、真值、参数快照和三端证据;未确认生效的实验标记配置不一致。07 / 12
字段演进只增不删,新增字段向后兼容,旧客户端可忽略未知字段;语义变化需版本化。05 边界与数据约定
关键边界:运动状态 ≠ 行程状态;轨迹段 ≠ 行程;实时滤波 ≠ 历史优化;道路匹配 ≠ 真实观测;显示插值与抽稀 ≠ 新观测或统计依据。
接口落地仍需确认的内容

GNSS/IMU型号、天线与电源设计、UART/I²C/SPI电平和速率;MQTT主题、QoS、鉴权、加密、业务接收ACK;数据库/消息队列产品、部署拓扑与容量;API路由、订阅协议、缓存保留周期。图中给出逻辑职责,不把这些未指定实现当成已有能力。