关于工业物联网约束应用程序协议实现的分析调查研究

2017-12-06 10:16
汽车文摘 2017年12期
关键词:编程语言C语言代码

关于工业物联网约束应用程序协议实现的分析调查研究

物联网是新一代信息技术的重要组成部分,是在互联网的基础上延伸和扩展的一种网络,其用户端延伸和扩展到了任何物品之间,彼此进行信息交换和通信,目的是实现所有物品与网络的连接,从而方便识别、管理和控制。在过去的几年里,物联网的使用途径和实现手段也在不断发展与完善。物联网内许多协议,具有其自身的特点和要求,选择更适合的每个应用程序具体要求的协议进行实施至关重要。在网络通信协议的条款的扩展中,IETF的CoRE工作组提出了一种基于REST架构的受限制的应用协议(CoAP)。由于物联网中的很多设备都是资源受限型的,即只有少量的内存空间和有限的计算能力,所以传统的HTTP协议应用在物联网上就显得过于庞大而不适用。

本研究针对CoAP的特点与目标对实现CoAP的七个开放源代码库(libcoap, smcp, microcoap,FreeCoAP, Californium, h5.coapnode-coap,CoAPthon,CoAPy)进行比较分析。首先,调查当前协议的实现,并比较了它们在内置核心,扩展,目标平台,编程语言的互操作性。通过比较,我们确认libcoap,SMCP,microcoap,freecoap,Californium,node-coap和coapthon是可互操作的。接着,本文对代码库的延迟、内存和CPU消耗方面的性能在一个工业场景的真实测试中进行真实的比较。比较结果显示,在服务器的性能方面,基于C语言的CoAP实现效果最突出,libcoap和smcp成为了最快的代码库。在客户端方面,java,js和Python实现的速度与libcoap和smcp惊人地接近。因此,作为更高层次的编程语言的Californium(Java),CoAPthon (Python),h5.coap 和node-coap(Node.js)会被推荐给有关CoAP的客户。

文章对实现CoAP的七个代码库进行评估具有一定的研究价值。一方面,提出了像基于ARM Cortex-M架构的代码库评估,基于 Java、Python或 Node.js编程语言的代码库可以克服C语言代码库在大场景中的表现。另一方面,为其他通信协议(如MQTT,AMQP和DDS)的内部实现的方式比较提供了有价值的参考与建议。

刊名:Procedia Computer Science

刊期:2017年109C期

作者:Markel Iglesias-Urkia et al.

编译:刘瑞琦

猜你喜欢
编程语言C语言代码
基于JavaScript编程语言之 闭包技术在焦点轮播上的应用
互联网+教育背景下的C语言程序设计教学改革探究
基于Visual Studio Code的C语言程序设计实践教学探索
计算机中C语言的应用特点探析
基于计算机应用软件开发的Java编程语言研究
汇编语言与C语言的混合程序设计技术研究
计算机应用软件开发中编程语言的选取
神秘的代码
一周机构净增(减)仓股前20名
一行代码玩完19亿元卫星