农业遥测资料里出现“载荷”一词时,它可能指不同层次。The Things Network的Message Types说明,数据消息的MAC payload由帧头FHDR,以及可选的端口字段FPort和帧载荷FRMPayload组成。FOpts又属于FHDR内部。先弄清包含关系,才能继续理解控制命令与应用数据放在哪里,而不把每个带Payload的名称都当成传感器读数。[1]
原文列出的帧头还包括DevAddr、FCtrl和FCnt,FOpts与它们同在这一层。FRMPayload则出现在帧头之后,是另一项可选组成。因此,FOpts和FRMPayload虽都可能与MAC命令联系,却不是两份位置完全相同、用途任意互换的应用数据容器。这里讨论文档已经定义的字段关系,没有构造或发送真实报文。
MAC命令的去向有明确限制。该说明说,它们可以位于FOpts,也可以位于FRMPayload,但不能在同一数据消息中同时占据这两处。这句话限定的是MAC命令自身分布的位置。若只记住“两处都可以有命令”,省去同一消息内的互斥条件,便会得到与原文不同的意思。
接下来要把“同一消息”与“同一字段”分开。来源允许一条数据消息同时携带MAC命令和应用数据,条件是分处不同字段;但FRMPayload内部不能同时混有MAC命令与应用数据。两句话没有冲突:一个描述整条消息能包括哪些内容,另一个限制某一容器内部的内容。对已有农业通信日志作文字说明时,这一层区别比泛称“包里有控制和数据”更具体。
FPort进一步标明FRMPayload所承载的类别。文档说,当FRMPayload非空时,FPort必须出现;FPort为零意味着其中只有MAC命令,一至二百二十三表示应用专用数据。这些数值在本篇用于解释来源的字段语义,不是给某个农场设备指定端口,也没有说明应用内容一定采用何种传感器单位或编码。
例如,一份协议说明写“应用数据在FRMPayload,命令在FOpts”,读者能够将它对应到不同字段同存的关系;若写“FRMPayload同时放命令和应用数据”,则不符合该页的限制。这只是对两种文字陈述的概念比较,并不表示本文已经解析某台设备的记录,更不从端口类别推断它已正确测量或执行农业作业。
该页共同讨论LoRaWAN一代零点若干版本与一点一版本,后文还分别说明加密及完整性校验。本篇没有采用密钥、算法实现或报文配置内容,亦未查看示意图。保留帧头内外的位置、MAC命令的互斥去向以及FPort所标的内容类别,便能让现成遥测资料中的几个相近名称各有所指;网页首次发布日期未知。
信息来源
本文基于上述公开资料整理,未使用来源页面的图片、视频或嵌入媒体。