物联网网关系统设计
数据汇聚模块:实现物理世界数据的采集或者汇聚。
本网关系统采用传感器网络的汇聚节点和RFID网络的阅读器作为数据汇集设备。
处理/存储模块:是网关的核心模块,它实现协议转换、管理、安全等各个方面的数据处理及存储。
接入模块:将网关接入广域网,可能采用的方式包括有线(以太、ADSL、FTTx等)、无线(WLAN、GPRS、3G和卫星等),本系统采用WCDMA的接入方式。
供电管理模块:负责整套系统的电源供给,系统的稳定运行与电源模块的稳定性能关系密切,此处设计的电源模块兼有热插拔和电压转换功能。可能的供电方式包括市电、太阳能、蓄电池等。
数据汇聚模块和处理/存储模块之间的接口类型采用UART方式。接入模块和处理/存储模块之间的接口类型采用PCIE方式。网关软件设计时采用分层结构,最后在应用层实现协议数据的相互转换。在进行物联网网关硬件模块化的同时,实现网关的软件功能的模块化,不同的硬件模块对应不同的驱动模块;采用动态可加载方式运行,分别提取出接入模块和数据汇集模块的公共驱动,根据接入的硬件模块不同加载不同的驱动模块,达到驱动硬件模块的目的,如图5(b)所示。
3.4 关键技术
物联网网关系统设计中解决了以下几个关键技术。
软件交互协议的统一:物联网网关系统的设计思路是以模块化的方式实现软硬件的各个部分,使得模块之间的替换非常容易,以实现不同的感知延伸网络和接入网络互联,屏蔽底层通信差异。其中硬件模块采用UART总线形式进行连接,软件则采用模块化可加载的方式运行,并将共同部分抽象成公共模块。因此,支持新的数据汇聚模块和接入模块则只需要开发相应的硬件模块和驱动程序即可。另外,添加统一的协议适配层(如图6所示),将应用数据统一提取出来,按照TLV(type,length,value)的方式进行组织,然后封装数据包。使得在接入网络中传输的都是标准的IP数据包,其中封装了TLV格式的采集数据。

统一地址转换:不同的数据采集网络使用不同的编址方式,如ZigBee中有16位短地址,6LowPan中有64位地址。在应用中只需要能定位到具体的节点即可,不需要关心节点是采用IP地址还是16位短地址,也不关心节点间的组网是采用ZigBee还是6LowPan或者其他方式。将这些地址转换为统一的表示方式,有利于应用的开发,因此在网关中实现一种地址映射机制,将IP或者16位短地址映射为统一的ID,在与应用交互过程中只需要关注这个ID即可。具体的映射方式可以采用从1累加的方式,当网关接收到第一个节点数据时,将该节点的地址映射为1,后续的依次加1,将这个映射表保存在网关中。同时还采用老化机制,在一定时间内没有收到该节点的数据时,将此条映射关系删除。
采集模块数据接口的统一:采集模块与网关之间定义AT指令集,节点通过ZigBee协议组网。在与网关的接口之间只关注一些对采集模块的控制指令和数据交互指令,不关注具体的组网协议,实现组网协议无关性。
数据映射关系管理:如何管理网关连接的两种或多种系统中的设备在通信数据中的映射关系,即通常意义上的寻址,是很重要的步骤。而这一部分针对网关所连接的不同,总线设备也有很大区别。本网关对所有可能下挂的模块的输入输出数据格式进行分析,然后分别定义了各个模块对应的通信接口配置字。
4 结束语
本文旨在研究一种能支持各种传感器网络及接入网络的网关设备,它能支持不同类型的传感器节点和接入方式,并能为中间件或者应用程序提供统一的数据格式,从而为应用屏蔽不同的传感器网络及接入网络,使得应用程序只需要关注于应用环境的数据处理。本文引用地址:https://www.eepw.com.cn/article/156115.htm
评论