焦 健 閻春利 茍 琴 世文富 何貝寧 尚祖丞
(東北林業大學,黑龍江 哈爾濱 150040)
目前,我國汽車保有量位于世界前列,而且處于不斷增長的態勢中,隨之而來的是停車難的問題[1]?,F階段,我國已經通過修建大中型停車場、立體停車場等途徑解決停車難的問題。但是,大中型停車場還存在找車難的問題,特別是在很多場館的地下停車場,泊位多,區域廣,有些還是多層的[2]。因此,如何管理這些大型停車場,以方便駕駛員停車、找車就成了需要關注的焦點問題。目前,市面上有很多大型停車場的智慧管理模式,但是受制于成本和便捷性,能夠落地實現的很少[3-6]。因此,建立一種將互聯網大數據優勢、智能設備數量優勢轉化為城市智能交通一部分的停車場管理模式成為研究的重點。
反向尋車系統的工作原理是基于微信小程序客戶端和服務端2 個部分,客戶端主要實現掃碼登記個人信息、獲取車位信息的功能。通過網絡模塊傳輸協議將小程序客戶端與服務端連接起來,客戶端發起請求攜帶數據,服務端對數據進行處理反饋,客戶端接收服務端返回的參數進行解析,引入外部導航,處理并顯示路徑,最終給出導航并存入歷史記錄。在反向尋車界面進行登記(記錄選擇和引導),通過查詢、計算在界面顯示路徑。從客戶端將基本信息輸入Andriod小程序,服務端從Android 小程序接收基本信息,在進行基本運算后傳輸結果并呈現給客戶端,車主可按照導航尋找車位。系統原理如圖1 所示。

圖1 系統工作原理圖
1.2.1 位置信息存儲
該系統包括停車場中的二維碼、用戶智能手機客戶端和服務器端。每個停車場中都按照地圖分布一定數量的二維碼,多個停車場可共用1 個服務器,用戶通過智能手機上的微信小程序實現反向尋車的功能。二維碼粘貼在停車場中醒目的位置,智能手機客戶端上的微信小程序可以掃描二維碼的內容,并通過3G/Wi-Fi 網絡傳送至服務器端,服務器查詢到該二維碼對應的位置后,將該二維碼所在停車場對應的地圖以及二維碼的位置返回給手機微信小程序,手機微信小程序將該二維碼的位置在停車場地圖上展示給用戶,方便用戶找到車輛。
1.2.2 建立車輛信息與位置信息的聯系
在系統中,該停車場的多個停車位可共享1 臺總服務器。一方面,服務器負責存儲各個停車場車位信息,包括車位的編號、名稱、所在位置、地圖以及停車場內各個二維碼黏貼的位置;另一方面,運行在服務器端的程序還通過Web Service 接口與智能手機微信小程序客戶端進行交互,智能手機微信小程序掃描二維碼的內容就可以獲得該二維碼的位置信息以及二維碼所屬停車場的地圖。
在手機終端制作微信小程序并導入停車場的地圖,將車輛信息與車位信息建立通信,通過小程序可以進行定位查詢,同時可以查看停車場的立體圖,實時顯示車輛信息和查詢者當前位置。
1.2.3 設計最短尋車路徑
通過查詢之前所存儲的位置信息,手機終端的微信小程序會自動跳轉到外部引用的地圖軟件,其最短路徑采用典型的最短路徑路由算法,計算1 個節點到其他所有節點的最短路徑。主要特點是以起始點為中心向外層層擴展,直到擴展到終點為止。根據外部軟件所提供的路徑,實現最短路徑尋車的功能。
1.2.4 確定定位精度
系統中二維碼的密集度與定位精度有統計學意義,密度越大,定位越準確,但是二維碼數量的增加將使數據庫變大,這也增加了系統的不穩定性,因此將根據停車場的規模合理安排密度。同時,在二維碼信息中包括停車場層數,可以解決垂直定位問題,導入地圖和坐標可以解決位置精度和信號干擾的問題,實時查詢可以解決尋車路徑最短的問題。
1.2.5 各項應用測試
對方向感較差的用戶來說,還存在導航地圖與實際地形匹配困難的問題。此時,用戶可以將起點位置的地圖放大,沿著導航線路尋找最近的車位編號,并與地圖上的車位編號對應,直到找到方向為止。
由于微信應用本身是跨平臺的,因此該系統基于微信的所有功能在不同平臺上都可正常實現。分別采用多臺iOS 手機和Android 手機對該微信小程序進行測試,各功能均正常。結果表明,該系統適用于當前主流智能手機平臺。
進行實地停車場模擬測試。在學校內尋找實際停車場,導入該停車場的地圖,在顯著位置布置二維碼,實操模擬用戶停車,在離開車輛一定復雜距離后返回,利用歷史記錄進行尋車操作,得到了良好的結果反饋,證明了該小程序的實用性。
反向尋車系統基于“互聯網+智慧模式”的開發理念,智能手機終端是用戶與服務器之間進行交互的硬件基礎,在具備打開微信小程序的能力同時,還需要具有上網功能[7]。用戶通過微信“掃一掃”功能對附近二維碼進行識別,并通過微信小程序服務器、后臺服務器和云地圖服務器進行交互。
首先,使用“微信開發者工具”開發微信小程序,旨在支持移動端且維護成本低。其次,使用百度地圖獲取車位的地理位置,使用網上自制二維碼工具編入車位編號以及車位地理位置信息,以形成對應的二維碼。二維碼存放位置信息放置在對應車位,直接定位車位,減少信息錯誤。再次,調用camera 組件,調用用戶攝像頭和相冊,實現掃描二維碼的功能,利用form 組件登記用戶信息。用戶停車后可掃碼登記車牌號和姓名,實現一對一登記,高效快捷。從次,使用live-player 組件,在連接攝像頭后可以實現直播的功能,實時視頻播放,用戶可以在手機端實時觀察車輛狀況。最后,借用百度、高德地圏API 直接使用外部App 導航。其主要優勢是導航功能借助功能成熟的導航App。同時解決了最短路徑規劃和導航問題,進一步完成車位導航任務。
系統利用Java、CSS 以及HTML 等編程技術開發微信小程序。利用3Ds Max、Maya、ZBrush、UE 以及AE 等動畫制作技術開發停車引導動畫,建立停車場模型;采取二維碼等信息處理技術儲存信息,利用TCP/IP 協議傳輸信息,最終實現項目目標。設計過程如圖2 所示。
反向尋車系統程序由4 個模塊組成,分別是掃碼登記模塊、尋車導航模塊、記錄儀模塊和歷史記錄模塊。
2.1.1 掃碼登記模塊
該模塊的構建過程如下:當用戶在大中型停車場停車時,通過掃碼登記模塊輸入車輛信息,與此同時,掃碼即代表輸入特定停車位,用戶需要自行輸入車牌號和姓名作為登記信息并進行保存,保存后在程序內的地圖上即會標記該停車位。
其主要實現的程序如下。

2.1.2 尋車導航模塊
當用戶需要進行反向尋車時,單擊尋車導航模塊對該停車位進行位置導航,此時程序會跳轉到外部導航軟件。實現導航功能的程序如下。

2.1.3 記錄儀模塊
記錄儀模塊可以通過其連接的攝像頭對停車位上的車輛進行監控。實現調用攝像頭功能的程序如下。

2.1.4 歷史記錄模塊
尋車完畢后會在歷史記錄上留存記錄,歷史紀錄可以在反向停車功能服務結束后起到補充作用,成為車主因各種原因需要回到該停車點的依據,保留車主曾使用停車點的位置信息。實現由歷史記錄導航的功能的程序如下。

程序的運行步驟如下:1)打開程序進入主頁面,如圖3所示。2)單擊車位導航界面,在默認輸入該停車位后再輸入個人信息,如圖4 所示。在地圖上標記的停車地位置信息如圖5 所示。3)單擊停車位自動鏈接到“App 導航”,如圖6所示。接著,通過外部地圖軟件進行導航,如圖7 所示。導航結束后將該點作為歷史停車點進行存儲,如圖8 所示。

圖3 系統界面

圖4 信息輸入

圖5 顯示停車

圖6 App 導航

圖7 尋車路線圖

圖8 歷史記錄查詢
通過該文設計的微信小程序實現了在大中型停車場反向尋車的目標,解決了用戶“尋車難”的問題。通過現場試驗可知,該文設計的尋車系統可以實現在手機終端上進行停車場反向尋車的功能,達到了最短路徑反向尋車的目的,同時該程序應用簡單、方便且快捷,達到了預期的目的。