□ 文 龙容 骆正虎 白杰 袁园 刘聪
物联网市场经历了快速的发展,物联网垂直应用也不断涌现。物联网终端节点通常是资源受限设备,因而云平台对物联网系统起着重要作用。云平台是物联网应用的智能引擎,物联网终端节点将利用云平台的计算能力来智能自动地工作。
物联网云平台为垂直应用提供服务支持功能,这些功能涉及数据传输、数据管理、数据访问、设备管理以及认证等。通过这些常用功能,垂直应用的开发人员可以专注于特定应用开发。同时,物联网云平台通常需要了解不同领域,对相关数据使用特定领域的专业知识分析和处理。物联网应用程序收集并上传大量数据交给云平台处理,这些垂直方向的数据时常需要共享,需要具有互操作性的中间层和统一的数据格式,也就是物联网的服务层。构建开放的标准物联网服务层不仅是必要的,对于大规模部署也至关重要。
本文第2节对物联网服务层进行介绍,并重点阐述了物联网系统里服务层各个模块,介绍模块间需要的标准接口要求以及统一资源模型要求。本文第3节实现了一个基于LwM2M协议的服务层架构,介绍了架构里面各部分的统一接口定义及基于IPSO的统一资源模型。第4节对全文进行总结。
2.1.1 为何需要标准化解决方案
物联网具有跨领域、跨行业的长尾特性,分散的设备之间导致数据收集/存储之间的互操作性存在很大的困难。一组通用的服务层、开放接口和标准化架构的API可以减少投资,缩短产品上市时间,快速上线物联网业务。同时,稳定的接口和可管理可升级的设备管理服务以及具有标准化架构的开放式物联网服务层标准容易桥接各种生态系统合作伙伴,例如组件提供商、应用程序开发商、系统集成商。互操作性、可移植性、可扩展性、敏捷性和灵活性以及所有常见技术特性的元素将嵌入到平台和终端的服务层中。
物联网的标准化框架将解决跨网络、跨应用的互操作性,解决跨行业数据的互操作性,建立自动化设备管理和服务功能,并同时提供安全保障。
2.1.2 标准化接口和数据模型
物联网将跨行业的众多产品汇集在一起,对于跨越所有业务的连接管理、安全性和数据处理有共性的要求。一套具有通用服务层功能和开放接口以及API的标准化架构,有助于物联网提供商减少投资、缩短产品上市时间、降低开发成本,并促进设备和应用程序的管理。当构建物联网云平台变得简单易行时,提供商可以在业务上花费更多时间和精力。
从实际的情况来看,并非所有物联网业务提供商都有能力开发物联网云平台。它不仅需要硬件设计和嵌入式设备编码的熟练技能,还需要云服务器和Web UI的可靠支持。对于初创企业和技术实力薄弱的公司来说,开发专有的物联网云平台是一项具有挑战性的项目。开放和标准化的云平台,以及相配套的标准服务层接口将成为这类物联网业务提供商的可行解决方案。标准的统一接口包括终端和云平台两部分。终端需要提供统一的接口给终端应用,包括与云平台的鉴权数据交互等。物联网云平台提供统一的Restful API给应用服务器使用,包括安全认证服务、数据访问服务、数据订阅服务和数据过滤服务。
另一个方面,数十亿甚至数万亿的碎片设备随着各种异构中间件和应用程序而增长,物联网应用程序无法知道如何在没有标准数据模型的情况下验证映射转换关联和处理信息。通用数据模型是语义互操作性的关键要素,实现应用程序能够获取从其他地方导入获取并检索每个数据的精确含义。
2.1.3 基于LwM2M的物联网通信服务层
LwM2M是用于资源受限设备的应用层协议。它可以在资源受限的终端设备上运行。在此基础上,它提供了一个使用IPSO定义的资源模型的框架,将分散的数据使用统一的数据模型上报给物联网平台。平台可以根据IPSO定义的数据模型规范处理和分析数据,为收集的数据提供增值服务,提高数据的价值。
LwM2M作为一种具有RESTful功能的标准化解决方案,由于采用简单的方式来帮助收集面向对象的数据,因此吸引了许多移动运营商的关注,并已由多家运营商部署。LwM2M协议独立于底层网络技术,同时可以基于蜂窝物联网协议优化来提高效率并提供与业务相关的网络功能。利用该协议的特性,开发一个统一的服务层,用于在所有应用程序之间交换和共享数据,构建一个可扩展、高效的终端-云平台整体的服务层解决方案,可为物联网开发人员提供通用功能支持,帮助他们快速开发物联网应用。LwM2M作为物联网常用功能的开放标准化服务层解决方案,解决了物联网的数据碎片问题。
3.1.1 架构
服务层是一个端到端的解决方案,需要同时在物联网云平台、物联网网络的中间节点和终端节点中实现。本章节主要描述终端服务层架构,云平台侧则使用了中国移动的物联网平台OneNET。
图1 中国移动通信服务套件架构
在终端侧,服务层主要解决以下几个问题:
(1)芯片组和模块的多种选择导致繁重的工作量和严格的输入标准。
(2)不同类型的通信协议和语义系统导致孤立的物联网系统。
(3)移动网络运营商和其他解决方案提供商希望使其物联网系统能够在多领域设备互联互通的基础上实现大数据分析服务。
中国移动设计了通信服务套件(SDK),作为终端侧服务层部署在终端,使物联网设备能够轻松连接到OneNET,配合OneNET完成整体的端到端服务层方案。此SDK为上层应用程序定义了统一的API,为通信模组定义了统一网络适配器接口以屏蔽底层网络的差异。自2017年11月起,蜂窝物联网设备可以通过通信服务套件轻松访问OneNET。
如图1所示,终端侧的通信服务套件定义了接口①,②,③,④,⑤:
① 应用程序的API接口;
② 应用程序的AT指令接口;
③ 系统适配API,隐藏不同芯片/模组的差异,包括系统内存操作、系统时间获取和随机数获取等;
④ 网络适配API,隐藏网络的差异,用于物理网络连接的建立,以及网络数据的传输和接收;
⑤ 由OMA LwM2M定义的设备与物联网平台之间的接口。
通信芯片和模组供应商可以据此架构在设备端向其客户提供API。利用通信服务套件的统一接口,应用就可以无缝移植到不同的芯片和模组上,帮助开发人员快速开发和集成应用程序。
在云平台方面,简单易用的物联网应用API也是应用程序的必备工具,它将支持物联网服务显示、分析和使用数据,如图所示为接口⑤,⑥:
⑥对AS的Restful API。
设备中的通信服务套件实现为LwM2M客户端,它封装了协议,包括底层的基于UDP的CoAP,中间层的基于CoAP的LwM2M,以及上层的LwM2M中使用的配置文件规范。
基于通信服务套件架构,应用程序可以位于不同的部分。当应用程序和通信芯片/模组集成在同一应用芯片中时,它使用API接口。在另一种情况下,当应用程序集成在外部的MCU中时,应用程序使用AT命令,通过通信服务套件与云平台通信。
在物联网设备方面,通信服务套件提供的功能屏蔽了底层系统和底层网络的多样性,并为应用程序提供了简单的接口。经验表明,界面的标准化和IPSO智能对象定义的扩展,对于推动物联网设备和应用服务的发展以及推动物联网产业是必要的。通过标准化使物联网行业使用统一调用接口将简化应用程序开发并帮助平台来运营数据。
3.1.2 功能
终端设备的服务层提供两组功能。第一部分是提供给应用程序的接口,包括API接口、AT命令和设备的profile配置文件;第二部分是终端与物联网云平台之间的接口。
对于第一部分,基于LwM2M协议,提供的API接口包括了Init、Register、DeRegister、AddObject、Deleteobject、Notify、UpdateRegister和DeInit,用于屏蔽客户端和云平台之间进行通信的详细信息和差异性。具体功能描述如下:
Init:根据输入的参数初始化服务层,如服务器地址、端口、APN名称、APN密码等;
Register:向云平台注册设备;
DeRegister:向云平台注销设备;
AddObject:使用对象信息将对象添加到服务层;
DeleteObject:从服务层删除对象;
Notify:将数据上报给云平台;
UpdateRegister:将注册信息更新到平台,例如生命周期和对象信息;
DeInit:销毁服务层实例。
与服务层在同一芯片中运行的应用程序可以使用这些接口。
与API相同,AT命令提供Create、Delete、Open、Close、AddObject、DeleteObject、Notify、UpdateRegister和URC的统一命令,这些命令与API具有相同的功能。在外部MCU中运行的与芯片组通信的应用可以使用这些统一AT指令接口。
在设备服务层中,还定义了一些预置对象,“Security”、“Server”、“Control”、“Device”、“Firmware”、“Location”、“Connectivity Monitoring”、“Connection Statistics”,提供设备相关数据和操作。
图2 IPSO数据模型
第二部分与LwM2M协议相同,包括LwM2M Server和LwM2M Client之间的四个接口。它们分别分为引导(Bootstrap)、客户端注册、设备管理和服务支持、信息报告。Bootstrap接口用于向LwM2M客户端提供基本信息,LwM2M客户端可以使用该命令执行“注册”操作。客户端注册接口具有注册、更新和取消注册的功能。LwM2M客户端使用寄存器在引导过程之后向一个或多个LwM2M服务器注册。Update命令用于每次注册以延长生命周期或添加/删除对象和对象实例。取消注册用于在注册的生命周期到期时注销设备。LwM2M服务器使用设备管理和服务启用接口通过使用“Read”、“Write”、“Execute”、“Create”、“Delete”、“Discover”和“Write-Attributes”,从已注册的LwM2M客户端访问对象实例和资源。LwM2M服务器使用数据上报接口来观察已注册的LwM2M客户端上的资源的更改或取消观察,并且当满足“Write-Attributes”操作配置的通知条件时,LwM2M客户端使用该信息报告接口来通知平台更新的对象数据。
3.1.3 资源模型
LwM2M协议中采用了IPSO数据模型。IPSO智能对象提供通用对象模型,以实现智能对象设备与其他设备和服务上的连接软件应用程序之间的互操作。该模型使用数据对象来表示常见的物联网传感器。每个智能对象都有一个对象ID,它代表物理传感器执行器连接对象或其他数据源。构成智能对象的可重用资源表示所连接的物理对象和所包含的嵌入式软件的静态和动态属性。利用这种标准数据模型,基于LwM2M的物联网设备或物和设备能够通过“共同语言”相互通信。
此资源模型有两个级别:对象(Object)和资源(Resource)。当设备使用LwM2M协议传输数据时,它必须符合那些已注册的对象定义。LwM2M客户端提供的每条信息都是资源,资源在逻辑上进一步组织为对象。LwM2M客户端可以拥有任意数量的资源,每个资源都属于一个Object。换句话说,一个Object包含一组Resources。例如,Firmware对象包含用于固件更新目的的所有资源。图2说明了Resources,Objects和LWM2M Client之间的结构和关系。
物联网的标准化程度不断提升,确保了大规模生态系统的互操作性,部署基于统一服务层的框架将解决数据分散、集成复杂、信息无法共享、扩展性差、运营效率低和开发成本高等问题。物联网服务层通过提供简单易用的统一接口帮助应用开发者,构建业务应用、屏蔽接入网络细节、提升平台对数据的可操作性。让应用开发者可以聚焦于自己熟悉的业务领域,降低开发难度,缩短开发周期,减少开发成本。
LwM2M因其在设备和管理服务器之间的交互操作简洁,而且对资源的需求较低,能更好的适用于蜂窝物联网这种终端设备极端受限的场景。基于LwM2M的服务层架构,既能满足服务层统一开放的要求,也不会占有设备上过多的资源。
从长远来看,移动运营商的物联网服务产品将受益于物联网的互通能力,拥有一个标准化的服务层,实现跨物联网平台和应用程序域的轻松集成,确保异构应用程序和设备之间的无缝交互。其标准化的API,简单易用且扩展性强,实现了物联网应用之间的数据共享及跨行业的大量设备管理,打破了传统专有平台方案导致的信息孤岛模式,将为物联网生态带来真正的价值。■