基于嵌入式系统的物联网网关设计与实现

2017-07-29 01:54肖正洪
魅力中国 2017年12期
关键词:网关嵌入式物联网

肖正洪

摘要:物联网网关发挥着连接传统信息网络与感知网络的重要作用,本设计提出了一种嵌入式智能网关的实现方案,该网关硬件上集成了多种协议的数据收发模块,在软件的控制下能够实现不同类型感知网络的同时接入,可应用于多种场合。

關键词:物联网;网关;嵌入式

物联网就是物物相连的互联网,物联网网关则是联系它们之间的主要桥梁,而且在整个物联网体系当中具有不可替代的作用。本文将对物联网网关进行介绍、对物联网网关硬件的设计以及物联网网关软件的设计进行研究。

一、物联网系统的分析

物联网网关作为物联网的基础,其作用不容忽视,具备感知网络接入、互通不同网络、远程监控三种能力。

感知网络,感知网络是由多个功能传感器网络组成,比如:摄像头、读卡器等,由于这些传感器所获得的信息不同,导致它们没有固定的方式接入,目前主要有有线与无线的区别。就目前的情况来看,有线接入相对比无线接入速度慢,无线接入目前使用的蓝牙、无线网络都能够进行快速的传送,特别是无线网络已经广泛的用于手机等设备中,应用范围十分广阔,因此,随着无线网络发展的越来越好,日后也必将能成为主要的接入方式。

异构网络互通,由于传感器的不同,感知的信息也不同,那么就造成了数据之间的分离,交流数据就会相对麻烦,因此,就要求设置一个协议网络在中间发挥作用,目前比较常用的协议网络主要是Modbus协议网络,在许多领域都得到了有效的利用。

检测控制管理,物联网当中的检测控制管理主要是对数据信息进行监控和管理,首先是网关中的不同功能模块,能够进行更加灵活的控制,实现操作简单、人机友好;其次是对网络连接的集中管理。因此,检测控制管理不仅仅是对自身的监控,还能够对来自外来的网络进行控制和管理。

二、网关硬件设计

为实现上述物联网网关的基本功能,需要先构建一个嵌入式的最小系统,在此系统上运行嵌入式操作系统作为实现上层功能的基础,然后扩展出各通信协议对应的硬件通信模块,实现网关与互联网和传感网的数据信息交互。

在本智能网关的设计中,采用AT91SAM9X35微处理器,DDRAM、时钟电路、NANDFLASH构建核心最小系统处理电路,其中AT91SAM9X35是基于ARM926EJ-STM的微处理器,内部集成了UART控制器,Can控制器,以太网适配器和RS485等控制器的功能,具有较好的处理能力。在外围电路中,扩展接入了各协议的数据收发芯片,从而在微处理器的控制下进行各类信号的传输工作。设计中采用DM9161A芯片实现以太网数据通信,通过串口接入CC2430模块,实现Zigbee通信,通过TJA1050收发芯片和ADM2483收发芯片分别实现Can和RS485的数据通信。硬件结构如下图所示。

三、网关软件系统实现

网关系统软件除了协调硬件实现数据的收发功能外,还要实现数据的解析和处理,转发和存储,远程交互和安全访问控制等功能。为了更好的分块实现这些功能,本设计将网关分为Web服务器部分和传感网服务器部分,这两大部分都属于应用层软件的范畴,建立在嵌入式Linux操作系统之上。

(一)操作系统层软件

选用嵌入式Linux系统,其特点是代码开放,性能优异,软件易于移植。将Linux操作系统移植到网关硬件电路的关键步骤,就是对各硬件设备的驱动进行相应的移植。物联网网关中用到的设备驱动主要有以太网驱动,串口驱动以及Can和485总线驱动等,这些驱动程序为上层应用软件对硬件收发器的控制提供了良好的支持。嵌入式Linux下开发的应用程序可以比较容易的移植到运行Linux的其他嵌入式系统中,这非常利于物联网网关设备的推广。

(二)Web服务器

Web服务器部分实现网关与上层传输网络的通信,为远程应用终端监控传感网节点设备提供良好的交互界面。互联网远程终端通过Web网页可以查询传感网节点设备的状态信息,对该节点发出控制命令,也可以通过Web网页查看设备列表并管理设备。程序流程如下,接收终端通过浏览器发来的8080端口请求,该请求通过TCP协议传输,调用CGI模块,该模块进程是Web服务器的子进程,通过环境变量获取浏览器请求中的相关信息,然后与传感网服务器通信,获取相应数据,再将结果处理成HTML网页格式的数据发回给浏览器。在CGI模块中,设置了用户登陆认证模块,该模块使得只有网关认可的用户才有资格对传感网的结点设备进行查询和控制操作,从而提高了网关的安全性。

(三)传感网服务器

传感网服务器是实现网关与传感网通信功能的部分,各传感网网络的数据在此处汇聚。其结构如下,数据传输功能由多线程程序实现,一个线程负责一种传输协议。Web服务器或专门编写的客户端程序可以通过TCP协议与传感网服务器通信,通信端口设为8088端口。传感网服务器在接收到命令请求后,会将接收的命令先放入命令缓冲池排队等待处理,命令缓冲池中命令的存入和提取处理通过生产消费者原理模型实现。传感网节点上传的数据存储在设备信息表的数据数组中,供其它程序调取处理。

(四)安全防护措施

Web服务器部分设置了用户认证模块,可有效的防止非法用户通过物联网网关对传感网节点的操作。传感网服务器工作中会接收Web服务器或客户端软件的命令,为防止他人非法向传感网服务器发送命令请求,特别设置安全密匙KEY机制,Web服务器和客户端软件内设置了与传感网服务器相同的KEY信息,每次命令的收发都要验证KEY值,验证失败时传感网服务器将拒绝接受命令,从而在高效数据通信的同时也保证了网关的安全性。

综上所述,物联网网关的开发与设计主要采取嵌入式系统,能够满足人们生产和生活的需要。随着社会的进步和科学水平的不断提升,相信在不久的将来,物联网系统会更加完善。

参考文献

[1]何立民.从嵌入式系统视角看物联网[J].单片机与嵌入式系统应用,2010(10)

[2]杨辉,王毅.物联网与嵌入式系统的关系研究[J].计算机与现代化,2011(8)

猜你喜欢
网关嵌入式物联网
基于FPGA的工业TSN融合网关设计
基于ARM架构的工业物联网网关研究与实现
基于高职院校物联网技术应用人才培养的思考分析
中国或成“物联网”领军者
嵌入式LINUX操作系统的研究
基于ENC28J60的嵌入式以太网/CAN网关设计
嵌入式组件技术的研究及应用
“嵌入式系统概论”课程设计
AItera推出Nios II系列软核处理器