(1.浙江工業(yè)大學 信息工程學院,浙江 杭州 310023;2.杭州華爾科技有限公司,浙江 杭州 310023)
隨著近些年國內(nèi)汽車保有量的迅猛增長,無人化、智能化的停車場推出勢在必行。目前,國內(nèi)外主要采用感應(yīng)線圈、視頻分析、紅外感應(yīng)[1]和無線地磁感應(yīng)[2]等停車位檢測技術(shù)。有學者提出采用433M無線通信技術(shù)進行車位數(shù)據(jù)的傳輸[3],并通過4G通信將停車場各車位的信息上報網(wǎng)絡(luò)平臺,該方案的局限在于增加了系統(tǒng)的復(fù)雜度以及限制了下掛數(shù)量。也有國外學者提出利用智能手機和通信網(wǎng)絡(luò)實現(xiàn)停車位管理的方案[4],通過手機自帶的傳感器判斷車輛在停車場內(nèi)的行駛狀態(tài),利用蜂窩網(wǎng)絡(luò)結(jié)合停車場分布的Wi-Fi信號對車輛停放的具體車位進行定位,在網(wǎng)絡(luò)平臺上進行統(tǒng)一管理和計費,該方案由于定位精度低,對停放車輛的間距要求大,不利于實際應(yīng)用。
在物聯(lián)網(wǎng)技術(shù)迅猛發(fā)展的背景下[5],筆者設(shè)計并實現(xiàn)了一種采用NB-IoT無線通信技術(shù)和三軸磁力檢測技術(shù)的泊車位傳感節(jié)點,該泊車位傳感節(jié)點具有架設(shè)方便、下掛數(shù)量大和檢測靈敏等特點。
泊車位檢測系統(tǒng)的總體結(jié)構(gòu)如圖1所示,該系統(tǒng)總體分為感知層、通信傳輸層和應(yīng)用層。感知層:在各車位上部署了采用NB-IoT通信技術(shù)的泊車位傳感器節(jié)點,負責采集車位當前的磁場數(shù)據(jù),通過分析磁場數(shù)據(jù)得到當前車位的狀態(tài),并將車位狀態(tài)信息通過NB-IoT模組,發(fā)送到NB-IoT基站;通信傳輸層:主要承擔NB-IoT節(jié)點的鏈路分配以及車位管理數(shù)據(jù)的收發(fā)任務(wù),并提供相應(yīng)服務(wù)的接口供泊車位管理系統(tǒng)調(diào)用;應(yīng)用層:基于B/S架構(gòu)[6]的泊車位管理系統(tǒng)服務(wù)器部署于云端,通過NB-IoT[7]平臺提供的接口與各車位傳感節(jié)點進行交互,用戶可以通過手機、PC機等終端設(shè)備查看和管理車位的實時狀態(tài)。
圖1 系統(tǒng)結(jié)構(gòu)圖Fig.1 The diagram of system structure
筆者重點闡述WSN環(huán)境[8]下泊車位傳感器節(jié)點的設(shè)計,通信方式上采用NB-IoT通信技術(shù),中文名窄帶物聯(lián)網(wǎng),NB-IoT通信技術(shù)是物聯(lián)網(wǎng)領(lǐng)域的新興技術(shù),具有覆蓋能力強、超低功耗、部署成本低廉、下掛數(shù)量大、無需額外架設(shè)網(wǎng)關(guān)或集中器等特點,檢測方式上采用基于MEMS封裝技術(shù)的三軸磁力傳感器,該傳感器功耗低,檢測靈敏,不易受到天氣、空氣濕度等環(huán)境因素的影響,具有體積小巧、部署方便的特點,可以有效避免自行車、電動車等非機動車輛及行人的干擾。
地球磁場是一個平均強度較為恒定的弱磁場,在沒有施加外部磁場的情況下,地球磁場的數(shù)值會在某一個數(shù)值上下緩慢地變化[9]。當有鐵磁性的物體進入磁場的時候,由于磁性物體的作用,物體周圍的地磁場會發(fā)生一定的擾動。而車輛是具有大量金屬的鐵磁物體,測試結(jié)果驗證:汽車的發(fā)動機部位、前軸部分和后軸部分的金屬密度最大,能夠引起的磁場擾動也最為顯著。
本設(shè)計采用基于AMR檢測技術(shù)[10]的三軸磁力傳感器,在芯片的內(nèi)部各個軸向封裝了對磁場變化十分敏感的由鐵鎳合金組成的電橋電路,可以同時檢測X,Y,Z軸方向上的磁場變化。若車位傳感器放置于車輛的下方,并以Z軸朝上,一旦有車輛駛?cè)胲囄?,Z軸朝向上的磁場變化最為明顯,因此可主要考察Z軸磁場數(shù)據(jù)的變化,并以其他軸向磁場變化作為輔助來判斷當前車位的狀態(tài)。
圖2(a)顯示車輛駛?cè)胲囄粫r引起傳感器上方Z軸磁場變化的測試曲線,圖2(b)顯示車輛駛離車位時引起傳感器上方Z軸磁場變化的測試曲線。由測試結(jié)果可知:車輛駛?cè)牒碗x開停車位的過程中,Z軸的變化是一個較為規(guī)律且近似可逆的動態(tài)過程。
圖2 車輛動作引起的磁場擾動測試結(jié)果Fig.2 Test result of magnetic field disturbance due to vehicle motion
車位傳感器節(jié)點主要由微控制器(MCU)、三軸磁力傳感芯片、存儲芯片、NB-IoT模組、NB-SIM卡、外置PCB天線以及鋰電池七部分組成。三軸磁力傳感器芯片作為傳感器節(jié)點的感知部分,負責車位磁場檢測,并通過內(nèi)置的A/D轉(zhuǎn)換模塊將磁阻電路感應(yīng)到的電信號轉(zhuǎn)換為數(shù)字信號,通過SPI接口與MCU進行數(shù)據(jù)交互,同時三軸磁力傳感器芯片可以通過中斷輸出引腳及DRDY引腳來喚醒MCU,提醒MCU有新的磁場數(shù)據(jù)生成或磁場變化超出設(shè)定的閾值。MCU電路是整個傳感器節(jié)點的中心部分,主要負責進一步處理由SPI接口發(fā)送過來的三軸磁場數(shù)據(jù),通過這些數(shù)據(jù)判斷所在車位的車輛占用情況以及傳感節(jié)點的低功耗配置,同時MCU通過USART串口與NB-IoT通信模組通信,發(fā)送相應(yīng)的AT指令控制泊車位數(shù)據(jù)的無線收發(fā)以及NB-IoT模組的喚醒。NB-IoT模組、NB-SM卡以及外置PCB天線,作為車位傳感器節(jié)點的通信傳輸部分,主要負責車位傳感器節(jié)點與泊車位管理系統(tǒng)之間的通信、泊車位狀態(tài)信息的發(fā)送以及管理系統(tǒng)下發(fā)命令的接收,NB-SM卡為NB-IoT模組提供相應(yīng)的NB數(shù)據(jù)流量套餐,為了保證信號接收的強度,選用外置PCB天線,通過天線良好的信號增益和方向性來保證泊車位傳感器節(jié)點數(shù)據(jù)的穩(wěn)定收發(fā)。鋰電池電源保障傳感器節(jié)點長時間續(xù)航。傳感器總體結(jié)構(gòu)框架如圖3所示。
圖3 車位傳感器硬件結(jié)構(gòu)圖Fig.3 The diagram of parking sensor node hardware structure
三軸磁力傳感芯片選用ST公司近年推出的采用LGA-20封裝的高性能超低功耗系列新型獨立式微型傳感器LIS3MDL[11],原理如圖4所示。傳感器可測量3 個軸6 個方向上的磁感應(yīng)強度,數(shù)據(jù)輸出長度為16 位,根據(jù)不同的測量需求,測量范圍可在±4,±8,±12,±16 Gs等4 個檔位中選擇,支持I2C和SPI兩種通訊方式。經(jīng)過實際測試,測得當配置傳感器ODR為0.625 Hz,且在超低功耗連續(xù)檢測模式下運行時,工作電流僅5 μA,滿足車位傳感節(jié)點超長續(xù)航的工作需求。
圖4 三軸磁力傳感器電路圖Fig.4 The diagram of 3-axis magnetic sensor circuit
磁力傳感器通過周期性測量停車位區(qū)域地磁場的變化來感知鐵磁物體的存在,當車輛在地磁傳感器附近出現(xiàn)時,磁力傳感器模塊檢測停車位地磁場變化并進行數(shù)據(jù)采樣,并將這些數(shù)據(jù)通過SPI接口發(fā)送給MCU進行處理分析。
NB-IoT模組選用NB05-01模組,內(nèi)嵌全球領(lǐng)先的窄帶物聯(lián)網(wǎng)無線通信模塊,其原理如圖5所示。采用半雙工FDD通訊方式,工作頻段為850 MHz,模塊符合3GPP標準中的頻段要求,具有體積小、功耗低、傳輸距離遠和抗干擾能力強等特點,在PSM模式下運行電流僅5 μA。
圖5 NB-IoT模組電路圖Fig.5 The diagram of NB-IoT module circuit
NB卡使用的是中國電信提供的10649 NB專用卡,目前主要有插卡和貼片卡兩種形式,本設(shè)計采用的是Micro卡座插卡的形式,其原理如圖6所示。為保證NB卡與NB-IoT模組的穩(wěn)定運行,在卡的各個引腳添加ESD防靜電保護,ESD采用CM1213系列的TVS管集成芯片,以增強所設(shè)計的傳感節(jié)點通信部分的抗干擾能力。
圖6 NB-SIM卡電路圖Fig.6 The diagram of NB-SIM card slot circuit
MCU部分選用ST公司推出的的超低功耗系列單片機STM32L151C8T6,該MCU基于32 位Cortex-M3內(nèi)核,低功耗工作模式下電流僅11 μA,在低功耗睡眠模式下功耗可低至4.6 μA,可勝任車位傳感器所需的低功耗設(shè)計。MCU部分電路圖如圖7所示,該部分主要負責地磁傳感器數(shù)據(jù)的預(yù)處理及分析,并結(jié)合獲取的地磁場數(shù)據(jù)進行車位狀態(tài)判斷、控制NB-IoT模組進行無線數(shù)據(jù)傳輸、節(jié)點自身狀態(tài)監(jiān)測及預(yù)警等。
圖7 MCU電路圖Fig.7 The diagram of MCU circuit
天線部分是決定傳感節(jié)點數(shù)據(jù)通信效果的關(guān)鍵一環(huán),所設(shè)計的RF[12]走線應(yīng)滿足50 Ω阻抗匹配,印刷線路板(PCB)走線阻抗因素主要與銅厚、布線寬度、布線間距以及PCB使用的板材有關(guān)[13],即
(1)
式中:εr為PCB板材的介電常數(shù);t為PCB走線銅的厚度;h為微帶線的介質(zhì)厚度;W為PCB走線的寬度。由式(1)可見:PCB走線的阻抗Z與板材介質(zhì)厚度成正比,與εr,W和t成反比。因此,在模組進行PCB設(shè)計時也需根據(jù)PCB加工廠商的工藝進行設(shè)計調(diào)整,使天線各部分走線滿足50 Ω阻抗匹配。結(jié)合PCB廠家的工藝標準,設(shè)計出的RF走線經(jīng)仿真驗證,結(jié)果顯示設(shè)計能較好滿足阻抗匹配的要求,如圖8所示。
圖8 阻抗匹配仿真計算圖Fig.8 The diagram of impedance matching simulation
DC-DC穩(wěn)壓芯片采用SPX3819-3.3低功耗電源芯片,其原理如圖9所示,為NB-IoT模組提供穩(wěn)定的3.3 V電壓,最大輸出電流可達500 mA,滿足NB-IoT模組天線開啟時所需的瞬時功耗,靜態(tài)電流1 μA,符合車位傳感節(jié)點的低功耗設(shè)計需求,在輸出端并聯(lián)100 μF大電容,以防止天線開啟時工作電流瞬時增大引起的電壓跌落,供電引腳端口采用10 μF,0.1 μF,1 nF,100 pF的組合形式以濾過高頻信號干擾。
圖9 電源電路圖Fig.9 The diagram of power supply circuit
筆者設(shè)計的車位傳感節(jié)點采用鋰電池供電,電路中預(yù)留了鋰電池充電電路,以滿足鋰電池充電需求,如圖10所示。鋰電池充電管理芯片選用TP5100,內(nèi)置功率MOS管,工作電流可通過編程控制在0.1~2 A,自帶過流過壓保護,耐用性強且使用方便。鋰電池采用的是電壓3.7 V,總?cè)萘?0 200 mAh的并聯(lián)式鋰電池組,當泊車位沒有車輛進出的情況下,傳感器長期處于低功耗運行模式,MCU進入啟用RTC喚醒的Stop模式,功耗約為1.6 μA。三軸磁傳感器在ODR為5 Hz的低功耗檢測模式下工作,功耗約為15 μA。NB-IoT模組進入PSM模式,功耗約為5 μA。節(jié)點中其他模塊如存儲芯片在掉電模式下的功耗極低僅1 μA,傳感器節(jié)點在低功耗模式下總功耗約25 μA,鋰電池組的最大放電量約為標量的70%,因此,在沒有車輛進出的理想條件下,可以估算出鋰電池理論上最長可以為傳感器節(jié)點提供285 600 h即33 年的續(xù)航時間。
圖10 鋰電池充電電路圖Fig.10 The diagram of Li battery charging circuit
軟件主程序流程如圖11所示,上電時首先進行系統(tǒng)的初始化,完成對NB-IoT模組、三軸磁力傳感器、MCU及各項網(wǎng)絡(luò)參數(shù)的配置,NB-IoT模組的注網(wǎng)過程包括通過相應(yīng)的AT指令對NB-SIM卡的有效性、模組頻段、網(wǎng)絡(luò)激活狀態(tài)、網(wǎng)絡(luò)注冊狀態(tài)、信號質(zhì)量和連接狀態(tài)等環(huán)節(jié)進行查詢驗證,以確保NB-IoT數(shù)據(jù)能夠正常接收和發(fā)送,待NB-IoT模組成功注網(wǎng)后,進入泊車位檢測流程,MCU對磁力傳感器采集的數(shù)據(jù)進行分析判斷,若車位狀態(tài)發(fā)生了改變,將車位狀態(tài)信息發(fā)送到平臺,并進入低功耗模式,若車位狀態(tài)未發(fā)生改變,則直接進入低功耗模式,當發(fā)生定時中斷或傳感器發(fā)出外部中斷時,MCU喚醒并重新進入泊車位檢測流程,如此往復(fù)循環(huán)。
圖11 主程序流程圖Fig.11 The diagram of main program flow
泊車位檢測總體流程如圖12所示,主要包含以下幾個環(huán)節(jié):數(shù)據(jù)采集,主要負責對磁場進行實時數(shù)據(jù)采集;數(shù)據(jù)濾波,對采集來的實時數(shù)據(jù)進行過濾,濾除干擾信號以及毛刺;分析判斷,獲取到濾處理后的數(shù)據(jù),并根據(jù)這些數(shù)據(jù)分析判斷車位的狀態(tài)并輸出;基準線更新[14],基準線是傳感器節(jié)點進行車位檢測判斷的重要依據(jù),磁場受到溫度等環(huán)境因素的影響會產(chǎn)生微弱的變化,因此在車位空閑的情況下,對三軸基準數(shù)據(jù)進行定期的更新,有利于保證車位檢測的準確性。
圖12 泊車位檢測總流程圖Fig.12 The diagram of parking detection process
本設(shè)計所用濾波算法[15]采用中值率波與均值濾波結(jié)合的方式進行處理。中值濾波算法的公式為
Y(i)=Med[x(i-n),…,x(i),
…,x(i+n)]n∈N
(2)
將采樣到的一組數(shù)據(jù)由大到小進行排列,將中間的值作為采樣的數(shù)值。均值濾波算法為
(3)
將獲得的一組數(shù)據(jù)取平均值作為采樣的結(jié)果,這兩種方法結(jié)合可以有效濾除所獲取數(shù)據(jù)的毛刺等干擾。
傳感節(jié)點發(fā)生中斷喚醒后開始分析判斷車位狀態(tài),首先MCU處于低功耗待機模式,傳感器在低功耗連續(xù)檢測狀態(tài)下工作,每秒檢測5 次磁場,當傳感器檢測到Z軸數(shù)值大于設(shè)定好的閾值時,傳感器產(chǎn)生中斷喚醒MCU,具體的中斷處理流程如圖13所示。
圖13 車位狀態(tài)判斷流程圖Fig.13 The diagram of parking status judgment
MCU喚醒后通過濾波獲取并處理數(shù)據(jù),根據(jù)當前車位是否空閑分兩種方向進行車位的判斷,主要的判斷依據(jù)是將車位在空閑狀態(tài)下獲得的磁場基準線與采集的數(shù)據(jù)進行比較:若車位當前空閑,就判斷車位是否是車輛駛?cè)胲囄唬舨杉降臄?shù)據(jù)并沒有滿足車輛駛?cè)胲囄坏呐袛鄺l件,則認為引起中斷的為干擾事件,傳感器節(jié)點重新回到低功耗待機狀態(tài),等待車輛駛?cè)耄蝗糗囄灰呀?jīng)有車停,則判斷車輛是否離開車位,當引起中斷的數(shù)據(jù)沒有滿足車輛離開的判斷條件時,則認為該中斷源為干擾,傳感器節(jié)點重新回到低功耗檢測狀態(tài),等待下一次中斷產(chǎn)生。
本研究實現(xiàn)的車位傳感器節(jié)點將選用的NB-IoT模組配置在支持AT指令的CoAP通信模式下,在該工作模式下NB-IoT模組可以與支持CoAP通信協(xié)議的NB-IoT平臺進行數(shù)據(jù)交互,并且MCU可以通過USART串口靈活地發(fā)送豐富的AT指令對NB-IoT模組進行操作。
NB-IoT模組實時發(fā)送泊車位狀態(tài)的前提是NB-IoT模組已經(jīng)成功注網(wǎng),以3號泊車位上傳車位有車輛駛?cè)氲臓顟B(tài)信息為例,要上傳的格式為長度7 字節(jié)的16 進制數(shù)據(jù),內(nèi)容為0301020001FC01,其中第1字節(jié)為泊車位地址,第2字節(jié)為功能碼,代表上傳的是泊車位狀態(tài),第3字節(jié)表示數(shù)據(jù)的字節(jié)長度,第4,5字節(jié)為泊車位狀態(tài)信息,最后兩個字節(jié)為CRC16校驗碼。NB-IoT模組發(fā)送泊車位狀態(tài)的AT指令流程如圖14所示。
圖14 泊車位狀態(tài)信息發(fā)送流程圖Fig.14 The diagram of parking status information transmission
首先,向模組發(fā)送NCDP指令查詢模組設(shè)置的CoAP服務(wù)器IP地址號及網(wǎng)絡(luò)端口號是否正確,若返回的值與所要發(fā)送的NB-IoT平臺不一致,或者返回“ERROR”,則需要給模組配置正確的IP地址及端口號,重啟模組后生效;之后,向模組發(fā)送NSMI指令,開啟模組的“消息發(fā)送通知”功能,開啟成功后,使用NMGS指令發(fā)送泊車位狀態(tài)信息,若模組返回“ERROR”,則需要再次發(fā)送泊車位狀態(tài)信息,若發(fā)送成功,模組將返回“+NSMI:SENT”告知MCU信息已經(jīng)成功發(fā)送,至此泊車位狀態(tài)發(fā)送完成。
車位傳感器節(jié)點的實物圖如圖15所示,將設(shè)計的車位傳感器節(jié)點放置于泊車位,節(jié)點擺放的X軸朝向與泊車位朝向一致,通過觀察車輛駛?cè)牒碗x開車位時,車位傳感節(jié)點所上傳的泊車位狀態(tài),來檢測所設(shè)計車位傳感器節(jié)點的工作,配置傳感器ODR為5 Hz,量程為4 Gs,傳感器節(jié)點每隔10 s定時上傳一次磁場數(shù)據(jù)及泊車位狀態(tài)。測試結(jié)果如圖16所示,車輛分別在70,420,690 s 3 次駛?cè)氩窜囄唬⒎謩e在260,540,830 s時起步駛離泊車位,圖16(a~c)分別顯示泊車位磁場在X,Y,Z軸方向上的變化,對比三軸數(shù)據(jù)可以看出:Z軸方向的磁場上受車輛影響最大,波動最為明顯;而Y軸方向上磁場的變化與Z軸的變化較為一致,但變化幅度遠沒有Z軸大;X軸方向上的磁場在車輛駛?cè)牒婉傠x的一瞬間波動比較明顯,但其磁場在車輛駛?cè)牒笠约败囕v駛離后所穩(wěn)定的磁場數(shù)值差距很小。圖16(d)顯示的是傳感節(jié)點上報的泊車位狀態(tài),數(shù)值1表示車位有車,數(shù)值0表示車位當前處于空閑狀態(tài)。測試結(jié)果表明:筆者所設(shè)計的泊車位傳感節(jié)以Z軸方向的磁場變化作為主要判斷依據(jù)可以獲得更理想的車位檢測效果,并且該傳感器節(jié)點能夠準確、及時檢測出車位上車輛的占用情況。
圖15 車位傳感器節(jié)點實物圖Fig.15 The photo of parking sensor node
圖16 泊車位檢測結(jié)果Fig.16 The result of parking detection test
設(shè)計并實現(xiàn)一種基于NB-IoT新型通信技術(shù)和三軸磁力檢測技術(shù)的泊車位傳感器節(jié)點,該泊車位傳感器節(jié)點具有體積小、架設(shè)方便、下掛數(shù)量大、網(wǎng)絡(luò)覆蓋強、功耗低和檢測準確率高等特點。測試結(jié)果表明:筆者設(shè)計的泊車位傳感器節(jié)點能夠及時有效地檢測車位的使用狀態(tài)并將數(shù)據(jù)通過NB-IoT網(wǎng)絡(luò)上報到泊車位管理平臺,符合當前物聯(lián)網(wǎng)技術(shù)創(chuàng)新發(fā)展的新趨勢,具有廣闊的市場前景和推廣價值。