具有多种通信方式的无线传感器网络网关
本文关键词:具有多种通信方式的无线传感器网络网关,,由笔耕文化传播整理发布。
第 21 卷 第 1 期 2008 年 1 月
传 感 技 术 学 报
CHINESE JOURNAL OF SENSORS AND ACTUAT ORS
Vol. 21 No. 1 JAN. 2008
Wireless Sensor Networks Gateway with Multi Communi
cation Methods*
CA I H ao 1 , FE NG R en j i an 2 , WA N J i ang w en 2*
1. S chool of A ut omat ion , B eij in g Univ e rsi ty of P ost s and T el ec ommuni cat ions, B eij ing 100876, Chi na; 2. S chool of I nstr ument S ci ence & Op t o E lec tr oni cs Eng inee ri ng , Bei hang Uni v ersi t y , B eij in g 100083, China
Abstract: For t he Wireless Sensor Netw o rks ( WSN s) , gat ew ay equipment connecting w it h ot her netw or ks is needed t o r ealize t he long dist ance t ransm ission of t he inf orm at ion f rom the sink nodes. T he g at ew ay w it h only sing le com municat ion met hod is dif ficult t o accomm odat e t he pract ical applicat ions. T heref ore, a WSNs g atew ay by w hich dat a can be t ransmit ted w it h Et hernet , PST N and GPRS co mmunication met hods is designed and implement ed. T he S3C44B0X M CU of ARM 7 series and Clinux embedded oper at ing sys t em are used t o const ruct t he g atew ay. M eanw hile, mult ithreading t echnolog y is ut ilized t o manag e the parallel comm unicat ion. Key words: wireless sensor netw o rks; gat ew ay; mult ithreading; co mmunication m et hod EEACC: 6150P
具有多种通信方式的无线传感器网络网关*
蔡 皓1 , 冯仁剑2 , 万江文2*
1. 北京邮电大学自动化学院, 北京 100876; 2. 北京航空航天大学仪器科学 与光电工程学院, 北京 100083
摘 要: 无线传感器网络中汇聚节点获取 的信息需要利用网关 设备与 外部网络 进行连 接以实 现远距 离传输, 单一 通信方 式
的网关常常不能适应实际应用。为此, 设计并实现了一 种可以通过以太网、 共电话网以 及 G PRS 网 络等多种 方式进行数 据 公 转发的无线传感器网络网关。网关基于 A RM 7 系列的 S3C44B0X 微控制器和 Clinux 嵌入式操作系统, 运用多 线程技术控制 各通信方式并行执行。
关键词: 无线传感器网络; 网关; 多线程; 通信方式 中图分类号: TP39 文献标识码: A 文章编号: 1004 1699( 2008) 01 0169 05 通过有线方式( 串口或 U SB 电缆) 与 PC 相连, 后者 完成数据的读取、 转换、 显示、 转发等工作。其中, 转 发功能是 PC 利用网卡接入外部网络来实现的。这 种工作方式成本高, 开销大, 实际应用时易受到工作 环境的限制[ 2] 。例如在恶劣或战场环境中, 感知区 域难以接近时, 将汇聚节点与 PC 相结合作为外部 网络接入设备具有较大难度 [ 3] 。一个行之有效的解 决方法是配置体积小、 功耗和成本较低且可以灵活 部署的 WSNs 网关, 由网关处理所获取的信息并进 行转发工作。 目前, 国内外已有关于 WSNs 信息进行远距离
无线传感器网络( Wireless Sensor Netw o rks, WSNs) 由部署在监测区域内大量的低成本 微型传 感器节点组成, 节点间通过无线、 多跳通信方式形成 一个自组织网络系统。在 WSNs 中, 传感器节点协 作地采集和处理网络覆盖区域中感知对象的信息并 通过汇聚节点( sink nodes) 发送给观察者。通过传 感器网络可以直接感知客观世界, 从而极大地扩展 了现有网络的功能和人类认识世界的能力[ 1] 。 及时获取感知区域内的信息并进行处理、 转发 等操作是无线传感器网络应用中的关键问题之一。 一般情况下, 汇聚节点接收传感器节点发送的数据,
基金项目: 国家高技术研究发展计划( 863 计划) 专项经费资助( 2006AA 01Z222) 收稿日期: 2007 07 28 修改日期: 2007 09 10
170
传
感
技
术
学
报
2008 年
传输的研究报道。美国的 Crossbow 公司曾推出具 有以太网通信功能的汇聚节点产品并得到应用。哈 佛大学的科研人员在位于厄瓜多尔境内的唐古拉瓦 火山( Volcan T ungurahua) 附近部署了小范围的无 线传感器网络, 采集次声波信号并传送至汇聚节点, 通过接入无线 M ODEM 将数据转发到 9 公里外火 山监测站的一台 PC 上 [ 4] 。国内一些大学和科研机 构也提出了有关解决方案, 比较典型的是基于有线 通信方式的以太网和无线通信方式的 GPRS
[ 6] [ 5]
离传输, 传输方式包括以太网、 移动通信网( GPRS) 和公共电话网( P ST N) , 同时, 还可以封装成短消息 发送至移动终端用户。 网 关 设 计 在 硬 件 上 选 取 ARM 7 系 列 的 S3C44B0X 芯片为中央处理器, 外围电路主要包括 存储器系统、 串行通信接口、 以太网接口、 时钟系统 和其他电路系统。其中, 在设计串行通信接口电路 时, 除了使用 CP U 自带 2 通道 U ART ( 通用异步收 发器) 外, 还利用 EXAR 公司生产的异步通信芯片 ST 16C554 扩展出两个串口, 分别连接 汇聚节点和 GPRS 模块。在有线通信方式中, 串行接口具有连 接线少, 简单可靠且成本低廉等优点, 所以在网关上 扩展串口为其他串行设备的接入提供了便利条件。 网关在软件上采用 Clinux 操作系统控制和管理各 种资源, 在开源的嵌入式操作系统中, Clinux 性能 稳定, 移植性好, 具有优秀的网络能力且支持多种文 件系统 , 对于网关多通信方式的开发, Clinux 具 有更大的优势。根据网 关的硬件电路 设计进行制 板、 焊接、 调试等工作, 网关内部结构如图 2 所示, 实 物图如图 3 所示。
[ 7]
、 CD
M A 等 WSN s 网关。在这些单一通信方式的网关 中, 以太网通信稳定可靠, 但需要具备相应的接入条 件, 这在许多应用情况下难以实现; 无线通信移动性 能良好, 但易受到网络覆盖面及资费问题困扰。为 了解决上述问题, 可在网关上实现包括有线和无线 的多种通信方式, 在实际应用时, 根据 WSNs 部署 区域的境况自主选择所需要的通信方式, 或者在条 件允许的情况下同时使用。具有多种通信方式的网 关不仅能够实现外部网络的接入, 完成 WSN s 数据 的转发, 同时还可以适应 WSNs 部署的灵活性。 本文在上述思路的基础上, 设计完成一种具有 汇聚节点功能的 WSN s 网关, 并通过集成以太网、 MODEM 以及 GPRS 多种通信方式, 搭建起 WSNs 与外部网络进行数据通信的桥梁。运用嵌入式操作 系统 Clinux 的多线程机制控制各通信软件并行执 行, 提高了系统运行效率。网关设计灵活可靠并具 有可扩展性, 为实现更多途径的网络接入方案提供 了有价值的方法参考。
1
系统组成及工作原理
网关的功能包括两个方面: 一是通过汇聚节点
图 2 网关内部结构示意图
获取 WSNs 的信息并进行转换, 二是利用外部网络 进行数据转发, 系统总体结构如图 1 所示。
图 3 网关实物图
实物图的上方为网关主电路板, 下方为汇聚节
图1 系统结构示意图
点( 左) 和 GPRS 模块电路( 右) , 分别利用 51 针连接 器和两排 8 针连接器与主电路板连接。两排 8 针连 接器提供标 准的 电源信 号( 5V 和 3. 3V ) 、 信号 地 ( GND) 以及串行通信信号( RXD 和 T XD) 。这种设 计思路主要是 考虑到在网关上实现其 他通信方式 时, 无需重新设计主电路板, 任何支持串行通信的设 备都可以使用引出的标准信号, 例如 CDM A、 等 3G
传感器节点采集感知区域内的数据, 进行简单 的处理后发送至汇聚节点; 网关利用串行方式读取 数据并转换成用户可知的信息, 如传感器节点部署 区域内的温度、 湿度、 加速度、 坐标等; 接着进行远距
第1期
蔡
皓, 冯仁剑等: 具有多种通信方式的无线传感器网络网关
171
无线通信模块。只需设计模块的外围电路板, 正确 连接这些标准信号即可。
read( ) 函数读取该请求并调用 w rit e( ) 函数转发封 装好的信息。 在客户机端: 远程 P C 调用一个 socket ( ) 函数, 建立一个 socket ( 套接字) , 指定 T CP 及相关协议; 调用 connect ( ) 函数将本地端口号和地址信息传送 至网关, 请求建立连接; 之后通过 w rit e( ) 函数进行 服务请求的发 送, 通 过 read ( ) 函数 进行响应 的接 收, 读取网关发送的信息。 2. 2. 2 MODEM 通信方式设计 M ODEM 通 信 方 式 主要 是 利 用 公 共电 话 网 ( P ST N) 作为数据传输载体, 与 socket 通信逻辑过 程大体相似, 只是 M ODEM 通信方式的请求过程有 所差别。W SNs 网关与 远程终端通 过 PST N 进行 通信的流程设计如图 4 所示( 以网关作为被叫方为 例, 主叫方程序流程与此类似, 只是监听改为拨号) :
2
网关多通信方式设计与实现
无线传感器网络与外部网络进行数据通信的过
程中, 网关处于承上启下的地位, 是数据传输的中枢 节点。因此, 网关通信软件的设计至关重要, 也是本 论文的一大技术难点。将通信软件列为两个分别开 发的模块, 即: * 网关与汇聚节点通信模块 * 网关与外部网络通信模块 2. 1 网关与汇聚节点间的通信 网关与汇聚节点间的通信主要是读取汇聚节点 数据 的 过 程, 一 般 采 取 串 行 通 信 方 式。 由 于 Cl inux 实现了串口驱动程序, 因此可以通过打开、 读写对应的设备文件来完成对串口的操作。串口等 设备 在 Linux 系 统 中 通 常 对 应 于/ dev/ t t yS0、 tt y S1、ty S2 t 编程 时调 用相 应的 open ( ) 、 read ( ) 、 rit e( ) 等函数。关于串口的属性参数设置可参 w 考 POSIX 操作系统的串行编程指南。在前文中提 到利用异步通信芯片 ST 16C554 获得两个新的串口 设备对应/ dev/ t t yS2 和 t ty S3, 其中网关与汇聚节点 连接使用/ dev/ t t yS3。 在设计网关与汇聚节点之间的串口通 信程序 时, 首先需要了解数据包的格式, 长度, 以及每个字 节所代表的意义。其次, 打开串口/ dev/ tt y S3 并设 置属性: 波特率为 57600, 8 个数据位, 1 个停止位, 无校验。最后, 调用 r ead( ) 函数进行数据的读取与 存储。数据包读取完成后, 调用相应的转换函数将 这些原始数据解析为用户可知的信息, 例如温度、 光 强、 电池电压值等存储在发送缓冲区内。 2. 2 网关与外部网络通信 网关与外部网络的通信主要 是指将 WSNs 的 数据完成转换后进行转发的过程, 可以灵活选择以 太网、 MODEM 以及 GPRS 通信方式。本文针对每 种方式开发了独立的通信软件。 2. 2. 1 以太网通信方式设计 利用 socket 机制设计以太网通信软件, 考虑到 对数据传输的 可靠性 要求 较高, 采用 面向 连接 的 T CP 客户机- 服务器模型。 在服务器端: 网关调用 socket ( ) 函数, 建立一个 socket ( 套接字) , 指定 T CP 及相关协议; 之 后将本 地创建的 socket 地址( 包括主 机地址和端口号) 与 所创建的套接字绑定; 在该端口号上进行监听, 调用 accept( ) 函数接受远 程 PC 发 来的连接 请求; 通 过
图 4 M O DEM 监听流程
考虑到 WSNs 网关是不间断运转的, 每次通信 结束( 或线路中断) 后, 要求 M ODEM 具有自主复位 功能, 因此在软件设计过 程中, M ODEM 挂机操作 ( AT H 0) 之 后, 由程 序发 送 AT Z 命 令, 人 为 控制 M ODEM 复位, 恢复到初始加电状态待命。 打开用于 M ODEM 通信的串口( / dev/ t t yS1) , 进行波特率、 数据位、 校验方式等属性设置, 接着在 网关上监听串口是否有 M ODEM 的 CONNECT 响 应, 如果没有, 则继续监听; 如果监听到 CONNECT 响应, 说明远程 PC 有 M ODEM 连接请求, 并且已 经建立连接, 可以发送数据。每发送一次数据, 则检 查是否有 MODEM 响应返回, 若有响应返回, 判断 是否为 NO CARRIER! 信号, 如 果是, 说 明 M O DEM 通信断线或者是远程 PC 挂机, 则停止发送数 据, 继续监听。 2. 2. 3 GPRS 通信方式设计 在网关的 GPRS 通信方式设计中, 利用 SIM
172
传
感
技
术
学
报
2008 年
COM 公司生产的 SIM 100 模块实现移动通 信网络 的接入。SIM 100 是一款 GSM / GPRS 双频模块, 主 要为语音传输、 短消息和数据业务提供无线接口, 它 集成了完整的 射频电路和 GSM 的基带处理器, 适 合于开发一些 GSM / GPRS 的无线应用产品, 应用 范围十分广泛。 SIM100 模块提供标准 的 RS232 串行接口, 可 以通过串口使用 AT 指令 完成对模块的操 作。由 于在实 际应 用 中, 网 关并 不 需要 语 音、 真 等功 传 能, 故在设计电路时将其略去, 节省成本与硬件空 间。网 关 使 用串 口 dev/ tt yS2 与 SIM100 模块 通 信, 同样利用如前所述的 Clinux 串口编程来设计 短消息发送和数据传输程 序。程序 设计流程如图 5、 所示: 6
网关与汇聚节点通信线程是应用软件设计的基 础和关键, 也是整个系统的数据源, 故将其设计为主 线程, 在初始化之后第一个调用, 其他线程的开发都 有赖于本线程的实现。以太网通信线程、 MODEM 通信线程、 GPRS 通信线程以及短消息发送线程的 设计主要是添加对应的通信软件。在 Linux 下进行 多线程编程时充分利用了互斥机制, 为了避免不同 的线程同时对数据进行操作, 提供了互斥锁来保证 一段时间内只有一个线程在执行某段代码, 避免程 序运行出现异常。 在应用软件的开发过程中, 考虑到汇聚节点数 据的读取、 存储以及利用多通信方式转发的过程中 必然涉及到多任务的互斥和同步, 利用多线程机制 来处理此类情况简单易行, 不仅改善了程序的结构, 还提高了系统运行的效率。
4
结语
本文在现有 WSNs 网关 的通信方式上 进行扩
充, 将有线与无线方式相结合, 设计了一种 具有汇 聚节点功能的多通信方式 WSNs 网关。在实际应 用中, 成功实 现了无 线传感 器网络 与外 部网络 的 互联, 数据传输稳定可 靠。网关具 有体积小、 成本 低、 运行效率 高等优 点, 同时, 还为 其他 通信方 式 的扩展预留了接口, 体 现了设计的灵活性。例如, 网关还可 以接入 CDM A 模块利 用 CDM A 网 络进
图5 短消息功能流程 图6 数据传输功能流程
行无线数 据传输。随着 3G 时 代的到来 以及 工业 级 3G 模块产品的推出, 实现 WSN s 与 3G 网络的 互联也指日可待。 参考文献:
[ 1] [ 2] [ 3] 李建中, 李金宝, 石胜飞. 传 感器网络 及其数据 管理的概 念、 问题与进展[ J] . 软件学报, 2003, 14( 10) : 1717 1727. 霍宏伟, 牛延超, 郜帅 等. 一种 IPv6 无线 传感器网络以太 网 接入网关的设计[ J] . 传感技术学报, 2007, 20( 2) : 398 403. 段渭军, 何戟, 张倩. 无线 传感器网 络移动 S ink 网 关系统 的 设计与实现[ J] . 计算机应用研究, 2007, 24( 3) : 241 243. [ 4] Werner A l len G , Johnson J, Ru iz M , etc al. M onit oring V ol canic Erupt ions w it h a W irel ess S ens or N etw ork [ C ] / / Pro ceedings of t he Second Eur op ean Work shop on Wireless S ens or N et w orks , Ist anbul, T urkey, 2005, 1: 108 120. [ 5] [ 6] [ 7] 匡兴红, 邵惠鹤. 无线传感器网络网关研究[ J ] . 计算机工 程, 2007, 33( 6) : 228 230. 欧杰峰, 刘兴华. 基于 CDM A 模 块的无线传感器 网络网关 的 实现[ J] . 计算机工程, 2007, 33( 1) : 115 116. 郭玉辉, 王彦瑜, 乔卫民. 并行设备总线嵌入式控制系统设计 [ J] . 计算机工程, 2007, 33( 2) : 223 224.
3
应用软件设计
在进行网关应用软件总体设计时, 为了提高系
统的运行效率, 利用 Clinux 对多线程机制的支持, 将网关的应用软件划分为 5 个并行的线程实现。分 别为: 网关- 汇聚节点通信线程、 以太网通信线程、 MODEM 通信线程、 RS 通信线程、 GP 短消息发送线 程。应用软件在 L inux 下使用 C 语言开发, 总体设 计框架如图 7 所示:
图 7 应用软件设计框架
第1期
蔡
蔡
皓, 冯仁剑等: 具有多种通信方式的无线传感器网络网关
173
皓( 1983 ) , 男, 北京 邮电 大学 硕士
万江文( 1963 ) , 男, 北 京航 空航 天大 学 教 授, 博士 生导 师, 北京 邮电 大学 兼 职 教授, 研究 方 向为 传感 技 术及 其系 统, jww an@ buaa. edu. cn
研究生, 研究方向 为传感 系统与网 络仪 器, senso ry @ buaa. edu. cn;
冯仁剑( 1976 ) , 男, 北京 航空 航天 大学 副教授, 博士, 硕士生 导师, 研究方 向为 传感技术及其系统;
本文关键词:具有多种通信方式的无线传感器网络网关,由笔耕文化传播整理发布。
本文编号:106797
本文链接:https://www.wllwen.com/kejilunwen/wltx/106797.html