物联网终端形态、传感器类型以及系统软硬件环境千差万别,给物联网的应用开发带来了一定的挑战。针对物联网的应用开发,我们可以通过终端上的中间件来屏蔽底层的软硬件差异,降低应用开发的复杂度。同时,中间件也可以提供通信的基础能力,对数据包进行封装,并调用底层的接口连接网络。我们把这个中间件称为基础通信套件(或通信套件),当物联网模组或者芯片厂商完成对通信套件的集成后,基于这些模组和芯片的应用开发只需通过通信套件提供的接口(如AT指令)进行开发和调用即可。
基础通信套件,即面向移动物联网终端的通信中间件,是实现应用端到端联通的重要环节运作模式,可有效提升数据服务能力。基础通信套件实现了一套标准SDK,规范了终端设备管理接口定义,并统一了终端侧的应用连接与通信协议,与移动物联网数据平台对接。标准化的基础通信套件有利于提升物联网运营的数据服务能力,同时也可以降低物联网设备的开发和接入难度,减少产品发布周期,推动相关产业发展。
综合考虑NB-IoT网络通信特点、终端侧计算能力受限以及数据服务平台架构,基础通信套件采用轻量级物联协议CoAP为应用通信协议,以LwM2M作为设备管理接口框架和资源管理模型基础。
图16.20所示是基础通信套件与物联网平台进行交互和连接的架构示意图。
图16.20 网络连接架构图
如图16.20所示,物联网系统包括终端侧(IoT client)和网络服务侧(Service)两个部分,终端和平台通过移动物联网进行连接和通信。
对于服务端而言,构建大规模云服务可以采用相对成熟的互联网Web Services相关技术。服务端的接入层负责应用协议转换和Web服务协议之间的转换,Web服务一般采用HTTP/RESTful架构,由于CoAP的特性,接入层可以很方便地在CoAP和HTTP之间进行转换。服务端后面需要维护和提供信息管理数据库,保证对于终端设备中相关对象的识别,并与终端设备的认证信息一致。
图16.21所示为通信套件的系统架构图。(www.xing528.com)
图16.21 通信套件系统架构图
一个物联网设备可以分为三个部分:物联网应用层、网络连接底层与系统底层。通信套件作为中间件,为应用层提供编程接口,为底层提供相应标准抽象接口。
•物联网应用层:指在物联网设备中具体化设备应用场景的相关部分程序,这部分程序通常由设备厂商定制开发。
•网络连接底层:通常是由通信模组、芯片厂商提供,如NB-IoT芯片商。
•系统底层:指设备相关硬件架构或者操作系统(部分移动物联网设备无操作系统),由设备厂商提供。
通信套件与物联网平台进行通信可基于LwM2M规范中定义的物联网终端中的对象(Object)和资源(Resource)模型,设备中对象的功能定义可以按照“传感器/传感器实例/传感器参数”三元组进行组织,即对象(如传感器)、对象实例(如终端中此类传感器的数量)和对象中的资源(如一个传感器中的各类属性)。例如,针对一种作为温度计的终端产品,可以定义为三元组“8811/1/2000”,其含义是一种温度传感器标号为8811的传感器对象(Object),当前第1个实例(Instance),其中标号为2000的资源(Resource)。一般而言,对于固定的对象,所包含的资源集合是一定的,如温度传感器包含了温度值、温度上下限和温度测量精度等资源。通过这种数字标准化定义,有效简化和规范了通信内容,解决了设备能力发现的问题。只需要保证入网设备是经过平台认证的设备,即可以确保设备信息和能力定义的一致性。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。