基于ZigBee技术的无线考勤系统设计作者姓名:郭帅指导老师:金中朝摘要:系统基于ZigBee个域网协议和嵌入式系统,使刷卡设备和考勤统计系统分离,具有组网方便,安装拆卸简单,扩容性好,无需布线等特点,可以减少因线路故障带来的损失和不便,提高了系统的稳定性和可靠性。
并完成了ZigBee网络的搭建与优化,嵌入式数据库Sqlite的移植以及嵌入式QT的开发等。
关键字:ZigBee, 射频卡考勤,嵌入式网关1 绪论随着信息化时代的到来,我们生活的各方面都和信息化息息相关。
社会的管理和资金的流通也已经进入信息化的革命。
非接触IC卡“一卡通”便是信息化革命的产物之一。
本系统设计的目的是为了实现考勤数据采集、数据统计和信息查询过程的无线化和自动化。
方便用户对考勤数据的保存和导出。
ZigBee是进入21世纪后来出现的一种新型无线通信技术,该协议具有近距离、低复杂度、低功耗、低数据速率、低成本的特点,在智能家居、智能楼宇自动化、工业智能监等控领域具有非常宽广的市场空间。
随着多家芯片制造商推出支持ZigBee协议的片上系统解决方案,越来越多的无线控制系统采用ZigBee技术。
系统基于ZigBee个域网协议和嵌入式系统,使刷卡设备和考勤统计系统分离,与目前广泛使用的有线考勤系统相比,具有组网方便,安装拆卸简单,扩容性好,无需布线等特点,可以减少因线路故障带来的损失和不便,提高了系统的稳定性和可靠性。
本文首先介绍了系统的总体拓扑结构,然后详细阐述了刷卡设备和网关设备的硬件设计和软件开发过程,其中包括刷卡驱动电路设计,ZigBee协议栈应用程序设计,QT应用软件设计,Sqlite数据库移植方法等。
2 系统总体结构本系统主要有IC 卡读写模块,发射接收模块和嵌入式系统主机组成。
系统总体结构如图1所示。
刷卡设备由德州仪器CC2530系统板和RC522读写模块组成,系统主机由三星6410开发板和CC2530无线收发系统组成。
当符合读卡协议的IC 卡片进入刷卡范围,刷卡设备会将IC 卡片的编号通过ZigBee 网络发往嵌入式网关。
主机基于Linux3.0内核和飞凌嵌入式技术有限公司提供的文件系统以及QT4.8运行环境,开发了ZigBee 网关程序,能够监听ZigBee 协调器的串口并且能够保存数据到本地数据库。
ZigBee协调器嵌入式网关ZigBee网络ZigBee刷卡模块ZigBee刷卡模块ZigBee 刷卡模块系统主机图1 ZigBee 无线考勤系统效果图2. ZigBee协议栈简介2.1 ZigBee协议栈描述ZigBee协议是一系列的通信标准,通信双方需要共同按照这一标准进行正常的数据发射和接收。
协议栈是协议的具体实现形式。
协议栈是协议和用户之间的一个接口,开发人员通过使用协议栈来使用这个协议的,进而实现无线数据收发。
图2展示了ZigBee无线网络协议层的架构图。
ZigBee的协议分为两部分,IEEE 802.15.4定义了物理层和介质访问层技术规范,ZigBee联盟定义了网络层、应用程序支持子层、应用层技术规范。
ZigBee协议栈就是将各个层定义的协议都集合在一起,以函数的形式实现,并给用户提供API(应用层),用户可以直接调用。
ZigBee标准定义IEEE802.15.4标准定义ZigBee无线网络图2 ZigBee协议栈层次2.2 协议栈结构ZigBee协议栈是由一组称为层模块的结构来构成。
下一层将为上层执行特定的一组服务。
数据单位提供数据传输服务,管理单位提供所有其他服务。
各个业务实体通过服务接入点(SAP)为上层提供一个接口,每个服务接入点支持多个服务原语来实现要求的功能。
IEEE 802.15.4-2003标准定义了物理层(PHY)和媒体访问控制子层(MAC)两个网络底层。
基于物理层和媒体访问控制子层,ZigBee联盟开发了网络层和应用层体系结构。
其中,应用支持子层(APS)、ZigBee 设备对象(ZDO)组成了应用层框架。
应用对象使用架构层以及APS共享和安全服务,则有不同芯片制造商来定义。
IEEE 802.15.4-2003标准有两个物理层,运行在868 / 915 MHz和2.4GHz两个不同的频率范围。
由于每个国家开放给科学和工业的ISM频段标准不同,所以低频率物理层包括欧洲使用的868MHZ频段以及美国和澳大利亚等国家使用915 MH频段。
而世界上大多数国家的使用的是2.4GHz频段的物理层。
IEEE 802.15.4-2003 MAC子层使用CSMA-CA协议机制来控制无线信道访问。
CSMA-CA协议即载波监听多路访问冲突检测方法。
2.3 ZigBee网络拓扑ZigBee网络层支持星型,树撞和网状的网络拓扑结构。
在星型拓扑结构中,控制网络的设备称为ZigBee协调器。
ZigBee协调器负责ZigBee网络备启动和网络设备的维护,其他的设备,称为终端设备,直接与ZigBee协调器进行通信。
在树状和网状网络拓扑结构中,ZigBee协调器负责发起ZigBee网络,选择网络中的一些关键参数,但网络可以通过ZigBee路由器进行扩展。
树型网络中,路由器使用一个分层路由策略传输数据和控制信息在网络中。
树型网络可以使用IEEE 802.15.4-2003标准化通信信标。
网状网络允许完全的点对点通信。
在网状网络拓扑中,ZigBee路由器将不定期发布的IEEE 802.15.4-2003信标。
星型网络树状网络图3 网络拓扑ZigBee网络是一个简单的、低成本的通信网络,它应用于一些功率有限和对网络吞吐量无严格要求的设备之间的无线连接。
ZigBee网络的目标是建立一个易于安装、有可靠的数据传输、通信距离短、成本低、非常好的电池寿命这样的一个网络,并且它能保持简单的和灵活的网络协议。
ZigBee网络中含有两个不同的设备,全功能设备(FFD)和简单功能设备(RFD)。
FFD在三种网络模式中可作为整个PAN网络的协调器、路由器或网络中的终端设备。
FFD可以和RFD或者FFD通信,而简单功能设备(RFD)只能和FFD通信。
RFD设备在网络中主要是一个应用设备,它们箱单简单,比如它们可以作为灯的开关或者红外线传感器,但不能传输大规模的数据,且在某一时刻只能和一个FFD相联系。
一个ZigBee网络由几个部分组成。
最基本的部分是设备,设备既可以是FFD,也可以是RFD。
如果两个和更多的设备在一个个人通信空间(POS)范围内,且在同一信道通信,那么这些设备就组成一个WPAN。
但网络中必须含一个FFD设备作为PAN协调器。
对于无线多媒体来说,由于传播的动态性和不确定性,一个精确的覆盖区域是不存在的。
位置和方向的微笑变化,都可能引起信号强度和通信链路的急剧变化。
不管静态设备或移动设备都可能出现这种结果。
3. ZigBee刷卡设备ZigBee刷卡设备由CC2530系统板外接RC522读写模块组成,实物图如图4所示。
RC522非接触式IC卡读写模块采用Philips MFRC522芯片设计,能够读取符合ISO14443A 标准的多张卡片,使用方便,成本低廉。
CC2530通过SPI接口直接驱动读写模块。
图4ZigBee刷卡设备3.1采集节点主控芯片节点主控芯片使用的CC2530是由德州仪器公司提出的用于ZigBee应用的片上系统解决方案。
CC2530系统核心板的电路原理图如图5所示。
CC2530片上系统能够广泛解决的2.4GHz应用方案。
这些应用场景能够快速的通过TI 提供的Z-Stack协议栈找到合适的解决方案,从而加快开发进程。
同时CC2530片上系统是一具有增强型工业标准8051单片机,并集成了无线收发功能。
CC2530片上系统具有非常低的待机功耗,在普通干电池的驱动下能够稳定工作半年以上。
CC2530工作电压为3.0V到3.6V,待机电流最低值为1微安。
具有丰富的片内外设,包括5通道DMA,红外发生电路,8 路12 位ADC,硬件支持CSMA/CA,AES 安全协处理器,电池监视器和温度传感器,具有捕获功能的32-kHz 睡眠定时器以及2个usart(通用同步异步串行发送接收器)等。
图5ZigBee核心板原理图3.2非接触式IC卡工作原理非接触式IC卡电气部分组仅为一个天线和集成电路卡(ASIC)。
卡的天线由适用于包装ISO卡的几个绕组线圈构成。
集成电路卡是由高速(106kb波特率)的射频接口,一个控制单元和一个8K EEPROM (电可擦可编程只读存储器-)。
非接触式IC卡的工作原理为,RC522射频卡读写模块回发一组固定频率的电磁信号,而卡片内具有一个频率与RC522读写模块相同频率的串联谐振电路,在电磁信号的激发下,LC谐振电路将会产生共振,从而使电容内存储了电荷,而电容器的另一极,连接有一个单向导通的电子泵,会将充电电容器的电荷送到另一个电容器储存,当所积累的电荷达到2V,电容器将作为电源为卡片其他电路提供工作电流,将发出卡片内数据或读入RC522模块数据。
3.3ZigBee节点程序上电后CC2530主控芯片初始化RC522模块,当有符合ISO 14443A/MI标准的卡片进入读写范围时,RC522模块通过SPI协议把数据传递给CC2530主控芯片,主控芯片把接收到的数据打包发送到协调器。
程序流程图如图6所示。
图6 ZigBee节点程序流程图4.系统主机设备设计与实现主机设备由三星6410开发板和CC2530系统板组成,如图7所示。
S3C6410开发板和CC2530系统板通过串口进行通信,当CC2530建立起传感网络后,刷卡节点会自动加入网络。
网关基于Linux3.0内核和飞凌嵌入式技术有限公司提供的文件系统以及QT4.8运行环境,开发了ZigBee网关程序,能够监听ZigBee协调器的串口并且能够读写远程或本地数据库。
下文将详细介绍主机设备的开发过程,包含sqlite数据库移植和嵌入式QT的环境搭建与开发。
图7ZigBee刷卡考勤网关设备4.1 Sqlite数据库移植4.1.1Sqlite数据库移植过程SQLite是遵守ACID的,能够实现自包容、零配置、支持实物的、开源的关系型数据库管理系统,它包含在一个相对其他数据库非常小的的C语言库中。
其特点是高度便携、使用方便、结构紧凑、高效、可靠。
SQLite是D.RichardHipp建立的公有领域项目。
与其他数据库管理系统不同,SQLite不是常见的客户端到服务器模式,SQLite引擎也不是程序与之通信的独立进程,而是连接到程序中成为程序的一个主要部分。
所以,SQLite主要的通信协议是在编程语言内通过直接调用接口函数来实现。
这一方法在消耗总量、延迟时间和整体简单性上有积极的作用。
整个数据库,包括数据库的定义、表、索引和数据本身,都在宿主主机上存储在一个单一的文件中。