基于Linux系统的4G—WSN无线网关的设计
2015-04-28贺政赵小龙
贺政 赵小龙
【摘 要】本文介绍了一种基于嵌入式Linux操作系统和4G通信技术的无线网关。网关实现无线传感器网络通信、串口通信、4G移动通信以及自身与数据采集节点的无线通信,实现无线传感器网络到4G网络的协议转换。硬件上可根据实际需要搭配多种不同频率的无线通信模块、4G模块;软件上采用嵌入式Linux操作系统。测试表明,该网关具有实时传输能力强、丢包率低、硬件模块可变、二次开发方便、通用性强等特点。
【关键词】4G;无线传感网;网关;Linux
0 引言
近年来,随着物联网技术的不断融合与发展,高速率和低功耗已经成为必然趋势,而网关作为连结异构网络的中枢,更高更快的传输速度和无线传感网节点的低功耗方案无疑具有极大的研究价值。
作为“高速率、高带宽”的代表,第四代移动通信技术已经越来越多的融入我们的生活。相较于早在2000年便已诞生的3G技术标准,4G有着不可比拟的优越性,更快的通信速率、更宽的网络频谱、更丰富的通信内容,这都使得4G具有更高的使用体验和实际意义[1]。
WSN是由一组传感器节点以自组织的方式构成的有线或无线网络,其目的是协作地感知、采集和处理网络覆盖的地理区域中感知对象的信息,并发布给观察者。WSN节点主要由数据采集单元、数据处理单元、无线数据收发单元以及小型电池单元组成,通常尺寸很小,具有低成本、低功耗、多功能等特点,借助于节点中内置传感器有效探测所处区域的温度、湿度、光强度、压力等环境参数以及待测对象的电压、电流等物理参数,并通过无线网络将探测信息传送到数据汇聚中心进行处理、分析和转发[2]。
基于以上考虑,本文设计一种基于物联网的4G无线网关,实现传感器网络数据的4G传输,对于推动物联网发展和4G网络的普及使用具有较大的实际意义。
1 异构网络融合机理
本文针对无线传感器网络,结合当前主流推广的4G移动通信技术提出了一种自行设计实现的能适应不同场合的通用型无线传感网网关,网关可收集并处理附近节点的数据信息,且同时支持4种常用频段的无线射频节点,频率包括433MHz、470MHz、780MHz和2.4GHz,具体可根据不同实际情况选择所需要的射频模块。网关采用上行传输方式为4G通信网络,采用中兴公司生产的ME3760V2C模块,支持TD-LTE和TD-SCDMA等多种制式。
图1 4G网关拓扑结构图
网关基本工作流程:
本文采用4G接入方式,对4G-WSN网关的硬件进行设计,在此基础上实现其数据通信和协议转换的功能。4G无线网关通过实时感知来自传感器网络的信息,无线接入模块作为连结网关控制单元和无线传感器网络的枢纽,处理之后传输到嵌入式微处理器的存储器中,再通过4G无线通信模块将数据打包成IP报,经移动通信网络传输到上位机系统,上位机接收到数据之后,就可以在上位机界面中进行显示和处理。同时,服务器可以检测到客户端发送的控制流,将控制信息通过无线数据采集节点传达至传感器网络目标节点,实现对传感器网络的远程控制。
2 硬件平台设计
网关总体硬件设计如图2所示:
图2 网关总体设计结构图
2.1 ARM9控制模块
网关的主控单元采用三星公司的一款基于ARM9内核16/32位精简指令集(RISC)32位微处理器S3C2440A芯片,负责节点数据采集和数据转发等功能,是网关体系结构的核心。具体采用杨创科技utu2440-F-V4.5核心板,该核心板基于linux2.6内核,采用6层板工艺,具有极佳的电气性能和抗干扰性能。实现了MMU、AMBA总线和哈弗高速缓冲体系结构,其主频高达400MHz。外扩了64 MB的NAND FLASH、64 MB 的SDRAM 以及4 MB 的DataFLASH。内部集成丰富的外设资源,3通道基于DMA或基于中断运行的UART、SPI接口、2个USB接口、强大的中断控制器(1个看门狗、5个定时器、24个外部中断等60个中断源)等。
综上,该控制器模块具备较强的数据处理能力和丰富的外设资源,支持Linux操作系统,可以满足方案的设计目标。
2.2 无线接入模块
无线接入模块在WSN网络中充当协调器角色,实现与WSN子网通信。本文中采用433MHz频段的通信模块。
本文中433MHz和其他频段射频模块设计采用的是主控制器加射频芯片模式,主控制器与射频电路同时设计在射频模块电路板上,便于调试、携带。该模块自带微控制器MSP430,采用CC1101射频芯片,该芯片是Chipcon公司最新的高性能无线通信芯片,主控与射频芯片通过SPI连接。整个模块可直接插在网关硬件电路板上。所以,硬件上,可根据需要更换所需频率的模块,比如常见的433 MHz,470 MHz,780 MHz以及2.4 GHz;软件上,独立于网关的其他部分,仅需考虑与网关周围数据采集节点的通信,所以一次开发时可分工、二次开发也很方便。
2.3 4G通信模块
本设计采用中兴公司生产的ME3760_V2C公网模块。ME3760_V2C公网模块是一款基于Mini PCI Express接口的多模无线上网模块,可以应用于但不限于笔记本内置上网卡、车载设备功能实现等。ME3760_V2C公网模块支持TD-LTE /TD-SCDMA,TD-LTE支持Band38,Band39,Band40, TD-SCDMA支持A,F频段模式,GSM Band2,Band3,Band8。可以提供移动环境下的(TD-LTE网络与TD-SCDMA网络、GSM网络)高速数据接入服务,可实现下行最高150Mbps和上行最高50Mbps的传输速率。本设计通过ARM9核心板提供的一组USB线实现4G模块与核心板的连接。具体规格参数如下表所示:
表1 ME3760V2C硬件规格
3 软件系统设计
网关软件系统的实现是实现整体功能的关键部分。由于linux操作系统具有开放性和可移植性,本设计选用的扬创S3C2440A采用linux-2.6.24内核。软件系统的设计主要包括TD-LTE模块驱动的调试和移植、ME3760拨号脚本配置以及UDHCPC移植。
3.1 TD-LTE模块驱动
3.1.1 内核修改
解压内核源码,本例中用杨创ARM9开发板提供内核源码-2.6.24进行修改[3]。
文件:/linux-2.6.24/drivers/usb/serial/usb-serial.c 找到usb_serial_ probe函数,在函数中找到如下行: lock_kernel(); /* guard against unloading a serial driver module */ 在其下添加如下内容: if ((le16_to_cpu(dev->descriptor.idVendor) == 0x19d2) &&(le16_to_cpu(dev->descriptor.idProduct) == 0x0199))
{if(1==interface->cur_altsetting->desc.bInterfaceNumber)
{ unlock_kernel();return -ENODEV; } }
本函数用来完成linux内核对ME3760模块的支持以及对该模块生成虚拟扩展ttyUSB口。
对文件:/linux-2.6.24/drivers/net/usb/Makefile 进行修改,obj-$(CONFIG_USB_USBNET) += usbnet.o 在其下添加内容:obj-m += cdc_encap.o,生成cdc_encap.ko驱动文件。
3.1.2 编译内核
进入内核目录,执行make menuconfig
依次进入device drivers--->usb support--->usb serial converter support 将如下组件作为模块进行编译:
USB driver for GSM and CDMA modems
依次进入 device drivers--->Network device support--->usb Network Adapters 将如下组件作为模块进行编译:
Mutil-purpose USB Networking Framework
重新编译并安装内核
3.2 ME3760拨号脚本配置以及UDHCPC移植
本节采用配置linux内核,使能DHCP相关选项,通过配置busybox,在嵌入式操作系统下利用udhcpc指令使得模块被识别之后扩展出来的虚拟网络接口与TD-LTE模块网络连接建立桥接,获取IP地址,以实现上网的目的[4]。
3.2.1 ME3760拨号脚本书写
#!/bin/sh
cat /dev/ttyUSB0 & 打开虚拟串口ttyUSB0
echo at>ttyUSB0; 输入AT指令到虚拟串口ttyUSB0,该指令为常规指令,返回值为OK。
echo at+cfun=1>/dev/ttyUSB0; 该指令为模块使能指令,使模块全功能运行。
echo at+cgact=1,1>/dev/ttyUSB0; 获取网络连接usb0的IP地址。
echo at+zgact=1,1>/dev/ttyUSB0; 建立数据链路。
3.2.2 UDHCPC移植
编译安装busybox,将安装文件拷至根文件系统目录,运行udhcpc即可动态获取IP。关于busybox的源文件以及具体用法,可从互联网上自行了解。
至此,给核心板烧入重新编译的内核之后,待网关启动完毕,模块顺利联网之后,输入指令:udhcpc –i usb0 即可通过DHCP获取动态IP,实现桥接。
3.3 软件设计方案
操作系统和接口驱动移植完毕,设计软件方案来实现4G网关的具体功能。4G模块上电之后首先通过脚本建立网络连接,然后应用程序通过指令建立与4G网络的连接,通过串口监听子网接入点的数据。协调器接收子网中各个无线传感器节点的数据报文,经过解析处理,系统将得到的数据通过桥接的4G网络发送到上位机,实现监控[5]。应用程序流程图如下所示:
图3 4G网关软件工作流程图
4 转发丢包率测试
转发丢包率是衡量网关性能的一个重要指标,测试采用433MHz频段射频节点对4G网关进行丢包率测试,并通过网络调试助手汇总4G模块转发的数据,在LTE制式下测试三组,统计丢包率结果[6],具体见下表所示:
表2 LTE制式下转发测试结果
由表2可知,丢包率在0.07%左右,低于CCSA标准规定最大丢包率1‰,符合标准。
5 结语
本文将目前最先进的4G移动通信技术与无线传感器技术、嵌入式操作系统结合起来,设计了一种面向工业物联网的精简型无线网关。硬件上支持所有mini PCI-E接口的无线模块,包括TD-LTE制式和FDD-LTE制式,并同时支持4种常用频段的无线传感器节点,包括433MHz、470MHz、780MHz和2.4GHz,实现了多频段数据接收,同时可以根据需要重新配置内核以及无线模块,提高了网关的通用性。测试表明,本网关具有传输速度快、实时传输质量稳定、丢包率低等优点,具有较高的实际应用价值。
【参考文献】
[1]刘巧平,董军堂.浅析4G移动通信技术[J].电子测试,2014,05:88-90.
[2]孙利民,李建中,陈渝,等.无线传感器网络[M].北京:清华大学出版社,2005.
[3]张毅,马子超,叶天翔.面向物联网的嵌入式3G网关设计[J].(下转第92页)(上接第6页)电视技术,2012,36(6):40-43.
[4]韦东山.嵌入式Linux开发完全手册[M].北京:人民邮电出版社,2008.
[5]李振伟,张星,汪磊,等.一种基于ARM9 的无线传感网网关的设计[J].现代电子技术,2013,36(9):1-4.
[6]王志超,刘波,花於锋.基于移动4G与ZigBee无线传感网的网关设计[J].计算机测量与控制,2014,22(3):863-865.
[7]陈琦,等.基于ZigBee/GPRS物联网网关系统的设计与实现[J].计算机研究与发展,2011(S2):367-372.
[8]徐凤亮,王凤林,王宜怀,等.基于无线传感器网络的3G的监控系统的研究与应用[J].测控技术,2013,32(8).
[责任编辑:汤静]