2. 中国科学院大学, 北京 100049
2. University of Chinese Academy of Sciences, Beijing 100049, China
物联网(Internet of things)顾名思义就是把实物与互联网连接在一起进行信息交换和通信, 物联网的应用目标就是把IT技术充分运用到各行各业中, 实现任何时间、任何人、任何地点、任何事物充分互联[1,2].
在农业生产, 工业物联网等方面传统的原位采样和测试方法会带来数据滞后和误差等后果[3].
对于燃气公司将远程采集的燃气表数据和数据信息管理功能集成到燃气公司原有的计费管理系统中, 实现远程抄表的智能性, 将成为燃气公司的重要发展方向. 本文以燃气公司远程抄表的背景, 设计了一种基于CoAP架构的智能燃气表数据管理系统, 并集成数据处理模块, 用户通过使用浏览器实现对设备数据的远程查看、存储, 同时对物联网智能设备的运行状况进行在线管理和智能控制.
本文首先介绍了CoAP协议和SOA框架, 然后介绍了两种现有的信息系统和采集设备的集成方案, 然后提出了一种基于CoAP协议的嵌入式RESTful Web Service集成方案, 最后并合了实验室的智能燃气表数据管理系统项目, 验证和对比了该方案的可行性和优越性.
1 技术背景 1.1 CoAP协议简介HTTP 协议是一个典型的符合REST准则的协议. 在资源受限的传感器网络中, HTTP过于复杂, 开销过大, 因此也需要设计一种符合 REST 准则的协议, 这就是 CoRE 工作组制订的 CoAP 协议[4,5]. CoAP[6]协议(Constrained Application Protocol)是资源受限的设备的互联网应用层协议.
CoAP协议请求和响应的语法通过消息承载[7,8]. 同时CoAP协议提供观察者机制, CoAP服务器负责资源的发布, CoAP客户端对自身感兴趣的资源发起订阅, CoAP服务器通过响应返回资源的当前状态.
1.2 SOA架构简介SOA是一种松散耦合的软件体系结构, 在这种体系结构中, 由各自独立可重用的服务去构成系统功能. 基于SOA架构的Web Service目前广泛运用于企业信息系统的设计中[9,10].
2 基于CoAP协议的嵌入式REST Web Services集成方案的研究 2.1 现有方案的介绍目前, 将SOA架构企业信息系统与底层传感器网络集成的方法主要有两种. (1)通过网关代理介入信息系统; (2)在底层传感器设备中嵌入Web Service系统. 这两种方案架构如图1所示.
![]() |
图 1 网关代理方案和嵌入式系统方案 |
网关代理方案, 是指将无线传感器网络通过网关连接到已有信息系统中. 网关将HTTP等协议和传感器网络协议做转换. 该方案上层信息系统不需要做修改, 实施难度低, 但是该方案协议的转换增加了网关实现的复杂程度; 由于存在协议转化, 也会对通信效率产生一定影响.
嵌入式系统方案, 是指将底层传感器设备的数据和服务依照Web Service标准加入到信息系统中, 在嵌入式设备上实现完整的Web Service. 该方案灵活性高. 但是该方案对于传感器设备要求较高, 需要传感器模块具有较强的数据处理能力.
2.2 基于CoAP协议的嵌入式REST Web Services方案本文提出了一种基于CoAP协议的嵌入式REST Web Services方案用于集成传感器设备和信息系统. 该方案同时使用网关代理和嵌入式Web Service系统. 传感器设备提供面向通信网关的RESTful Web Service, 使用CoAP协议作为通信网关和传感器设备的传输协议. 通信网关提供面向云服务器的RESTful Web Service, 使用HTTP协议作为通信网关和云服务器的通信协议. 通过网关代理实现CoAP命令和HTTP命令的转换.
本方案中通信网关仅仅对HTTP命令和CoAP命令进行转化, 相比于网关代理的方案, 本方案通信网关的实施难度较低, 而且通信网关的效率也会有所提升; 本方案利用通信网关来减轻嵌入式设备系统的压力, 从而减小了嵌入式设备系统对硬件的要求, 从而降低了系统的成本; 所以本方案在一定程度上回避了前两种方案的缺点.
3 系统实现基于本文提出的方案, 本文设计了一种基于CoAP的智能燃气数据管理系统. 本系统总体架构如图2所示. 本系统由传感器网络、通信网关、云服务器三个模块组成.
3.1 通信网关层和传感器网络提供的API设计在企业级信息系统常用的SOA架构有基于SOAP的Web Services技术和RESTful Web Services. 基于 SOAP 的 Web Services 采用 SOAP /XML 来封装消息. 但由于资源约束类设备的处理能力有限, 并不能高效处理SOAP /XML. RESTful Web Services的主要特点包括:
(1)将服务器端 的一切数据都抽象成资源, 并使用 URI 标识.
(2)采用 HTTP、CoAP 等标准协议进行传输.
(3)在数据的封装格式上, RESTful Web Services包括 XML、JSON等多种格式.
![]() |
图 2 系统总体架构 |
总的来说 RESTful Web Services 是比基于SOAP的Web Services 更轻量级、更有灵活. 所以该方案中通信网关和传感器网络均使用RESTful Web Service.
3.1.1 通信网关提供的HTTP RESTful API设计传感器网络对云端服务器透明, 因为云端服务器的请求都由通信网关层处理. 通信网关和云端服务器的部分HTTP RESTful API设计如表1所示.
3.1.2 传感器网络提供的CoAP RESTful API设计通信网关作为一个CoAP客户端与传感器网络通信. 通信网关与传感器网络的部分CoAP RESTful API设计如表2所示.
![]() |
表 1 通信网关提供的部分HTTP API |
![]() |
表 2 通信网关提供的部分CoAP API |
3.2 基于CoAP协议的嵌入式RESTful Web Service方案的实现
当传感器网络中的RESTful Web Service启动后, 会在UDP的5683端口进行监听CoAP的GET和DELETE请求, 当传感器网络收到通信网关的请求后, 首先会检查URI是否符合RESTful路径规则, 如果符合则调用底层设备服务API获取设备数据, 然后将数据封装成JSON格式加入到CoAP响应包中返回给调用者. 通信网关拿到CoAP响应包之后, 拿到JSON数据封装成HTTP包响应给云服务器. CoAP协议具体使用C语言实现的LibCoAP. 实现过程如图3所示.
![]() |
图 3 实现过程 |
3.3 基于CoAP协议的嵌入式RESTful Web Service方案的流程
本系统用户可以通过浏览器对气表数据进行实时监控. 首先浏览器向云端服务器请求传感器数据或者管理相应的监测参数. 然后云端服务器接受浏览器请求后, 调用通信网关提供的HTTP RESTful API, 通信网关将HTTP RESTful API映射成CoAP API, 然后请求传感器网络, 传感器网络返回给通信网关CoAP包, 传感器网络做CoAP包和HTTP包转化后发送HTTP包给云服务器, 最后云端服务器将JSON数据做UI渲染并返回给浏览器. 体的浏览器访问传感器网络的工作时序图如图4所示.
![]() |
图 4 工作时序图 |
4 测试结果与比较
本文实现了基于CoAP协议的嵌入式RESTful Web Service方案实现了智能燃气数据管理系统. 具体可应用在燃气公司数据智能管理方面, 实现燃气数据实时自动采集、燃气表的远程管理等功能. 基于以上背景, 对该系统进行了开发和搭建, 系统各部分部署如下:
传感器网络: 以传统的膜式燃气表为基表, 加装STM8L052R8为处理器且内置光电直读器和型号为BC95的NB模块.
云端服务器: 云端服务器用于开发智能燃气数据管理系统的业务逻辑, 使用阿里云进行部署在阿里云.
系统运行后可视化的显示智能燃气表的数据如图5所示. 通过抓包工具抓取传感器网络响应给通信网关的CoAP协议包如图6所示. 针对通信网关提供的HTTP RESTful API做测试如表3所示.
![]() |
图 5 智能燃气表的数据 |
![]() |
图 6 CoAP数据包 |
![]() |
表 3 针对通信网关的性能测试 |
通过实验测试并和前两种方案比对得出, 随着单位时间内请求数量的增多, 本方案通信网关的成功率会逐渐高于网关代理方案的成功率; 相对于嵌入式系统方案, 本方案对硬件部分要求较低, 在实际应用中本方案更加经济, 更加适合于大规模的企业智能设备的数据管理.
5 结论本文分析了CoAP协议和SOA框架, 分析了现有信息系统和采集设备集成的方案, 然后提出了一种基于CoAP协议的嵌入式RESTful Web Service集成方案, 最后实现了一种基于CoAP的智能燃气数据管理系统, 重点基于轻量性的CoAP协议和能简化调用流程的RESTful框架设计了本系统的通信网关和传感器网络. 最后在燃气公司智能燃气表数据管理的背景下, 根据本文提出的混合型方案, 搭建系统, 实现智能燃气数据的管理. 实验结果表明, 该方案可行性, 具有扩展性强, 系统开销小, 运行效率高等特点.
尽管本文验证了基于CoAP协议的嵌入式RESTful Web Service集成方案的可行性和优越性. 但是考虑到本系统在市场中的实际使用, 还需要进一步验证通信网关的功率消耗方面的问题.
[1] |
杨刚, 沈沛意, 郑春红. 物联网理论与技术. 北京: 科学出版社, 2010. 1–25.
|
[2] |
胡金辉. 物联网网关关键技术的研究和实现方案[硕士学位论文]. 西安: 西安电子科技大学, 2012.
|
[3] |
马力, 王辉, 杨林章, 等. 基于物联网技术的土壤温度水分远程实时监测系统的构建和运行. 土壤, 2014, 46(3): 526-533. |
[4] |
曹振, 邓辉, 段晓东. 物联网感知层的IPv6协议标准化动态. 电信网技术, 2010(7): 17-22. |
[5] |
曾泽熠. 基于CoAP的家庭网络通信协议的设计与实现[硕士学位论文]. 北京: 北京交通大学, 2013.
|
[6] |
Bormann C, Castellani AP, Shelby Z. CoAP: An application protocol for billions of tiny internet nodes. IEEE Internet Computing, 2012, 16(2): 62-67. DOI:10.1109/MIC.2012.29 |
[7] |
陈旖, 张美平, 许力. WSN应用层协议MQTT-SN与CoAP的剖析与改进. 计算机系统应用, 2015, 24(2): 229-234. |
[8] |
Shelby Z, Sensinode, Hartke K, et al. Constrained application protocol (CoAP), draft-ietf-core-coap-13. Universitaet Bremen TZI, IETF. https://tools.ietf.org/pdf/draft-ietf-core-coap-14.pdf. [2013-5-12].
|
[9] |
赵云华. 基于供应链管理模式下电网物资企业架构优化研究与设计. 人力资源管理, 2015(7): 29-30. |
[10] |
于振梅. 基于SOA模式的企业架构设计. 中山大学学报论丛, 2006, 26(8): 98-100. |