黃雪穎,牛 丹,李 濤,李 凡,薛裕峰
(1.東南大學自動化學院,江蘇 南京 210096)(2.“復雜工程系統(tǒng)測量與控制”教育部重點實驗室,江蘇 南京 210096)(3.江蘇聚力智能機械股份有限公司,江蘇 蘇州 215212)
隨著我國經濟的發(fā)展和居民生活水平的逐步提高,越來越多的家庭擁有私家車,汽車保有量迅速增加帶來的“停車難”問題日益突出[1]。人類社會的不斷進步使得城市的規(guī)模逐漸擴大,然而城市人口數量的劇增使得人均生存空間越來越小。如何高效、合理利用有限空間解決“停車難”成了一個亟需解決的問題。因此,庫容量大且占地面積小的立體車庫應運而生[2]。
目前,我國一些經濟發(fā)達且人口密度較大的城市,如北京、上海,已經開始大力發(fā)展具有諸多優(yōu)勢的立體車庫[3]。但當前的立體車庫大多沒有聯(lián)網,沒有把車庫的車位信息和運行信息上傳服務器,因此車庫運營方難以遠程控制、管理車庫[4],存車用戶也無法遠程查詢和預約車位。隨著“互聯(lián)網+”概念的提出,研發(fā)一款集立體車庫管理和車位預定查詢等功能于一體的立體車庫停車系統(tǒng)就顯得十分必要。
國內有不少學者對這一問題進行了大量的研究,張志田等[5]提出了一種采用手機 APP預約取車的方式,減少了用戶的停車等待時長。劉秀芝等[6]提出通過手機上的APP軟件進行車輛存取,方便車主取車,大大縮短了存取車時間。豐宇等[7]設計了一個多口進出貨物存放式立體車庫,減少了存車和取車時的等待時間,符合現(xiàn)代人的生活節(jié)奏。 但是上述研究主要是優(yōu)化用戶的存取車操作,對用戶預約車位、導航以及在線支付停車費用,管理員遠程管理車庫等功能都未涉及。因此對基于手機客戶端,集立體車庫管理和車位預定、查詢等功能于一體的立體車庫停車系統(tǒng)進行研究就顯得很迫切。本文基于Android操作系統(tǒng),提出的基于Android的立體車庫停車系統(tǒng)的設計與實現(xiàn),是對現(xiàn)有的基于互聯(lián)網的立體車庫系統(tǒng)的一種擴展和補充,對業(yè)界具有一定的參考意義[8]。
Android是Google開發(fā)的基于Linux平臺的開源手機操作系統(tǒng),分為應用程序層、應用程序框架層、系統(tǒng)運行庫層以及Linux內核層[9]。Android基于Linux內核,其核心系統(tǒng)服務都依賴于Linux內核[10]。
客戶端需要請求網絡,與服務器端進行交互從而獲取數據。OkHttp是一個處理網絡請求的輕量級框架,提供了get請求、post請求等功能。使用該框架可以快速實現(xiàn)與數據庫的數據交互。
首先創(chuàng)建一個OkHttpClient對象,如果是post請求,需要構建FormBody,傳入參數;如果是get請求,不需要構建FormBody。接著構造Request對象,并將Request封裝為Call。最后,以異步的方式去執(zhí)行請求,等待任務執(zhí)行完成,在Callback中即可得到結果。重寫回調方法,對結果進行處理即可。
處理好不同數據模型之間的關系,減少數據冗余,對提高數據庫系統(tǒng)性能十分重要[11]。 E-R圖就是描述現(xiàn)實世界關系概念模型的有效方法[12]。本系統(tǒng)數據庫E-R圖如圖1所示。
圖1 數據庫E-R圖
通過對系統(tǒng)功能需求進行分析,將立體車庫停車系統(tǒng)細分為用戶系統(tǒng)和管理員系統(tǒng)。系統(tǒng)功能模塊圖如圖2所示。
圖2 功能模塊圖
用戶系統(tǒng)包括4個模塊:登錄注冊模塊、訂單詳情顯示模塊、預約模塊和在線支付模塊。
1)登錄注冊模塊。登錄注冊模塊主要實現(xiàn)注冊、登錄、找回密碼、注銷等功能。未注冊用戶可通過可用的手機號碼進行注冊,通過短信驗證后,就可以設置密碼并輸入用戶信息。已注冊用戶正確輸入用戶名和密碼后就可以成功登錄該系統(tǒng)。已注冊用戶如果忘記密碼,可通過該模塊重新設置密碼。該功能模塊的流程圖如圖3所示,界面截圖如圖4所示。
圖3 登錄注冊模塊流程圖
圖4 用戶系統(tǒng)登錄界面
2)訂單詳情顯示模塊。訂單詳情顯示模塊主要的功能是顯示用戶當前的訂單狀態(tài),讓用戶實現(xiàn)存取車操作。用戶在該模塊通過點擊相關按鈕,就可以快速便捷地實現(xiàn)存取車操作。該功能模塊的流程圖如圖5所示,界面截圖如圖6所示。
3)預約模塊。該模塊包括預約、查詢預約和取消預約功能。用戶成功登錄后可進入主界面并定位到用戶當前位置。主界面的開發(fā)是基于百度地圖開放的第三方SDK庫,使用添加標注的方法,將車庫以標注的形式在地圖上顯示出來,并給標注添加點擊事件,用戶點擊標注,就可以彈出相關的信息框,用以顯示車庫的具體信息,用戶點擊想預約的車庫,就可以預約車位。同時用戶也可以查詢到當前所有預約,并可取消預約。預約模塊的流程圖如圖7所示,界面截圖如圖8所示。
圖5 訂單詳情顯示模塊流程圖
圖6 用戶系統(tǒng)訂單詳情界面
圖7 預約模塊流程
4)在線支付模塊。該功能模塊通過調用微信和支付寶提供的SDK實現(xiàn)微信支付和支付寶支付,用戶可直接在線支付停車費用,十分方便。
管理員系統(tǒng)主要包括4個模塊:登錄模塊、車位剩余情況顯示模塊、車庫運行情況顯示模塊和所有訂單數據顯示模塊。
1)登錄模塊。該模塊主要實現(xiàn)登錄以及修改密碼等功能。管理員正確輸入用戶名和密碼后,就可以成功登錄管理員系統(tǒng)。管理員登錄后可以通過該功能模塊進行密碼的修改。
2)車位剩余情況顯示模塊。該模塊的功能是在車位剩余情況界面下顯示各個車庫的車位使用情況,即通過適配器將車庫信息表中相應字段的數據顯示在ListView界面組件上[13]。在適配器中先設置數據的布局格式,然后將相應的組件實例化,并且設置數據表中的值,從而實現(xiàn)動態(tài)地加載顯示數據的功能,界面截圖如圖9所示。
圖8 用戶系統(tǒng)預約界面 圖9 車位剩余情況界面
3)車庫運行情況顯示模塊。通過該功能模塊,管理員可以查看車庫的運行情況,如果發(fā)生故障,可以第一時間發(fā)現(xiàn)并做出反應,界面截圖如圖10所示。
4)所有訂單數據顯示模塊。通過該功能模塊,管理員可以查看該車庫的所有訂單信息,界面截圖如圖11所示。
圖10 車庫運行情況界面 圖11 所有訂單信息界面
本文設計與實現(xiàn)了基于Android的立體車庫停車系統(tǒng),測試表明,該系統(tǒng)的整體性能較好、功能較完善。本文的創(chuàng)新點如下:1)通過調用百度地圖、支付寶以及微信等接口,實現(xiàn)了多個功能,為用戶和管理員提供了很大的便利。2)實現(xiàn)了基于Android的集用戶系統(tǒng)和管理員系統(tǒng)于一身的立體車庫停車系統(tǒng),對解決“停車難”、推進立體車庫的大力發(fā)展可起到較大的推動作用。