李偉杰,戴亞文
(武漢理工大學(xué) 理學(xué)院,武漢 430070)
隨著信息技術(shù)的發(fā)展,數(shù)據(jù)傳輸經(jīng)歷了從有線到無線的轉(zhuǎn)變,無線局域網(wǎng)技術(shù)包括ZigBee,Wi-Fi,Bluetooth等在工業(yè)控制、環(huán)境監(jiān)測等領(lǐng)域都得到了廣泛應(yīng)用[1]。由于無線局域網(wǎng)技術(shù)頻率高,無線信號衰減快,傳輸距離較短,同時普遍共用2.4 G頻段,沖突和干擾也不可避免。一般工業(yè)現(xiàn)場環(huán)境較復(fù)雜、分布不集中、作業(yè)環(huán)境惡劣且加之強(qiáng)干擾源的存在,傳統(tǒng)的無線技術(shù)面臨著新的挑戰(zhàn)[2]。
與傳統(tǒng)的無線傳輸技術(shù)相比,低功耗廣域網(wǎng)LPWAN(low power wide area network)技術(shù)是一種以低數(shù)據(jù)傳輸率進(jìn)行遠(yuǎn)距離通信的低功耗廣域網(wǎng)絡(luò)傳輸技術(shù),具有距離遠(yuǎn)、覆蓋范圍廣、功耗低、抗干擾性強(qiáng)等優(yōu)點,被廣泛應(yīng)用于工業(yè)探測、農(nóng)業(yè)監(jiān)測、水質(zhì)監(jiān)測等領(lǐng)域[4-6],尤其針對長距離、低功耗和低數(shù)據(jù)傳輸速率的場合,具有很大優(yōu)勢。LoRa作為遠(yuǎn)距離低功耗數(shù)據(jù)傳輸技術(shù)之一,是美國Semtech公司采取的一種基于擴(kuò)頻通信的超長距離無線傳輸方案,它解決了傳統(tǒng)設(shè)計方案中無法同時兼顧距離、抗干擾和功耗的問題,提供一種簡單的實現(xiàn)遠(yuǎn)距離、低功耗、大容量的方案,進(jìn)而擴(kuò)展無線傳感網(wǎng)絡(luò),擁有廣泛的應(yīng)用前景[7]。
本文針對工業(yè)溫度信息采集的實際應(yīng)用需求,設(shè)計了一種基于LoRa的工業(yè)溫度無線采集系統(tǒng),實現(xiàn)對工業(yè)環(huán)境下監(jiān)測區(qū)域溫度參數(shù)的實時采集和監(jiān)控。系統(tǒng)實現(xiàn)了低功耗的硬件電路設(shè)計,并采用了競爭與時分復(fù)用相結(jié)合的組網(wǎng)方式和基于事件驅(qū)動的數(shù)據(jù)采集優(yōu)化算法,試驗結(jié)果表明該系統(tǒng)具有功耗低、傳輸距離遠(yuǎn)、覆蓋范圍廣、傳輸穩(wěn)定等優(yōu)勢,目前已在柳州某鋼鐵廠安裝使用。
基于LoRa的工業(yè)溫度無線采集系統(tǒng)通過分布在工業(yè)監(jiān)測區(qū)域中各個監(jiān)測節(jié)點采集溫度、濕度等環(huán)境數(shù)據(jù),然后將監(jiān)測數(shù)據(jù)發(fā)送至網(wǎng)關(guān)進(jìn)而上傳至服務(wù)器,實現(xiàn)對工業(yè)環(huán)境中監(jiān)測區(qū)域溫度的采集和監(jiān)控。
基于LoRa的工業(yè)溫度無線采集系統(tǒng)主要由監(jiān)測節(jié)點、網(wǎng)關(guān)以及服務(wù)器3個部分構(gòu)成。整體框圖如圖1所示。節(jié)點被分布在工業(yè)環(huán)境中的各個監(jiān)測點,實時采集監(jiān)測點的溫度信息,并將采集到的數(shù)據(jù)發(fā)送至網(wǎng)關(guān),網(wǎng)關(guān)負(fù)責(zé)組網(wǎng)、時間同步以及對節(jié)點上傳數(shù)據(jù)的打包和處理,最后通過GPRS或者預(yù)留的串口、以太網(wǎng)接口上傳至服務(wù)器。最終,監(jiān)測人員可以通過PC終端實時監(jiān)測各個節(jié)點的環(huán)境參數(shù)信息。
圖1 系統(tǒng)整體框圖Fig.1 Overall block diagram of the system
節(jié)點部署方式涉及到整個系統(tǒng)網(wǎng)絡(luò)的組網(wǎng)規(guī)模和效率,是無線傳感網(wǎng)絡(luò)中非常重要的因素。合理的節(jié)點部署方式可以使系統(tǒng)具有更高的節(jié)點容量,更大的網(wǎng)絡(luò)覆蓋率以及更低的網(wǎng)絡(luò)能耗。星型網(wǎng)絡(luò)是各種網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的組網(wǎng)基礎(chǔ),它具有結(jié)構(gòu)簡單、延遲低、組網(wǎng)容易等特點,可以降低通信協(xié)議的復(fù)雜度以及整個網(wǎng)絡(luò)的能耗[8-9]。
考慮到工業(yè)現(xiàn)場環(huán)境復(fù)雜、監(jiān)測區(qū)域覆蓋范圍廣、傳輸距離遠(yuǎn)、節(jié)點數(shù)量龐大等特點,系統(tǒng)根據(jù)節(jié)點所屬不同的區(qū)域?qū)⒐?jié)點劃分到不同的信道中,一個網(wǎng)關(guān)負(fù)責(zé)一個信道,同一信道中的網(wǎng)關(guān)和節(jié)點采用星型網(wǎng)絡(luò)結(jié)構(gòu),如圖2所示。相鄰的網(wǎng)關(guān)之間采用類蜂窩網(wǎng)絡(luò)結(jié)構(gòu)完成對大面積工業(yè)區(qū)域的覆蓋,保持了終端節(jié)點電池電量以及整個系統(tǒng)網(wǎng)絡(luò)覆蓋范圍方面的優(yōu)勢。
圖2 網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)Fig.2 Diagram of network topology
同時采用競爭與分時相結(jié)合的組網(wǎng)方式來降低系統(tǒng)的功耗以及碰撞率。節(jié)點采用競爭的方式入網(wǎng),在當(dāng)前信道空閑時發(fā)送入網(wǎng)請求,否則將持續(xù)偵聽直到當(dāng)前信道空閑。入網(wǎng)同步后則統(tǒng)一采用分時的方式進(jìn)行數(shù)據(jù)發(fā)送以避免數(shù)據(jù)碰撞。
基于LoRa的工業(yè)溫度無線采集系統(tǒng)的硬件部分主要由監(jiān)測節(jié)點模塊和網(wǎng)關(guān)模塊構(gòu)成。監(jiān)測節(jié)點負(fù)責(zé)工業(yè)現(xiàn)場溫度的采集和上傳至網(wǎng)關(guān),網(wǎng)關(guān)則負(fù)責(zé)對節(jié)點的組網(wǎng)以及時間同步并將收到的數(shù)據(jù)進(jìn)行處理和上傳至服務(wù)器,達(dá)到工業(yè)溫度無線采集和監(jiān)測的目的。
監(jiān)測節(jié)點模塊主要包括傳感器模塊、主控模塊、射頻模塊、電源管理模塊以及擴(kuò)展接口。節(jié)點模塊框圖如圖3所示。
圖3 監(jiān)測節(jié)點框圖Fig.3 Block diagram of monitoring node
主控芯片采用意法半導(dǎo)體公司新推出的超低功耗系列芯片STSTM32L053R8,該款MCU基于ARM Cortex M0+內(nèi)核,具有豐富的外設(shè)接口,主頻32 MHz,電源電壓為1.71 V~3.6 V,運行模式功耗為139 μA/Hz,停止模式下功耗僅為440 nA且保留RAM數(shù)據(jù),3.5 μs喚醒時間。設(shè)計時采用32.768 kHz的外部晶振作為RTC喚醒時鐘源。
溫度傳感器采用DS18B20數(shù)字溫度傳感器,3~5.5 V供電,單線制串行接口,數(shù)字信號輸出,測溫范圍-55~+125 ℃,靜態(tài)功耗<3 μA,有體積小、超快響應(yīng)、抗干擾能力強(qiáng)等優(yōu)點,被廣泛應(yīng)用于鍋爐測溫、機(jī)房測溫、農(nóng)業(yè)大棚測溫等各種場合。
射頻模塊采用Semtech公司推出的芯片SX1276,抗干擾性強(qiáng),能夠最大限度降低電流消耗,具有+14 dBm的高效率功率放大器,9.9 mA的低接收電流以及200 nA的寄存器保持電流,通過SPI與主控芯片進(jìn)行數(shù)據(jù)傳輸。
網(wǎng)關(guān)模塊主要包括主控單元、射頻模塊,以及為了獲得精確時間的GPS模塊,同時預(yù)留串口接口、以太網(wǎng)接口可根據(jù)用戶需求靈活連接至服務(wù)器,網(wǎng)關(guān)模塊框圖如圖4所示。網(wǎng)關(guān)模塊中主控芯片和射頻芯片的選擇與節(jié)點中相同。
圖4 網(wǎng)關(guān)模塊框圖Fig.4 Block diagram of gateway module
數(shù)據(jù)采集是無線傳感網(wǎng)絡(luò)中最重要的環(huán)節(jié),關(guān)系到整個系統(tǒng)的最終效果。根據(jù)網(wǎng)絡(luò)的工作模式可以分為周期性數(shù)據(jù)采集和事件驅(qū)動數(shù)據(jù)采集。周期性數(shù)據(jù)采集指監(jiān)測節(jié)點周期性采集周圍環(huán)境中的參數(shù),按照固定時隙將數(shù)據(jù)上傳至網(wǎng)關(guān);事件驅(qū)動數(shù)據(jù)采集通常是指監(jiān)測節(jié)點一般不發(fā)送數(shù)據(jù)至網(wǎng)關(guān),當(dāng)網(wǎng)絡(luò)中有事件發(fā)生時,監(jiān)測節(jié)點才向網(wǎng)關(guān)發(fā)送數(shù)據(jù)。事件驅(qū)動采集又可以分為外部事件驅(qū)動和內(nèi)部事件驅(qū)動數(shù)據(jù)采集,外部事件驅(qū)動數(shù)據(jù)采集表現(xiàn)為當(dāng)網(wǎng)關(guān)向節(jié)點發(fā)送一定的查詢指令時,節(jié)點才向網(wǎng)關(guān)發(fā)送采集數(shù)據(jù);而內(nèi)部事件驅(qū)動則是當(dāng)節(jié)點感知到環(huán)境中相應(yīng)的事件時,馬上將感知到的數(shù)據(jù)發(fā)送至網(wǎng)關(guān)[10]。
基于LoRa的工業(yè)溫度無線采集系統(tǒng)采用內(nèi)部事件驅(qū)動數(shù)據(jù)采集算法對監(jiān)測節(jié)點的數(shù)據(jù)采集和發(fā)送進(jìn)行優(yōu)化,監(jiān)測節(jié)點根據(jù)用戶需求靈活設(shè)置2個閾值參數(shù)α、β,其中α為設(shè)置的監(jiān)測節(jié)點采集到的相鄰數(shù)據(jù)差值閾值,每一次采集的數(shù)據(jù)都會和前一次采集的數(shù)據(jù)做比較,當(dāng)差值達(dá)到設(shè)定的閾值α?xí)r,節(jié)點會對數(shù)據(jù)進(jìn)行密集采集和發(fā)送處理;β則為監(jiān)測節(jié)點采集數(shù)據(jù)的閾值,當(dāng)節(jié)點采集到的數(shù)據(jù)達(dá)到閾值時也將會對數(shù)據(jù)進(jìn)行密集采集和發(fā)送處理,否則將會按照原來的周期進(jìn)行采集和發(fā)送。其具體算法步驟如下[11]:
(1)監(jiān)測節(jié)點周期性地采集和發(fā)送環(huán)境數(shù)據(jù),ani為節(jié)點n采集到的第i個數(shù)據(jù);
(2)監(jiān)測節(jié)點采集到的每一個數(shù)據(jù)都會和前一個數(shù)據(jù)做比較,當(dāng)ani-ani-1>α?xí)r,節(jié)點將會立即進(jìn)行密集采集并密集發(fā)送當(dāng)前數(shù)據(jù)ani及后續(xù)更新后的采集數(shù)據(jù);
(3)當(dāng)某節(jié)點n采集到的第i個數(shù)據(jù)ani大于β時,也將對當(dāng)前數(shù)據(jù)ani進(jìn)行密集發(fā)送并進(jìn)行密集采集;
(4)重復(fù)步驟1~3。
節(jié)點軟件流程如圖5所示。節(jié)點首先會監(jiān)聽當(dāng)前信道是否空閑,當(dāng)信道處于被占用狀態(tài)時,為了節(jié)省功耗,節(jié)點會先進(jìn)行休眠,在喚醒周期中加入二進(jìn)制指數(shù)退避算法延遲一段時間重新向所在網(wǎng)絡(luò)中的網(wǎng)關(guān)發(fā)送入網(wǎng)請求,以避免節(jié)點間的相互競爭。當(dāng)收到網(wǎng)關(guān)的回復(fù)后立即對本地時鐘進(jìn)行同步,設(shè)置對應(yīng)的RTC喚醒時間,隨后休眠進(jìn)入低功耗模式,完成入網(wǎng)。若未收到網(wǎng)關(guān)回復(fù),節(jié)點將繼續(xù)處于接收等待模式,當(dāng)?shù)却龝r間超過設(shè)定值,節(jié)點將自動休眠并在固定周期喚醒后重新發(fā)送入網(wǎng)請求。
圖5 節(jié)點軟件流程Fig.5 Flow chart of node software
入網(wǎng)完成后,節(jié)點將周期性地進(jìn)行數(shù)據(jù)采集、發(fā)送和休眠,當(dāng)網(wǎng)絡(luò)內(nèi)部事件驅(qū)動觸發(fā)時,將進(jìn)行密集采集和密集發(fā)送數(shù)據(jù)以更加及時、動態(tài)地監(jiān)控環(huán)境參數(shù)。由于時鐘漂移造成系統(tǒng)的同步誤差累積增大,當(dāng)發(fā)送次數(shù)達(dá)到設(shè)定的閾值后,監(jiān)測節(jié)點將重新發(fā)送入網(wǎng)請求,進(jìn)行時間同步。
網(wǎng)關(guān)首先通過GPS時間更新本地時鐘,然后開啟接收模式對信道內(nèi)節(jié)點進(jìn)行偵聽,當(dāng)收到節(jié)點的入網(wǎng)請求或者同步請求后,網(wǎng)關(guān)將獲取本地RTC時間、分配節(jié)點工作時隙并將信息發(fā)送至節(jié)點,RTC時間精確到毫秒;當(dāng)收到節(jié)點發(fā)來的數(shù)據(jù)時,網(wǎng)關(guān)將對數(shù)據(jù)進(jìn)行處理和打包并發(fā)送至服務(wù)器。網(wǎng)關(guān)軟件流程如圖6所示。
在柳州某鋼鐵廠進(jìn)行系統(tǒng)測試,監(jiān)測節(jié)點采用3.7 V鋰電池供電,工作頻段為780 MHz,帶寬為125 kHz,發(fā)射功率為14 dBm,擴(kuò)頻因子SF為7,可實現(xiàn)空曠地帶通信距離達(dá)8 km,非視距情況下通信距離可達(dá)800 m,經(jīng)過實測在鋼鐵廠工業(yè)復(fù)雜環(huán)境下通信距離可達(dá)500 m。監(jiān)測節(jié)點功耗主要分為入網(wǎng)同步和采集發(fā)送2個工作周期,由于時鐘漂移的影響,節(jié)點需每個小時進(jìn)行1次入網(wǎng)以進(jìn)行時鐘同步,入網(wǎng)后節(jié)點工作周期為60 s。利用功率分析儀對節(jié)點各個狀態(tài)時的功耗進(jìn)行測量,入網(wǎng)同步周期節(jié)點在各狀態(tài)時電流消耗情況如表1所示,采集發(fā)送周期節(jié)點在狀態(tài)對應(yīng)的電流消耗情況如表2所示。由圖中結(jié)果計算可知,節(jié)點每天的功耗為1.643 mAh,符合工業(yè)溫度無線采集系統(tǒng)中對于節(jié)點低功耗的需求。
圖6 網(wǎng)關(guān)軟件流程圖Fig.6 Flow chart of gateway software
表1 節(jié)點入網(wǎng)同步周期電流消耗Tab.1 Current consumption of node in accessing and synchronization cycle
表2 節(jié)點采集發(fā)送周期電流消耗Tab.2 Current consumption of node in collection and transmission cycle
為了解決工業(yè)溫度無線采集當(dāng)中遠(yuǎn)距離與低功耗等現(xiàn)實問題,本文采用STM32L053系列超低功耗芯片作為MCU設(shè)計了基于LoRa的工業(yè)溫度無線采集系統(tǒng)。該系統(tǒng)采用以星型網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)為基礎(chǔ)的類蜂窩網(wǎng)絡(luò)結(jié)構(gòu)以實現(xiàn)網(wǎng)絡(luò)大范圍的覆蓋面積,同時采用競爭與時分復(fù)用相結(jié)合的組網(wǎng)方式和基于事件驅(qū)動的數(shù)據(jù)采集算法對數(shù)據(jù)的采集和發(fā)送進(jìn)行優(yōu)化,以實現(xiàn)對工業(yè)環(huán)境溫度的靈活監(jiān)控。該系統(tǒng)具有功耗低、覆蓋范圍廣、擴(kuò)展性強(qiáng)、穩(wěn)定性高的優(yōu)點,并已經(jīng)在柳州某鋼鐵廠安裝應(yīng)用,實際使用結(jié)果表明該系統(tǒng)適用于對工業(yè)溫度的無線采集和監(jiān)控,并可廣泛應(yīng)用于現(xiàn)代工業(yè)、農(nóng)業(yè)等領(lǐng)域當(dāng)中。