



摘 要:安防系統是智慧物聯網的關鍵應用領域之一,無線傳感網作為物聯網應用感知環境的重要手段,仍存在網絡拓撲結構復雜等問題。為滿足安防系統對于數據傳輸實時性、可靠性的更高要求,基于RT-Thread嵌入式實時操作系統,研究一種面向安防系統且支持邊緣計算的智能物聯網網關。通過物聯網網關硬件架構設計和軟件程序開發,完成網絡邊緣節點數據監測及環境數據交互,搭建由物聯網網關、數據采集節點和物聯網監控中心構成的安防系統,實現智慧安防系統的實時可靠監控。
關鍵詞:智慧安防;物聯網網關;RT-Thread;內核移植;邊緣節點;數據交互
中圖分類號:TP39;TN92 文獻標識碼:A 文章編號:2095-1302(2024)09-00-03
DOI:10.16667/j.issn.2095-1302.2024.09.020
0 引 言
隨著智慧城市建設進程的加速推進,無線傳感
網(Wireless Sensor Network, WSN)技術作為感知物理世界的重要手段得到了廣泛應用。物聯網技術為WSN的發展帶來了新的契機以及更廣闊的應用領域,國家鼓勵相關單位打造智能傳感、智能網關、協議轉換、工業軟件等物聯網軟硬件產品,加快部署物聯網應用,包括傳感器設備的數據采集、環境信息傳輸、遠程工業設備控制、狀態監測等,智慧安防系統則是智慧物聯網的關鍵應用領域之一[1-3]。
為實現安防系統的實時監控,各個傳感節點設備通過物聯網上報環境數據信息,物聯網監控中心對各個傳感節點進行監控和管理;而若要實現傳感節點與物聯網監控中心的數據信息交互,則需要采用物聯網網關來完成數據傳輸[4-5]。隨著移動終端設備種類及數量的大幅度增加,物聯網網絡拓撲結構愈加復雜,而且復雜環境下的安防應用系統對于數據傳輸的實時性、可靠性有著更高的要求[6-7]。因此,設計智能物聯網網關,實現終端設備與物聯網監控中心的數據信息交互,解決安防行業系統聯網項目中設備存在的數據傳輸和管理問題,滿足多種應用環境下的安防系統要求,這是一個值得研究的方向。
本文利用RT-Thread嵌入式實時操作系統,結合WSN組網方式搭建智慧安防應用控制系統,設計一種面向安防應用的智能物聯網網關,以實現傳感節點與物聯網監控中心的數據交互和終端設備的遠程控制管理。
1 物聯網網關硬件架構設計
1.1 智慧安防應用控制系統設計
在WSN中,各傳感器節點負責采集數據,邊緣節點負責處理數據,并通過物聯網技術將環境數據信息上傳到云端服務器,物聯網監控中心對各個傳感節點進行監控和
管理[8-9]。
在工業領域應用物聯網網關,需要保證系統數據傳輸的可靠性和時效性[10-11]。因此在智慧安防應用控制系統中,本文設計了一種物聯網網關的邊緣節點體系結構,基于
RT-Thread嵌入式實時操作系統,研究具有邊緣計算功能的物聯網網關,從而實現傳感節點與物聯網監控中心的數據信息
交互。
智慧安防應用控制系統總體設計方案如圖1所示,主要包括以下組件:
(1)傳感器節點:采集現場數據信息,為物聯網網關提供近距離的物理感知。
(2)網關節點:負責數據的處理和管理。邊緣節點,如硬件加速器和邊緣計算處理單元,能夠在本地設備上直接執行任務。
(3)云端服務器:物聯網網關通過窄帶物聯網將數據發送到云端,進行數據處理和存儲。
(4)物聯網監控中心:幫助管理人員挖掘環境采集數據的價值,提供數據服務、監控運維和遠程控制管理等功能。
1.2 智能物聯網網關硬件設計
為滿足智能物聯網網關對處理器性能的要求,綜合考慮執行效率、功耗以及成本要求,本文采用以ARM Cortex-M3為內核的STM32F103VE作為物聯網網關的主控芯片,其具有豐富的外設資源,可減少配置系統電路中的外圍電路元件,降低系統成本。網關硬件設計框圖如圖2所示。
(1)主控制器電路以及外圍電路設計
ARM Cortex-M3是基于RISC架構的32位處理器,最高可支持72 MHz運行頻率,內嵌有512 KB閃存和64 KB SRAM,可以存儲大量程序數據,具有連接2個總線結構的AHB/APB橋,在AHB和2個APB總線間提供同步連接,APB1的操作速度最高為36 MHz,APB2的操作速度最高為72 MHz;同時STM32F103VE內部集成了模數轉換器(A/D)、數模轉換器(D/A)、PWM、USART、SPI、I2C和bxCAN控制器,bxCAN通信可支持CAN協議2.0A和2.0B主動
模式,且內部集成有DMA控制的以太網MAC接口,因此外圍電路只需要接入物理層芯片。但為了增強物理層差分信號的抗干擾性,使用網絡隔離變壓器耦合差分信號,隔離網線端不同設備的電平和直流信號,從而增加物理層信號傳輸的距離。
(2)通信接口電路設計
由于STM32F103VE內集成了bxCAN控制器,因此僅需外接CAN收發器即可實現CAN報文收發。本設計中的CAN收發器采用TJA1042芯片,可在CAN協議控制器和物理雙線式CAN總線之間提供接口。TJA1042在正常情況下通過總線收發數據,當處于斷電或低功耗模式時其在總線上不可見,支持可總線喚醒的低功耗模式。TJA1042的TXD和RXD引腳分別連接到STM32F103VE的CAN_TX和CAN_RX引腳,發送監測數據時bxCAN將編碼通過TXD引腳發送到TJA1042,TJA1042將邏輯電平轉化為差分電平,且通過CANH和CANL總線傳輸到CAN總線網絡。CAN收發器電路如圖3所示。
2 物聯網網關軟件設計
2.1 RT-Thread嵌入式實時操作系統
相較于Windows等桌面操作系統,嵌入式實時操作系統更具實時性、準確性,其專用性更強,更適用于實際應用設計[12-14]。RT-Thread作為國內開源社區開發的嵌入式實時操作系統,系統內核采用面向對象設計,模塊化特征強;內核外部功能組件可根據實際需求進行SHELL系統配置;可移植性強,適合多種體系結構、多種編譯器;且具有統一接口設備驅動模型,利于不同硬件設計情況下上層應用代碼的復用。
在國外,嵌入式操作系統一般以FreeRTOS、μC/OS為主,國內使用受到部分限制。RT-Thread操作系統作為我國全自主開發的操作系統,具有顯著的物聯網特性。與FreeRTOS、
μC/OS內核類似,RT-Thread提供了豐富的網絡協議棧和常用的中間件組件,方便開發人員進行開發和調試,包括TCP/IP協議棧、虛擬文件系統、POSIX接口、圖形用戶界面、CAN框架以及動態模塊等應用組件,具有可自由配置和裁減、可移植性強、可靠性高等特點。RT-Thread系統架構如圖4
所示。
目前已有多家企業將RT-Thread操作系統應用于實際產品開發中,但將操作系統應用于安防系統邊緣網關開發的還不是很多。嵌入式系統小型功能網關設計一般采用單片機裸機程序的設計架構,該設計方式下系統接口擴展性差,不利于更新維護。
因此本文選用國產嵌入式實時操作系統RT-Thread作為底層系統架構,開發智慧安防系統中的物聯網網關應用程序,通過操作系統的應用提高安防系統產品的可維護性、可擴
展性。
2.2 網關軟件設計
智能安防系統中通過各傳感器獲取環境信息,物聯網網關將采集到的數據上傳到云端服務器進行存儲和管理;在物聯網監控中心,用戶通過訪問網關的管理界面,執行查看設備狀態、設置參數等操作,同時用戶可以通過界面向網關發送指令,實現對設備的遠程控制。
依托物聯網網關硬件設計,研究安防系統各層次之間的通信協議,進而設計網關平臺軟件,構建各個模塊的應用處理程序。主要包括實現RT-Thread的移植,完成多線程機制調度和管理應用任務;設計設備驅動程序,向應用層提供初始化和收發函數調用接口,同時實現網關與上位機的
連接。
(1)RT-Thread內核移植
為將RT-Thread內核移植到不同CPU架構和不同板卡上,且能夠具備線程管理和調度、內存管理、線程間同步和通信、定時器管理等功能,RT-Thread抽象出CPU芯片移植(LibCPU)和板級支持包(Broad Support Package, BSP)兩個抽象層,向上為內核部分提供統一的調用接口,向下提供CPU架構和BSP移植接口,因此RT-Thread可為ARM Cortex-M、ARM Cortex-A、RISC-V、MIPS等多種架構的芯片提供移植支持,以滿足不同應用場景的需求。本設計選取STM32F103VE作為主控芯片,其內核為ARM Cortex-M3,可以實現RT-Thread內核移植。
(2)主要線程設計
在RT-Thread嵌入式實時操作系統中,由多個線程來完成多個子任務,根據子任務的重要性和時效性,可設置各子任務優先級,且多個子任務可設置相同優先級,因此相對于輪詢系統和前后臺系統,多線程系統的實時性更好。本文將智能安防監控任務分解成兩個子任務,分別完成傳感器采集數據的讀取和物聯網監控中心數據共享。
(3)設備驅動程序設計
RT-Thread提供了I/O設備管理模塊作為應用程序和設備驅動的中間層,用于管理I/O設備,實現了應用程序和設備驅動的相互獨立,如圖5所示。
開發基于RT-Thread的設備驅動程序,首先需要定義私有數據域,對于多個相同設備的接口可以用同一套數據域;然后按照RT-Thread對象模型,從設備控制塊結構體
struct rt_device中派生;最后根據設備類型,實現rt_device接口,并注冊到RT-Thread驅動框架中。
3 結 語
本文以智慧安防應用控制系統為切入點,設計了一種基于RT-Thread嵌入式實時操作系統的物聯網網關。為實現物聯網監控中心與終端節點之間的數據交互,首先分析網關主控制器電路以及外圍電路、通信模塊、串口擴展等網關上行數據通信接口模塊的硬件電路設計;然后采用開源
RT-Thread作為軟件開發平臺,利用其可移植性和可裁剪性強與可靠性高等優勢,將其移植到物聯網網關的微控制器中,同時設計I/O設備驅動程序,用調度器和信號量創建多線程任務,以實現物聯網網關多線程任務實時穩定運行。
參考文獻
[1]王景武.基于物聯網技術的博物館信息化與智能化服務模式研究[J].情報科學,2020,38(11):45-50.
[2]王晨宇,汪定,王菲菲,等.面向多網關的無線傳感器網絡多因素認證協議[J].計算機學報,2020,43(4):683-700.
[3] LUO J,QIU J,HAN J. Research status and prospect of fire rescue equipment in high-rise building [C]// 2018 International Conference on Sensing,Diagnostics,Prognostics,and Control(SDPC). Xi’an,China:IEEE,2018:642-647.
[4]劉寶禮,張文東,莊威,等.基于物聯網技術的智能安防系統[J].探測與控制學報,2013,35(4):79-83.
[5]陸正卿,方維嵐,李嫻.物聯網技術在工業自動化方面的應用研究[J]. 數字技術與應用,2021,39(2):80-82.
[6] SHAFIQUE K,KHAWAJA B A,SABIR F,et al. Internet of Things (IoT) for next-generation smart systems:a review of current challenges,future trends and prospects for emerging 5G-IoT scenarios [J]. IEEE access,2020,8:23022-23040.
[7]王詩瑩,滕海坤,李倫彬. 物聯網網關技術發展現狀探析[J].科技與創新,2018,5(22):69.
[8] LI Y,ZHUANG Y,HU X,et al. Toward location-enabled IoT (LE-IoT):IoT positioning techniques,error sources,and error mitigation [J]. IEEE internet of things journal,2021,8(6):4035-4062.
[9]廖海君,賈澤晗,周振宇,等.面向調控信息新鮮度保障的電力至簡物聯網資源優化[J].通信學報,2022,43(7):203-214.
[10] REHMAN A,QURESHI M A,ALI T ,et al. Smart fire detection and deterrent system for human savior by using Internet of Things(IoT)[J]. Energies,2021,14(17):5500.
[11]謝眾. 基于LTE上行物聯網網關的實現[D].武漢:武漢郵電科學研究院,2015.
[12]陳琦,韓冰,秦偉俊,等.基于ZigBee/GPRS物聯網網關系統的設計與實現[J].計算機研究與發展,2011,48(z2):367-372.
[13]麻凱雄,鄭海寧.通用型數據網關的空氣懸浮風機云平臺設計與實現[J].物聯網技術,2022,12(10):125-126.
[14]張先鋒.基于嵌入式Linux的礦用多協議網關設計與應用[J].自動化與儀表,2022,37(10):97-100.
收稿日期:2023-10-04 修回日期:2023-11-03
基金項目:上海市教育發展基金會資助項目(22CGB17)
作者簡介:李樹梅(1997—),女,碩士,研究方向為物聯網技術及大規模MIMO預編碼技術。
楊春雷(1985—),男,碩士,講師,研究方向為物聯網技術、嵌入式系統技術應用。