报文类型

要想把这个事情说明白,我们就要先说一下MixIOT 体系的报文规则。所谓报文,就是采集数据的适配器上报的数据。在MixIOT 体系的规范中,适配器上报给平台的数据是不同的报文类型,如图8-1所示。

img

图8-1 不同的报文类型

I — 初始化报文

这是适配器每次上电运行重启的时候,必须要进行的报文。这个报文就是告诉平台,适配器重新启动了,现在可以开始工作了。适配器重启的原因是各种各样的,可能因为掉电,可能因为自身发现什么问题后自己重新启动,也可能是其他原因造成的。这个信息对MixIOT 体系去评估适配器的工作环境和情况,有着非常重要的意义。试想,如果MixIOT 体系频繁收到I 报文,那是不是可以认为这个适配器有问题,或者适配器所在的环节有问题呢?

N — 名义报文

这是一个辅助性的报文规则,要求适配器每连续运行4小时就进行一次这样的报文。这个报文的意义,主要是告诉平台,我已经连续工作4个小时了。N 报文的内容里,还包括了适配器自己的固件版本号、Lua 版本号等信息。那么,MixIOT 在收到这种报文的时候,就会去检查适配器的版本是不是最新的,是否有强制性要求适配器去下载新的程序。

D — 诊断报文

适配器会周期性进行自检诊断。这个报文就是把自检诊断的结果上报给MixIOT 体系。MixIOT 体系如果发现适配器的自诊断有问题,就会想办法通知你,让你去更换,或者进行其他处置。

R — 原文报文

这是普通原始数据的报文,也是用得最多的报文。我们前面说的设备(对象)的栅格数据,都是在R 报文里面的。

A、V、P — 音频、视频、图片报文

如果采集到的数据是音频、视频和图片格式数据时,就需要使用对应的报文类型,MixIOT 体系收到这几个类型报文的时候,会按媒体文件方式进行存储和处理,因为这几类报文数据不是“栅格”的数据形式,而是各自都有特定的格式。在本书中,会有专门的章节介绍如何在MixIOT 体系中使用多媒体。

前三种(I、N、D)报文算一类,是跟适配器运行相关的特殊报文,跟具体适配器采集什么数据是没有关系的。

后三种(A、V、P)报文算一类,每个报文的数据代表一段录音、一个抓拍的图片,或者一段拍摄的视频。

R 报文是使用最广泛的报文,适配器采集到的设备数据使用的就是这种报文类型。R 报文要求数据采取栅格格式。