潘宇 張葉茂 莫淑賢



摘? 要:隨著物聯網技術快速發展,并在很多行業領域普及,在實際技術應用中大大提高了工作效率,節省了人工成本。本文設計了一個基于云平臺的物聯網停車場管理系統,系統軟件可以在PC機WEB端以及手機APP上應用。系統創新點基于安放在停車場的傳感器,用戶可以通過手機APP實現車位查詢、車位預訂、自動導航路線并引導到預訂停車位泊車。出入停車場門禁前可以通過APP掃碼驗證,驗證通過后門禁會自動開啟,停車場管理人員還可以通過系統接入安防監控攝像頭實時查看停車場狀況,一旦有火災事故發生時,系統APP第一時間產生警示信息。
關鍵詞:停車場管理系統;物聯網;云服務
中圖分類號:TP311? ? ?文獻標識碼:A
文章編號:2096-1472(2021)-04-51-04
Abstract: With the rapid development of Internet of Things technology and its applications in many fields, it can greatly improve work efficiency and save labor costs in actual technical applications. This paper proposes to design a cloud platform-based Internet of Things parking lot management system. Software of the system can be applied on PC (personal computers), WEB ends, and mobile phone APP (Application). The innovation of the system is the sensors placed in the parking lot. Users can enquire and reserve parking space, and can be automatically navigated to the reserved parking space through mobile phone APP. Before entering and exiting the parking lot, users can be verified by scanning a QR Code (Quick Response Code) through the APP. After verification is passed, access control will be automatically opened. Management personnel of the parking lot can monitor the entire parking lot in real time with an access to the security surveillance camera through the system. Once a fire accident occurs, the system APP will generate warning information at the first time.
Keywords: parking lot management system; Internet of Things; cloud service
1? ?引言(Introduction)
當今社會經濟不斷發展,汽車保有量不斷增加,智慧停車已被納入新型智慧城市建設的重要參考依據,各地城市要解決“停車難”的痛點,有意識地將智慧停車作為發展智能交通的“引爆點”,開啟未來城市智慧交通新時代[1]。
對車主而言,泊車有幾大困擾:一是要高峰找停車位;二是停車收費付款。找停車位難的主要原因是被困于停車位的供求平衡,除了提升停車位數量外,導向性尋找停車位是提高停車效率的有效解決方法。
停車難的問題不僅困擾著車主,也困擾著交通管理執法人員。首先,停車警情占比過高,嚴重影響警務效能,2015年我國機動車不按規定停放違法行為占全國交通違法量的14.2%,位列城市道路交通違法類型首位;其次,停車管理體制不順,相關管理缺少規范。
我國的交通設施還遠遠不能滿足當前城市化發展的需要,設計一個依托物聯網技術的停車管理系統,將使車主和停車場以新的方式進行互動,實現實時、準確、安全、高效的智能管理,有效解決停車收費、停車困難等問題,提升車主停車體驗。
2? ?系統設計方案(System design scheme)
本系統利用HTTP和MQTT協議,實現硬件設備、APP端、WEB端、云服務器端之間信息交互的功能。車主通過掃描停車場二維碼進入/離開停車場,同時智能硬件向服務器發送更新數據并由云服務器向APP端和PC端實時更新用戶車輛信息、停車場車位信息。
系統主要功能特點如下:
(1)使用手機APP進行車輛停車位管理,方便快捷。
(2)手機定位停車場位置,車主容易找到停車場,停車場內有相關LCD顯示屏來指引用戶停車位的位置,大大節省了用戶的時間,也使停車更有序。
(3)系統有WEB端和手機端,可供用戶提前預訂。
(4)在停車場門口,采用高精度的掃碼識別技術控制停車場的門禁系統。
(5)采用云服務器聯網通信,用戶可以了解停車位的當前狀況,并且APP還具有用戶與管理人員相互聯系的功能,實現用戶遠距離對停車位的管理。
本系統整體框架如圖1所示。
3 系統主要硬件設計(Hardware design of the system)
硬件系統主要由STM32F103主控芯片、ESP8266模塊、繼電器、傳感器、LCD液晶顯示屏組成,電源控制系統主要是交流220 V經過AC-DC電路穩壓至5 V、12 V供電,數據通信使用云服務器實現PC、APP與MCU之間的通信[2]。
手機APP擁有控制單片機的功能和控制所確定的停車位的權限。在停車場停留了車輛后,車輛在主人離開后出現的異常(如車輛著火或有人進行盜竊)都能通過ESP8266發送到手機APP,讓車主及時了解并且進行下一步操作防范,如圖2所示。
3.1? ?STM32F103主控芯片
STM32F103主控芯片基于ARM架構,可以進行高速運算,有128 kB字節的flash程序內存,集成了I2C通信方式、串行通信等功能,能夠與傳感器模塊進行實時通信并采集數據。ESP8266模塊通過串口與STM32F103通信,通過路由器把數據傳輸到系統服務器端,車主用戶通過PC機或者手機登錄網頁WEB端進行控制、查詢,從而實現對停車位本地與遠程功能的控制操作[3]。
3.2? ?WIFI通信模塊
ESP8266模塊擁有完整且成體系的WIFI網絡功能,既能夠獨立應用,也可以作為從機搭載于其他主機MCU運行。當ESP8266獨立應用時,能夠直接從外接flash中啟動,通過UART串口與主控芯片STM32F103連接,以MQTT協議傳輸數據到服務器端。
3.3? ?門禁自動控制
系統通過APP端發送的指令傳送到ESP8266,然后單片機再接收指令執行下一步操作,這一流程是在用戶用手機掃描停車場的二維碼后進行的操作。在這一系列的操作之后,停車場的大門便會自動打開,并且指引車主到達指定的停車位[4]。
3.4? ?防火安全提示
通過驗證進入停車場的用戶停放好車輛之后,停車管理系統便開始對這個停車位進行監視工作準備,采用溫度傳感器對車輛進行溫度監視,以防出現著火的危急情況。只要檢測到的溫度達到閾值,便會通過APP發出語音安全提示音,通知停車場管理員以及車主及時來處理,紅外傳感器采集到的數據會回傳到STM32F103中[5],同時,溫度數據每隔一定時間通過MQTT方式傳送至WEB端,車主也可以借此來監視車輛的狀態。
3.5? ?防盜入侵報警
防盜系統采用的是反射式紅外傳感器,安放在停車場無人值守且禁止出入的通道處,當人經過的時候,觸發紅外傳感器,紅外報警模塊立即返回數據給STM32F103主控芯片,通過判斷I/O返回的信息來決定是否啟動語音報警模塊進行報警。與此同時,通過ESP8266模塊給停車場管理員以及車主的手機發送信息來提醒報警[6]。
4? ?系統軟件設計(System software design)
4.1? ?軟件總體架構設計
本系統軟件設計采用B/S和C/S兩種結構來構建軟件系統,系統軟件在PC的WEB端采用B/S結構,即瀏覽器和服務器結構,如圖3所示。
在手機APP端上采用C/S架構,即客戶機/服務器模式,如圖4所示。C/S架構分為客戶機和服務器兩層:第一層是用戶表示層,第二層是數據庫層,一旦服務器程序被啟動,就隨時等待響應客戶程序發來的請求。它的主要特點是交互性強、網絡通信量低、響應速度快,有利于處理大量數據。
4.2? ?PC機WEB端設計
系統軟件前端使用Vue框架向用戶展示數據,當客戶發起請求時,則使用Ajax異步技術到達后端服務器,通過服務器對數據的處理,最后到達MySQL數據庫[7];再通過MySQL數據庫往回進行對用戶的響應,利用HTML5、CSS、JavaScript對界面進行設計。HTML5用來對軟件界面進行制作,實現顯示定位地點、停車場數量等功能,用戶進行停車場的選擇后會顯示出停車位、地點距離、用戶評價、聯系電話等;CSS用來對樣式進行控制,使得頁面更加美觀,可實現布局設計、顏色調整、字體大小選擇等樣式功能;JavaScript用來對功能進行解析,例如登錄賬號會判斷賬號是否正確。軟件主界面如圖5所示。
點擊“停車場訂單管理”菜單,將會跳轉到停車場訂單管理頁面,顯示出存入數據庫里面的內容,可進行增刪改查操作。訂單管理頁面如圖6所示。
4.3? ?手機APP設計
手機APP與服務器的連接中使用okhttp框架,通過get請求向服務器發送請求。get請求用于查詢信息,用戶登錄時或本實驗中查詢作者id時就用的get請求,服務器會向Android端反饋一份含有作者信息的JSON文檔,該文檔需要在APP中進行解析后顯示在界面上。向服務器中添加信息則使用pust請求,pust請求需要在HTTP請求報文body中提供相應格式的JSON文檔;刪除服務器中的信息需要發送delete請求,服務器收到請求后就會根據請求中的信息刪除相應文件;修改服務器中的信息需要發送put請求,與pust請求類似,put請求也需要向服務器中發送JSON文檔[8]。
APP主要設計有用戶登錄注冊、二維碼支付、車位查詢、車位導航、一鍵求助、防盜警報、計算停車時長等功能。在APP注冊界面注冊賬號的時候,進行用戶數據初始化,再向服務器發送JSON格式的記錄了用戶數據的表單,服務器接收后將數據存入數據庫,在登錄界面登錄時同樣將用戶輸入的數據轉換為JSON表單向服務器發送請求,進行賬號、密碼的驗證。
進入個人界面后,需要二維碼支付的時候,APP界面通過導航欄跳轉至微信掃碼支付,并且會為每個注冊用戶生成一個二維碼,該二維碼用于進出停車場。
車位查詢和防盜警報功能通過本系統的硬件傳感器進行反饋配合,當車位為空或有車時,硬件向服務器反饋信息,當用戶點擊查詢頁面查找車位時,APP向服務器發送請求,并接收車位信息。防盜警報則是在用戶停好車并確認離車后,APP每一分鐘向服務器發送一次安全確認請求,判斷警報有沒有響起。在用戶確認停車后,開始計算停車時長,直至用戶安全駕車離開車位。通過高德API進行停車場車位導航[9],在準確定位到停車場范圍、用戶位置、目標車位的基礎上,自動生成導航路線。
當在停車場發生危險的時候,可以一鍵求助,通過APP界面導航欄調用本地操作系統撥號界面,每一個停車場的管理員電話信息都會存儲于服務器中,并通過下拉刷新向服務器發送更新表單請求,進行實時更新。用戶可以點擊一鍵求助按鈕,找到其所在停車場的管理員客服號,撥打過去求助。
4.4? ?數據庫系統設計
系統的數據庫采用MySQL數據庫,支持所有的操作系統平臺,支持Apache、IIS等多種WEB服務器。MySQL是一個真正的多用戶、多線程的SQL數據庫服務器[6],數據庫層操作功能強大,可操縱多種主流數據庫。SQL是世界上最流行的和標準化的數據庫語言,它使得存儲、更新和存取信息更加容易。MySQL是一個客戶機/服務器結構的實現[10],它由一個服務器守護程序MySQL和許多不同的客戶程序以及庫組成[7]。數據庫結構平臺主要的數據表如圖7所示。
4.5? ?服務器數據處理
服務器數據處理主要由發布在服務器端的WebAPI服務程序和MQTT服務程序完成。其中WebAPI服務程序主要提供對網頁端、APP端、MQTT服務程序的HTTP響應服務;而MQTT服務程序主要完成軟件與硬件端的信息交互功能,充當代理的角色[11]。
4.5.1? ?WebAPI服務程序
WebAPI服務程序由C#語言編寫,使用ASP.NET CORE WebAPI框架進行開發,基于HTTP協議向軟件外部暴露接口的方式來向WEB端和APP端提供服務,通過訪問URI可以與其進行信息交互。WEB和APP發送不同的請求報文,服務程序根據請求報文對數據庫中存儲的停車場相關信息進行讀取、提交、刪除、修改等操作,并向用戶發送帶有相關數據的響應報文,從而實現用戶在APP端或網頁端實時處理數據的功能。
例如,當用戶使用APP注冊賬號時,APP端接收到注冊表單后把數據編碼為JSON格式即可通過HTTP協議將信息轉交給WebAPI,WebAPI通過調用相關注冊函數異步地更新數據庫內的信息,并向APP端回復200,ok則響應報文。WebAPI服務程序運作過程如圖8所示。
4.5.2? ?MQTT服務程序
MQTT服務程序主要完成與硬件端的鏈接并提供服務,MQTT基于發布/訂閱范式的消息協議,工作在TCP/IP協議族上。MQTT協議中有發布者、訂閱者和代理三種角色,而系統中的MQTT服務程序在其中扮演代理的角色,作為硬件與軟件溝通的橋梁。
系統軟件WEB或者APP端在服務程序上發布自己的內容的時候,硬件端訂閱相應主題即可收到網頁端或APP端發送來的信息;反之硬件也可以在上面發布主題,而軟件訂閱相關主題即可實現雙向信息交互[12]。
后臺服務程序和數據庫通過容器化部署技術部署在Docker容器中,容器使用沙箱機制,服務程序與服務程序、服務程序與數據庫互相隔離,并通過端口映射到服務器網絡端口與外界進行通信。云服務器的部署如圖9所示。
5? ?結論(Conclusion)
停車場管理系統利用云平臺、物聯網技術,以比較新穎的架構思想進行設計,具有對車輛進出的智能化管理、提前查詢車位、車位導航、掃描支付等功能,使車輛進出井井有條,文明進出;能夠接收在停車場放置的多種傳感器傳送來的信息,以確保車輛的停放安全,防止車輛丟失,如紅外檢測傳感器監測車輛周邊溫度從而起到防火的效果,而停車場配置的超聲波傳感器可以監測車輛信息,以達到防盜的功能。
系統軟件WEB端和APP的設計優化了用戶的操作體驗,讓擁有不同終端的用戶都能體驗到停車場帶來的便利,用戶無須擔心找不到停車場,APP的引導功能可以提示用戶找到
目標停車場;用戶更無須擔心車輛安全,APP實時向用戶更新車輛信息和停車狀態信息。軟件系統的應用降低了人工成本,很好地提高了工作效率。
參考文獻(References)
[1] DU B. Smart home system based on intelligent cloud Internet of Things[J]. Future Generation Computer Systems, 2018, 8(6):98-105.
[2] JIA L. Research and development of open laboratory management system based on web technology[J]. Neurocomputing, 2017, 5(4):200-215.
[3] 李敏,孟臣.數字式溫濕度傳感器及其應用技術[J].電子元器件應用,2014,19(8):136-139.
[4] 李泉溪.嵌入式原理及應用[M].北京:北京航天大學出版社,2019:41-48.
[5] 孫榮超,孫德超.數字溫濕度數據記錄儀的設計[J].現代電子技術,2015,7(12):56-61.
[6] 黃鴻,吳石增.傳感器及其應用技術[M].北京:北京理工大學出版社,2018:26-32.
[7] 劉燦軍.實用傳感器[M].北京:國防工業出版社,2014:28-33.
[8] 孫惠芹.單片機項目設計教程[M].北京:電子工業出版社,2019:30-38.
[9] 宗光華,李大寨.多單片機系統應用技術[M].北京:國防工業出版社,2013:63-68.
[10] 王芳琴.單片機控制的節水灌溉系統的研究[J].華中農業大學,2016(16):81-88.
[11] 艾永樂,付子儀.數字電子技術基礎[M].北京:中國電力出版社,2018:86-93.
[12] 陳根.互聯網+智能家居:傳統家居顛覆與重構[J].軟件導刊,2020,10(02):212-213.
作者簡介:
潘? ?宇(1988-),男,碩士,講師/工程師.研究領域:嵌入式系統開發,計算機應用.
張葉茂(1983-),男,碩士,副教授/高級工程師.研究領域:智能控制技術.
莫淑賢(1987-),女,碩士,講師.研究領域:教育管理及信息化.本文通訊作者.