周磊 鄭文濤 安永麗



摘要:【目的】以NB-IOT低速率窄帶寬物聯網技術為核心,設計一套停車位信息化決策平臺,將私家車位進行聯網管理。【方法】系統硬件選用STM32F103ZET6作為核心控制器,HC_SR04超聲波作為狀態監測模塊,依托NB-IOT蜂窩物聯網平臺,云端智能管理控制系統,結合終端APP實現車位租入、租出、設備狀態采集上報等功能。【結果】設備租出狀態下,通過該系統的引導租賃者能夠準確找到車位,入駐車位。非租賃狀態下,車位主能夠任意設置自己的車位狀態,不影響自己使用。【結論】該系統可靠穩定,依托NB-IOT技術,將大量的閑散車位進行聯網管理,提升車位利用率。
關鍵詞:NB-IOT;物聯網;STM32;車位共享
中圖分類號:U491.7? ? ? ? 文獻標識碼:A? ? ? ? 文章編號:1009-3044(2018)34-0268-03
近年來,國內停車市場受到互聯網+、移動支付的沖擊,車位共享這一技術理念得以逐步完善。車位聯網能夠促進車位信息的散播,減少信息的不對稱性,提高車位利用率及周轉率。這一創新模式受到社會資本的強烈追捧。本研究設計了一套基于NB-IOT窄帶物聯網技術的車位管理決策平臺,應用STM32F103ZET6微控制器與多種傳感器技術,將大量私人閑散車位進行聯網管理。通過NB-IOT直接實現無網關化,結合NB-IOT通信網絡的特性及實際應用情況,利用藍牙通信技術實現“一位雙用”。與傳統技術解決方案相比,本設計能更好適應嚴苛的工作環境。
1 系統總體架構
依據NB-IOT平臺部署模式,基于NB-IOT的車位管理決策平臺主要有NB-IOT采集終端,NB-IOT管理平臺和云端調控平臺構成(圖1)。其中NB-IOT采集終端主要由超低功耗STM32F103ZET6芯片、BC-95模組、藍牙模塊、超聲波以及電機構成。采集終端所獲得的車位狀態信息直接傳輸到NB-IOT基站,通過COAP協議直接與NB-IOT管理平臺通信。云端調控平臺負責鑒別用戶身份,對終端用戶的請求做出相應的決策,以及遠程自動控制[1]。
2 系統硬件設計
2.1 主控板電路設計
按系統需求將硬件端分解為個5互相解耦的功模塊,分別實現:設備通信功能、電壓監測功能、車輛狀態檢測功能、操作提示功能、車鎖升降控制功能。由于BC95處于PSM(深度休眠態)時,設備無法直接收到下行指令,因此我們在設備端采用局域網通信技術將下行數據發送到設備。由STM32F103ZET6內部A/D轉換器,實現電壓采集功能。由微控制器將設備采集的狀態信息通過BC95模組推送到云端。主控板電路設計框圖如圖2所示。
2.2 通信模塊電路設計
2.2.1 通信模塊簡介
通信模塊采用移遠的BC95。通過簡單的AT指令設置就能實現串口到網絡的雙向數據傳輸,易于開發。BC95具有PSM、CONNECT、PSM三種工作態。無數據交互時模塊進入PSM(Deep-Sleep) 狀態,只有模塊有數據發送時才會激活網絡進行數據的傳輸, PSM態下不能再接收來自基站的數據,但會定時激活網絡去獲取數據。由于這種低功耗工作模式大大降低了NB網絡的實時性,因此我們選擇在硬件端通過藍牙通信的方式與設備交互。
2.2.2 電路設計
通信模塊部分電路原理圖如圖3所示。通信模塊采用NB-IOT系列中的BC95作為射頻模組,與專用的NB-IOT物聯網卡進行數據交互,最后經由800MHz射頻天線將設備數據直接發送到NB-IOT基站[2,3]。為確保電源有更好的電源供電性能,在靠近BC-95的電源輸入端并聯有一個低ESR的100uF鉭電容,以及0.1uF、100pF、22pF的濾波電容;在射頻天線的電路設計中,對于PCB走線使用專業阻抗模擬計算工具對射頻信號進行50Ω的阻抗匹配,并且預留有π型匹配電路,能更加方便地調節射頻性能[4,5]。
2.3 硬件端工作流程
系統分為租入與租出兩大部分,兩部分在關系上互相獨立。車位主根據自己的車位使用情況,自行決定自己的車位是否能對外發布。如租賃訂單產生,APP則向云端設備請求解鎖。APP通過藍牙通信將收到的解鎖指令發給MCU,由MCU判決是否解鎖。如果設備解鎖,則每隔一段時間通過車輛在位檢測傳感器檢測一次車輛是否在位。若車輛離開則結束租賃,停止計時,車位上鎖。當車輛在位檢測傳感器檢測到車輛離開后,通過通信模塊將上鎖信息、電池電壓等信息反饋給云端,結束計費,并通知用戶及時支付。非租出狀態下,也就是車位自用的狀態下,車位主可通過手動點擊APP上的開鎖按鈕,實現車位管控。硬件端工作流程如圖4所示。
3 系統管理軟件設計
3.1 軟件整體架構
車位管理系統軟件主要分為前端用戶操作部分和后臺系統服務部分。后臺服務部分主要功能是根據用戶的需求在數據庫中匹配相關信息,并將結果反饋給前端用戶。后臺服務功能框圖如圖5所示。Android端用戶操作部分主要功能包括:用戶可綁定車位,并對外發布出租信息;用戶可搜索指定地區(精確到區縣)、指定時間的出租消息,對滿意的車位可以直接租入;用戶可通過該平臺直接繳費;用戶可隨時查看正在租入、當前未完成、當前已完成和等待退款的所有租入和租出信息。
3.2 查找車位子模塊界面實現
首先是地點與時間選擇界面的實現:在此界面中使用了下拉列表來實現用戶選擇地點的操作,并實現了普通省份的省市縣的“三級聯動”,即:當用戶選擇了“省份”之后,儲存“市”的下拉列表的內容會自動更新為所選省份之下的市,當用戶選擇了“市”之后,儲存“區/縣”的下拉列表的內容會自動更新為所選市之下的區或縣。除此之外,還實現了包括4個直轄市、2個特別行政區、5個自治區和臺灣地區的特殊情況的區域選擇,其效果與普通省份的三級聯動效果相同。
下拉列表使用了Android的spinner控件,使用方法如下:
第一步:在本個界面被創建時,先通過控件的id找到本控件
第二步:獲取string-array的值到String數組里
第三步:初始化一個適配器(Adapter),可以自定義一個MyArrayAdapter繼承自ArrayAdapter類
第四步:為spinner設置適配器。
時間選擇功能的布局很簡單,只需要顯示用戶選擇的日期,并顯示所選日期是一周中的哪一天即可。因此只需要兩個文本控件(TextView,是用來顯示字符串的組件,在手機上就是顯示一塊文本的區域)即可實現。當選擇時間時,采用仿IOS的滾輪式日期選擇器,其實對于日期選擇器,Android官方已經給了相應的控件,那就是DatePicker控件,本次設計就是采用了此控件進行日期選擇[6,7]。
再者,展示所查車位信息的界面的實現:此界面主要顯示正在發布的車位的具體位置、車位出租的開始時間、車位出租的結束時間和總費用。而且由于顯示的車位較多,每個車位都包含有這四個數據,由上分析判斷,可以使用多個文本控件(TextView),在每條數據的四個值都是用一個文本控件來實現,也可以使用Android的列表視圖(ListView)來實現[8]。由于前者在創建界面的時候無法確定具體有多少條車位信息,因此無法確定應該使用幾個文本控件,而且如果車位信息條數較多,文本控件的初始化也會造成大量內存的占用,因此不建議使用該方法。相比較前者,后者顯然有很大優勢:構造起來更規整,每條車位信息之間的間距、分割線等都可以隨意在設置,且設置一遍即可實現所有數據之間都有效,“一勞永逸”。
用戶手機屏幕呈現幾條數據就會創建幾次布局,用戶一旦向上或向下滑動列表,被隱藏的布局就會被回收用于新呈現的布局,因此最多只會產生有數的幾個布局,不會造成大量內存的占用和浪費,由于上述優勢的存在,此頁面采用了后者進行布局。設計界面如圖6所示。
4 結語
傳統的車位租賃系統一般采用2G無線技術進行數據交互或者由匯聚網關進行數據的收集,其在地下停車場、天橋等高掩蔽性環境下不能做到很好的覆蓋。相比來說,NB窄帶物聯網技術具有更強的覆蓋、更低的功耗能夠保證系統在嚴苛的環境下也能正常工作,具有很好的實用性。本研究主要以NB-IOT技術在車位分時共享領域的應用研究為主,設計了一套以NB-IOT窄帶物聯網技術為基礎的“互聯網+云平臺+智能車鎖+APP”的停車位信息化決策平臺。實際操作結果表明,系統能夠做到租入、租出的隨時切換。車位主能夠通過APP進行車位的管理,既不影響出租也不影響自己使用。具有很好的可實時性。
參考文獻:
[1] 宋俊.城市私家車位動態共享停放匹配算法及決策支持系統研究[D].成都:西南交通大學,2016.
[2] 童詩白,華成英.模擬電子技術基礎[M].北京:高等教育出版社,2006:10-184.
[3] 閻石.數字電子技術基礎[M].北京:高等教育出版社,2006:67-135.
[4] 張瑞增.基于智能車位鎖的共享停車位管理系統研究與設計[D].濟南:山東大學,2017.
[5] 何燦隆.基于NB_IoT的溫室溫度智能調控系統設計與實現[J].華南農業大學學報,2018,39(2):118-120.
[6] 周雅翠.基于Android平臺的個人事務管理系統設計[J].吉林建筑大學學報,2015,06:67-68.
[7] 吳亞林.淺析基于Android 的天氣預報系統設計與實現[J].山東工業技術,2015,24:123.
[8] 簡靖韡.Android 智能手機信息安全問題與對策分析[J].通訊世界,2015,24:33.
【通聯編輯:代影】