張海濤,陳向東
(西南交通大學(xué)信息科學(xué)與技術(shù)學(xué)院,四川成都611756)
隨著我國經(jīng)濟的高速增長,人民可支配收入提高以及汽車價格的下降,大城市私人汽車的保有數(shù)量近幾年來快速增加。汽車的增多不但加劇了交通堵塞,同時也帶來了日益嚴峻的“停車難”問題[1],如找尋停車場困難、停車位供給不足、繳費效率低等?,F(xiàn)有的智能停車系統(tǒng)存在一些不盡人意的地方,如車輛需要刷卡才能進入停車場,造成排隊時間長的問題;有些停車場出口的計費結(jié)算依賴人工操作,效率低下且容易出差錯[2]。
為了提高停車效率,彌補傳統(tǒng)停車場的不足,基于Android和物聯(lián)網(wǎng)技術(shù)設(shè)計了可自助停車的車位檢測與控制系統(tǒng)。本系統(tǒng)運用超聲波測距技術(shù)檢測停車位使用情況,ZigBee實現(xiàn)停車位節(jié)點的局域組網(wǎng),通過停車場協(xié)調(diào)器可以對停車場中所有停車位進行高效方便的無線管理。停車場協(xié)調(diào)器在局域組網(wǎng)的基礎(chǔ)上通過GPRS通信技術(shù)完成互聯(lián)網(wǎng)的接入,連接到系統(tǒng)服務(wù)器,實現(xiàn)和Android客戶端App之間的命令交互和數(shù)據(jù)通信。
車位鎖控制電路采用超聲波測距技術(shù)來實現(xiàn)停車位檢測[3],超聲波是一種頻率高于20 kHz的聲波信號[4-5],可以通過空氣進行傳播,具備方向性和良好的反射性[6]。模塊通過超聲波發(fā)射探頭T發(fā)射超聲波信號,信號在空氣介質(zhì)中直線傳播,當遇到障礙物或者被測物體時,產(chǎn)生反射,超聲波接收探頭R感應(yīng)到反射信號并將其轉(zhuǎn)換成電信號[7]。
已知超聲波在空氣中的傳播速度為V,假設(shè)超聲波信號的發(fā)射時間為t1,接收時間為t2,可根公式1求出被測距離S[8]。
車位鎖控制器采用HC-SR04超聲波模塊實現(xiàn)測距,模塊安裝在電路板上,其探頭方向向上。設(shè)定一個閾值,當測距結(jié)果小于該閾值時認為有車輛存在,即停車位被占用,否則認為沒有車輛存在,停車位處于空閑狀態(tài)。
系統(tǒng)整體結(jié)構(gòu)如圖1所示,主要分為4個部分:車位鎖控制器、停車場協(xié)調(diào)器、Android客戶端App、系統(tǒng)服務(wù)器。
圖1 系統(tǒng)結(jié)構(gòu)框圖
車位鎖控制器采用STM32單片機作為主控MCU,通過超聲波模塊探測停車位的使用情況,驅(qū)動步進電機模擬車位鎖翻轉(zhuǎn)臂升起和落下[9]。車位鎖控制器通過ZigBee無線組網(wǎng),每個車位鎖作為ZigBee網(wǎng)絡(luò)中的終端節(jié)點[10]。停車場協(xié)調(diào)器作為ZigBee網(wǎng)絡(luò)中的協(xié)調(diào)器負責整個網(wǎng)絡(luò)的組建和維護,管理車位鎖控制器節(jié)點,通過GPRS數(shù)據(jù)通信作為接入互聯(lián)網(wǎng)的網(wǎng)關(guān)。Android客戶端App可以實現(xiàn)對停車場中車位鎖的升降控制和停車費用支付,系統(tǒng)服務(wù)器作為TCP Server來實現(xiàn)Android客戶端和停車場協(xié)調(diào)器之間的命令交互和數(shù)據(jù)通信,同時存儲停車場數(shù)據(jù)和用戶信息。
系統(tǒng)的工作流程:
1)用戶登錄手機終端App,通過地圖搜索附近的停車場,查看停車場內(nèi)停車位的使用情況。
2)用戶進入停車場,找到某個未使用停車位,通過App解鎖該車位上的車位鎖,待車位鎖翻轉(zhuǎn)臂落下后,駛?cè)胲囄煌\嚕珹pp開始計時。
3)當用戶離開停車位時,通過App支付本次停車費用并生成歷史停車記錄,車位鎖控制電路檢測到車輛離開的狀態(tài),車位鎖升起,等待下一個用戶的到來。
4)車位鎖將停車位的使用信息反饋給停車場協(xié)調(diào)器,協(xié)調(diào)器更新停車位狀態(tài)表。
5)停車場協(xié)調(diào)器將停車位狀態(tài)更新數(shù)據(jù)上傳到系統(tǒng)服務(wù)器,服務(wù)器向離開的用戶App發(fā)送消息提醒,用戶可以通過App查看最新的停車位使用情況。
系統(tǒng)硬件電路分為2部分:車位鎖控制器、停車場協(xié)調(diào)器。
車位鎖控制器主要包括STM32單片機最小系統(tǒng)、超聲波檢測模塊、ZigBee模塊、步進電機驅(qū)動電路、OLDE顯示電路、和按鍵電路,通過驅(qū)動步進電機控制撐桿的翻轉(zhuǎn)來模擬車位鎖的上鎖和解鎖動作,其電路框圖如圖2所示。
圖2 車位鎖控制器電路結(jié)構(gòu)
系統(tǒng)STM32單片機采用的具體型號是STM32F103RCT6,是一款高性能、低成本、低功耗的ARM Cortex-M3內(nèi)核單片機[11],具備64個IO引腳和豐富的外設(shè),功能強大,STM32的最小系統(tǒng),主要包括復(fù)位電路,時鐘電路,啟動模式設(shè)置電路。
超聲波測距使用HC-SR04模塊,該模塊包含超聲波發(fā)射電路、接收電路和信號處理電路[12],工作電壓3~5 V,測距范圍2~400 mm,誤差在2 mm,完全可以滿足系統(tǒng)需求。HC-SR04模塊具有4個外接引腳VCC、GND、TRIG、ECHO,TRIG 引腳連接 STM32的PB0引腳,PB0配置為普通推挽輸出IO,ECHO引腳連接STM32的PB1引腳,PB1配置成外部中斷觸發(fā)模式。
ZigBee無線組網(wǎng)采用了TI的CC2530芯片,CC2530內(nèi)置51內(nèi)核,配合Z-Stack協(xié)議棧實現(xiàn)局域組網(wǎng)[13]。CC2530和STM32的串口2進行通信,當ZigBee模塊接收到數(shù)據(jù)時,將該數(shù)據(jù)通過串口發(fā)送給STM32;當STM32需要發(fā)送數(shù)據(jù)時,通過串口2發(fā)送給ZigBee模塊,ZigBee模塊自動將數(shù)據(jù)無線發(fā)送出去。
停車場協(xié)調(diào)器主要包括STM32單片機最小系統(tǒng)、ZigBee模塊、GPRS模塊、OLDE顯示屏、和按鍵電路,電路框圖如圖3所示。
圖3 停車場協(xié)調(diào)器電路框圖
GPRS模塊采用了SIMcom公司的SIM900A芯片[14],支持GSM和GPRS的850 MHz、900 MHz、1 800 MHz、1 900 MHz四頻的語音、短信、數(shù)據(jù)和傳真。STM32通過串口給SIM900A發(fā)送AT指令請求建立TCP連接[15],停車場協(xié)調(diào)器作為TCP Client連接到服務(wù)器實現(xiàn)GPRS數(shù)據(jù)通信。
圖4是系統(tǒng)的硬件電路實物圖,左邊是停車場協(xié)調(diào)器的電路板,右邊是車位鎖控制器的電路板。
圖4 硬件電路實物圖
車位鎖控制器[16-18]采用STM32作為主控MCU,使用Keil開發(fā)環(huán)境配合STM32庫函數(shù)進行STM32的C程序設(shè)計。車位鎖控制器的工作主要是實現(xiàn)停車位檢測,車位鎖升降控制,加入ZigBee網(wǎng)絡(luò),接收停車場協(xié)調(diào)器的控制命令并反饋狀態(tài)信息,車位鎖控制器的程序流程如圖5所示。
停車場協(xié)調(diào)器的MCU同樣采用STM32,協(xié)調(diào)器的主要功能有:實現(xiàn)底層ZigBee無線網(wǎng)絡(luò)的組建和維護,管理停車場內(nèi)的車位鎖,通過GPRS和系統(tǒng)服務(wù)器建立TCP長連接,STM32發(fā)送AT指令的部分代碼如下:
圖5 車位鎖控制器程序流程圖
系統(tǒng)的Android客戶端App采用Android Studio作為開發(fā)環(huán)境??蛻舳薃pp主要功能包括用戶注冊、登錄,個人信息管理,地圖定位和搜索,停車位狀態(tài)查看,預(yù)約車位,自助停車,停車費用支付、停車歷史記錄查看等功能。
客戶端App設(shè)計了用戶管理系統(tǒng),用戶需要注冊登錄后才能使用相應(yīng)的服務(wù)。App內(nèi)置高德地圖提供的Android地圖SDK和定位SDK,實現(xiàn)實時定位和附近停車場的搜索功能,以用戶位置為中心設(shè)定搜索半徑,App當前的搜索結(jié)果使用了模擬數(shù)據(jù),用圖6中氣球樣,熱點進行標識,其界面效果如圖6所示。
圖6 App地圖和停車位狀態(tài)查看界面
停車場對每個停車位進行編號,用戶通過App可以查看停車場中所有的車位的使用狀況,界面如圖6所示,車位的狀態(tài)分為:可用、不可用、已預(yù)約3種狀態(tài),用戶可以使用狀態(tài)為未使用的車位,點擊“我要停車”按鈕,即可控制相應(yīng)停車位的車位鎖解鎖,用戶駛?cè)胲囄煌\?,App開始計時。
當用戶離開停車位后,App根據(jù)本次停車時長,計算停車費用,圖7為支付界面,用戶可以選擇支付寶、微信或者賬號余額3種方式進行費用結(jié)算。支付寶和微信支付的官方API接口調(diào)用需要商戶資質(zhì)認證,所以本系統(tǒng)App采用Bmob后端云提供的移動支付SDK來實現(xiàn)支付寶和微信支付功能的接入,Bmob對這2個主流的支付渠道進行了封裝,且支持個人開發(fā)者接入。
用戶支付完停車費用,App自動生成一條新的歷史停車記錄,其界面如圖7所示,顯示了模擬自助停車過程中產(chǎn)生的歷史記錄。用戶可以在這個界面查看正在使用中的停車情況和歷史停車記錄,每一條記錄包括使用的停車場名字、停車位編號、停車時間和支付的費用。
圖7 App停車費用結(jié)算和停車記錄查看界面
系統(tǒng)服務(wù)器的運行環(huán)境為win7系統(tǒng),服務(wù)器是在Eclipse開發(fā)環(huán)境下用基于Socket(套接字)的java網(wǎng)絡(luò)編程技術(shù)實現(xiàn)的一個TCP Server。
系統(tǒng)服務(wù)器創(chuàng)建一個ServerSocket實例,綁定20006端口,手機客戶端App和停車場協(xié)調(diào)器作為Socket Client向服務(wù)器發(fā)起TCP連接請求。客戶端連接進來以后,服務(wù)器先為每個客戶端新建1個子線程專門負責和該客戶端之間的數(shù)據(jù)通信,之后服務(wù)器獲取客戶端發(fā)送的身份標識UserID,將該客戶端的Socket實例以鍵值對形式保存到HashMap中,其中key是客戶端的UserID,value是客戶端的Socket實例。
服務(wù)器讀取每個客戶端發(fā)送的數(shù)據(jù),進行解析,根據(jù)數(shù)據(jù)命令的具體含義直接向該客戶端返回相應(yīng)的數(shù)據(jù),或者將該數(shù)據(jù)重新組合后將其轉(zhuǎn)發(fā)給其他客戶端。
本系統(tǒng)測試環(huán)境包括一個停車場協(xié)調(diào)器,3個車位鎖控制器,分別代表編號為1,2,3的停車位,系統(tǒng)服務(wù)器運行在一臺接入互聯(lián)網(wǎng)的電腦,客戶端App運行在Android手機。測試時候需要注意,如果服務(wù)器運行的電腦是在局域網(wǎng)內(nèi),沒有唯一的外網(wǎng)IP地址,建議使用花生殼軟件進行內(nèi)網(wǎng)端口映射。經(jīng)測試,通過Android手機App可以實現(xiàn)對停車位使用狀態(tài)信息的采集以及遠程控制車位鎖的升起和落下,成功模擬自助停車流程,并實現(xiàn)移動支付停車費,當車輛離開停車位后App發(fā)送消息提醒,并生成一條歷史停車記錄。
基于移動支付的自助停車控制系統(tǒng)可以實現(xiàn)對停車場停車位便捷高效的管理,用戶通過手機客戶端App實現(xiàn)自助停車和移動支付費用。借助移動互聯(lián)網(wǎng)和物聯(lián)網(wǎng)技術(shù)提升了對停車位資源的利用率,該系統(tǒng)具備低成本、智能化、高效安全的特點,不僅適用于各種大中型停車場,而且適用于小型和路側(cè)停車場的管理,具有很好的應(yīng)用推廣價值。
參考文獻:
[1]肖燕.基于ZigBee的大城市停車場管理系統(tǒng)設(shè)計[J].電子設(shè)計工程,2016,24(9):51-53.
[2]劉軍.基于ZigBee的智能停車場管理系統(tǒng)的設(shè)計與實現(xiàn)[D].哈爾濱:哈爾濱工程大學(xué),2012.
[3]耿寸召.基于ZigBee技術(shù)的停車場車位檢測系統(tǒng)設(shè)計[D].烏魯木齊:內(nèi)蒙古大學(xué),2013.
[4]魏振亞.基于超聲波車位探測系統(tǒng)的自動泊車方法研究[D].合肥:合肥工業(yè)大學(xué),2013.
[5]譚寶成,馬騰.基于超聲波測距的泊車引導(dǎo)系統(tǒng)的研究[J].電子設(shè)計工程,2015,(18):96-99.
[6]吳若偉.大型停車場智能泊車引導(dǎo)關(guān)鍵技術(shù)研究與系統(tǒng)開發(fā)[D].南京:南京航空航天大學(xué),2013.
[7]夏繼強,鄭昆,鄭健峰等.基于STM32的收發(fā)一體式超聲波測距系統(tǒng)[J].儀表技術(shù)與傳感器,2014,(8):43-45,52.
[8]杜新珂.超聲波測距在智能導(dǎo)盲系統(tǒng)中的應(yīng)用[D].南京:南京理工大學(xué),2012.
[9]李玲,陳惠濱.基于KEELOQ的無線遙控車位鎖系統(tǒng)設(shè)計[J].電子技術(shù)應(yīng)用,2013,(12):52-54.
[10]黨蟒.一種露天停車場管理系統(tǒng)的設(shè)計與實現(xiàn)[D].鄭州:鄭州大學(xué),2014.
[11]陳致遠,朱葉承,周卓泉,等.一種基于STM32的智能家居控制系統(tǒng)[J].電子技術(shù)應(yīng)用,2012,38(9):138-140.
[12]張婷.超聲波定位系統(tǒng)的設(shè)計[D].西安:長安大學(xué),2014.
[13]張藝粟,李鴻彬,賈軍營,等.物聯(lián)網(wǎng)ZigBee網(wǎng)關(guān)的設(shè)計與實現(xiàn)[J].計算機系統(tǒng)應(yīng)用,2013(6):34-38.
[14]隋俊杰,肖詩滿,邵偉恒,等.基于SIM900A的基站無線監(jiān)控系統(tǒng)[J].現(xiàn)代電子技術(shù),2016(3):51-54.
[15]李馳,段智敏,叢培田,等.基于STM32和SIM900A的網(wǎng)絡(luò)多點遠程數(shù)據(jù)監(jiān)測系統(tǒng)設(shè)計[J].微型機與應(yīng)用,2016(24):105-108.
[16]甘勇,徐珂,賈春利,等.基于ZigBee的智能停車場系統(tǒng)的設(shè)計與實現(xiàn)[J].鄭州輕工業(yè)學(xué)院學(xué)報:自然科學(xué)版,2013(2):74-77.
[17]蔡世雷,孫劉杰.基于ZigBee與Web的移動支付充電樁設(shè)計[J].電子科技,2017(2):126-129.
[18]宋玉琴,姬引飛,段俊瑞,等.基于Android和ZigBee的智能家居系統(tǒng)設(shè)計[J].西安工程大學(xué)學(xué)報,2015(4):442-446.