摘 要:安防系統(tǒng)是智慧物聯(lián)網(wǎng)的關(guān)鍵應(yīng)用領(lǐng)域之一,無線傳感網(wǎng)作為物聯(lián)網(wǎng)應(yīng)用感知環(huán)境的重要手段,仍存在網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)復(fù)雜等問題。為滿足安防系統(tǒng)對于數(shù)據(jù)傳輸實(shí)時(shí)性、可靠性的更高要求,基于RT-Thread嵌入式實(shí)時(shí)操作系統(tǒng),研究一種面向安防系統(tǒng)且支持邊緣計(jì)算的智能物聯(lián)網(wǎng)網(wǎng)關(guān)。通過物聯(lián)網(wǎng)網(wǎng)關(guān)硬件架構(gòu)設(shè)計(jì)和軟件程序開發(fā),完成網(wǎng)絡(luò)邊緣節(jié)點(diǎn)數(shù)據(jù)監(jiān)測及環(huán)境數(shù)據(jù)交互,搭建由物聯(lián)網(wǎng)網(wǎng)關(guān)、數(shù)據(jù)采集節(jié)點(diǎn)和物聯(lián)網(wǎng)監(jiān)控中心構(gòu)成的安防系統(tǒng),實(shí)現(xiàn)智慧安防系統(tǒng)的實(shí)時(shí)可靠監(jiān)控。
關(guān)鍵詞:智慧安防;物聯(lián)網(wǎng)網(wǎng)關(guān);RT-Thread;內(nèi)核移植;邊緣節(jié)點(diǎn);數(shù)據(jù)交互
中圖分類號:TP39;TN92 文獻(xiàn)標(biāo)識碼:A 文章編號:2095-1302(2024)09-00-03
DOI:10.16667/j.issn.2095-1302.2024.09.020
0 引 言
隨著智慧城市建設(shè)進(jìn)程的加速推進(jìn),無線傳感
網(wǎng)(Wireless Sensor Network, WSN)技術(shù)作為感知物理世界的重要手段得到了廣泛應(yīng)用。物聯(lián)網(wǎng)技術(shù)為WSN的發(fā)展帶來了新的契機(jī)以及更廣闊的應(yīng)用領(lǐng)域,國家鼓勵(lì)相關(guān)單位打造智能傳感、智能網(wǎng)關(guān)、協(xié)議轉(zhuǎn)換、工業(yè)軟件等物聯(lián)網(wǎng)軟硬件產(chǎn)品,加快部署物聯(lián)網(wǎng)應(yīng)用,包括傳感器設(shè)備的數(shù)據(jù)采集、環(huán)境信息傳輸、遠(yuǎn)程工業(yè)設(shè)備控制、狀態(tài)監(jiān)測等,智慧安防系統(tǒng)則是智慧物聯(lián)網(wǎng)的關(guān)鍵應(yīng)用領(lǐng)域之一[1-3]。
為實(shí)現(xiàn)安防系統(tǒng)的實(shí)時(shí)監(jiān)控,各個(gè)傳感節(jié)點(diǎn)設(shè)備通過物聯(lián)網(wǎng)上報(bào)環(huán)境數(shù)據(jù)信息,物聯(lián)網(wǎng)監(jiān)控中心對各個(gè)傳感節(jié)點(diǎn)進(jìn)行監(jiān)控和管理;而若要實(shí)現(xiàn)傳感節(jié)點(diǎn)與物聯(lián)網(wǎng)監(jiān)控中心的數(shù)據(jù)信息交互,則需要采用物聯(lián)網(wǎng)網(wǎng)關(guān)來完成數(shù)據(jù)傳輸[4-5]。隨著移動(dòng)終端設(shè)備種類及數(shù)量的大幅度增加,物聯(lián)網(wǎng)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)愈加復(fù)雜,而且復(fù)雜環(huán)境下的安防應(yīng)用系統(tǒng)對于數(shù)據(jù)傳輸?shù)膶?shí)時(shí)性、可靠性有著更高的要求[6-7]。因此,設(shè)計(jì)智能物聯(lián)網(wǎng)網(wǎng)關(guān),實(shí)現(xiàn)終端設(shè)備與物聯(lián)網(wǎng)監(jiān)控中心的數(shù)據(jù)信息交互,解決安防行業(yè)系統(tǒng)聯(lián)網(wǎng)項(xiàng)目中設(shè)備存在的數(shù)據(jù)傳輸和管理問題,滿足多種應(yīng)用環(huán)境下的安防系統(tǒng)要求,這是一個(gè)值得研究的方向。
本文利用RT-Thread嵌入式實(shí)時(shí)操作系統(tǒng),結(jié)合WSN組網(wǎng)方式搭建智慧安防應(yīng)用控制系統(tǒng),設(shè)計(jì)一種面向安防應(yīng)用的智能物聯(lián)網(wǎng)網(wǎng)關(guān),以實(shí)現(xiàn)傳感節(jié)點(diǎn)與物聯(lián)網(wǎng)監(jiān)控中心的數(shù)據(jù)交互和終端設(shè)備的遠(yuǎn)程控制管理。
1 物聯(lián)網(wǎng)網(wǎng)關(guān)硬件架構(gòu)設(shè)計(jì)
1.1 智慧安防應(yīng)用控制系統(tǒng)設(shè)計(jì)
在WSN中,各傳感器節(jié)點(diǎn)負(fù)責(zé)采集數(shù)據(jù),邊緣節(jié)點(diǎn)負(fù)責(zé)處理數(shù)據(jù),并通過物聯(lián)網(wǎng)技術(shù)將環(huán)境數(shù)據(jù)信息上傳到云端服務(wù)器,物聯(lián)網(wǎng)監(jiān)控中心對各個(gè)傳感節(jié)點(diǎn)進(jìn)行監(jiān)控和
管理[8-9]。
在工業(yè)領(lǐng)域應(yīng)用物聯(lián)網(wǎng)網(wǎng)關(guān),需要保證系統(tǒng)數(shù)據(jù)傳輸?shù)目煽啃院蜁r(shí)效性[10-11]。因此在智慧安防應(yīng)用控制系統(tǒng)中,本文設(shè)計(jì)了一種物聯(lián)網(wǎng)網(wǎng)關(guān)的邊緣節(jié)點(diǎn)體系結(jié)構(gòu),基于
RT-Thread嵌入式實(shí)時(shí)操作系統(tǒng),研究具有邊緣計(jì)算功能的物聯(lián)網(wǎng)網(wǎng)關(guān),從而實(shí)現(xiàn)傳感節(jié)點(diǎn)與物聯(lián)網(wǎng)監(jiān)控中心的數(shù)據(jù)信息
交互。
智慧安防應(yīng)用控制系統(tǒng)總體設(shè)計(jì)方案如圖1所示,主要包括以下組件:
(1)傳感器節(jié)點(diǎn):采集現(xiàn)場數(shù)據(jù)信息,為物聯(lián)網(wǎng)網(wǎng)關(guān)提供近距離的物理感知。
(2)網(wǎng)關(guān)節(jié)點(diǎn):負(fù)責(zé)數(shù)據(jù)的處理和管理。邊緣節(jié)點(diǎn),如硬件加速器和邊緣計(jì)算處理單元,能夠在本地設(shè)備上直接執(zhí)行任務(wù)。
(3)云端服務(wù)器:物聯(lián)網(wǎng)網(wǎng)關(guān)通過窄帶物聯(lián)網(wǎng)將數(shù)據(jù)發(fā)送到云端,進(jìn)行數(shù)據(jù)處理和存儲。
(4)物聯(lián)網(wǎng)監(jiān)控中心:幫助管理人員挖掘環(huán)境采集數(shù)據(jù)的價(jià)值,提供數(shù)據(jù)服務(wù)、監(jiān)控運(yùn)維和遠(yuǎn)程控制管理等功能。
1.2 智能物聯(lián)網(wǎng)網(wǎng)關(guān)硬件設(shè)計(jì)
為滿足智能物聯(lián)網(wǎng)網(wǎng)關(guān)對處理器性能的要求,綜合考慮執(zhí)行效率、功耗以及成本要求,本文采用以ARM Cortex-M3為內(nèi)核的STM32F103VE作為物聯(lián)網(wǎng)網(wǎng)關(guān)的主控芯片,其具有豐富的外設(shè)資源,可減少配置系統(tǒng)電路中的外圍電路元件,降低系統(tǒng)成本。網(wǎng)關(guān)硬件設(shè)計(jì)框圖如圖2所示。
(1)主控制器電路以及外圍電路設(shè)計(jì)
ARM Cortex-M3是基于RISC架構(gòu)的32位處理器,最高可支持72 MHz運(yùn)行頻率,內(nèi)嵌有512 KB閃存和64 KB SRAM,可以存儲大量程序數(shù)據(jù),具有連接2個(gè)總線結(jié)構(gòu)的AHB/APB橋,在AHB和2個(gè)APB總線間提供同步連接,APB1的操作速度最高為36 MHz,APB2的操作速度最高為72 MHz;同時(shí)STM32F103VE內(nèi)部集成了模數(shù)轉(zhuǎn)換器(A/D)、數(shù)模轉(zhuǎn)換器(D/A)、PWM、USART、SPI、I2C和bxCAN控制器,bxCAN通信可支持CAN協(xié)議2.0A和2.0B主動(dòng)
模式,且內(nèi)部集成有DMA控制的以太網(wǎng)MAC接口,因此外圍電路只需要接入物理層芯片。但為了增強(qiáng)物理層差分信號的抗干擾性,使用網(wǎng)絡(luò)隔離變壓器耦合差分信號,隔離網(wǎng)線端不同設(shè)備的電平和直流信號,從而增加物理層信號傳輸?shù)木嚯x。
(2)通信接口電路設(shè)計(jì)
由于STM32F103VE內(nèi)集成了bxCAN控制器,因此僅需外接CAN收發(fā)器即可實(shí)現(xiàn)CAN報(bào)文收發(fā)。本設(shè)計(jì)中的CAN收發(fā)器采用TJA1042芯片,可在CAN協(xié)議控制器和物理雙線式CAN總線之間提供接口。TJA1042在正常情況下通過總線收發(fā)數(shù)據(jù),當(dāng)處于斷電或低功耗模式時(shí)其在總線上不可見,支持可總線喚醒的低功耗模式。TJA1042的TXD和RXD引腳分別連接到STM32F103VE的CAN_TX和CAN_RX引腳,發(fā)送監(jiān)測數(shù)據(jù)時(shí)bxCAN將編碼通過TXD引腳發(fā)送到TJA1042,TJA1042將邏輯電平轉(zhuǎn)化為差分電平,且通過CANH和CANL總線傳輸?shù)紺AN總線網(wǎng)絡(luò)。CAN收發(fā)器電路如圖3所示。
2 物聯(lián)網(wǎng)網(wǎng)關(guān)軟件設(shè)計(jì)
2.1 RT-Thread嵌入式實(shí)時(shí)操作系統(tǒng)
相較于Windows等桌面操作系統(tǒng),嵌入式實(shí)時(shí)操作系統(tǒng)更具實(shí)時(shí)性、準(zhǔn)確性,其專用性更強(qiáng),更適用于實(shí)際應(yīng)用設(shè)計(jì)[12-14]。RT-Thread作為國內(nèi)開源社區(qū)開發(fā)的嵌入式實(shí)時(shí)操作系統(tǒng),系統(tǒng)內(nèi)核采用面向?qū)ο笤O(shè)計(jì),模塊化特征強(qiáng);內(nèi)核外部功能組件可根據(jù)實(shí)際需求進(jìn)行SHELL系統(tǒng)配置;可移植性強(qiáng),適合多種體系結(jié)構(gòu)、多種編譯器;且具有統(tǒng)一接口設(shè)備驅(qū)動(dòng)模型,利于不同硬件設(shè)計(jì)情況下上層應(yīng)用代碼的復(fù)用。
在國外,嵌入式操作系統(tǒng)一般以FreeRTOS、μC/OS為主,國內(nèi)使用受到部分限制。RT-Thread操作系統(tǒng)作為我國全自主開發(fā)的操作系統(tǒng),具有顯著的物聯(lián)網(wǎng)特性。與FreeRTOS、
μC/OS內(nèi)核類似,RT-Thread提供了豐富的網(wǎng)絡(luò)協(xié)議棧和常用的中間件組件,方便開發(fā)人員進(jìn)行開發(fā)和調(diào)試,包括TCP/IP協(xié)議棧、虛擬文件系統(tǒng)、POSIX接口、圖形用戶界面、CAN框架以及動(dòng)態(tài)模塊等應(yīng)用組件,具有可自由配置和裁減、可移植性強(qiáng)、可靠性高等特點(diǎn)。RT-Thread系統(tǒng)架構(gòu)如圖4
所示。
目前已有多家企業(yè)將RT-Thread操作系統(tǒng)應(yīng)用于實(shí)際產(chǎn)品開發(fā)中,但將操作系統(tǒng)應(yīng)用于安防系統(tǒng)邊緣網(wǎng)關(guān)開發(fā)的還不是很多。嵌入式系統(tǒng)小型功能網(wǎng)關(guān)設(shè)計(jì)一般采用單片機(jī)裸機(jī)程序的設(shè)計(jì)架構(gòu),該設(shè)計(jì)方式下系統(tǒng)接口擴(kuò)展性差,不利于更新維護(hù)。
因此本文選用國產(chǎn)嵌入式實(shí)時(shí)操作系統(tǒng)RT-Thread作為底層系統(tǒng)架構(gòu),開發(fā)智慧安防系統(tǒng)中的物聯(lián)網(wǎng)網(wǎng)關(guān)應(yīng)用程序,通過操作系統(tǒng)的應(yīng)用提高安防系統(tǒng)產(chǎn)品的可維護(hù)性、可擴(kuò)
展性。
2.2 網(wǎng)關(guān)軟件設(shè)計(jì)
智能安防系統(tǒng)中通過各傳感器獲取環(huán)境信息,物聯(lián)網(wǎng)網(wǎng)關(guān)將采集到的數(shù)據(jù)上傳到云端服務(wù)器進(jìn)行存儲和管理;在物聯(lián)網(wǎng)監(jiān)控中心,用戶通過訪問網(wǎng)關(guān)的管理界面,執(zhí)行查看設(shè)備狀態(tài)、設(shè)置參數(shù)等操作,同時(shí)用戶可以通過界面向網(wǎng)關(guān)發(fā)送指令,實(shí)現(xiàn)對設(shè)備的遠(yuǎn)程控制。
依托物聯(lián)網(wǎng)網(wǎng)關(guān)硬件設(shè)計(jì),研究安防系統(tǒng)各層次之間的通信協(xié)議,進(jìn)而設(shè)計(jì)網(wǎng)關(guān)平臺軟件,構(gòu)建各個(gè)模塊的應(yīng)用處理程序。主要包括實(shí)現(xiàn)RT-Thread的移植,完成多線程機(jī)制調(diào)度和管理應(yīng)用任務(wù);設(shè)計(jì)設(shè)備驅(qū)動(dòng)程序,向應(yīng)用層提供初始化和收發(fā)函數(shù)調(diào)用接口,同時(shí)實(shí)現(xiàn)網(wǎng)關(guān)與上位機(jī)的
連接。
(1)RT-Thread內(nèi)核移植
為將RT-Thread內(nèi)核移植到不同CPU架構(gòu)和不同板卡上,且能夠具備線程管理和調(diào)度、內(nèi)存管理、線程間同步和通信、定時(shí)器管理等功能,RT-Thread抽象出CPU芯片移植(LibCPU)和板級支持包(Broad Support Package, BSP)兩個(gè)抽象層,向上為內(nèi)核部分提供統(tǒng)一的調(diào)用接口,向下提供CPU架構(gòu)和BSP移植接口,因此RT-Thread可為ARM Cortex-M、ARM Cortex-A、RISC-V、MIPS等多種架構(gòu)的芯片提供移植支持,以滿足不同應(yīng)用場景的需求。本設(shè)計(jì)選取STM32F103VE作為主控芯片,其內(nèi)核為ARM Cortex-M3,可以實(shí)現(xiàn)RT-Thread內(nèi)核移植。
(2)主要線程設(shè)計(jì)
在RT-Thread嵌入式實(shí)時(shí)操作系統(tǒng)中,由多個(gè)線程來完成多個(gè)子任務(wù),根據(jù)子任務(wù)的重要性和時(shí)效性,可設(shè)置各子任務(wù)優(yōu)先級,且多個(gè)子任務(wù)可設(shè)置相同優(yōu)先級,因此相對于輪詢系統(tǒng)和前后臺系統(tǒng),多線程系統(tǒng)的實(shí)時(shí)性更好。本文將智能安防監(jiān)控任務(wù)分解成兩個(gè)子任務(wù),分別完成傳感器采集數(shù)據(jù)的讀取和物聯(lián)網(wǎng)監(jiān)控中心數(shù)據(jù)共享。
(3)設(shè)備驅(qū)動(dòng)程序設(shè)計(jì)
RT-Thread提供了I/O設(shè)備管理模塊作為應(yīng)用程序和設(shè)備驅(qū)動(dòng)的中間層,用于管理I/O設(shè)備,實(shí)現(xiàn)了應(yīng)用程序和設(shè)備驅(qū)動(dòng)的相互獨(dú)立,如圖5所示。
開發(fā)基于RT-Thread的設(shè)備驅(qū)動(dòng)程序,首先需要定義私有數(shù)據(jù)域,對于多個(gè)相同設(shè)備的接口可以用同一套數(shù)據(jù)域;然后按照RT-Thread對象模型,從設(shè)備控制塊結(jié)構(gòu)體
struct rt_device中派生;最后根據(jù)設(shè)備類型,實(shí)現(xiàn)rt_device接口,并注冊到RT-Thread驅(qū)動(dòng)框架中。
3 結(jié) 語
本文以智慧安防應(yīng)用控制系統(tǒng)為切入點(diǎn),設(shè)計(jì)了一種基于RT-Thread嵌入式實(shí)時(shí)操作系統(tǒng)的物聯(lián)網(wǎng)網(wǎng)關(guān)。為實(shí)現(xiàn)物聯(lián)網(wǎng)監(jiān)控中心與終端節(jié)點(diǎn)之間的數(shù)據(jù)交互,首先分析網(wǎng)關(guān)主控制器電路以及外圍電路、通信模塊、串口擴(kuò)展等網(wǎng)關(guān)上行數(shù)據(jù)通信接口模塊的硬件電路設(shè)計(jì);然后采用開源
RT-Thread作為軟件開發(fā)平臺,利用其可移植性和可裁剪性強(qiáng)與可靠性高等優(yōu)勢,將其移植到物聯(lián)網(wǎng)網(wǎng)關(guān)的微控制器中,同時(shí)設(shè)計(jì)I/O設(shè)備驅(qū)動(dòng)程序,用調(diào)度器和信號量創(chuàng)建多線程任務(wù),以實(shí)現(xiàn)物聯(lián)網(wǎng)網(wǎng)關(guān)多線程任務(wù)實(shí)時(shí)穩(wěn)定運(yùn)行。
參考文獻(xiàn)
[1]王景武.基于物聯(lián)網(wǎng)技術(shù)的博物館信息化與智能化服務(wù)模式研究[J].情報(bào)科學(xué),2020,38(11):45-50.
[2]王晨宇,汪定,王菲菲,等.面向多網(wǎng)關(guān)的無線傳感器網(wǎng)絡(luò)多因素認(rèn)證協(xié)議[J].計(jì)算機(jī)學(xué)報(bào),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]劉寶禮,張文東,莊威,等.基于物聯(lián)網(wǎng)技術(shù)的智能安防系統(tǒng)[J].探測與控制學(xué)報(bào),2013,35(4):79-83.
[5]陸正卿,方維嵐,李嫻.物聯(lián)網(wǎng)技術(shù)在工業(yè)自動(dòng)化方面的應(yīng)用研究[J]. 數(shù)字技術(shù)與應(yīng)用,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]王詩瑩,滕海坤,李倫彬. 物聯(lián)網(wǎng)網(wǎng)關(guān)技術(shù)發(fā)展現(xiàn)狀探析[J].科技與創(chuàng)新,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]廖海君,賈澤晗,周振宇,等.面向調(diào)控信息新鮮度保障的電力至簡物聯(lián)網(wǎng)資源優(yōu)化[J].通信學(xué)報(bào),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上行物聯(lián)網(wǎng)網(wǎng)關(guān)的實(shí)現(xiàn)[D].武漢:武漢郵電科學(xué)研究院,2015.
[12]陳琦,韓冰,秦偉俊,等.基于ZigBee/GPRS物聯(lián)網(wǎng)網(wǎng)關(guān)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)研究與發(fā)展,2011,48(z2):367-372.
[13]麻凱雄,鄭海寧.通用型數(shù)據(jù)網(wǎng)關(guān)的空氣懸浮風(fēng)機(jī)云平臺設(shè)計(jì)與實(shí)現(xiàn)[J].物聯(lián)網(wǎng)技術(shù),2022,12(10):125-126.
[14]張先鋒.基于嵌入式Linux的礦用多協(xié)議網(wǎng)關(guān)設(shè)計(jì)與應(yīng)用[J].自動(dòng)化與儀表,2022,37(10):97-100.
收稿日期:2023-10-04 修回日期:2023-11-03
基金項(xiàng)目:上海市教育發(fā)展基金會資助項(xiàng)目(22CGB17)
作者簡介:李樹梅(1997—),女,碩士,研究方向?yàn)槲锫?lián)網(wǎng)技術(shù)及大規(guī)模MIMO預(yù)編碼技術(shù)。
楊春雷(1985—),男,碩士,講師,研究方向?yàn)槲锫?lián)網(wǎng)技術(shù)、嵌入式系統(tǒng)技術(shù)應(yīng)用。