第14章:设备管理与连接
当设备数量达到成千上万时,如何管理它们的生命周期、配置和状态成为巨大的挑战。
14.1 设备认证与安全
不要让你的摄像头成为黑客的跳板!
- 一机一密:每个设备烧录唯一的 DeviceSecret。设备端使用 Secret 计算签名连接云端。
- X.509 证书:AWS/Azure 推荐方式。设备持有私钥和证书,通过双向 TLS 认证连接。
- 优点:极难破解。
- 缺点:生产环节烧录证书成本高。
14.2 设备影子 (Device Shadow)
问题:APP 想开关灯,但灯掉线了怎么办?
方案:云端维护一个 JSON 文档(影子),存储设备的期望状态 (Desired) 和 **上报状态 (Reported)**。
- APP 修改影子:
"desired": {"light": "on"}。 - 灯上线,同步影子,发现
desired != reported。 - 灯执行开灯操作,上报
"reported": {"light": "on"}。 - APP 看到状态同步完成。
14.3 OTA 固件升级 (Over-the-Air)
物联网设备通常部署在难以触及的地方,OTA 是修复 Bug 和发布新功能的唯一途径。
- 流程:
- 开发者编译新固件 (v1.1.bin)。
- 上传到云平台,创建升级任务。
- 云端通过 MQTT 下发升级通知 (URL, MD5)。
- 设备下载固件,校验 MD5。
- 设备重启,写入新分区 (A/B 分区机制防止变砖)。
14.4 连接保活
- **心跳包 (Keep Alive)**:MQTT 客户端定期(如 60s)发送 PINGREQ 包,告诉服务器“我还活着”。
- **遗嘱消息 (Last Will)**:设备连接时预设一条消息(如“我掉线了”)。如果设备意外断开(非正常 disconnect),服务器会自动发布这条消息给订阅者。
数据上云后,如何挖掘其中的价值?下一章我们将探讨数据分析与可视化。