ZigBee无线通讯聊天室的设计与实现
2014-07-12张海涛廖经文纪春龙袁沛华刘华珠
张海涛 廖经文 纪春龙 袁沛华 刘华珠
(东莞理工学院 电子工程学院,广东东莞 523808)
ZigBee无线通讯聊天室的设计与实现
张海涛 廖经文 纪春龙 袁沛华 刘华珠
(东莞理工学院 电子工程学院,广东东莞 523808)
由上位机串口通信程序控制电脑串口发送数据,经适配板和ZigBee模块无线传输至另一个ZigBee模块和适配板,通过电脑串口接收数据,并通过电脑界面显示数据内容,实现ZigBee无线QQ的过程。系统可以实现ZigBee无线QQ的基本功能,并具有友好用户界面,充分发挥了人性化的特点。
ZigBee;无线传输;无线QQ;人性化
QQ聊天室作为一种潮流已经深深地扎根在人们的日常生活中了,QQ聊天室在工作上和生活上都是必要的,在办公室里,与同事或者客户交流,需要用到聊天室;生活上,需要和朋友或家人保持联系;作为一种娱乐方式,也是必不可少的。顺应这个潮流,本文研究了一种新的无线QQ聊天室技术,结合ZigBee技术,学习无线传感器网络的技术,开发出一套完全脱离互联网的无线QQ聊天室技术,无需繁琐的登陆过程,也不需要担心中毒的风险,覆盖距离广,最大距离可达1.6公里。
ZigBee是基于IEEE802.15.4标准的低功耗个域网协议,是一种崭新的,专注于低功耗、低成本、低复杂度、低速率的近程无线网络通信技术,通过ZigBee无线传输模块实现无线QQ的功能并配合上位机实现该系统,可以了解并利用最新的无线通信技术和更好的把该技术应用到实际生活中去。
该方案充分发挥人性化的特点,利用ZigBee强大和灵活的功能,配合上位机串口通信程序实现了ZigBee无线QQ系统[1-2]。
1 系统组成简介
本系统主要由上位机程序、ZigBee无线传输模块组成。上位机程序使用VB语言编程,它源自于BASIC编程语言。VB拥有图形用户界面(GUI)和快速应用程序开发(RAD)系统,可以轻易的使用DAO、RDO、ADO连接数据库,或者轻松的创建ActiveX控件[3]。
本设计的核心为ZigBee无线传输模块,ZigBee无线传输模块的特点是近距离、低复杂度、自组织、低功耗、高数据速率、低成本。主要适合用于自动控制和远程控制领域,可以嵌入各种设备。
系统组成框图如图1所示:
图1 系统组成框图
2 硬件设计
2.1 芯片选择
在无线传输模块中,我们选择德州仪器(TI)ZigBee SoC射频芯片CC2530,此芯片集成了单周期的8051兼容内核、ADC、USART等。具有8KB RAM和256KB的闪存,支持SPI串行调试下载(这里我们使用了P1.5-SCK、P1.6-MOSI、P1.7-MISO),并且支持ZigBee协议栈。
主要功能:串口(UART)转Zigbee无线数据透明传输[4],ZigBee模块可加载数据透明传输协议,简单易用,用户不用考虑ZigBee协议,就像使用串口线一样使用ZigBee无线模块。除了透明传输,任何节点之间可通过区域组网后以“点对点”方式进行通讯,或进行组网内的信息群发等。
主要特点为:
1)可实现自动组网。
2)自动路由,假设A与B之间的距离太远而不能通信,则只需在A和B之间增加若干个模块,则该模块能自动为A和B提供路由。
3)自动路由修复,如果某个路由路径损坏(某个模块断电),网络能自动寻找新的路由路径,达到自动修复路由路径的目的。
ZigBee模块的组网:
ZigBee网络通常有三种节点构成。coordinator:用来创建一个ZigBee网络,并为最初加入网络的节点分配地址,每个ZigBee网络需要且只需要一个coordinator;Router:也称为ZigBee全功能节点,可以转发数据,起到路由的作用,也可以收发数据,当成一个数据节点,还能保持网络,为后加入的节点分配地址;End Device:终端节点。通常定义为电池重点的低功耗设备,通常只周期性发送数据,不接收数据[5]。
本系统的主要功能是无线数据传输,即每个节点随时能够收发数据,本系统的配置只有coordinator、End Device。
2.2 电源电路设计
CC2530芯片的供电电压为直流3.3 V[6]。适配板采用USB5V输入电压,通过ASM1117芯片产生3.3 V直流电源提供给CC2530。电源电路图如图2所示:
图2 电源电路图
2.3 射频输入输出电路设计
CC2530的差分信号输入和输出管脚是RF-P和RF-N,在这里我们采用分立电容和电感来实现双端差分转单端,让射频收发信号能够匹配起来。如图3所示:
图3 射频输入输出电路
2.4 串口电路设计
CH340是一个USB总线的转接芯片,能够实现USB转串口功能。在串口方式下,CH340提供常用的MODEM联络信号,用于为计算机扩展异步串口,或者将普通的串口设备直接升级到USB总线。在我们的聊天室设计中,无线传输模块与上位机的通信的数据通过USB转串口芯片CH340处理后从USB虚拟串口输入输出,如图4所示。
图4 串口电路设计
3 软件设计
3.1 软件设计框图(图5)
图5 软件设计框图
1)Zigbee模块数据发送函数:
AF-DataReruest(&GenericApp-TxAddr,
(endPointDesc-t*)&GenericApp-epDesc,
GENERICAPP-CLUSTERID1,
GenericApp-TxLen+5,GenericApp-TxBuf,
&GenericApp-MsgID,0,AF-DEFAULT-RADIUS)
①在&GenericApp-TxAddr参数中包含了目的节点的网络地址以及发送数据的格式,如广播、多播或单播等;
②对参数&GenericApp-epDesc,在Zigbee无线网络中,每个节点还具有不同的通信端口,可通过该参数确定通信端口。
2)Zigbee模块数据接收处理代码:
MSGpkt=(afIncomingMSGPacket-t*)
osal-msg-receive(GenericApp-Task ID);
while(MSGpkt)
{
switch(MSGpkt->hdr.event)
{
case AF-INCOMING-MSG-CMD:
GenericApp-ProcessMSGCmd(MSGpkt);
break;
……
在该代码段中,首先使用osal-msg-receive函数从消息队列中接收一个消息,然后使用switch-case语句对消息类型进行判断,如果消息ID是AF-INCOMING-MSG-CMD则进行相应的数据处理。
3.2 上位机用户界面设计
在通信界面中,用户可获知本节点的网络号,并可实时查看本组网中该节点所连接的其他网络节点号。在进行信息通信时,用户可选择具体的单一节点进行单播通信,亦可选择群发方式进行广播通信。除此之外,用户还可以设定昵称以及查看聊天记录,避免因清屏或重启后忘了聊天内容,丢失重要信息。
3.3 实验调试与结果分析
首先,利用IAR Embedded Workbench IDE软件将Zigbee模块的通信程序烧写到Zigbee模块中,其中一个模块Debug为协调器,其他模块Debug为终端器。在上电后,Zigbee模块将自动组网,形成一个局域网,此时便可打开上位机进行通信。针对上位机的特有功能,逐一进行验证,如获取网络号功能,通过断开或接通某一网络节点,查看所连网络节点是否实时发生变化。
经过多次的实验调试与改进,该聊天系统基本稳定,能够实现正常的聊天功能,达到了设计的要求。当然,该系统仍存在不足之处,比如无法传送文件等,在今后将逐步完善,增加功能,增强系统的稳定性。
4 结语
基于Zigbee模块的无线QQ聊天系统,利用了Zigbee模块的自动组网功能,实现组网内的信息无线收发,可脱离现有的电信网络等,在组网内免受断网或无网络接口的影响,真正实现通信独立。且操作界面简单,人性化,操作方便,适用性较强,在家庭里或公司内部等局域里具有很大的应用前景。该系统除了现有的聊天功能外,还具有很大的拓展性,利用其组网功能可设计智能家居等更加强大的系统,为进一步设计研究提供参考价值,因此,对该聊天系统的研究是非常有意义的。
[1] 李江全,张丽,岑红蕾.Visual Basic串口通信与测控应用技术实战详解[M].北京:人民邮电出版社,2007.
[2] 刘炳文.Visual Basic程序设计教程[M].北京:清华大学出版社,2009.
[3] 明日科技.Visual Basic从入门到精通[M].北京:清华大学出版社,2012.
[4] 王小强,欧阳骏,黄宁淋.ZigBee无线传感器网络设计与实现[M].北京:化学工业出版社,2012.
[5] 李文仲,段朝玉.ZigBee2007/PRO协议栈实验与实践[M].北京:北京航空航天大学出版社,2009.
[6] (美)布鲁克斯.信号完整性与PCB设计[M].刘雷波,赵岩,译.北京:电子工业出版社,2012.
Design and Implementation of ZigBee WirelessCommunication Chat Room
ZHANG Ha i-tao LIAO Jing-wen JIChun-long YUAN Pei-hua LIU Hua-zhu
(College of Electronic Engineering,Dongguan University of Technology,Dongguan 523808,China)
This design uses ZigBee wireless transmission module,combined with PC serial communication program,sending datas through a computer serial port.On the condition that the adaptation module and ZigBeemodule transfer datas to another Zig-Beemodule and the adapter boar,the dataswill be
by the computer serial port,thus the process of ZigBee wireless QQ will be achieved.The system can achieve the basic functions of ZigBee wireless QQ and a user-friendly interface,giving full play to the characteristics of human nature.
ZigBee;wireless transmission;wireless QQ;humanization
TN925
A
1009—0312(2014)03—0012—05
2013-04-08
张海涛,(1991—),男,广东汕头人,主要从事信息的获取与处理技术研究。