荆鹏宇 李 广 许田正 郑鹏辉 于海霞
(大连理工大学城市学院电子与自动化学院,辽宁 大连 116000)
近年来,我国的综合国力和经济迅速发展,人们的生活水平也不断提高,以前只有富裕人群才能够使用的汽车,如今在普通老百姓的生活中也随处可见[1],这便导致国内汽车数量的大幅度增加;同时,普通老百姓开车自驾游、使用汽车日常上下班等活动也会导致城市交通出现拥堵、停车的困难。
针对我国停车困难的问题,最直接有效的方法是增加停车位和车库的数量,以满足不断增加的停车需求,但是在现代化城市中,土地资源不足,增加大量车库的解决办法很难行得通。因此,通过提高车库的管理水平、增加智能化的技术来优化车库管理的方法更为合理。利用智能车库的企划来提高整个车库的智能化、自动化和信息化,就不需要使用大量人力资源来完成相关工作,采用人工智能的方法进行科学高效的管理运营,可以节省大量的成本,而且保证了数据更新的及时性和准确性。通过实时更新车库中的车辆停泊信息,可以及时更新空闲车位的信息,并且还可以精确地计算车辆进出车库的时间,从而计算应当收取的停车费用。
该文将ZigBee 无线通信技术、图像智能识别技术与车库管理相结合,设计制作了基于ZigBee 的智能车库,优化了车库管理方式,解决了“停车慢、停车难”的问题。
紫蜂(ZigBee)技术是一种新兴的信息传输技术,其具有使用频率较低、传输速率较低、时间延迟较低、能量消耗较低以及系统投入成本较低等特点,因此在一些自动控制领域和远程操控系统中得以广泛应用,其在应用过程中简单方便,易于操作。ZigBee 技术除了具有以上鲜明的特点之外,还拥有良好的定位功能,因此也广泛应用于军事和一些建筑领域。ZigBee 技术的网络容量较大,可以允许多个设备进行相互连接以及允许不同类型的设备相互传递数据,形成网状的数据传输结构,ZigBee 技术与蓝牙(bluetooth)技术、2.4G 技术以及射频技术相比,其多样化、灵活性的特点十分显著。
近年来,ZigBee 技术的市场份额持续增加,其网络容量大、功耗低的特点深受人们的喜爱。市场调研机构ABI Research 的研究数据显示,ZigBee 的市场份额在2005—2012年的增加率为63%,在2012 年ZigBee 的市场份额已经达到了3.5 亿,ZigBee 的市场应用广泛,可以在电子设备、计算机外设、电子玩具、医疗、工业以及房屋等领域中应用。
基于ZigBee 设计的智能车库主要可以分为智能车库发射端和智能车库接收端2 个部分。
如图1 所示,智能车库发射端可以控制摄像头监测模块,对车辆的车牌进行图像处理,无论是想要进入智能车库,还是要驶出智能车库的车辆,智能车库发射段都会利用摄像头监测模块对车辆的车牌进行快速智能识别,一旦智能车库发射端成功识别车牌,便会对该车牌数据进行加工处理,然后发送给ZigBee 无线通信发射模块,ZigBee 无线发射模块会对该车牌数据进行调制处理,将其变成ZigBee 无线通信信号,并将含有车牌识别数据的ZigBee 无线通信信号发送给智能车库接收端。
图1 智能车库发射端设计框图
如图2 所示,基于ZigBee 设计的智能车库接收端在接收到智能车库发射端发送的含有车牌识别数据的ZigBee 无线通信信号之后,会对该信号进行解调处理,解调出其中含有的车牌识别数据,并对该车牌识别数据进行分析、判断和处理,并根据不同车辆的实际情况,控制LCD12864 液晶显示模块显示当前车辆的收费情况。
图2 智能车库接收端设计框图
在众多的无线通信模块中,ZigBee 无线通信模块凭借其低功耗、近距离、低时延以及专攻低速率传输的优势,在智能车库设计应用上脱颖而出。在ZigBee 无线通信模块片上系统SOC 解决方案中,CC2530 芯片是最具代表性的,因此该文采用以CC2530 芯片为核心的ZigBee 无线模块、以CC2530芯片为核心的ZigBee 无线通信模块。
CC2530 芯片内部集成了当今性能最优良最权威的RF无线射频收发器,且同时适用于2.4 GHz、IEEE802.15.4、ZigBee 与RF4CE 应用的第二代SOC 片上系统CMOS 解决方案,可以更为准确地进行无线控制[2]。
基于ZigBee 设计的智能车库发射端主要由5 V 直流电源、摄像头监测模块、核心处理器STM32 单片机以及ZigBee无线发射模块组成。
ZigBee 智能车库发射端在工作时会利用OV7670 摄像头监测模块对想要进入智能车库或者要驶出智能车库的车辆的车牌进行准确扫描,并将扫描后的数据发送给核心处理器STM32 单片机进行处理,STM32 单片机会对扫描到的车牌进行图像处理,并生成车牌识别数据发送给ZigBee 无线发射模块,ZigBee 无线通信发射模块对该车牌识别数据进行调制处理,将其调制成在空气中抗干扰能力强的ZigBee 无线射频信号,并将该ZigBee 无线射频车牌识别信号发送给智能车库接收端。
2.2.1 核心处理器
智能车库发射端的核心处理器为STM32 单片机。STM32单片机是性价比非常高的32 位微型处理器,同时也是嵌入式系统中经常使用的一种单片机。
STM32 单片机是由意法半导体公司设计生产的32 bit 系列的微型处理器,其内部资源比8051、AVR 等单片机多很多,可以在手机、平板等智能设备上应用,STM32 单片机CPU 的功能强度堪比计算机CPU。STM32 单片机的内核为ARM32 位Cortex-M3CPU,工作频率可以达到72 MHz,其内部拥有Flash 存储器和SRAM 存储器,储存容量分别高达32 KB~512 KB 和6 KB~64 KB,工作电压与I/O 接口的驱动电压为2.0 V~3.6 V,其内部有40 kHz 的RC 振荡电路,可以作为时钟电路使用,I/O 快速端口高达112 个,定时器共有11 个,通信接口共有13 个[3]。ZigBee 智能车库接收端的核心处理器是STC89C51 单片机。
2.2.2 OV7670摄像头模块
该设计利用OV7670 摄像头模块对车辆的车牌进行智能识别。
虽然OV7670 摄像头模块的CMOS 图像传感器像素时钟(PCLK)可以达到24 MHz,但是STM32 单片机的工作频率是72 MHz,由于STM32 单片机与摄像头模块的工作频率不同,STM32 单片机的I/O 口想要直接读取OV7670 摄像头模块的数据是十分困难的,且十分占用CPU 资源,因此使用带FIF0 OV767070 的摄像头模块,该模块拥有一个FIFO 帧存储芯片AL422B,可将OV7670 模块的数据存储到FIFO 中,这样STM32 单片机只需要根据时序逻辑[4]在数据读取引脚上生成脉冲来读取FIFO 中的数据即可。
基于ZigBee 设计的智能车库接收端主要由电源电路、ZigBee 无线接收模块、核心处理器以及LCD12864 液晶显示模块组成。
ZigBee 智能车库接收端会利用ZigBee 无线接收模块接受来自智能车库发射端所发射的ZigBee 无线射频车牌识别信号,ZigBee 无线接收模块在接收到无线车牌识别信号之后,会将其解调成智能车库接收端核心处理器可以识别的车牌识别数据,智能车库接收端核心处理器为STC89C51 单片机,STC89C51 单片机会对车牌识别数据进行处理、判断,例如ZigBee 智能车库接收端会对第一次识别的车牌进行计费操作,而对第二次识别的车牌进行停止计费操作。并且智能车库接收端核心处理器会将车牌号以及收费的具体金额显示在LCD12864 液晶显示模块上。
该系统在程序设计上主要由2 个部分组成:智能车库发射端程序设计和智能车库接收端程序设计。此外,智能车库发射端对进入和驶出车库的车辆进行车牌识别,因此还涉及较为重要的车牌识别技术。
早在20 世纪70 年代,英国的有关学者就开展了关于车牌检测的相关研究,开发了一个用于被盗车辆的车牌识别监控系统。此后车牌识别也取得了许多成就。国外的车牌识别技术已经相对成熟,国外的车牌字符单一,而且格式规范有序,相对比较容易识别,这对我国的车牌识别技术具有很好的参考价值。自我国引入车牌识别技术以来,国内的学者就针对我国的车牌特点研究出了许多行之有效的算法,例如中科院自动化研究所刘志勇等人开发出的车牌定位和车牌识别的准确率就很高,南京大学熊军等人研究的车牌字符位置定位算法正确率也在96%以上。
车牌识别技术是智能车库的重要组成部分,车牌识别技术可对车辆的唯一身份证——车牌号码进行智能识别,该技术涉及图像处理、模式识别等先进技术。车牌识别技术的工作原理是当车辆在摄像头的识别范围内且车辆触发了车牌识别检测的检测装置时,摄像头便会对该车牌进行拍照,并将照片图像数据发送给图像处理器,处理器便会对该车牌照片进行图像预处理、车牌定位、字符分割以及字符识别等一系列的分析和处理[5],最终识别车牌的相关数据并发送给控制中心。
车牌定位就是根据车牌照片对车牌进行准确定位,并且对车牌进行提取。字符分割就是在车牌成功定位成功之后(车牌的区域已经被选择了出来),对车牌中的字符进行分割和识别,准确地识别车牌上的汉字数字以及字母,因此需要将每个字符从车牌图片中进行分割,形成单个字符图像,然后提取出来,这会影响后面的字符识别。
字符识别环节决定了车牌识别系统的性能,该设计对车牌照片进行预处理、车牌定位、字符分割以及归一化处理之后,就得到了规格相同的字符图像,该设计需要提取该图像的特征,然后对图像进行分析,准确识别出字符图像中的字符,这样该设计的车牌识别过程才算完成。字符识别算法是车牌识别系统中最核心的一个环节[6],其精准性和实效性决定了车牌识别系统的性能。
首先,智能车库发射端在上电成功后,整个系统会进行初始化;其次,摄像头模块、核心处理器、ZigBee 无线发射模块以及液晶显示屏模块都会同时进行初始化。在初始化成功之后,整个智能车库发射端会处于一个等待检测车牌的状态。如果没有检测到车牌,那么ZigBee 智能车库发射端便会一直处于等待状态,一旦摄像头监测范围内出现了图像,智能车库发射端便会判断是否检测到车牌,如果没有检测的车牌,那么继续处于等待检测车牌的状态。如果检测到车牌,那么智能车库发射端会利用车牌识别技术对该车牌照片进行图像预处理、车牌定位、字符分割、归一化处理以及字符识别等一系列操作分析车牌数据。ZigBee 智能车库发射端核心处理器会对识别出的车牌数据进行打包处理,并将数据打包发送给ZigBee 无线发射模块,ZigBee 无线发射模块会对车牌识别数据进行调制处理,将车牌识别数据调制成ZigBee射频无线通信信号,并将含有车牌识别数据的ZigBee 无线射频信号发送给智能车库接收端。
智能车库接收端在成功上电后,ZigBee 无线接收模块、核心处理器以及LCD12864 液晶显示模块会进行初始化,智能车库接收端便会处于等待ZigBee 无线通信信号的状态。为了方便演示和解释该设计的软件功能,将智能车库的车位数量设计为2 个,分别为一号停车位和二号停车位。
如果智能车库接收端没有接收到无线通信信号,那么就会一直处于等待状态,一旦智能车库接收端接收到含有车牌识别数据的无线通信信号,ZigBee 无线接收模块便会对该信号进行解调,将其解调成智能车库接收端核心处理器能够识别的车牌识别数据,此后,智能车库接收端核心处理器便会对该车牌数据进行分析处理。
如果该车牌数据是第一次被识别,那么智能车库接收端便会对该车牌数据进行标记,并且会依次对一号停车位和二号停车位进行检测,然后引领该车牌数据所属车辆进入空缺停车位,同时开始对该车辆的计费。如果该车牌数据是第二次被识别,那么就关闭该车辆在智能车库中的计费。如果当前状态下,车库内的车位已满,智能车库接收端核心处理器就会控制LCD12864 液晶显示模块,在液晶屏上显示“非常抱歉,车位已满”。
该文在设计过程中力求解决社会中存在的一些停车问题。该文将车牌识别技术应用在基于ZigBee 设计的智能车库上,利用车牌识别技术,可以对进出停车场车辆的车牌进行监测,从而实时了解每个车辆的信息。在对停车位的检测方面,该文采用系统软件对各个停车位车牌数据进行相互对比的方式来对停车位进行实时检测,该技术可以实现对每个车位的实时检测,另外从双重确认的角度考虑,该设计可以在各个停车位增加车位检测模块,这样车位检测模块与核心处理器对各个停车位车牌数据的相互对比结合起来,将会大大提升该智能车库智能化和可靠化管理的效率。