陳易然,楊大志(通信作者),楊宗澤,劉軻
(四川輕化工大學 機械工程學院,四川宜賓,644000)
2017 年國家發改委、國家能源局等十部委聯合印發《北方地區冬季清潔取暖規化(2017-2022 年)》(后文統稱《規化》),在華北及周邊的“2+26”個城市的農村地區推動“煤改氣”[1]。但是關于農村天熱氣使用安全卻仍然存在很多問題[2]。隨著物聯網的LoRa 技術在無線傳感領域的發展和普及,遠距離、低功耗且穩定性強的無線網絡需求得到滿足,針對村鎮居住分散,網絡覆蓋率低及天然氣安全管理系統不完善的特點,設計一套適用于村鎮的燃氣泄漏報警通訊機制。該系統克服了WiFi 在村鎮數據通訊差和傳統報警器警報范圍受限的缺陷,大大提高燃氣安全報警功效,使村鎮燃氣事故預防工作網絡化、智能化,具有廣闊的現實意義及商業價值。
天然氣泄漏檢測及火災報警系統的系統結構如圖1 所示,系統由終端節點、集中器以及監控端組成。系統首先由多個終端節點通過LoRa 無線傳感器組成具有多跳臨時自治能力的自組mesh 網絡[3]。在自組網中,系統以LoRa 無線傳感網為媒介,經過多跳或單跳,將終端節點采集的信息發送到集中器(sink)。然后集中器通過萬維網及移動通信技術,把匯總的信息提交到監控端以及個人移動端。監控端會對收到的數據進行處理,并儲存在數據庫以便查詢。

圖1 系統總體結構
終端節點:該系統設計的終端節點以STM32F103c8t6芯片為控制核心,結合了多種傳感器及電磁閥等外部執行元件。它不僅是一個獨立的主機,具有數據采集、聲光報警、閥門控制的功能,還具有路由器功能。每個終端節點之間可相互通信,多個終端節點共同構成一個混合網絡。
集中器:集中器在整個系統中不僅起到信息匯聚及承接的作用,它同時起到網關的作用,系統通過集中器連入外部Internet 網絡。因此,對集中器的數據處理及傳輸能力比終端節點具有更高的要求。
監控端:監控端也是應用服務器,分為PC 端的監控平臺及手機端的應用平臺。在系統中,集中器會將所有的終端節點信息發送到PC 端服務器,也會把相應節點的信息發送到對應的手機端。接收到的數據會在應用服務器進行重構,并保存到Sqlite 數據庫。從而使系統可以實現實時監控及歷史查詢的功能。
本文研究系統報警系統的硬件設計,主要利用AD9 電路板設計軟件,結合數電模電技術,設計終端節點電路原理圖。系統硬件的結構圖如圖2所示,主要包括電源、主控芯片、傳感器模塊、報警模塊、電磁閥模塊、通信模塊。

圖2 系統硬件結構
終端節點用于采集環境中燃氣濃度及火災信息,并在超過閾值時發出聲光報警并觸發電磁閥動作,切斷燃氣回路[4]。終端節點的結構框圖如圖3 所示,其中組成終端節點的部分主要有:STM32 最小系統、電源電路、電磁閥驅動電路、通信電路、傳感器電路、聲光報警電路。

圖3 終端節點結構框圖
終端節點的STM32F103c8t6 最小系統電路如圖4 所示,可以用于實現一個單片機的基本功能,同時在其他未被占用的引腳擴展外圍電路。

圖4 STM32F103c8t6最小系統電路原理圖
其中,引腳PC14 及PC15 經過倍頻后為MCU 提供STM32 芯片所需的32.768 kHz 主頻。同時系統選用8MHz的外部時鐘晶振Y2,再通過芯片內集成的鎖相環PULL 對內部時鐘進行倍頻,然后為外部電路提供所需的時鐘信號。BOOT0 及BOOT1 則用來配置啟動方式。另外,調試接口采用標準的JTAG 接口用程序燒錄及仿真。
終端節點的通信電路設計主要是用于終端與網關進行自組網通信的LoRa 模塊外圍電路。選擇了ATK-LORA-01_V3.0 LoRa 串口模塊作為該報警系統的自組網通信模塊,ATK-LORA-01_V3.0模塊的實物如圖5所示。工作電壓3.3~5 V,工作頻段410MHz~441 MHz,功率為100 mW。LoRa模塊電路原理圖如圖6 所示。

圖5 LoRa 模塊實物圖

圖6 LoRa 模塊外圍電路
ATK-LORA-01_V3.0模塊中的VCC連接+5V電源,GND接地。MD0 與PB13 引腳相連為輸入引腳,用于配置ATK-LORA-01_V3.0 為參數設置模式,還可以與AUX 引腳配合使ATK-LORA-01_V3.0 進入固件升級狀態。AUX 與引腳PB12 連接,即可作為輸入引腳又可以作為輸出引腳。AUX 引腳既可以配合MD0 使模塊進入固件升級模式,又可以指示模塊工作狀態,喚醒外部MCU。TXD 與RXD 引腳為串口輸入輸出引腳,TXD 連接STM32F103c8t6 芯片的PB10 引腳,RXD 連接PB11 引腳。但是要注意模塊的輸入引腳應連接芯片的輸出引腳,模塊的輸出引腳應連接芯片的輸入引腳。
終端節點主程序用于完成終端節點MCU 及外圍設備配置及初始化,然后調用各模塊子程序實現信息采集、閥門控制、報警及無線傳輸等功能。其中,終端節點主程序流程如圖7 所示。

圖7 終端節點主程序
在程序執行時,首先檢測模塊是否安裝成功,然后對系統主控芯片及各模塊完成初始化工作,如果模塊不存在,則延時等待重新初始化,再次檢測。如果模塊存在,則休眠MCU,等待中斷事件喚醒,等中斷事件執行完成后,MCU 將再次休眠。程序中的中斷事件包括:數據采集事件、聲光報警事件、LoRa 數據發送事件、繼電器控制事件。中斷事件喚醒MCU 后,會采集傳感器數據,然后檢查采集到的數據是否超過設置的燃氣濃度閾值,如果超過閾值,則執行聲光報警及繼電器控制中斷處理函數,提醒用戶發現燃氣泄漏或火災事件。然后喚醒LoRa 模塊,把采集到的數據通過LoRa 無線傳輸發送到集中器[5]。如果采集到得數據沒有超過閾值,則直接發送數據,然后ATK-LORA-01 進入低功耗模式。
監控端軟件是為管理者及用戶準備的圖形用戶界面,使用C++編程語言開發軟件開發使用的平臺則為跨平臺開發軟件QT。使用QT 編寫的程序經過選擇不同的工具箱,能夠直接適用于Windows 系統及Android 系統。在該系統中監控端軟件分為PC 部分及移動端部分,分別用于監控所有終端節點及單個用戶節點。
PC 端的主界面如圖8 所示。在PC 端主界面中,可以查看組網中的所有用戶數據,包括用戶ID、地址、燃氣濃度、溫度、狀態信息。當檢測的數據超過設定閾值時,便會顯示當前狀態(正常、泄漏、火災)。

圖8 PC 端主界面
報警系統的移動端是一款為用戶開發的Android 系統app,開發環境同樣為QT 平臺。移動端具有用戶實時數據監控、報警、控制燃氣閥門及報警消聲的功能,可以保證用戶遠距離實時監控家庭燃氣安全。通信模塊接入移動端的方式與PC 端類似,只是移動端與集中器的連接方式不再是TCP 連接而是采用GPRS 通信。在GPRS 對應的串口打開后要進行SIM 卡配置,首先,設置移動端類型,通過透明方式接入網絡,然后設置設備的接入點確定網絡接入類型以及GPRS 附著業務,最后設置SIM 設備的本地端口。當GPRS模塊相應的準備設置完成后,便可以進行數據傳輸。
燃氣泄漏不僅容易引發火災,對個人及家庭帶來危害,嚴重的燃氣泄漏事故還會對社會產生一定影響。天燃氣泄漏檢測及火災報警系統可以及時發現燃氣泄漏及火災事故的發生,及時通知救援人員對事故采取相應的救援措施。本系統實現的基于物聯網LoRa 技術的村鎮天然氣泄漏檢測及火災報警系統,不僅能解決傳統有線報警系統布線復雜的問題,還解決了現有無線報警系統對網絡覆蓋要求高的問題,可以廣泛應用于村鎮等其他網絡覆蓋率低的場景,對降低事故的發生概率起到一定的作用。