基于Node.js的物联网网关系统的分层设计方法
2018-10-15,
单片机与嵌入式系统应用 2018年10期
,
(华中科技大学 自动化学院,武汉 430074)
引 言
物联网是在传统互联网基础上进行了衍生和扩展,使生活中的物品可以通过网络互连,进行数据交互。在物联网中,设备通过自组织的模式构建无线网络,提供实现人与物、物与物之间的通信。不足的是,物联网中通信协议多种多样,各种感知技术和通信协议没有统一的标准[1],感知网络与以太网之间很难通信,而且物联网中一些通信协议无法远距离传输数据。因而,在物联网发展的过程中,产生了一种新型的网元设备——物联网网关。
物联网网关可以实现感知网络与通信网络,以及不同类型感知网络之间的协议转换,既可以实现广域互联,也可以实现局域互联。另一方面,物联网网关能够将不同设备收集到的信息整合起来,实现对终端设备的统一管理和控制。此外,物联网的一些应用场景(如智能家居),需要点对点连接,不利于数据安全传输。
Node.js[2]是一个基于Chrome V8引擎的JavaScript运行环境。目前,Node.js主要用于构建Web应用[3],将Node.js用于物联网设备端连接的应用还不多。通过事件驱动、非阻塞式I/O模型,Node.js可以处理数万条连接[11]。而物联网中数据的显著特点是海量、周期性强、随着终端设备数量的增长而增多[9]。因此,可以使用Node.js构建能够承受大量持续的并发访问请求的网关系统,提高系统的吞吐量和执行效率。
Node.js的事件驱动模型与物联网开发中通常采用的中断响应模型作用一致,而且Node.js通过单线程异步执行程序,相比多进程或者多线程的编程方式,Node.js可以更加高效地使用内存资源。……
登录APP查看全文
