以一只智能水表为贯穿对象,跟踪"读数—封包—上报—送达"的全过程,厘清物联网通信到底在传什么:短小、低频、由机器生成的传感报文。这是全册的起点——先看清传的东西,再看用什么传。
阅读完本节,你应当能够:
与其抽象地讲解"物联网通信",不如竖起一只水表。深夜十一点,水务公司的抄表平台刷新出一条记录:节点 412703,读数 3.2 吨,电量 82%,时间戳 23:00:07。这串东西很小,不到一百字节,塞不满一屏,却完整地代表了一类躺在远方的设备。本书第三到第六章会反复出现的"报文",指的就是这种由机器在无人值守处生成、规模以万计、每条约几十到几百字节的数据块。
手机上的网页报文大不一样。你打开新闻首页,那是一次请求,服务端回你一整个十几万字节的页面;你刷短视频,是一路持续几千秒的流。传感报文是另一头骨感的存在:内容固定、字段稀疏、周期固定或由事件触发,常常一天只报几次,晚了几个小时也没人会在意。正因为它短小、低频、容错高,才衍生出后面一整套"省"的设计哲学。
把这只水表的问题往开了讲:它代表的不只是水表。土壤湿度计、停车位地磁传感器、冷链运输上的温度标签、路灯上的光控节点,形态各异,报文的骨架却惊人地像——一个标识、一两个测量值、一个电量或状态位、一个时间戳。理解了这个骨架,就理解了物联网通信服务的主体。
把一条报文的旅程画成节点,通常是这样走的:
第一步是采样。水表里的流量计把机械转动换成电脉冲,微控单元按设定周期(比如十分钟)累加成读数。第二步是封装——不是人类语言,而是按协议定义好的字段排布,把"节点、读数、电量、时间"按规矩串成一段字节流,有时还带上校验位和序号。第三步是发送:无线模块按所选技术(后文会细致拆解)把字节流调制成电磁波送出去。第四步是上行的路:短距离技术要把报文先交给家中的一个网关,再由网关走宽带或蜂窝送进平台;广域技术则直接依赖基站基础设施。第五步终于到位:平台解析字段、落库、决定是否告警或计费。
这段旅程里藏着一个当天就能在工业里用上的判断:报文值不值得为它单独建一张网络,取决于它有多"胖"、多"急"、多"勤"。胖——数据量大,如视频监控,只能走宽带;急——要求毫秒级到达,如工业同步,只能走高速链路;勤——天天高频上报,会耗尽电池,所以才有了低功耗上报这一整类设计。
封装这一步最能体现"传感报文很短":一次典型上报常常不到 60 字节。为了让你对"短"有体感,这里把它摊开看:
{ "node_id": 412703, "reading": 3.2, "unit": "m3", "battery_pct": 82, "ts": 1704067207, "seq": 884 }
六个字段,约 80 个字符。换成蜂窝里传这种结构,用的可能是 TCP 上的 JSON;换成 LoRa 这种窄管道,同一个意思往往被压成十几个字节的紧凑二进制(节点号 3 字节 + 读数 4 字节 + 电量 1 字节 + 时间戳 4 字节)。不管外壳是 JSON 还是裸二进制,骨架都逃不出上一步说的那四个元素。这份"短小"的体感,会在讲协议开销时反复回响——一根 LoRa 数据包总共才那么大,怎么省着塞字段,是第六章的真问题。
把上面的观察压实成三句可背的口诀,全书通用:
听上去朴素,但它们直接决定了选型的上限。一个靠电池活十年的水表,绝不可能用每秒吞几十毫安的蜂窝数据;一个既要视频又不想插电的摄像头,基本告别了任何低功耗广域技术。报文的样子,提前锁死了技术选择的全部可能。
全书的主调是"顺着一条报文翻阅技术"。如果不先看清报文的长相,后面所有协议(MQTT 的报文头多长、LoRa 一个包能装多少字节)都会变成无意义的数字。拿 LoRa 举例,它一次上行通常只能装几十到几百字节,理解了传感报文天生短小,你就能明白这不是缺陷而是默契。理解了低频,你也就能接受 NB-IoT 那种"平时几乎不呼吸、醒来报一次又睡去"的工作方式。
本章第二节会把这颗报文放到"约束"的放大镜下,看它要穿越的功耗、规模、环境与安全赛道。第三节再把它放回几十种技术共同的全景图里定坐标。你手里现在握着的,是一个能装下全书所有概念的容器。
回到开篇那组数字——温度 21.7、流量 3.2、电量 82%。它们不是孤立的三个数,而是一个被打包、可定位、可校验的报文骨架。往后无论读到哪一层的技术,都别忘了先问:它是在替这条报文的"采样、封包、上报、送达"哪一步干活。抓住这一点,再难的技术名词也不会散成一团;因为你总有一个坐标系,知道眼下讲的东西,站在报文旅程的哪一环上。
下一节,我们把这条报文塞进通信系统的残酷现实里——看看它要克服的功耗、规模、环境与安全挑战。