荊鵬宇 李 廣 許田正 鄭鵬輝 于海霞
(大連理工大學城市學院電子與自動化學院,遼寧 大連 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 設計的智能車庫上,利用車牌識別技術,可以對進出停車場車輛的車牌進行監測,從而實時了解每個車輛的信息。在對停車位的檢測方面,該文采用系統軟件對各個停車位車牌數據進行相互對比的方式來對停車位進行實時檢測,該技術可以實現對每個車位的實時檢測,另外從雙重確認的角度考慮,該設計可以在各個停車位增加車位檢測模塊,這樣車位檢測模塊與核心處理器對各個停車位車牌數據的相互對比結合起來,將會大大提升該智能車庫智能化和可靠化管理的效率。