摘要:基于ZigBee停车场短信寻车系统实现将车辆在停车场的位置通过短信发送给车主,方便车主离开停车场后快速找到自己的车辆。该停车场短信寻车系统主要由终端节点模块、路由器模块和协调器模块构成。终端节点模块由CC2530、矩阵键盘和显示电路等构成,用于输入并发送手机号码和模块所在的地址信息给距离该节点最近的路由器或协调器;路由器模块由CC2530和CC2591构成,用于将终端节点发送的信息转发给协调器;协调器模块由CC2530、C8051F040和GSM模块等组成,作为协调器的CC2530当接收到路由器或终端节点发送来信息时,会将信息发送给C8051F040的串口0.C8051F040接收到信息后进行地址匹配,然后将匹配信息和手机号码通过串口1发送给GSM模块,由GSM将车辆所停位置信息发送给对应的手机号码。

  随着经济的发展以及技术的进步,现代停车场逐渐向多空间、多功能、智能化方向发展,相应的停车场管理系统也应用而生,例如区域车位引导系统、刷卡系统和自动车型区分收费系统等。当停车场空间较大,停车车位较多时,车主会很容易忘记车辆所停位置,从而浪费一些时间在寻找车辆上。停车场短信寻车系统能够将车辆所停位置信息通过短信方式发送给车主,从而方便车主寻车。考虑到现代停车场空间大、车位多,用传统的485或CAN方式将浪费大量的时间在布485总线或CAN总线上,且一旦总线出现问题整个系统将瘫痪,所以该停车场短信寻车系统采用ZigBee无线传输方式。

    ZigBee定义了3种网络节点形式,分别是网络协调器‘节点(Coordinator)、路由器节点(Router)和终端节点(End Device)。网络终端节点用于发送手机号码和其对应的地址信息;路由器节点用于将终端节点模块发送的信息转发给协调器;协调器节点负责网络的建立、网络地址的分配以及接收路由器模块和终端节点模块发送来的信息。由于采用无线形式,终端节点模块可以很方便地安装在停车场的各个角落,且ZigBee采用自组织网络通信,当一个终端节点模块出现问题时,不会影响整个系统的运行,同时该停车场短信寻车系统具有功耗低,操作简单和便于维护的特点。
  

    1 停车场短信寻车系统的工作原理

  停车场短信寻车系统的总体结构图如图1所示。当车主在停车场停好位置后,通过终端节点的键盘输入自己的手机号码,按发送键后终端节点会将手机号码和终端节点的地址信息无线发送给距离最近的路由器或协调器,路由器接收到信息后会转发给协调器,当协调器接收到路由器或终端节点发送的信息时会进行地址匹配,然后发送一条包含车位所在的区域和如何从入口到达该位置的短信到车主的手机号码上,从而实现短信寻车。
  


图1 停车场短信寻车结构图
 

2 终端节点模块的设计

  终端节点模块由CC2530、按键电路、显示电路和时钟电路等构成。CC2530是TI公司以C51为内核的ZigBee芯片,它支持国际802.15.4标准以及ZigBee、ZigBee PRO和ZigBeeRF4CE标准,提供101 dB的链路质量,具有优秀的接收器灵敏度和强大的抗干扰性,同时具有低功耗、低成本、低速率、时延短、高容量、高安全等特点,其传输距离在10~100 m,在增加RF发射功率后,传输距离可达1~3 km。

  按键电路采用3x4的矩阵键盘,用于输入0到9、删除和发送;时钟电路采用DS1302.DS1302接口简单、使用方便、功耗低,只需添加少许程序就可以在显示电路上显示时间;显示电路采用串口通讯12864,12864能显示4行,每行显示16个字符,完全满足显示11位手机号码、时间和日期等。终端节点模块的CC2530连接电路图如图2所示。

  


图2 终端节点模块总体电路图

  CC2530所用的协议栈为ZStack-CC2530-2.3.0-1.4.0,编程软件版本为IAR Embedded Workbench for MCS-51 7.51A,这里需要把CC2530的设备类型设置成网络终端节点,并在协议栈中添加LCD显示子程序、矩阵键盘子程序、1302读写子程序和时间校准子程序,并更改协议栈中的子程序SampleApp_SendFlashMessage()的发送内容。当车主在终端节点模块上输入手机号码,按发送键后程序会调用Sample App_Se nd FLASH Message(),把手机号码和地址信息发送给距离最近的协调器或路由器。

  3 路由器模块的设计
  考虑到路由器模块距终端节点模块较近,离协调器模块较远,单独使用CC2530作为路由器模块可能会出现数据的丢失,由于CC2591的传输距离可达1~3 km,所以这里采用CC2530+CC2591构成。当路由器模块接收到终端节点发送的信息时,会把信息转发给协调器;当接收到协调器发送来的反馈信息时,会转发给对应的终端节点,所以路由器主要起到中继路由的作用。路由器模块的CC2591连接电路图如图3所示。

  


图3 路由器模块总体电路图

  这里需要把CC2530的设备类型设置成网络路由器节点,则在ZigBee协议栈中只需要更改应用层事件处理函数SampleApp_ProcessMSGCmd(aflncomingMSGPacket_t*pkt),使其在接收到信息后调用SampleApp_SendFlashMessage(),把接收到的信息发送出去即可。

4 协调器模块的设计

  协调器由CC2530、C8051F040、NANDFLASH、DS12887、1602和GSM模块组成。由于普通的51单片机只有1个串口,无法满足设计的要求,所以这里采用C8051F040,C8051F040有1个12位多通道ADC,2个12位DAC,2个电压比较器,1个电压基准,1个32KB的FLASH存储器,2个UART口,与MCS-51指令集完全兼容的高速CIP-51内核。C8051F040的串口0与CC2530相连,用于接收CC2530发送的手机号码和地址信息;串口1与GSM模块,用于发送地址信息到对应的手机号码上。NANDFLASH用于保存停车场各个区域的地址和如何从入口到达该地址的说明。DS12887高精度时钟芯片用于显示时间和日期,同时对各个终端节点的时间进行校准,当时间为00时00分00秒时,C8051F040会发送校准命令给CC2530,由CC2530通过ZigBee发送给各个终端节点,从而实现校准各个终端节点的时间为00时00分00秒。C8051F040采用Keil C51编程,包含单片机初始化程序、1602显示子程序、NANDFLASH读写子程序、串口0接收子程序、时钟程序、时间校准子程序和串口1接收子程序。协调器模块的显示电路和存储电路如图4所示。

  


图4 显示和存储电路图
 

  协调器模块的CC2530的设备类型为网络协调器节点,在ZigBee协议栈中需要添加串口发送子程序和串口接收子程序,同时需要在ZigBee协议栈中更改协议栈中的应用层事件处理函数SampleApp_ProcessMSGCmd(afIncomingMSGPacket_t*pkt),使其在接收到信息后调用串口发送子程序把信息发送给C8051F040.当串口接收到C8051F040发送的时间校准命令时,调用串口接收子程序,使CC2530以广播的形式把校准命令发送给各个终端节点模块。

  协调器模块是整个停车场短信寻车系统的核心部分,起到接收终端节点发来的地址信息和手机号码,并对接收的地址信息进行比对,比对后把对应的地址信息的短信通过GSM模块发送给车主。例如当协调器模块接收到终端节点为0x01、手机号码为13800000000的信息时,会进行地址比对,比对后将保存在NANDFLASH中所对应的短信“尊敬的客户,您好,您所停车位为A00-A09,从1号电梯向右50 m可到达该位置”发送到13800000000的手机号码上,从而实现短信寻车。

  5 结束语

  基于ZigBee停车场短信寻车系统实现了将车辆在停车场所停的位置通过短信发送给车主,方便车主离开停车场后快速找到自己的车辆。该系统采用ZigBee设计,功耗低、便于安装和维护。相对于采用485或CAN总线,ZigBee不需要花费大量时间在布各种总线上,且对于已经使用的停车场,不需要布线就能够快速的安装和使用。