徐光洪,譚 巧,李佳怡,張雪琪,張 敏,吳 翔
(閩江學院 計算機與控制工程學院,福建 福州 350108)
電動車因方便、快捷而成為通用交通工具.2019 年,中國的電動車保有量達到3 億輛.然而,全國各地電動車被盜的報道層出不窮,據不完全統計,每年約1/6 的電動車被盜,特別是電瓶,給人們生活造成很大影響.因此,電動車的防盜就變得尤為重要[1].
現有電動車的防盜方式主要有兩種:1)RFID 電子標簽定位防盜[2].給每一輛電動車都裝上RFID 電子標簽,由基站讀取標簽的數據,根據數據判斷該車輛是否為備案已丟失車輛.此方法對電動車的管理能力有所提升,但存在標簽裝置易拆除、定位不精確、基站信號不能完全覆蓋等問題;2)遙控防盜報警器[3-5].遙控防盜報警器是目前市場上主流的報警器,靈敏度較高,報警聲響較大,但有效報警范圍只有幾百米,且可能誤報警,例如遇到行人或其他車輛經過、刮風、下雨、打雷等.
針對目前電動車防盜存在的問題,本設計在傳統防盜技術的基礎上,采用STM32 單片機、GPS 模塊、姿態傳感器(三軸加速度和三軸陀螺儀)和壓力傳感器相結合[6-9],實時獲取電動車所處位置、運動狀態、靜止情況以及坐墊受壓變化等信息,并應用NB-IOT 聯網技術與手機端APP 相連,可以實現電動車傾斜或倒地、車被移動、坐墊被放重物或破壞、電瓶掉電(被盜)報警和電動車位置追蹤等功能.報警方式由用戶在手機APP 端自定義設置.本設計能夠改善電動車易被盜的現狀,具有廣闊的應用前景.
基于NB-IOT 的電動車智能防盜報警系統主要由三大部分組成:安裝在電動車上的NB-IOT 感應報警裝置、網絡平臺的數據管理服務器和手機端APP 軟件.系統結構如圖1.
系統總體設計任務:1)電動車實時信息采集.通過圖1 所示的NB-IOT 感應報警裝置實時收集傳感器的信息,按需求將信息上報至數據管理服務器;2)用戶端手機APP 實時響應或查看.電動車信息將由服務器推送到手機APP,若為異常信息,由手機APP 以使用者自定義方式報警(聲音、震動、彈窗);觸發報警時,如果是本人操作,可以一鍵確認,消除警報,除非本人再次按下開啟報警模式;手機APP 查看電動車的傳感器信息,自動發送命令到報警裝置,報警裝置將信息發到服務器,由手機APP 獲取并顯示;3)電動車追蹤:手機APP 地圖具有追蹤功能,若電動車被盜,將會鎖定其位置,地圖視角跟隨其移動,方便用戶快速找到被盜車輛.

圖1 整體結構框圖
為實現對電動車位置信息、坐墊壓力和車身狀態的數據采集,NB-IOT 感應報警裝置包括:STM32單片機、GPS 模塊、集成天線、帶有NB 卡的NB-IOT 模塊、壓力傳感器、三軸姿態傳感器(感應重力和加速度)和電源.系統硬件結構圖如圖2.

圖2 系統硬件結構圖
2.1.1 控制芯片的選擇 考慮到單片機程序經編譯出的可執行文件達到22 KB,接收傳感器數據需要額外的空間,且所接外設至少需要12 個引腳.因此選用STM32F103 芯片,它具有72 MHz 的CPU 速度和高達1 MB 的閃存,且具有低功率、低電壓、實時功能佳、價格低等優點.
2.1.2 傳感器的選擇 在非靜止狀態下,電動車平衡狀態易改變,主要體現在重心以及加速度.而當其處于靜止狀態時,依然會發生坐墊被放重物或者破壞、電瓶被盜等事件.結合傳感器的靈敏度及實用性,采用MPU6050 傳感器檢測加速度及重力;選用FSR 貼片型壓力傳感器保護電動車的坐墊,不會影響坐墊形態且不易損壞,并使用一個獨立IO 口對電瓶進行監控.為了能給用戶提供電動車的實時位置信息,選用高靈敏度、低功耗、低成本的ATGM332D-5N 系列GPS 模塊.
2.1.3 聯網功能的選擇 本設計中,用戶在手機端即可獲知電動車情況,NB-IOT 感應報警裝置需要將數據上報到數據服務器,故聯網功能必不可少.由于電動車是在室外使用的,不適合采用WIFI,基于物聯網的NB-IOT 模塊是最佳選擇.BC26 芯片支持全球頻段,價格適中,滿足本文報警裝置的設計要求.
2.1.4 電源模塊的設計與選擇 若電動車的電瓶被盜,供電電源被切斷.為保證報警裝置工作的可靠性,在電瓶被盜情況下也能將報警信息發到手機APP 提醒用戶,需要增加備用電源,采用雙電源供電模式,如圖3.雙電源模塊主要由電瓶、內置電源、繼電器、降壓穩壓模塊和NB-IOT 感應報警裝置供電接口組成.

圖3 雙電源供電模式
正常狀態下,電瓶提供電能使系統運行,繼電器有電流通過,保持斷開,備用電源不工作.當電瓶丟失時,繼電器無電流通過使其閉合,備用電源向報警裝置供電,單片機與電源相連的一個IO 口將會感知到電瓶的電壓變化,發送報警信息到服務器,再由服務器推送至手機APP 發出報警信號.
為實現電動車信息的全方位采集,采用單片機的2 個串口(GPS 和NB-IOT)、一個IIC 接口(MPU6050)、ADC 通道(壓力傳感器),將各模塊連接,通過電源接口為各模塊供電,具體接線方式如圖4.
NB-IOT 感應報警裝置安裝在電動車上,需要具有高穩定性、易安裝和防拆解等特點,故對其進行一體化封裝設計.報警裝置一體化封裝設計如圖5 所示.

圖4 報警裝置內部接線方式

圖5 報警裝置一體化封裝設計
該裝置控制在50 mm×50 mm×20 mm 范圍內,提供6 條線作為外部接口(電源正、負極各一條,一條控制聲音報警,其余三條分別是壓力傳感器的電源正、負極和壓力數據線).該裝置可放入電池盒內部,也可固定在電動車的任何位置.若偷盜者想要拆卸此裝置,也會觸發報警.
系統軟件包括三部分:NB-IOT 感應報警裝置的單片機程序、網絡數據服務器和手機端APP.軟件功能設計如圖6.

圖6 系統軟件功能設計
物聯網協議主要有COAP 和MQTT.COAP 需要較多的資源和帶寬保障安全性,在資源較少的終端和極有限的帶寬下,可能運行受阻.而MQTT 協議是專為受限設備和低帶寬、高延遲或不可靠的網絡而設計,非常適合處于運動狀態的設備.且MQTT 還有“最后的遺囑”功能,服務器在規定時間(keeplive)內未收到來自模塊的心跳信息時會自動推送報警信息到手機APP,可有效防止發生報警裝置異常掉電或者遭到不可抗力的破壞而用戶無法得知的情況.因此,本設計在對接NB-IOT 感應報警裝置時采用MQTT 協議[10].
應用層協議有SMTP(郵件傳輸協議)、FTP(文件傳輸協議)、HTTP(超文本傳輸協議)等.手機APP 使用HTTP 協議與服務器進行交互,由APP 主動發起一個HTTP 請求到服務器指定端口,服務器在收到請求后,根據請求類型執行查詢數據庫、尋找文件等相應操作,返回響應內容(文本、圖片等),一次交互結束就與服務器斷開連接,可防止因連接數過多而令服務器崩潰,且其中的POST 請求方法保證了信息的安全性.
單片機的程序設計包括:初始化和穩定運行(使用)兩部分.初始化在電源正常連接的基礎上,檢測NB-IOT 感應報警裝置的每個傳感器連接是否正常,正常方可投入使用.使用過程是單片機通過檢測電源和各傳感器的數據判斷電動車的安全狀態.
為達到及時、智能、穩定的運行要求,且考慮到物聯網NB 卡一年流量有限,當傳感器數據正常時,不上報數據;出現數據異常或用戶通過手機APP 查看(發送指令)時上報數據.這種設計方式,便于用戶及時了解電動車的信息,同時解決NB 卡流量使用達到上限,不能繼續工作的弊端.具體實現過程如圖7.
數據服務器的功能主要有:用戶信息存取、NB-IOT 感應報警裝置與手機APP 數據中轉(包括報警信息的推送).因此需要兩個監聽端口,一個為用戶通過手機APP 進行個人相關信息存取操作提供安全服務,另一個轉發來自于NB-IOT 感應報警裝置和手機APP 的數據.程序流程如圖8.

圖7 單片機程序流程圖

圖8 服務器程序流程
手機APP 中使用了兩種通信協議分別訪問服務器的兩個端口:MQTT 協議用于后臺接收報警信息、用戶操作時(設置報警方式、獲取電動車的傳感器和位置信息、追蹤電動車)發送控制指令;HTTP 用于用戶注冊、登錄、個人信息的查看和修改.
本系統采用STM32F103 開發板進行測試,測試實驗裝置如圖9.測試時,借助NB-IOT 模塊的串口調試軟件QCOM 查看調試信息,QCOM 對串口返回的每一條信息都顯示了當前時間,方便記錄報警裝置的反應時間,并進行程序優化.

圖9 測試實驗裝置圖
配合APP 掌握電動車信息的不同需要,單片機程序共設計了4 種工作模式,分別是:保護(讀取傳感器值、異常自動上報)、非保護模式(不做任何操作、僅響應來自手機APP 的命令)、獲取電動車當前信息(單次獲取壓力數據、姿態傳感器數據、GPS 數據)、追蹤(連續獲取位置信息).手機APP 還可以設置電動車聲音報警及控制臨時開啟報警聲音,單片機將收到命令直接執行.
經過一系列優化調整,對每個功能進行測試.由測試結果可以看出,電動車的報警反應延時為200 ms 左右,命令響應為300 ms 左右,此系統完全符合設計需求.
本電動車智能防盜報警系統設計基于NB-IOT,并結合GPS、姿態傳感器、壓力傳感器、手機APP 和服務器等軟硬件實現,具有以下4 個優點.
1)防盜嚴密化.報警裝置皆采用靈敏度較高的傳感器,車輛靜止狀態受到非正常干擾容易被傳感器捕獲;報警裝置的雙電源設計能感知電瓶的存在以及在電瓶被斷電情況下繼續報警;報警裝置受到不可抗力破壞時,服務器能根據“心跳設置”繼續報警;壓力傳感器保護電動車坐墊,解決靜止狀態電動車坐墊被放重物或破壞的問題.
2)報警及時.報警裝置的CPU 速度達72 MHz,對傳感器數據處理速度快,MQTT 協議是長連接,且數據量小,與服務器一次交互時間大大縮減,正常情況下,報警信息從產生到用戶收到僅需200 ms 左右.
3)報警距離遠.只要物聯網覆蓋到的地方,報警信息就能送至用戶手機APP.
4)報警方式智能化.NB-IOT 感應報警裝置能在電動車異常時發送報警信息;手機APP 會根據用戶設置對報警信息自動做出響應;獲取電動車信息都是按鈕式操作,簡單方便;兼容傳統聲音報警方式,手機APP 可控制電動車異常時是否發出報警聲音,也可控制臨時報警.
本電動車智能報警系統靈敏度高,工作穩定可靠,使用簡單方便,且成本低廉,設計小巧精致,將為電動車用戶提供極大的便利.