面向移动终端的蓝牙网关设计与实现

2012-06-25 07:02叶天翔马子超
电视技术 2012年5期
关键词:网关串口蓝牙

张 毅,叶天翔,马子超

(重庆邮电大学通信学院,重庆 400065)

在近距离无线通信技术中,ZigBee和蓝牙的应用极为广泛。ZigBee所具有的近距离、低复杂度、自组织、低功耗、低数据速率和低成本的特点,使其广泛应用于工业监控、传感器网络、家庭监控和安全系统等无线领域[1-2]。然而,ZigBee传感网络的监控软件大多依赖于PC机的存在,不能满足人们所预期的实时监控要求。而现有的Zig-Bee手持设备价格昂贵、功能简单、体积偏大,携带起来也不方便。

智能手机的出现重新定义了手机的概念。它不仅满足了人们日常通信的需求,并且具有独立的操作系统,像个人电脑一样支持用户自行安装软件、游戏等第三方服务商提供的程序,并通过此类程序不断对手机的功能进行扩充,同时可通过移动通信网络来实现无线网络接入。在硬件方面,智能手机的核心处理器不断升级,已经远远满足了手持设备的硬件需求。因此,可以设想在某些近距离通信场合(家庭、车间、楼道等),设计一种支持蓝牙与Zig-Bee相互通信的网关,实现手机对ZigBee设备的检测和控制。

1 系统结构和理论分析

1.1 系统结构

整个系统由智能手机、蓝牙网关和ZigBee设备组成。ZigBee设备集成了传感器、微处理器和数据传输接口,分别负责数据的采集、处理、接收和传输。蓝牙网关负责对每个节点设备的管理,接收节点发来的数据信息,并对这些信息进行解析,然后将转换后的信息发送至手机。智能手机将蓝牙网关传送来的数据进行解析和存储,并在手机屏幕上显示。同样,手机也可以通过蓝牙网关的连接向ZigBee设备发送控制指令,实现手机对ZigBee设备状态的监控,其结构如图1所示。

图1 蓝牙网关系统结构图

1.2 蓝牙网关实现可行性

蓝牙与ZigBee同属于2.4 GHz频段,需要考虑如何处理同在有效传输范围内的无线设备之间的相互干扰。

蓝牙协议自带调节性跳频技术,它具有79个相互独立且随机选择的有效通信频率,蓝牙设备可以使用其中的任意一个频率,它可以随时有规律地跳向另一个频率。由于频率之间的跳变每秒钟会产生1600次,即使处于同一频段,其持续的时间也不会超过千分之一秒。因此,调节性调频技术可以将外界设备对蓝牙设备的干扰降低到最低[3]。

ZigBee系统是非跳频系统,所以蓝牙在79次通信中才有1次机会和ZigBee的通信频率产生重叠,且将会迅速跳至另一个频率。因此,蓝牙不会对ZigBee产生严重威胁,而ZigBee对蓝牙系统的影响可以忽略不计。另一方面,IEEE 802.15.4标准中提供了很多机制来保证Zig-Bee在2.4 GHz频段和其他无线技术标准的共存能力。

因此,两种无线协议可以在2.4 GHz频段共存。

2 系统设计

2.1 蓝牙网关硬件设计

蓝牙网关由蓝牙模块与ZigBee模块组成。其连接图如图2所示。

图2 蓝牙网关的设计图

蓝牙模块采用CSR公司的BC417143B芯片,它采用蓝牙2.0协议标准,支持微微网,带有一路USB接口和两路串口,采用BGA封装,能够与手机建立通信,有效传输距离为10 m,数据传输速率最大值为3 Mbit/s[4]。

ZigBee模块采用德州仪器推出的CC2530芯片。它具有如下主要特性[5]:自带8051处理器内核;支持IEEE 802.15.4协议规范;具有强大的抗干扰性能,天线接收灵敏度高;采用3种电源模式,功耗更低;具有8通道14位模/数转换的ADC;支持AES加密;采用QFN封装,便于焊接;自带两路RS-232串口、1个16位计数器和2个8位计数器。

2.2 蓝牙网关软件设计

蓝牙网关的软件结构主要包括ZigBee传感器网络的初始化、蓝牙传感器网络的初始化、数据传输3个部分。

ZigBee传感器网络的初始化包括ZigBee系统时钟、堆栈、LED、按键、Flash、硬件模块、MAC层、应用框架层、操作系统等初始化。

蓝牙传感器网络的初始化是通过串口向蓝牙模块发送AT指令实现的。其中包括设置蓝牙模块的工作角色、获取模块蓝牙地址、设置配对密码、设置串口参数、初始化SPP规范库、进入节能模式等。

手机与蓝牙网关绑定地址后,进行一对一的数据传输。在网关管理层中,蓝牙网关将来自手机的数据进行解析,根据节点类型获取ZigBee节点的短地址。然后通过单播的方式向对应的节点发送控制信息。节点收到指令后,对数据进行解析,获取功能指令和操作类型,再产生相应的操作,实现手机对ZigBee节点的操控。同样的,该信息的传递也是可逆的,ZigBee设备可以将节点的传感器信息通过蓝牙网关上传到手机,实现手机对ZigBee设备的监测。蓝牙/ZigBee协议的模型如图3所示。网关管理层负责两种协议的转换。

图3 蓝牙/ZigBee协议的模型

2.3 移动终端软件设计

这里采用Windows Mobile操作系统的智能手机作为监控端,它界面类似于PC上的Windows,便于熟悉电脑的人操作。手机端的软件开发工具为Microsoft Visual Studio,它具有丰富的插件,可以提高开发人员的工作效率。

软件在架构上分为蓝牙虚拟串口驱动、数据解析与存储、界面功能实现。其软件结构如图4所示。

图4 手机监控端应用软件结构图

串口的驱动是通过构造一个serialPort类来实现的。serialPort的构造函数中首先以读写的方式打开串口,用一个用于控制以及配置串口通信设备的数据结构来进行串口配置。其中,包括串口的串口号、波特率、数据位、校验位、停止位的配置。串口读和写是通过serialPort.Read-Byte()和serialPort.Write()函数来实现的。

根据节点的类型、编号、功能指令的不同,将信息分类,然后将解析后的传感器数据进行存储。最后,在手机屏幕上显示数据。

根据功能的需求,在应用层添加功能函数,实现手机对ZigBee节点的控制。

3 通信协议

根据ZigBee节点的类型、编号、功能指令、操作类型等参数,定义相应的数据包格式。在智能终端和ZigBee节点通信时,按照统一的指令传输数据。通信协议指令包格式如表1所示。

表1 通信协议指令包格式 byte

4 系统测试

运用上述方案完成蓝牙网关的设计,并对该设计进行了测试。

首先,将移动终端与蓝牙网关建立连接。然后,通过手机对相应的ZigBee节点发送控制指令。最后,对手机端接收的信息进行实时解析,并在手机上显示ZigBee节点当前的状态。测试结果如图5所示。

图5 手机端监控界面

测试表明,经过蓝牙网关的转换,可以实现手机对ZigBee设备的控制和检测。经过后期功能的丰富和完善,可以实现智能手机对ZigBee手持设备的替换。

5 小结

现代家庭中,各式各样的遥控器琳琅满目,而且每家拥有的遥控器数量越来越多,造成了使用上的不便。用手机替代现有控制器是一种很好地解决办法,不仅给人们带来诸多的便捷,而且避免了闲置和丢弃的遥控器产生的大量电子垃圾。

本文设计的蓝牙网关实现了蓝牙与ZigBee信息的转换,向移动终端添加了ZigBee手持设备的功能。不仅节省了ZigBee手持设备开发的成本,而且使人们对ZigBee节点的监控更加方便。同时,也证明了在近距离无线通信领域,ZigBee和蓝牙不是相互竞争,而是互相补充,可以利用其在各自应用领域的优点,将二者更好地结合,扩展应用方案。

[1]高守玮,吴灿阳.ZigBee技术实践教程[M].北京:北京航空航天大学出版社,2009.

[2]王锐华,于全.浅析 ZigBee技术[J].电视技术,2004,28(6):33-35.

[3]金纯,林金朝,万宝红.蓝牙协议及其源代码分析[M].北京:国防工业出版社,2006.

[4]BC417143B Data Sheet[EB/OL].[2011-02-22].http://www.datasheetarchive.com/pdf.

[5]CC2530 Data Sheet[EB/OL].[2011-02-22].http://www.ti.com/lit/ds/symlink/cc2530.pdf.

猜你喜欢
网关串口蓝牙
蓝牙音箱的直线之美
浅谈AB PLC串口跟RFID传感器的通讯应用
信号系统网关设备的优化
简单、易用,可玩性强Q AcousticsBT3蓝牙音箱
适合自己的才是最好的 德生(TECSUN) BT-50蓝牙耳机放大器
紧急:蓝牙指尖陀螺自燃!安全隐患频出
数字电源内部数据传输的串口通信方法实现
USB接口的多串口数据并行接收方法探索
基于蓝牙串口适配器的GPS接收机与AutoCAD的实时无线通信
LTE Small Cell网关及虚拟网关技术研究