数据链路全景

传感器上云是一条流水线:设备端 ADC 采样、边缘网关预处理、通过 MQTT 上云、平台解码写入时序库、再由可视化大屏展示并触发告警。任何一环没对齐,数据要么丢、要么错、要么慢。

做之前先把这条链路画出来:每一步谁负责、数据什么格式、丢了怎么补发。比急着写代码重要得多。

上云 = 采集 → 预处理 → 上云 → 入库 → 可视化。
每一环职责
  • 设备采样、打包。
  • 网关清洗、断缓存。
  • 平台解码、入库。
  • 应用展示、告警。
传感器上云配图:左下角一个发光的传感器方块轮廓,传感器向空中发射数据流线,数据流汇入右上方一朵发光云轮廓,云里嵌一个数据库圆柱轮廓
传感器数据流汇入云里的数据库。

设备端采集

设备端按采样率读 ADC,按时间戳打包。采样率不是越高越好,温度这种慢变量 1 分钟一次足够;振动这种快变量要 kHz 级。带时间戳,平台才能对齐。

边缘预处理

网关在本地做滤波、去异常、压缩。断网时本地缓存,网好了再补发。原始数据直接上云既费流量又费存储,边缘清洗后再传。

上云协议

主流走 MQTT。主题约定为 product/device/datapoint,payload 用 JSON 或二进制。QoS 1 保证至少一次,丢了重传。设备断网重连后要把缓存的包补发上去。

# 上行主题示例
{product}/{device_id}/up
# payload
{"ts":1729000000,"temp":23.5,"hum":45.1}

时序数据库

IoT 数据是按时间索引的,用 InfluxDB、TDengine、TimescaleDB 这类时序库。写多读多,按设备分区。保留策略设好,热数据留 30 天、冷数据归档。

落地清单
  • 时间戳设备端打、别用云时间。
  • 边缘断网缓存、补发。
  • QoS1,至少一次。
  • 时序库按设备分区、设保留。