《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 模擬設(shè)計 > 設(shè)計應(yīng)用 > 基于物聯(lián)網(wǎng)的智能停車系統(tǒng)研究設(shè)計
基于物聯(lián)網(wǎng)的智能停車系統(tǒng)研究設(shè)計
2016年微型機與應(yīng)用第20期
王中生,,韓康
西安工業(yè)大學(xué) 計算機科學(xué)與工程學(xué)院,,陜西 西安 710021
摘要: 隨著經(jīng)濟水平和人們生活質(zhì)量的不斷提高,,機動車數(shù)量迅速增加,傳統(tǒng)停車系統(tǒng)無法滿足高速增長的停車需求,,智能停車管理系統(tǒng)的研究勢在必行,。通過對傳統(tǒng)停車系統(tǒng)的分析,研究了智能停車系統(tǒng)需具備的基本功能,并以ZigBee傳感網(wǎng)絡(luò),、MQTT協(xié)議,、Node.js與O2O模式等作為關(guān)鍵技術(shù),提出系統(tǒng)的整體架構(gòu)、系統(tǒng)組成和實現(xiàn)技術(shù),,該系統(tǒng)可有效利用城市停車資源,,減輕停車壓力。
關(guān)鍵詞: 智能停車 ZigBee MQTT Node.js
Abstract:
Key words :

  王中生,,韓康

 ?。ㄎ靼补I(yè)大學(xué) 計算機科學(xué)與工程學(xué)院,,陜西 西安 710021)

       摘要:隨著經(jīng)濟水平和人們生活質(zhì)量的不斷提高,機動車數(shù)量迅速增加,,傳統(tǒng)停車系統(tǒng)無法滿足高速增長的停車需求,智能停車管理系統(tǒng)的研究勢在必行,。通過對傳統(tǒng)停車系統(tǒng)的分析,,研究了智能停車系統(tǒng)需具備的基本功能,并以ZigBee傳感網(wǎng)絡(luò)、MQTT協(xié)議,、Node.js與O2O模式等作為關(guān)鍵技術(shù),提出系統(tǒng)的整體架構(gòu),、系統(tǒng)組成和實現(xiàn)技術(shù),該系統(tǒng)可有效利用城市停車資源,,減輕停車壓力,。

  中圖分類號:TN602文獻標(biāo)識碼:ADOI: 10.19358/j.issn.1674 7720.2016.20.028

  引用格式:王中生,韓康. 基于物聯(lián)網(wǎng)的智能停車系統(tǒng)研究設(shè)計[J].微型機與應(yīng)用,,2016,35(20):99 102.

  關(guān)鍵詞:智能停車,;ZigBee;MQTT,;Node.js,;O2O

0引言

  隨著我國經(jīng)濟高速增長、城市化進程不斷加快,,機動車的數(shù)量迅速增加,,日益增長的停車需求與城市所能提供的停車位數(shù)量之間的矛盾越來越突出,停車問題已經(jīng)成為影響城市交通可持續(xù)發(fā)展的瓶頸,。然而,,傳統(tǒng)停車場由于功能單一、效率低下,、自動化程度低,,己經(jīng)不能滿足人們的停車需求,因此發(fā)展城市各處停車場的智能化建設(shè)對于改善整個城市的交通管理狀況起著至關(guān)重要的作用[1],。

  傳統(tǒng)停車場在停車效率,、能源消耗、安全性能,、車場管理運營等方面已不能滿足現(xiàn)代化的停車發(fā)展需求,,多數(shù)傳統(tǒng)停車系統(tǒng)存在以下問題。

 ?。?)停車系統(tǒng)僅記錄停車場內(nèi)車輛數(shù)目或剩余車位數(shù)目,,無法提供具體的停泊位置信息。如果停車場規(guī)模較大,,車主很難快速找到合適的停車位,。

 ?。?)無法提供空余停車位在線顯示功能。對于一個開放性停車場,,車主無法了解到該停車場是否會有空余車位,,等到車主到達該停車場時才發(fā)現(xiàn)已經(jīng)停滿,這無疑是對時間和資源的浪費,。

 ?。?)停車系統(tǒng)之間很少進行資源共享。當(dāng)前各個停車場的系統(tǒng)是各自分離的“信息孤島”[2],,停車系統(tǒng)之間無法進行數(shù)據(jù)共享,,即使某些停車場爆滿,而另一些停車場有大量空余車位,,系統(tǒng)也無法為用戶提供來自其他停車場的可選停車方案,。

  因此,開發(fā)和設(shè)計一套完整的智能停車管理系統(tǒng)非常必要,。智能化的停車管理系統(tǒng)成為大中型綜合商業(yè)建筑物,、學(xué)校以及居民小區(qū)必備的配套設(shè)施[3],它可以有效減輕人們出行的壓力,,緩解現(xiàn)代城市堵車及停車難的問題,。

1系統(tǒng)功能

  智能停車管理系統(tǒng)針對傳統(tǒng)停車場的缺陷,結(jié)合國內(nèi)外智能停車系統(tǒng)的研究現(xiàn)狀,,采用O2O模式,,為系統(tǒng)添加了以下幾方面功能。

  1.1空余車位在線查看功能

  在O2O(Online to Offline)模式下,,用戶可以通過PC網(wǎng)頁或者手機等終端遠程查看停車場的空余車位信息,,車位上有車泊入或離開時,車位狀態(tài)變化都會及時顯示在用戶終端上,。如果用戶想要在某個停車場泊車,,可提前通過手機等移動終端查看信息并預(yù)定車位,進行有計劃的安排,,消除尋找車位的盲目性,。

  1.2車位預(yù)約功能

  通過移動終端查看空閑車位,用戶可以對其進行標(biāo)記和預(yù)約,,對于被用戶標(biāo)記過的車位系統(tǒng)會限制其他車輛泊入,,待用戶到達自己預(yù)約的車位時,可以通過移動終端操作,,解除限制,,泊車入位。

  1.3停車引導(dǎo)功能

  用戶可以通過移動終端查看停車場布局圖和停車情況,并根據(jù)引導(dǎo)找出事先預(yù)約或者空閑的車位,。當(dāng)停車場規(guī)模較大時,,清晰的停車分布圖可以引導(dǎo)用戶快速泊車。

  1.4停車場信息共享和停車位推薦功能

  當(dāng)用戶通過移動終端預(yù)約車位時,,系統(tǒng)控制硬件,,采取強制措施保護車位,例如升起一排地樁或者檔桿,,阻止其他用戶進入,。但是這顯然是對公共資源的一種浪費,更好的做法是,,僅對被預(yù)約的車位進行標(biāo)記,當(dāng)用戶預(yù)約的車位被其他用戶占用時,,系統(tǒng)可為用戶推薦車位,,提供可選的停車方案。停車位推薦的功能是依賴于信息共享的,,各個停車系統(tǒng)之間能夠信息共享,,才能提供合理的車位推薦。

2系統(tǒng)架構(gòu)

  該智能停車系統(tǒng)整體上劃分為三大部分[4]:數(shù)據(jù)源層,、數(shù)據(jù)服務(wù)層和發(fā)布層,,如圖1所示。

圖像 017.png

  首先,,系統(tǒng)中原始數(shù)據(jù)均來源于數(shù)據(jù)源層,,通過紅外、超聲波等設(shè)備采集車位傳感數(shù)據(jù),,采用ZigBee傳感網(wǎng)絡(luò)作為中間層進行通信,,依照ZigBee協(xié)議進行組網(wǎng)和發(fā)送數(shù)據(jù)[5]。采集到的傳感器數(shù)據(jù)可通過ZigBee傳感網(wǎng)絡(luò)傳送至PC上位機進行數(shù)據(jù)的集中預(yù)處理,。其次,,數(shù)據(jù)服務(wù)層運行于服務(wù)器中,接收來自PC上位機的傳感器數(shù)據(jù),,對其進行處理,,最終轉(zhuǎn)換為車位狀態(tài)信息存儲于數(shù)據(jù)庫內(nèi),并使用Webservice規(guī)范發(fā)布數(shù)據(jù)接口,,提供數(shù)據(jù)共享功能,。最后,在發(fā)布層,,系統(tǒng)支持多種客戶端,,用戶可方便地查看停車場車位信息,并使用車位預(yù)約、停車引導(dǎo)等功能,。

3系統(tǒng)設(shè)計與關(guān)鍵技術(shù)

  系統(tǒng)整體實現(xiàn)思路是:按照O2O理念[6],,線下使用ZigBee進行數(shù)據(jù)采集,配合Arduino控制器控制硬件,,線上使用Node.js處理數(shù)據(jù)存儲與數(shù)據(jù)分發(fā),,配合手機等移動端App,管理停車位資源,。通過線上線下的有序配合,,為用戶提供空閑車位查詢、車位標(biāo)記預(yù)約,、停車引導(dǎo)等功能,。系統(tǒng)的整體結(jié)構(gòu)如圖2所示。

圖像 018.png

  系統(tǒng)主要采用ZigBee數(shù)據(jù)傳輸,、MQTT消息推送,、Node.js數(shù)據(jù)服務(wù)、移動客戶端等關(guān)鍵技術(shù),。

  3.1ZigBee無線傳感網(wǎng)絡(luò)

  在智能停車系統(tǒng)中,,下位機采用超聲波傳感器探測距離,從而判斷車位上是否有車輛泊入,。通過Arduino控制器操縱傳感器采集數(shù)據(jù)經(jīng)由ZigBee網(wǎng)絡(luò)傳遞至PC上位機,,數(shù)據(jù)在上位機上進行預(yù)處理(消除噪聲)后,最終遞交至服務(wù)器,。另一方面,,除了接收和處理來自下位機的數(shù)據(jù),上位機也可以接收服務(wù)器控制信息,,并通過ZigBee網(wǎng)絡(luò)發(fā)送控制信息至Arduino控制器,,最終由Arduino來控制硬件動作,實現(xiàn)反向控制,,因此,,系統(tǒng)中不僅可以通過移動終端獲取傳感器數(shù)據(jù)實現(xiàn)在線查看車位的功能,也能通過手機操作控制系統(tǒng)硬件,,實現(xiàn)預(yù)約車位的功能,。超聲波傳感器與Arduino控制器、 ZigBee與上位機均采用串口通信協(xié)議交換數(shù)據(jù),。

  3.2MQTT消息推送

  智能停車系統(tǒng)要求數(shù)據(jù)能自主雙向流動,,即上位機與服務(wù)器通信過程中,一方面當(dāng)傳感器數(shù)據(jù)由于車輛位泊入或者離開發(fā)生變化時,,上位機能主動通知服務(wù)器,,服務(wù)器接收新數(shù)據(jù)并存儲。另一方面,用戶發(fā)送反饋數(shù)據(jù)去操作車位時,,服務(wù)器能主動通知上位機,,上位機再將用戶控制指令數(shù)據(jù)傳遞至ZigBee網(wǎng)絡(luò),進而通知Arduino控制器操作相關(guān)硬件,。由于HTTP協(xié)議具有被動性,,在此過程中,單純地使用HTTP協(xié)議只能保證傳感器數(shù)據(jù)被正確提交至服務(wù)器,,但無法保證服務(wù)器數(shù)據(jù)變化時能主動通知服務(wù)器,,除非使用客戶端長輪詢的方式,即在上位機不斷地發(fā)送HTTP請求獲取最新的服務(wù)器數(shù)據(jù),。但是這種方式非常耗費系統(tǒng)資源,,對一個物聯(lián)網(wǎng)系統(tǒng)代價比較大,因此選用擁有“消息訂閱機制”特點的MQTT協(xié)議實現(xiàn)服務(wù)器到上位機的通信更加合理,。

  消息隊列遙測傳輸(Message Queuing Telemetry Transport,,MQTT)采用輕量級發(fā)布和訂閱消息傳輸機制,支持雙向消息推送[7],。在MQTT協(xié)議中有訂閱者、發(fā)布者和代理三類角色,,前兩種以MQTT客戶端的形式來展現(xiàn),,后一種以MQTT代理服務(wù)器的形式展現(xiàn)。訂閱者和發(fā)布者的通信由MQTT代理來協(xié)調(diào),,具體運行機制是:MQTT代理服務(wù)器維護各個MQTT客戶端之間的關(guān)系,,當(dāng)某一客戶端發(fā)布消息時,代理服務(wù)器會首先接收消息,,查詢訂閱該類型消息的用戶,,并將消息轉(zhuǎn)發(fā)給訂閱者,訂閱者便可主動收到消息推送,。智能停車系統(tǒng)中采用MQTT協(xié)議進行服務(wù)器到上位機的反向通信,,PC上位機訂閱服務(wù)器發(fā)布的數(shù)據(jù)庫更新的消息,一旦數(shù)據(jù)庫更新事件發(fā)生,,便發(fā)布消息主動通知上位機,,上位機再做相應(yīng)處理。通信模型如圖3所示,,上位機PC和服務(wù)器均運行著MQTT客戶端,,用于消息的訂閱或發(fā)布,某個MQTT客戶端一旦發(fā)布消息,,MQTT代理服務(wù)器便會將其轉(zhuǎn)發(fā)給相應(yīng)的訂閱者,。

圖像 019.png

  本系統(tǒng)在上位機上采用基于Python的開源工具Paho實現(xiàn)MQTT客戶端,與運行于服務(wù)器中的MQTT代理服務(wù)器進行交互,完成服務(wù)器到上位機的消息推送,;使用HTTP協(xié)議實現(xiàn)上位機到服務(wù)器的通信,,當(dāng)傳感器數(shù)據(jù)的變化超過一定閾值時發(fā)送HTTP請求,將數(shù)據(jù)提交給服務(wù)器,??偟膩碚f,通過HTTP協(xié)議與MQTT協(xié)議,,數(shù)據(jù)可以在服務(wù)器與上位機之間自主雙向流動,。

  3.3Node.js數(shù)據(jù)服務(wù)

  服務(wù)端采用Node.js技術(shù),可實現(xiàn)服務(wù)掛載,、數(shù)據(jù)操作,、數(shù)據(jù)分發(fā)等多種功能。

  (1)服務(wù)掛載,。在Node.js環(huán)境中可以同時掛載MQTT代理服務(wù)器和HTTP服務(wù)器,,滿足服務(wù)器自主推送消息到上位機的需求,也允許上位機發(fā)送HTTP請求來提交傳感器數(shù)據(jù),。在Node.js環(huán)境中,,可采用Mosca[8]搭建MQTT代理服務(wù)器,同時創(chuàng)建MQTT客戶端,,在數(shù)據(jù)庫更新時發(fā)布消息,,通知上位機執(zhí)行執(zhí)行相應(yīng)動作。

  (2)數(shù)據(jù)操作,。MongoDB是一種NoSQL數(shù)據(jù)庫,,基于分布式文件存儲,可以存儲比較復(fù)雜的數(shù)據(jù)類型,,適用于大數(shù)據(jù)查詢服務(wù),。在智能停車系統(tǒng)中,服務(wù)器接收到傳感器數(shù)據(jù)后按照一定規(guī)則將傳感器數(shù)據(jù)映射為車位的占用狀態(tài)信息,,以JSON格式表示,,存儲于MongoDB。

  (3)數(shù)據(jù)分發(fā),。Webservice為運行于不同系統(tǒng)或平臺的應(yīng)用提供了一套交互規(guī)范,,RESTful Webservice因其輕量、高效,、易用,、易設(shè)計等特點,在移動互聯(lián)網(wǎng)應(yīng)用中使用廣泛,。使用Node.js平臺的輕量級Web框架Express,,可設(shè)計符合REST規(guī)范的API,,方便快捷地進行數(shù)據(jù)分發(fā)和共享。手機等移動客戶端調(diào)用REST API可以從數(shù)據(jù)庫中獲取車位信息,,展示在移動設(shè)備上,。

  總之,在Node.js環(huán)境下,,各項功能可以便捷地實現(xiàn)[9],,其整體組織結(jié)構(gòu)如圖4所示。

圖像 020.png

  3.4移動客戶端技術(shù)

  使用Java,、Swift,、React Native[10]等技術(shù)可開發(fā)各個平臺的App,通過調(diào)用服務(wù)器提供的REST API 獲取車位狀態(tài),,并使用第三方SDK集成一些實用的功能,,例如,使用百度地圖SDK為App集成地圖和導(dǎo)航功能[1112],;使用支付寶SDK可以為App集成在線支付功能,,停車收費通過移動支付技術(shù)完成。因此,,用戶通過App可以快速查看停車場的布局圖和停車位的當(dāng)前占用信息,,提前預(yù)約車位,進行高效的停車管理,,緩解城市停車壓力,。

4結(jié)論

  本文通過對現(xiàn)有停車系統(tǒng)的分析,結(jié)合當(dāng)前物聯(lián)網(wǎng)和移動互聯(lián)網(wǎng)先進技術(shù),,根據(jù)O2O模式提出了一種智能停車系統(tǒng)的整體架構(gòu),并重點對其中的關(guān)鍵技術(shù)進行了研究,。該系統(tǒng)可提供空余車位在線查看,、車位在線預(yù)約、用戶停車引導(dǎo),、附近停車場推薦和智能計費系統(tǒng)等功能,,實現(xiàn)停車場自動化管理,緩解日益增長的汽車保有量帶來的城市停車壓力,。

  依據(jù)信息技術(shù)的發(fā)展趨勢,,未來智能停車場主要從以下幾個方面進行深化。

 ?。?)打破信息孤島,。依賴于互聯(lián)網(wǎng)技術(shù),停車場之間數(shù)據(jù)共享,,構(gòu)建統(tǒng)一物聯(lián)平臺,,進行資源整合,,使停車資源得到有效利用。

 ?。?)實現(xiàn)高度自動化,。通過移動支付自助繳費,使用傳感器技術(shù)感知車輛泊入并自動計費,,使用計算機視覺等技術(shù)實現(xiàn)快速識別,。逐漸實現(xiàn)停車場無人化管理,節(jié)省人力資源,。

 ?。?)精確的停車誘導(dǎo)。通過傳感器定位技術(shù)自動生成停車場布局圖,,為用戶提供更精確的停車誘導(dǎo),、車位引導(dǎo)和反向?qū)ぼ嚨裙δ堋?/p>

  (4)移動終端支持更多功能,,如停車位自動導(dǎo)航,、自動繳費、按照停車位反向?qū)ぼ嚨裙δ堋?/p>

  隨著物聯(lián)網(wǎng)技術(shù)的發(fā)展,,停車系統(tǒng)會變得越來越智能,,“城市停車難”的問題也會逐步減緩。

  參考文獻

 ?。?] 郭 騰. 智能停車管理系統(tǒng)的研究與實現(xiàn)[D]. 北京:北方工業(yè)大學(xué),2015.

 ?。?] 姚雄. 信息孤島問題及PLM解決方案[D].南京:南京航空航天大學(xué),2005.

  [3] 黨蟒. 一種露天停車場管理系統(tǒng)的設(shè)計與實現(xiàn)[D].鄭州:鄭州大學(xué),2014.

 ?。?] 李揚威,焦朋朋. 城市智能停車管理系統(tǒng)研究[J].交通信息安全,2014,,32(4):160-164.

  [5] 蔡文晶. 基于ZigBee技術(shù)的無線數(shù)據(jù)采集系統(tǒng)[D].杭州:杭州電子科技大學(xué),2011.

 ?。?] 盧益清, 李忱.O2O商業(yè)模式及發(fā)展前景研究[J].企業(yè)經(jīng)濟,2013(11):98-100.

 ?。?] COLLINA M, CORAZZA G E,, VACELLICORALLI A. Introducing the QEST broker: scaling the IoT by bridging MQTT and REST[C].2012 IEEE 23rd International Symposium on Personal Indoor and Mobile Radio Communications (PIMRC), 2012:36-41.

 ?。?] Mcollina. MQTT broker as a module[EB/OL].(2016-05-08)[2016-06-26]https://github.com/mcollina/mosca.

  [9] TILKOV Stefan. Node.js: using JavaScript to build high performance network programs[J]. IEEE Internet Computing,2010,14(6):1-15.

 ?。?0] A JavaScript library for building user interfaces[EB/OL].(2016-05-07)[2016-06-26]http://facebook.github.io/react/.

 ?。?1] 肖文漢,吳孝斌.基于百度地圖API的停車場查詢系統(tǒng)的設(shè)計[J].計算機技術(shù)與發(fā)展,2014,24(4):227-230.

  [12] 任齊. 基于Android的LBS應(yīng)用研究[D].上海:華東師范大學(xué),2012.

  


此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載,。