仝衛國,侯 哲,曾世超,李芝翔
(華北電力大學控制與計算機工程學院,河北保定 071003)
系統采用模塊化的設計[5]實現以下功能:
(1)定位設備獲取衛星定位信號并解析,將定位結果經物聯網平臺中轉到上位機;
(2)現場工作人員需輸入上位機產生的6位隨機數字密碼來開鎖;
(3)振動量超標或密碼輸錯超過規定次數會觸發報警,也可由上位機發出指令來觸發報警;
(4)設備能且僅能由遠程指令解除不正確的報警狀態;
(5)上位機可以顯示設備的實時位置和狀態;
(6)上位機可以選擇要管控的設備并進行相應的控制。
定位及遠程管控系統的總體設計如圖1所示。硬件部分包含2個STM32控制芯片,主機主要實現控制定位和無線通信的功能,從機主要實現振動檢測、密碼輸入、開鎖和報警的功能;BC20集成了無線通信和定位功能,負責設備與上位機的信息交互以及實時定位信息的采集與解析;物聯網平臺是上位機和設備間的數據交換中轉站,便于進行遠程控制;軟件部分可遠程查看設備報警狀態、位置信息,控制設備的聲光報警器、密碼鎖開閉。
文獻[2]中的數值計算結果是利用ANSYS的板單元SHELL63建模得到的,加載條件一樣,即忽略自重,在簡支直線箱梁跨中正對腹板的上翼緣板處作用對稱集中荷載,總量為P=0.272 2 kN,為了驗證本模型的正確性,對比二者結果如表1。
設備的硬件設計采用的2個主控芯片均為STM32F103VET6,其內核是Cortex-M3,屬于中低端的32位ARM微控制器。該芯片最高可達到72 MHz的工作頻率,存儲空間達512 kB,且具備豐富的I/O接口,能夠滿足本設備的功能需求[6~8]。本設備的硬件結構主要包括電源模塊、按鍵模塊、聲光報警器模塊、繼電器模塊、震動傳感器模塊、電磁鎖模塊及無線通信模塊等。設備的硬件總體框圖如圖2所示。
為實現設備的防盜報警功能,使用高靈敏的SW-420常閉型振動傳感器用于探測設備的振動信號。該振動傳感器使用LM393比較器,具備信號干凈、波形好、驅動能力強等優點。SW-420常閉型振動傳感器的電路原理如圖3所示。
由圖3可知,將從機的STM32 I/O口與SW-420的DO口相連,即可將數字信號傳入控制芯片。STM32通過數字信號來判斷設備是否遭受暴力破壞,如果振動信號持續且振動強度大,則從機驅動繼電器模塊控制聲光報警器開啟報警。
單片機和元器件間的通信方式很多,如CAN總線通信、SPI通信、串口通信等。為方便軟件設計,本設計采取了雙STM32的方案。主機和從機之間采取串口通信的方式來實現信息交互。雙STM32通過USART1串口進行雙向通信,RXD與TXD交叉相連,并通過串口調試助手實現了主從機的信息交換測試。主從機的串口通信連接示意如圖4所示。
BC20是一款高性能、低功耗、多頻段、支持GNSS定位功能的NB-IoT(narrow band internet of things)無線通信模塊,支持GPS、北斗等多個定位和導航系統[11]。BC20模塊中內置LNA和低功耗算法:前者保證更高的靈敏度,后者保證低功耗模式下更低的耗流。BC20模塊較傳統NB-IoT+GNSS方案體積減少40%。
BC20的接口豐富,包括開關機接口、串口、SIM卡接口、GNSS射頻接口、NB-IoT接口等。根據該系統的設計需求及BC20官方設計手冊完成了NB-IoT模塊的硬件電路設計,如圖5所示。
系統的軟件設計主要包括主機軟件設計、從機軟件設計和上位機軟件設計。其中主機軟件和從機軟件的編譯環境為Keil5,上位機軟件的編譯環境為Visual Studio 2017。
主機需要實現的功能包括與從機雙向通信、獲取定位數據、與物聯網平臺雙向通信。主機開啟或復位后,設備開始初始化并嘗試獲取設備的位置信息。主機與物聯網平臺通信完成后,上位機能將控制指令通過物聯網平臺傳到主機,并由主機通過串口1(波特率115200)向從機下達控制指令。主機軟件設計流程如圖6所示。
從機需要實現的功能包括與主機雙向通信、防盜報警、臨時密碼開鎖。從機需要將狀態參數通過串口1傳輸給主機,同時接收主機的報警及開鎖指令。從機的密碼鍵盤輸入僅接受主機控制,上位機生成隨機密碼發送給主機后,從機存儲主機傳輸的臨時密碼并啟動鍵盤掃描子程序。從機的聲光報警器開閉,僅接受上位機控制。從機主程序設計流程如圖7所示。
上位機軟件利用C++語言編寫,包括圖像界面、地圖顯示、通信等子程序。地圖顯示程序是在百度地圖的基礎上進行開發的,具有精準度高、更新快的優點。上位機功能選項包括生成臨時密碼、報警開啟與停止、設備連接與斷開、同步設備移動軌跡。上位機登錄界面及功能界面如圖8、圖9所示。
為了測試上述方案的可行性,制作了2套實體設備,如圖10所示。設備采用全鋁合金材質,并內置海綿,在運輸過程中能夠有效保護內部的重要物品。控制電路位于設備內部,聲光報警器和天線位于設備右側,設備上側的矩陣鍵盤能夠進行密碼輸入。該實體設備僅供測試,后續可針對特定的物品設計并制作相應的設備。
為驗證系統的性能,在實驗室及室外進行多次設備定位、移動、遠程報警及臨時密碼開鎖功能測試。首先啟動設備電源,登錄上位機查看設備登陸狀態。然后通過點擊上位機的功能選項來驗證設備性能,具體測試各項功能的響應時間如表1所示,定位精度測試數據如表2所示。

表1 設備響應時間 s

表2 定位精度
由表1、表2的測試數據可以看出,本文設計的測試設備其定位精度高,室內外定位誤差不超過5 m,且設備對上位機的控制響應及時,10 s內能夠接收到控制信號并實現相應功能。
本文介紹了基于NB-IoT和STM32的定位及遠程管控系統的軟硬件設計。本文給出了設備的整體設計思想,對設備的軟硬件設計方案進行了詳細介紹,同時制作了實體設備進行測試。測試結果表明,該系統極大提高了物品在存放及運輸過程中的安全性,定位精度高,具有遠程監控功能。同時,采用的雙STM32設計,方便后續進行功能升級或功能拓展。在本設計的基礎上可以對保護裝置進行改造,以適應標準材料、精密儀器、機密文件或者有毒有害物質等重要物品的運輸需求。