(1.四川文理學院 智能制造學院,達州 635000;2.四川文理學院 達州智能制造產(chǎn)業(yè)技術(shù)研究院)
隨著城市經(jīng)濟的迅速發(fā)展,人民的生活水平得到了不斷提高,私家車也越來越多,對停車位的需求也越來越大。但是很多城市的中心城區(qū)修建較早,規(guī)劃不是很完善,加之停車場的擴建較為緩慢,導致中心城區(qū)停車難的問題日益嚴重。
為解決停車難的問題,有很多學者對此做了大量的研究工作,從利用RFID[1-3]、CDMA[4]、ZigBee[5-6]并結(jié)合計算機軟件技術(shù)來提高停車位的管理水平,到利用大數(shù)據(jù)[7]、云平臺[8]技術(shù)來提高停車位管理的智能化程度;從預訂停車位[9]方便車主停車,到共享停車位[10-12]都有效提高了停車位的利用率。
與此同時,管理系統(tǒng)的個性化和便捷性也得到了改善,從基于云平臺的停車位管理系統(tǒng)[8],到基于手機的APP停車位管理系統(tǒng)[13],這些都極大地提高了用戶的體驗度。但是,這些系統(tǒng)使用時需要在手機上安裝一個APP軟件,這不僅要消耗有限的手機資源,同時,每次操作都需要打開APP客戶端,操作起來多有不便。為此,我們設(shè)計了一款基于微信平臺的停車位管理系統(tǒng),因為微信是目前比較流行的社交軟件,用戶在聊天的同時,就可以進行停車位共享信息的發(fā)布、預訂及繳費等操作,從而在一定程度上方便了用戶的操作,也提高了軟件的個性化水平。
下面從系統(tǒng)方案的總體方案設(shè)計、關(guān)鍵硬件模塊設(shè)計、軟件系統(tǒng)設(shè)計三個方面來闡述基于微信平臺的停車位管理系統(tǒng)的設(shè)計。
本文設(shè)計的基于微信平臺的停車位管理系統(tǒng)主要包括:車位探測器、嵌入式網(wǎng)關(guān)、服務(wù)器系統(tǒng)、微信公眾平臺四個部分。車位探測器主要負責探測車位是否空閑,并根據(jù)車位空閑與否自動控制車位鎖的開關(guān)狀態(tài),然后將信息經(jīng)由ZigBee通信模塊轉(zhuǎn)發(fā)給嵌入式網(wǎng)關(guān);嵌入式網(wǎng)關(guān)主要負責接收ZigBee通信模塊發(fā)送來的信息,并將其轉(zhuǎn)發(fā)給服務(wù)器;服務(wù)器系統(tǒng)主要負責收費管理、停車位信息管理、出入庫控制、監(jiān)控管理和安全運行管理;微信公眾平臺主要負責微信用戶注冊、車位出租信息發(fā)布、車位預訂及繳費等。系統(tǒng)整體方案圖如圖1所示。下面我們從關(guān)鍵硬件模塊和軟件系統(tǒng)兩個方面對基于微信公眾平臺的停車位管理系統(tǒng)的設(shè)計過程加以闡述。
圖1 系統(tǒng)總體方案圖
綜合考慮停車位管理系統(tǒng)的建設(shè)成本、用戶使用的便捷性等方面的因素后,設(shè)計的停車位管理系統(tǒng)中關(guān)鍵硬件模塊由車位探測器、嵌入式網(wǎng)關(guān)兩部分組成。
車位探測器主要由無線通信模塊、超聲波數(shù)據(jù)采集模塊和電源模塊組成。無線通信模塊主要負責數(shù)據(jù)的無線傳輸;超聲波數(shù)據(jù)采集模塊主要負責采集車位是否空閑的信息;電源模塊主要負責給設(shè)備供電。下面主要介紹無線通信模塊和超聲波數(shù)據(jù)采集模塊。
2.1.1 無線通信模塊
現(xiàn)有可用于無線通信的模塊有很多種,如WiFi、藍牙、GSM、ZigBee等無線通信技術(shù)。由于ZigBee模塊具有自組織網(wǎng)絡(luò)的特性,網(wǎng)絡(luò)中一個模塊出問題后,其他模塊可以自動更新網(wǎng)絡(luò)拓撲結(jié)構(gòu),繼續(xù)保持網(wǎng)絡(luò)的連通性,這樣既增強了網(wǎng)絡(luò)的穩(wěn)定性,成本又不高,所以選擇ZigBee模塊作為無線通信模塊。
考慮到停車位上的每一個ZigBee模塊除了要進行采集信息之外,還要兼作路由器的功能進行數(shù)據(jù)轉(zhuǎn)發(fā),且模塊與模塊之間的通信距離不能太短,所以我們選擇CC2520這款射頻收發(fā)器,該芯片可以在2.4 GHz頻段、 -40~125 ℃下正常工作,并且提供了廣泛的硬件處理技術(shù),如可以支持幀處理、數(shù)據(jù)緩沖、突發(fā)傳輸、數(shù)據(jù)加密、數(shù)據(jù)驗證、信道評估、鏈路質(zhì)量指示和幀定時等功能,這可以有效降低主控制器的負荷。該通信模塊的電路圖如圖2所示。
圖2 無線通信模塊電路圖
2.1.2 超聲波數(shù)據(jù)采集模塊
車位探測器的一個主要功能是探測車位是否空閑,而功能的實現(xiàn)主要依靠數(shù)據(jù)采集模塊。目前可以采集車位信息的模塊較多,如紅外線探測模塊、超聲波測距模塊等??紤]到超聲波傳感器在短距離測距時,受環(huán)境影響比較小,選擇了HC-SR05超聲波測距模塊作為停車位的數(shù)據(jù)采集模塊。
每一個超聲波模塊對應著一個停車位。該模塊由CC2530控制,安裝在停車位底部中間位置,當測距大于1 m的時候,標記為空閑車位,當測距小于1 m的時候,標記車位被占用,這樣能夠記錄停車場內(nèi)車位實時變化情況。
HY-SRF05超聲波數(shù)據(jù)采集模塊的電路圖如圖3所示。
圖3 超聲波數(shù)據(jù)采集模塊電路圖
CC2530控制超聲波模塊采集數(shù)據(jù)的關(guān)鍵代碼代碼如下:
#ifdef WXL_COORD
if(RfRx.RXDATA.DataBuf[0] ==Y&& RfRx.RXDATA.DataBuf[1] ==D&& RfRx.RXDATA.DataBuf[2] ==W){
//接收到預定車位的信號
SendData(0xffff, RfTx.TxBuf, 32);
}
if(RfRx.RXDATA.DataBuf[0] ==M&& RfRx.RXDATA.DataBuf[1] ==D&& RfRx.RXDATA.DataBuf[2] ==W){
//未接收到預定車位的信號
SendData(0xffff, RfTx.TxBuf, 32);
}
#endif
嵌入式網(wǎng)關(guān)的主要功能是處理不同網(wǎng)絡(luò)之間信息傳輸?shù)膯栴}。由于車位探測器到嵌入式網(wǎng)關(guān)是ZigBee通信,而嵌入式網(wǎng)關(guān)到服務(wù)器采用的是TCP/IP通信,所以嵌入式網(wǎng)關(guān)不僅要具備較強的信息處理能力,而且還要能實現(xiàn)將數(shù)據(jù)從ZigBee協(xié)議到TCP/IP協(xié)議的數(shù)據(jù)格式轉(zhuǎn)換。所以,處理器芯片的好壞對嵌入式網(wǎng)關(guān)的性能起著決定性的作用。
為此,對多款芯片從成本、處理能力、通信能力和擴展能力等方面進行比較分析,最后選擇STM32F103芯片作為嵌入式網(wǎng)關(guān)的主處理器。由于該芯片的數(shù)據(jù)處理能力較強,通信擴展接口豐富,且成本也比較適中。
根據(jù)嵌入式網(wǎng)關(guān)工作的需求,將STM32F102的USART1接口作為本體的數(shù)據(jù)傳輸接口,與CC2530模塊的數(shù)據(jù)傳輸接口相連接;將USART2連接到WiFi模塊的數(shù)據(jù)傳輸接口。這樣既可以實現(xiàn)通信協(xié)議的轉(zhuǎn)換,又降低了編程的復雜度。
嵌入式網(wǎng)關(guān)通過數(shù)據(jù)處理模塊控制WiFi與ZigBee的通信,并處理在WiFi和ZigBee之間傳輸?shù)臄?shù)字信號,部分關(guān)鍵代碼如下:
if (USART_RX_STA2 & 0x8000){//串口2接收到的信號
......
if (USART_RX_BUF2[0] == 21){
if (USART_RX_BUF2[4] == 10){ //查詢
//查詢,車位為預定情況
for (t = 0; t< 42; t++){
USART_SendData(USART2, full[t]);
//向串口2 發(fā)送沒車位
while (USART_GetFlagStatus(USART2, USART_FLAG_TC) != SET);
}
}
else if (USART_RX_BUF[0] ==M){
//查詢,車位為空閑時
for (t = 0; t < 42; t++){
USART_SendData(USART2, empty[t]);
//向串口2 發(fā)送有車位
while (USART_GetFlagStatus(USART2, USART_FLAG_TC) != SET);
}
}
}
elseif (USART_RX_BUF2[4] == 11){
//串口2(wifi)接收到的信號是請求預定
......
for (t = 0; t < 42; t++){
USART_SendData(USART2, mode[t]);
//返回請求預定命令——請求成功
while (USART_GetFlagStatus(USART2, USART_FLAG_TC) != SET);
}
while (USART_GetFlagStatus(USART1, USART_FLAG_TC) != SET);
for (t = 0; t < 32; t++){
USART_SendData(USART1, send[t]);
//向串口1發(fā)送數(shù)據(jù)
while (USART_GetFlagStatus(USART1, USART_FLAG_TC) != SET);
//等待發(fā)送結(jié)束
}
}
}
基于微信公眾平臺的停車位管理系統(tǒng)主要包括微信公眾平臺前端系統(tǒng)和后臺服務(wù)器管理系統(tǒng)兩個部分。
微信公眾平臺前端系統(tǒng)主要通過公眾號消息會話和公眾號內(nèi)網(wǎng)頁來為用戶提供注冊、車位租賃、車位預訂、繳費等功能的服務(wù)。本文根據(jù)微信公眾號處理停車位租賃業(yè)務(wù)的實際需求,將系統(tǒng)的角色分為三種:系統(tǒng)管理員、車位出租方、車位承租方。根據(jù)角色不同,系統(tǒng)的賬號分為管理員賬號和普通賬號,系統(tǒng)管理員是管理員賬號,車位出租方和車位承租方是普通賬號。每個微信帳號只能注冊一個普通賬號,每個普通賬號在系統(tǒng)中既可以是車位出租方的角色,也可以是車位承租方的角色,賬號的角色會根據(jù)用戶的操作自動轉(zhuǎn)換,但每種角色只能在這種角色的權(quán)限范圍內(nèi)使用停車位系統(tǒng)提供的功能。用戶使用系統(tǒng)租賃車位的工作流程如圖4所示。
圖4 工作流程
綜合考慮目前流行的前端框架技術(shù)的優(yōu)缺點,結(jié)合系統(tǒng)的實際需求,本系統(tǒng)選擇React+Bootstrap的框架設(shè)計技術(shù)。這不僅因為 React 的設(shè)計思想極其獨特、性能出眾、代碼邏輯卻非常簡單,而且Bootstrap的css代碼模塊化、有較好層次感,便于理解與把握。另外,考慮到微信的js、css與許多前端庫的兼容性問題,所以在微信語音、圖片、拍照等部分功能使用了微信的JS SDK,因為它不僅可以兼容非微信瀏覽器,也可以兼容低版本微信系統(tǒng)。
后臺服務(wù)器管理系統(tǒng)軟件作為停車位管理系統(tǒng)的核心,主要負責收費管理、停車管理、數(shù)據(jù)庫管理和后臺管理,因此,整個系統(tǒng)包括支付服務(wù)平臺、停車位管理軟件、數(shù)據(jù)庫和微信通信小程序4個部分,其結(jié)構(gòu)如圖5所示。
圖5 服務(wù)器軟件結(jié)構(gòu)
① 支付服務(wù)平臺負責系統(tǒng)收費業(yè)務(wù)的管理,連接第三方支付服務(wù)器,生成訂單并向用戶顯示二維碼;用戶可以掃描二維碼完成訂單支付。
② 數(shù)據(jù)庫負責保存支付服務(wù)和停車服務(wù)所產(chǎn)生的數(shù)據(jù)信息。
③ 微信通信小程序負責微信服務(wù)器與停車位管理服務(wù)器之間的數(shù)據(jù)傳輸。
④ 停車位管理軟件連接智能車位鎖、支付服務(wù)網(wǎng)站和數(shù)據(jù)庫,并負責處理停車服務(wù)的相關(guān)業(yè)務(wù),如負責收費管理、車位管理、出入庫控制、監(jiān)控管理和安全運行管理等業(yè)務(wù)。系統(tǒng)工作流程如圖6所示。
連接已設(shè)計完成的硬件與軟件模塊,搭建完整的系統(tǒng)平臺,形成系統(tǒng)雛形,以便于下一步系統(tǒng)的測試。系統(tǒng)測試流程如下:
① 硬件模塊測試。首先測試各硬件模塊加電后的運行情況,然后將各硬件模塊按照系統(tǒng)的拓撲結(jié)構(gòu)進行連接測試。
② 服務(wù)器系統(tǒng)測試。對停車位管理系統(tǒng)軟件進行測試,包括管理軟件對數(shù)據(jù)庫的通信測試、管理軟件與網(wǎng)關(guān)和智能車位鎖的連通與控制測試、支付平臺的繳費測試等。
③ 微信公眾賬號的功能測試。主要包括微信公眾賬號消息會話功能測試、公眾號內(nèi)網(wǎng)頁訪問功能測試、微信公眾號與服務(wù)器通信測試、微信支付功能測試、微信發(fā)布、預定車位信息功能測試等。部分測試界面展示如圖7所示。
圖6 停車場管理系統(tǒng)工作流程圖
圖7(a)是用戶關(guān)注微信公眾號后的主界面,車位出租方可以點擊出租車位按鈕,進行車位出租的相關(guān)設(shè)置并發(fā)布出租信息,操作界面如圖7(b)和圖7(c)所示;車位承租方可以點擊租用車位按鈕,查詢空閑車位或預訂停車位,操作界面如圖7(d)所示。
圖7 功能展示圖
經(jīng)過以上流程的測試,系統(tǒng)中存在的問題基本得到解決,預期的各項功能基本得以實現(xiàn);軟件的便捷性得以提高,用戶可以邊聊天邊發(fā)布車位租賃信息;個性化水平也得到極大改善,用戶可以根據(jù)自己的需要來設(shè)置租賃時間。
本文圍繞城市中心城區(qū)停車難的問題,通過對當前私有停車位利用率不高的現(xiàn)狀及現(xiàn)有方案的分析,結(jié)合現(xiàn)有的技術(shù)條件,提出一種基于微信公眾平臺的停車位管理系統(tǒng),以此來提高停車位的管理水平,方便私有停車位的租賃,極大地提高了有限停車位資源的利用效率。
[1] 王子銘.RFID智能停車場管理系統(tǒng)的研究與設(shè)計[D].北京:北京郵電大學,2010.
[2] 郭穩(wěn)濤.基于RFID的智能停車場管理系統(tǒng)的研究與設(shè)計[D].長沙:湖南大學,2010.
[3] 郭穩(wěn)濤,何怡剛.基于RFID的智能停車場管理系統(tǒng)的研究與設(shè)計[J].自動化技術(shù)與應用,2010,29(6):60-64.
[4] 劉雨洲.基于CDMA的智能停車場控制系統(tǒng)研究[D].鄭州:鄭州大學,2011.
[5] 彭吉崇.基于ZigBee技術(shù)停車場車位的組網(wǎng)與通信設(shè)計[D].哈爾濱:哈爾濱理工大學,2012.
[6] 毛泉涌.基于無線傳感器網(wǎng)絡(luò)的停車位控制器研究與設(shè)計[D].杭州:浙江工業(yè)大學,2012.
[7] 駱超.大數(shù)據(jù)時代下的停車場系統(tǒng)發(fā)展[J].中國公共安全,2014(24):88-90.
[8] 陳新海,劉麗.基于云平臺的停車管理系統(tǒng)設(shè)計[J].科技創(chuàng)新與應用,2016(1):67-68.
[9] 古輝,顧杰杰.一種預約式智能停車場及其LEACH路由算法改進[J].浙江工業(yè)大學學報,2016,44(2):134-139.
[10] 張真,王蒙蒙.基于共享車位的RFID智能停車管理系統(tǒng)的設(shè)計[J].信息通信,2017(10):70-72.
[11] 鄭競恒.基于停車共享的城市中心居住區(qū)停車行為特性及泊位調(diào)控優(yōu)化方法[D].南京:東南大學,2017.
[12] 張瑞增.基于智能車位鎖的共享停車位管理系統(tǒng)研究與設(shè)計[D].濟南:山東大學,2017.
[13] 郭禹,鄒常豐,丁柏群,等.基于手機APP的智能停車場系統(tǒng)研究[J].黑龍江科技信息,2017(14):40-41.