APP下载

嵌入式物联网智能网关的设计与实现*

2014-02-09陈乐庚洪志鹏崔更申

通信技术 2014年12期
关键词:网关传感命令

陈乐庚,洪志鹏,崔更申

(桂林电子科技大学电子工程与自动化学院,广西桂林541004)

嵌入式物联网智能网关的设计与实现*

陈乐庚,洪志鹏,崔更申

(桂林电子科技大学电子工程与自动化学院,广西桂林541004)

物联网网关发挥着连接传统信息网络与感知网络的重要作用,针对目前人们研究的物联网网关功能单一和应用场景固定的不足,本设计提出了一种嵌入式智能网关的实现方案。该网关硬件上集成了多种协议的数据收发模块,在软件的控制下能够实现不同类型感知网络的同时接入,可应用于多种场合;另外网关设计了Web网页服务功能,远程终端通过互联网能够查询出感知网络里各节点设备的状态,也可以对这些设备发出控制信令实现远程控制等功能。此外,设计中就物联网网关的安全问题提出了用户登录和密匙验证的机制,保障物联网网关的安全通信。

物联网 网关 嵌入式 多协议通信 远程控制 安全通信

0 引 言

物联网(Internet of Things,IOT)是一种通过感应器、全球定位系统等传感设备,把世界上任何物品联入到互联网中,使人与物,物与物之间能进行无障碍的信息通信,从而实现智能化的控制、查询、定位、配置等功能的网络。物联网的出现,为现代化的工业生产,农业生产,环境监测[1],日常住行提供了新的模式,有效降低劳动成本,提高经济效益,方便人们的生活。

物联网网络架构可分为三层,分别是应用层、传输层和感知层[2]。处于感知层中的感知对象,一般都从属于某个传感网络之中,物理位置上会存在于各个地方。同时互联网即传输层通信网络与传感网的传输协议并不相同,不同的传感网之间的协议也会有较大的差别,这些差异使传感网的各感知对象不能直接联入互联网,他们需要一个能够屏蔽这些

差异的设备,而这正是物联网网关。

物联网的广泛应用也使得物联网网关将会存在于各行各业之中,可将它用于工业生产中作为工业控制网关,用于环境监测中作为环境监测网关,用于房屋居室中作为智能家居网关[3]。物联网网关是物联网中连接传输层通信网络和感知层传感网的核心设备,实现把传感网节点采集到的数据进行汇聚存储、数据格式转换、数据加密传输等多种功能。

1 网关功能需求分析和总体设计

目前部分智能传感器设计在一定程度上借助互联网或无线蜂窝网,把小范围内的传感网信息通过汇聚节点接入互联网,这实际上完成的就是物联网网关的基本功能。作为感知层与传输层的纽带,物联网网关需要满足以下功能需求[4]:

1)数据汇聚功能:物联网网关能够作为汇聚节点,接收传感网各子节点传来的数据。

2)数据存储功能:物联网网关对接收到的数据能够临时或永久性的存储。

3)数据传输功能:物联网网关不仅向下能作为汇聚节点与传感网节点通信,还需要有通过传输层网络与远程数据应用平台交互的能力。

4)协议适配功能:物联网网关是一个多协议的转换装置,能够处理各类传感网的数据协议。通过物联网网关,远程应用平台有效的屏蔽各传感网的异构性,与传感网节点实现互联互通。

5)设备管理功能:传感网的节点数量众多,分布广泛,不便于直接对节点终端进行管理,因此需要通过物联网网关实现节点设备的状态查询、监控、配置等的功能。

6)安全防护功能:通过网络远程与物联网网关建立通信需要先对用户身份进行验证和授权;支持数据加密等安全措施。

网关总体结构设计如图1所示。各类协议的传感网节点与物联网网关间有专门的数据通道,网关可以接收传感网节点的上报数据,同时可以向这些节点传输控制终端发送来的状态查询和控制命令。网关内部分为两部分,一部分是传感网服务器,负责接收、处理和存储传感网传来的数据,向传感网节点设备发送控制信令,同时接收Web服务器或客户端软件平台发出的数据请求或其他命令,提供请求数据等;网关另一部分是Web服务器部分,为互联网远程终端或应用平台对物联网网关的访问提供良好的交互界面,该界面用Web网页实现,避免了远程智能终端下载安装客户端软件的繁琐步骤。通过互联网访问网关Web界面,可对物联网的传感网节点进行状态查询和控制等操作。

图1 系统总体结构Fig.1 Overall system architecture

2 网关硬件系统实现

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

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

图2 硬件结构Fig.2 Hardware structure

3 网关软件系统实现

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

3.1 操作系统层软件

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

3.2 应用层软件

(1)Web服务器

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

图3 Web服务器程序流程Fig.3 Program flowchartofWeb server

(2)传感网服务器

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

图4 传感网服务器结构Fig.4 Server architecture of sensor network

传感网服务器的程序流程如图5所示,开始初始化数据库服务,获得传感网的各设备信息,初始化命令缓冲池,准备接收命令,初始化各服务线程,准备与传感网和Web服务器的通信,然后一方面与传感网传输数据,一方面等待互联网终端通过Web服务器或客户端发来的命令请求。一旦检测到命令进入命令缓冲池,则开始执行相应的命令请求,完成后

提取或等待下一条命令。

图5 传感网服务器程序流程Fig.5 Program flowchart of sensor network server

3.3 数据包格式

为方便物联网网关处理接收到的传感网数据,对传感网的数据包内容格式做如下规定,自定义数据格式如图6所示。

图6 自定义传感网数据格式Fig.6 Data format of self-defined sensor network

在自定义的数据格式中,传感网节点的地址占用2字节,标识节点在传感网中的地址;设备地址占1字节,标识处于该传感网节点上的某个设备的地址;数据(信令)长度占1字节,标识发送的有效数据长度;数据占16字节,用于存储发送的数据或信令。例如发送数据包的传感网设备在地址为0x1001的传感网节点处,并且是该结点的2号设备,地址为0x02,发送了两个字节的数据0x01, 0x01,那么数据长度为0x02,因此该数据包发送的是: 0x1001020201010000000000000000000000000000,数据部分只有前两字节的0101有效,后面的字节无效,只是补满16字节的数据长度,方便其他程序的接收处理。

3.4 安全防护措施

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

4 结 语

文中采用AT91SAM9X35等芯片模块设计了简易实用、价格低廉的嵌入式物联网智能网关,功能上实现了物联网三层结构中感知层与传输层的纽带作用[6]。向上与互联网即传输层网络实现TCP协议的可靠通信,并通过Web页面提供了传感网设备查询、控制的良好界面,向下满足了与传感网的多协议通信需求。随着物联网的发展,这种低成本的嵌入式物联网网关有望得到推广,从而实现生活中人与人,人与物以及物与物之间随时随地的交流。

[1] 张洋洋,赵建平,徐娟娟.基于物联网技术的水文监测系统研究[J].通信技术,2012,45(04):108-111.

ZHANG Yang-yang,ZHAO Jian-ping,XU Juan-juan. Research of IoT-based Hydrology Monitoring System[J]. Communications Technology.2012,45(04):108-111.

[2] 郑树泉,韩元杰,张泉.物联网架构与应用[J].软件产业与工程,2010(06):27-30,48.

ZHENG Shu-quan,HAN Yuan-jie,ZHANG Quan.Architecture and Application of the Internet of Things[J].Software Industry and Engineering.2010,1(06):27-30,48.

[3] 钟科,陈向东.基于物联网的智能家居服务网关的设计[J].通信技术,2012,45(08):65-67.

ZHONG Ke,CHEN Xiang-dong.Design on Smart Home Service Gateway based on IoT[J].Communications Technology.2012,45(08):65-67.

[4] 赵炳弟.物联网m2m网关剖析[J].电信技术,2013, (12):73-76.

ZHAO Bing-di,Internet of Things m2m gateway analysis [J].Telecommunications Technology.2013,(12):73-76.

[5] 王森,何建忠.基于linux系统的字符设备驱动研究与设计[J].微计算机信息,2012,28(03):173-175.

WANG Sen,HE Jian-zhong.The Research and Design of The Character Device Driver on Linux[J].Microcomputer Information.2012,28(03):173-175.

[6] 刘强,崔莉,陈海明.物联网关键技术与应用[J].计算机科学,2010,37(06):1-4,10.

LIU Qiang,CUILi,CHEN Hai-ming.Key Technologies and Applications of Internet of Things[J].Computer Science.2010,37(06):1-4,10.

陈乐庚(1963—),男,副教授/高级工程师,主要研究方向为工业智能控制,计算机控制;

CHEN Le-geng(1963-),male,associate professor/senior engineer,maily working at industrial intelligent control and computer control.

洪志鹏(1988—),男,硕士,主要研究方向为物联网网关;

HONG Zhi-peng(1988-),male,M.Sci., maily working at industrial intelligent control and IoT gateway.

崔更申(1970—),男,硕士,副教授,主要研究方向为嵌入式系统及应用,物联网,计算机视觉。

CUIGeng-shen(1970-),male,M.Sci.,associate professor,maily working at embedded systems and applications, IoT and computer vision.

Design and Im p lem entation of Embedded Intelligent IoT Gateway

CHEN Le-geng,HONG Zhi-peng,CUIGeng-shen
(School of Electronic Engineering and Automation,Guilin University of Electronic Technology,Guilin Guangxi541004,China)

IoT(Internet of things)gateway plays an important role in connecting traditional information networks and sensor networks,and aming at the single function and fixed application scenario of the existing IoT gateways,an embedded implementation of intelligent IoT gateway is proposed.This gateway hardware integratesmulti-protocol data transceivermodule.It could realize different types of network access at the same time and be applied in various occasions.Meanwhile,aweb service function is also designed in the gateway.Remote terminal can check the status of sensor network devices via the Internet,and also send control signaling to these devices.In addition,aiming at accout of the security problems of IoT gateway,the login and key authentication mechanism in the design is also proposed for the purpose to ensure secure communications.

IOT;gateway;embedded;multi-protocol communication;remote control;secure communication

TP393

A

1002-0802(2014)12-1455-04

10.3969/j.issn.1002-0802.2014.12.022

2014-09-25;

2014-10-25 Received date:2014-09-25;Revised date:2014-10-25

广西可信软件重点实验室项目(No.KX201318)

Foundation Item:Guangxi Key Lab of Trusted Software Project(KX201318)

猜你喜欢

网关传感命令
《传感技术学报》期刊征订
新型无酶便携式传感平台 两秒内测出果蔬农药残留
只听主人的命令
IPv6与ZigBee无线传感网互联网关的研究
信号系统网关设备的优化
移防命令下达后
基于ETC在线支付网关的停车场收费系统设计
这是人民的命令
应对气候变化需要打通“网关”
某型Fabry-Perot光纤应变计的传感特性试验