張 新
(紹興職業技術學院信息工程學院,浙江 紹興 312000)
20世紀60年代,國外開始研發煤礦作業環境安全監控(監測)系統,至今發展了四代,技術較為成熟。我國從20世紀80年代開始,先后從波蘭、美國和德國引進多型產品,如DAN6400、TF200等,并通過對引進產品的消化吸收,開發出了KJ系列早期產品。20世紀90年代后,我國緊跟國外的發展,相繼研制了較為先進的KJ95和KJ2000等系統[1]。隨著信息技術的快速發展,特別是近十年來物聯網技術的異軍突起,為遠程環境監測系統的性能提升提供了技術基礎。LoRa技術作為一種低功耗遠距離物聯網通信技術,已在國內不少領域得到研發和應用。根據煤礦生產作業的特點,以LoRa技術為基礎的煤礦作業環境監測系統,采用云網端為系統架構,靈活配置傳感器,對煤礦作業環境的多類參數實時監測,可實現快速上傳、分析處理、決策反饋和臨界預警等功能,具有適用性好、監測范圍廣、安裝配置簡單、維護成本低的優勢。
由煤礦作業環境分析可知,礦井環境參數主要涉及粉塵、甲烷、氧氣、風量與負壓、井巷硐室和工作面溫度、二氧化碳、一氧化碳、硫化氫、二氧化硫等。這些環境參數的變化是導致煤礦事故的主要原因。因此,對環境參數的實時監測和控制是做好煤礦安全工作的前提和關鍵[1-2]。基于LoRa技術的環境監測系統采用最新物聯網遠程通信技術,通過靈活配置多型傳感器,實時對煤礦作業環境參數進行測量。經前置終端初步處理,并由LoRa遠程無線傳輸,各種參數匯聚入LoRa基站(網關),通過網絡服務器最終進入云服務信息處理中心,實現對煤礦作業環境現狀的分析、處理與管控。處理中心依據專家系統的評判和決策,可以向管理人員發出預警提示,及時對煤礦作業區發出控制指令來調節煤礦作業環境。移動服務系統實時為用戶推送相關信息,供其查閱和處理。
煤礦作業環境監測系統以LoRa技術為基礎,采用云網端為網絡架構,構建四層應用體系,實現環境參數和決策控制信息的雙向實時通信。整個系統由四部分組成:現場環境感知和執行、遠程信息傳輸、網絡接入信息服務和云服務信息處理。現場環境感知和執行是整個系統的信息獲取源和環境調控機構,由兩種不同任務類型的監控終端(感知終端和執行終端)組成。感知終端解決環境參數的實時獲取,可以具有多種不同性質的傳感器,依據實際需要靈活配置傳感器種類[3]。執行終端執行由云服務信息處理中心下達的控制指令,一般向具體的設備提供開關信號,如打開通風機、警鈴等。遠程信息傳輸主要是由基站和監控終端組成遠程通信網,完成煤礦作業環境的信息雙向傳輸,是監測系統現場信息傳輸的通信信道。基站可以通過RS-232(或WiFi)等多種方式與網絡服務器通信(可經WiFi直接接入廣域網),實現監測網絡的廣域網接入。通過多種途徑的廣域網對接云服務平臺,所有的環境狀態參數統一存儲在云服務信息處理中心。經專家系統的評判和決策,產生的各類數據可以完成控制信息的發送和預警信息的提示。移動終端可通過移動互聯網查詢各類數據。監測系統架構如圖1所示。

圖1 監測系統架構圖Fig.1 Structure of monitoring system
監控終端包括感知終端和執行終端,均以基本的LoRa終端為基礎,感知終端采集環境參數信息;而執行終端接受信息處理中心的指令,控制環境調控設備工作。LoRa終端由微控制器(microcontroller unit,MCU)、傳感器模塊、SX1278通信模塊和電源模塊組成,其模塊結構如圖2所示。

圖2 LoRa終端模塊結構圖Fig.2 Structure of LoRa terminal module
傳感器模塊可靈活選擇,把多達六種不同類型傳感器通過多合一變送器與MCU雙向通信。多合一變送器把弱電信號轉變成標準的電壓信號供MCU采集,實現MCU對多路傳感器感知數據的采集和管理。這種方案的感知終端具有較好的靈活性和適用性。傳感器模塊是監測系統環境數據采集的基礎。煤礦生產作業環境需要采集的參數種類比較多。由于采用了多合一變送器技術,單一感知終端可以同時對六類參數進行采集,具有較好的配置靈活性,大大提高了設備的利用效率。
通信模塊采用了Semtech公司生產的、具有優良遠程通信能力的SX1278射頻處理器。MCU與SX1278通過串行外設接口(serial peripheral interface,SPI)總線進行通信,包括設置參數和讀寫先進先出(first input first output,FIFO)。SX1278可以通過6根連接線DIO0~DIO5中斷MCU,完成異步事件處理。為判斷接收和發送數據包是否超時,MCU需要設置TIMER。該資源LoRa不需要,僅為MCU所用。
電源模塊為LoRa終端內其他模塊提供電源,可以采用兩種供電方式。目前,采用高能量電池供電。該方式由LM2596和LM7805組成一個穩壓電路,可以提供3.3 V和5 V兩種電壓。由于采用了低功耗全系統設計,因此,監控終端在電池方式供電下可以長時間地穩定工作[4]。
基站和監測終端構成星形網絡,基站由MCU、SX1278通信模塊、通信接口(WiFi、RS-232)模塊和電源模塊組成。基站模塊結構如圖3所示。

圖3 基站模塊結構圖Fig.3 Structure of base station module
基站可以通過兩種方式把傳感器采集數據上傳到云服務處理中心。一種是通過RS-232串行通信方式接入網絡服務器,另一種是通過WiFi無線網絡直接接入廣域網,或通過網絡服務器接入廣域網。基站MCU利用UART接口與串口模塊、WiFi模塊通信,按需選擇了由上海慶科科技有限公司研發的高速串口WiFi模塊EMW3162。在設計串行通信RS-232時,由于外部通信接口與MCU電平不一致的原因,需要進行接口電平轉換,采用SP3232實現MCU的TTL電平與外部通信接口電平的轉換。電源模塊是保證基站正常運轉的前提。由于基站各模塊耗電量較大,更適合采用工業電。因此,采用了美國半導體公司生產的、最大電流為1 A的穩壓電路LM2575D2T-3.3R4G。
基站(網關)是整個數據通信的關鍵節點。基站(網關)處理軟件包括控制主程序、通信接口程序、組網與數據轉發程序等。基站(網關)工作的主流程主要依靠標志信息來進行處理狀態轉換,外圍設備通過中斷來請求,觸發服務程序來處理相關事務。如接收串口數據,一旦有數據發送進來,就會產生中斷,由中斷服務程序接收數據處理[5]。基站(網關)工作流程如圖4所示。

圖4 基站(網關)工作流程圖Fig.4 Flow chart of base station(Gateway)
監控系統主要采集環境參數。環境參數的數據量不大,采樣頻率不高、實時性不強。因此,采用個性化設計的私有通信協議,實現監控終端與基站之間的雙向通信。
為了降低功耗,系統設計采用了低功耗設計理念,硬件平臺以兩種具有低功耗模式的處理器為基礎。MCU采用意法半導體公司生產的功能強大STM32F103系列產品,其內核是Cortex-M3架構的微處理器,支持睡眠、停止和等待三種低功耗工作模式,是一種低功耗系統設計的理想MCU。SX1278采用擴頻調制通信、信道檢測(channel activity detection,CAD)和自適應數據速率(adaptive data rate,ADR)技術,具有抗干擾能力強、接收靈敏度高、低工作電流、發射功率可調、遠距離傳輸的特點,支持睡眠、CAD和等待三種低功耗工作模式[6]。監測終端的低功耗除考慮硬件設計外,更重要的是實現軟件控制。軟件控制從兩方面考慮:一是控制傳感器(執行)組件的供電模式,只有在定時采集感知信息時才讓傳感器組件供電工作;二是定時被喚醒對感知信息采集、發送和數據接收。監測終端大部分情況下都處于等待和睡眠等低功耗狀態,從而大大降低了平均工作電流[7]。
為了保證監控系統無線通信有效工作,需要解決無線信道競爭問題[8]。對于SX1278來說,有兩種解決方案:一是利用SX1278跳頻通信技術,通過不同頻率的跳變來解決信道的沖突惡化;二是同頻率下信道檢測和避讓辦法。本系統采用第二種方案來實現信道競爭。
SX1278具有獲得無線信號信號強度(received signal strength indication,RSSI)、信噪比(signal-noise ratio,SNR)值和CAD功能,它們都具備對無線信號進行識別的能力。RSSI表示接收機頻段內測得無線信號的強度值,由于SX1278工作在免費頻段,因此僅檢測RSSI是無法唯一準確識別的。CAD信道檢測是一種LoRa前導碼檢測方法,主要用于SX128的接收數據前的檢測。通過分析研究,利用SNR值是檢測信道的一種有效辦法。
SX1278的RegPktSnrValu寄存器儲存著接收信號的信噪比值,MCU通過SPI接口可以獲得SNR值,如果SNR在-20~+5 dB之間,則判定信道忙,否則信道空閑。一旦信道空閑,SX1278就進入發送工作模式完成數據發送。當信道忙時,需要解決碰撞避讓問題[8-9]。碰撞避讓采用隨機時間退后再檢測的辦法。首先,要確定一個退避時間窗口值CW(如CW=500 ms)。CW可以依據信道竟爭狀態隨機調整,當竟爭惡化時增大,CW反而減小。在實際設計時一般采用隨機函數rand( )產生0~1之間的隨機數加權CW來獲得退避時間。由于rand( )是一個偽隨機函數,用函數srand[(unsigned)time( NULL )]產生隨機數種子,從而保證各終端rand( )生成的隨機數有效錯位。
SX1278實現了物理層無線數據收發功能,規定了數據幀格式。數據幀由前導碼、可選報頭、有效負載和CRC組成。其中,可選報頭在顯式情況下才有。SX1278本身不能保證數據通信是否有效,因此必須通過設計上層通信協議,才能保障有效數據通信。為此,設計了DATA數據幀(含廣播幀)和確認符(acknowledgement,ACK)幀。DATA幀包括幀類型、幀序號、目的地址、源地址、有效負載和FCS共六個字段。規定DATA 數據幀最大字節數為5+64=69,其中有效負載最大為64 B。DATA 數據幀類型由字節低四位表示,0010表示為普通數據幀,幀序號記錄幀序號,目的地址和源地址分別表示接收與發送設備的地址,有效負載為上層交付的數據包,幀校驗序列(frame check sequence,FCS)為幀校驗[9]。當DATA幀中的幀類型低四位為0111時,DATA幀轉化為廣播幀,此時目的地址設定為0。DATA幀結構如表1所示。

表1 DATA幀結構Tab.1 DATA frame structure
ACK幀確認數據是否接收。監控終端發送數據后,在給定時間內如沒有收到確認幀,則數據重發。ACK幀包括幀類型、目的地址和FCS。其中,幀類型低四位為0011。確認幀不需回復,SX1278一旦接收到數據幀,不進行信道檢測,立即回復確認幀。ACK幀結構如表2所示。

表2 ACK幀結構Tab.2 ACK frame structure
監測系統通信網絡主要承擔感知信息和控制信息的遠程雙向傳輸。監測終端在MCU定時控制下進行。發送信息:一是發送感知信息;二是發送ACK數據。通過設定定時自我喚醒,MCU控制傳感器供電工作,經模數轉換,采集感知信息;控制 SX1278進入等待狀態,把相關信息寫入SX1278的先進先出緩存器;起動基于SNA信噪比的信道檢測。信道空閑時,控制SX1278進入發送數據狀態,完成數據發送后轉入其他狀態。監測終端在兩種情況下接收信息:一是接收ACK數據;二是接收控制信息。SX1278采用CAD信道檢測來保證數據的安全接收,通過設置SX1278參數,被定時喚醒進入CAD信道檢測模式。如在規定時間里沒有檢測到前導碼(或前導碼關聯不成功),轉入等待模式;一旦檢測到前導碼,接收前導碼并關聯成功后,進入數據接收模式,完成數據接收。
監測系統采集到的所有數據最終都要送入云服務處理中心來存儲、分析、處理和決策。云服務信息處理中心是監測系統的靈魂,承擔著網絡通信、數據庫管理、數據分析與決策、報表生成與查詢、移動應用服務和人機界面與管理等功能。目前很多系統采用公用云平臺來開發應用系統,但這種方法的適用性和信息保密性差,存在一定的安全風險,對一些個性化應用也缺少支持。因此,監測系統采用了自主開發的方式。云服務處理應用系統由系統配置與管理、感知數據存儲與處理、專家系統、報表信息處理和網絡通信與遠程服務這五大模塊組成。
云服務處理軟件模塊結構[7-10]如圖5所示。

圖5 云服務處理軟件模塊結構圖Fig.5 Structure of cloud service processing software module
在某一地下廢棄煤礦布設了一個監測系統,由一個基站、兩個感知終端和一個執行終端組成作業區前端遠程通信系統。基站通過RS-232與網絡服務器通信接入廣域網(也可直接通過WiFi接入),傳感器選用了溫濕度和CO三類傳感器,執行終端通過繼電器控制燈,LoRa射頻采用477 MHz,發射功率為20 dBm。為了驗證遠程數據收發情況,其中一個感知終端采用串口調試工具向終端輸送數據。通過調整傳輸距離,每次發數據包200個,通信測試結果如表3所示。

表3 通信測試結果Tab.3 Results of communication test
當通信距離超過2.5 km,丟包率明顯增加到了40%。采用通信應用層確認機制,保證了數據的可靠傳輸。傳感器實測數據表明,LoRa遠程通信是可靠的。雖然通信距離增加后通信效率明顯有所下降,但完全可以滿足煤礦作業環境實時監測的需要[11]。
基于LoRa技術的環境監測系統,充分利用了LoRa擴頻調制帶來的遠程組網通信能力,為煤礦作業環境遠程監測、保障煤礦安全提供了一種很好的技術解決方案。由于LoRa組網設備具有單跳通信距離遠、低功耗、大范圍、低成本等優點,其適用性、可靠性、安裝性和維修性都有了不同程度的提高。LoRa技術本身是一種新技術。本研究采用私有通信協議,僅發揮了LoRa遠程通信能力的優勢,還沒有充分利用LoRaWAN協議棧帶來的技術特長。LoRaWAN協議棧開發應用相對較難,有待于進一步研究。