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