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

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

圖2 系統(tǒng)硬件結(jié)構(gòu)
終端節(jié)點(diǎn)用于采集環(huán)境中燃?xì)鉂舛燃盎馂?zāi)信息,并在超過(guò)閾值時(shí)發(fā)出聲光報(bào)警并觸發(fā)電磁閥動(dòng)作,切斷燃?xì)饣芈穂4]。終端節(jié)點(diǎn)的結(jié)構(gòu)框圖如圖3 所示,其中組成終端節(jié)點(diǎn)的部分主要有:STM32 最小系統(tǒng)、電源電路、電磁閥驅(qū)動(dòng)電路、通信電路、傳感器電路、聲光報(bào)警電路。

圖3 終端節(jié)點(diǎn)結(jié)構(gòu)框圖
終端節(jié)點(diǎn)的STM32F103c8t6 最小系統(tǒng)電路如圖4 所示,可以用于實(shí)現(xiàn)一個(gè)單片機(jī)的基本功能,同時(shí)在其他未被占用的引腳擴(kuò)展外圍電路。

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

圖5 LoRa 模塊實(shí)物圖

圖6 LoRa 模塊外圍電路
ATK-LORA-01_V3.0模塊中的VCC連接+5V電源,GND接地。MD0 與PB13 引腳相連為輸入引腳,用于配置ATK-LORA-01_V3.0 為參數(shù)設(shè)置模式,還可以與AUX 引腳配合使ATK-LORA-01_V3.0 進(jìn)入固件升級(jí)狀態(tài)。AUX 與引腳PB12 連接,即可作為輸入引腳又可以作為輸出引腳。AUX 引腳既可以配合MD0 使模塊進(jìn)入固件升級(jí)模式,又可以指示模塊工作狀態(tài),喚醒外部MCU。TXD 與RXD 引腳為串口輸入輸出引腳,TXD 連接STM32F103c8t6 芯片的PB10 引腳,RXD 連接PB11 引腳。但是要注意模塊的輸入引腳應(yīng)連接芯片的輸出引腳,模塊的輸出引腳應(yīng)連接芯片的輸入引腳。
終端節(jié)點(diǎn)主程序用于完成終端節(jié)點(diǎn)MCU 及外圍設(shè)備配置及初始化,然后調(diào)用各模塊子程序?qū)崿F(xiàn)信息采集、閥門(mén)控制、報(bào)警及無(wú)線傳輸?shù)裙δ堋F渲校K端節(jié)點(diǎn)主程序流程如圖7 所示。

圖7 終端節(jié)點(diǎn)主程序
在程序執(zhí)行時(shí),首先檢測(cè)模塊是否安裝成功,然后對(duì)系統(tǒng)主控芯片及各模塊完成初始化工作,如果模塊不存在,則延時(shí)等待重新初始化,再次檢測(cè)。如果模塊存在,則休眠M(jìn)CU,等待中斷事件喚醒,等中斷事件執(zhí)行完成后,MCU 將再次休眠。程序中的中斷事件包括:數(shù)據(jù)采集事件、聲光報(bào)警事件、LoRa 數(shù)據(jù)發(fā)送事件、繼電器控制事件。中斷事件喚醒MCU 后,會(huì)采集傳感器數(shù)據(jù),然后檢查采集到的數(shù)據(jù)是否超過(guò)設(shè)置的燃?xì)鉂舛乳撝担绻^(guò)閾值,則執(zhí)行聲光報(bào)警及繼電器控制中斷處理函數(shù),提醒用戶發(fā)現(xiàn)燃?xì)庑孤┗蚧馂?zāi)事件。然后喚醒LoRa 模塊,把采集到的數(shù)據(jù)通過(guò)LoRa 無(wú)線傳輸發(fā)送到集中器[5]。如果采集到得數(shù)據(jù)沒(méi)有超過(guò)閾值,則直接發(fā)送數(shù)據(jù),然后ATK-LORA-01 進(jìn)入低功耗模式。
監(jiān)控端軟件是為管理者及用戶準(zhǔn)備的圖形用戶界面,使用C++編程語(yǔ)言開(kāi)發(fā)軟件開(kāi)發(fā)使用的平臺(tái)則為跨平臺(tái)開(kāi)發(fā)軟件QT。使用QT 編寫(xiě)的程序經(jīng)過(guò)選擇不同的工具箱,能夠直接適用于Windows 系統(tǒng)及Android 系統(tǒng)。在該系統(tǒng)中監(jiān)控端軟件分為PC 部分及移動(dòng)端部分,分別用于監(jiān)控所有終端節(jié)點(diǎn)及單個(gè)用戶節(jié)點(diǎn)。
PC 端的主界面如圖8 所示。在PC 端主界面中,可以查看組網(wǎng)中的所有用戶數(shù)據(jù),包括用戶ID、地址、燃?xì)鉂舛取囟取顟B(tài)信息。當(dāng)檢測(cè)的數(shù)據(jù)超過(guò)設(shè)定閾值時(shí),便會(huì)顯示當(dāng)前狀態(tài)(正常、泄漏、火災(zāi))。

圖8 PC 端主界面
報(bào)警系統(tǒng)的移動(dòng)端是一款為用戶開(kāi)發(fā)的Android 系統(tǒng)app,開(kāi)發(fā)環(huán)境同樣為QT 平臺(tái)。移動(dòng)端具有用戶實(shí)時(shí)數(shù)據(jù)監(jiān)控、報(bào)警、控制燃?xì)忾y門(mén)及報(bào)警消聲的功能,可以保證用戶遠(yuǎn)距離實(shí)時(shí)監(jiān)控家庭燃?xì)獍踩Mㄐ拍K接入移動(dòng)端的方式與PC 端類似,只是移動(dòng)端與集中器的連接方式不再是TCP 連接而是采用GPRS 通信。在GPRS 對(duì)應(yīng)的串口打開(kāi)后要進(jìn)行SIM 卡配置,首先,設(shè)置移動(dòng)端類型,通過(guò)透明方式接入網(wǎng)絡(luò),然后設(shè)置設(shè)備的接入點(diǎn)確定網(wǎng)絡(luò)接入類型以及GPRS 附著業(yè)務(wù),最后設(shè)置SIM 設(shè)備的本地端口。當(dāng)GPRS模塊相應(yīng)的準(zhǔn)備設(shè)置完成后,便可以進(jìn)行數(shù)據(jù)傳輸。
燃?xì)庑孤┎粌H容易引發(fā)火災(zāi),對(duì)個(gè)人及家庭帶來(lái)危害,嚴(yán)重的燃?xì)庑孤┦鹿蔬€會(huì)對(duì)社會(huì)產(chǎn)生一定影響。天燃?xì)庑孤z測(cè)及火災(zāi)報(bào)警系統(tǒng)可以及時(shí)發(fā)現(xiàn)燃?xì)庑孤┘盎馂?zāi)事故的發(fā)生,及時(shí)通知救援人員對(duì)事故采取相應(yīng)的救援措施。本系統(tǒng)實(shí)現(xiàn)的基于物聯(lián)網(wǎng)LoRa 技術(shù)的村鎮(zhèn)天然氣泄漏檢測(cè)及火災(zāi)報(bào)警系統(tǒng),不僅能解決傳統(tǒng)有線報(bào)警系統(tǒng)布線復(fù)雜的問(wèn)題,還解決了現(xiàn)有無(wú)線報(bào)警系統(tǒng)對(duì)網(wǎng)絡(luò)覆蓋要求高的問(wèn)題,可以廣泛應(yīng)用于村鎮(zhèn)等其他網(wǎng)絡(luò)覆蓋率低的場(chǎng)景,對(duì)降低事故的發(fā)生概率起到一定的作用。