宋永生
摘要:隨著各地化工園區的興建,環境風險不斷增加,園區空氣質量監測迫在眉睫。LoRa功耗低、傳輸距離遠、組網節點多、抗干擾能力強,在物聯網領域得到廣泛應用。利用LoRa構建園區地面監測網,結合無人機掛載的4G移動監測設備,形成園區立體式監測網,有利于提高空氣質量監測的準確度。
關鍵詞:化工園區;空氣質量;LoRa;物聯網;4G
中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2018)30-0255-0c
Abstract: With the construction of chemical industrial parks and the increasing environmental risks, the monitoring of air quality in the park is imminent. LoRa is widely used in the field of Internet of Things because of its low power consumption, long transmission distance, many networking nodes and strong anti-interference ability. Using LoRa to construct the park ground monitoring network and combining with the 4G mobile monitoring equipment mounted by UAV, the park three-dimensional monitoring network is formed, which is beneficial to improve the accuracy of air quality monitoring.
Key words: Chemical Industry Park;Air quality;LoRa;Internet of things;4G
隨著工業化的推進,各地化工園區如雨后春筍般紛紛興起。化工園區內的原材料及產品很多涉及危化品,種類多數量大。不少化學品具有毒性且不穩定,相互之間還可能發生反應,這些化學品一旦泄露,將會給園區空氣造成不同程度的污染。個別不法企業還會偷偷排放不達標的廢氣,化工園區內的空氣質量監測迫在眉睫。
電信運營商的2G、3G、4G等蜂窩網絡覆蓋廣,但基于蜂窩通信技術的M2M功耗大、成本高。為滿足遠距離物聯網設備的連接需求,產生了低功耗廣域網LPWAN技術。 LPWAN 專為低帶寬、低功耗、遠距離、大量連接的物聯網應用而設計,是蜂窩M2M連接的有效補充方案[1]。LPWAN可分為兩類:一類是以NB-IoT為代表的工作于授權頻段的技術,另一類是以LoRa為代表的工作于免費頻段的技術。
NB-IOT是由運營商統一部署網絡,并進行收費的方式運營。NB-IOT支持低功耗設備在廣域網的數據連接,支持待機時間長、對網絡連接要求較高設備的高效連接。LoRa在免費頻段運行,用戶可以自行組網,提供一種能夠簡單實現距離遠、功耗低、組網節點多的傳感網絡。LoRa信號對建筑的穿透力強,搭載LoRa模塊的終端可以部署在方圓幾公里內的任意地方,使用電池供電,維護成本低,適合在化工園區部署。
本文嘗試將物聯網技術應用到化工園區空氣質量的監測中去,LoRa網絡負責地面固定監測終端的數據傳輸,4G網絡負責無人機掛載的移動監測終端的數據傳輸,從而構成化工園區立體的空氣質量監測網,有利于提高化工園區空氣質量監測的準確度。
1 系統架構
空氣質量監測系統主要分為兩個部分:監測終端和監測服務平臺。監測終端主要負責空氣質量各項數據的采集、將數據傳輸給監測服務平臺及執行指令;監測服務平臺主要包含終端接入模塊、終端解析模塊、分析報警模塊、終端可視化模塊和反向控制模塊;監測終端和監測服務平臺通過4G網絡相連。系統架構如圖1所示。
2 相關技術模塊
2.1固定監測終端
固定監測終端包含傳感器、控制器、執行器和通信模塊,如圖2所示。傳感器負責采集數據,將數據傳輸給控制器,控制器利用通信模塊將數據傳輸給監測服務平臺。由于不同化工企業產生的氣體不盡相同,所以不同監測點的氣體傳感器的選擇也不同。控制器通過執行器完成指令動作。化工園區空氣質量固定監測終端的常用傳感器有PM2.5傳感器、Cl2傳感器、H2S傳感器、NH3傳感器、H2S傳感器及CO傳感器等,常用的執行器有揚聲器、LED燈及滅火器等。
固定監測終端的控制器選用TPYBoard V102開發板,該開發板的核心是STM32F405單片機,TPYBoard支持MicroPython編程。MicroPython是Python 3語言的精簡高效實現,擁有自己的解析器、編譯器、虛擬機和類庫等。化工園區內的固定監測終端通過LoRa網絡與網關通信,通信模塊選用E32-TTL-100,它是一款基于SEMTECH公司SX1278射頻芯片的無線串口模塊[2],采用LoRa擴頻技術,TTL電平輸出。固定監測終端安裝方便,無須布線,能夠在監測服務平臺上對監測點進行管理。
2.2 網關
網關負責LoRa局域網的組建和維護,局域網和外網的消息轉發,終端設備的管理等。網關的主控芯片選用樹莓派,它有一個完整的ARM處理器,軟件資源豐富,運行穩定。樹莓派沒有Flash芯片,數據存儲于TF卡中,默認操作系統是Raspbian。樹莓派上可以利用Python、C、C++、Java或匯編語言進行編程[3],安裝SQLite用于存儲數據。網關是固定監測終端與監測服務平臺之間信息轉換的通信樞紐,通過4G與監測服務平臺通信,通過LoRa與固定監測終端通信。LoRa通信模塊選用集成度更高、信道數更多的SX1301芯片[4],如果終端較少,也可以用SX1278芯片,樹莓派通過串口與之連接。
網關接收固定監測終端通過LoRa網絡發送來的JSON格式的數據,解析這些數據并根據解析結果采取相應的策略,如轉發給監測服務平臺。固定監測終端在安裝時采集經緯度及海拔信息,將固定監測終端的位置及狀態信息則保存在網關SQLite數據庫中。
2.3 移動監測終端
移動監測終端掛載于無人機下方,無人機通過無線圖像傳輸技術將攝像頭拍攝的畫面傳輸到無人機遙控器或飛行眼鏡上,移動監測終端將空氣質量、經緯度及海拔等數據傳輸到監測服務平臺。當地面上的固定監測終端監測到空氣質量異常時,其執行器立即發出警報聲,采取必要的應急措施,同時將數據傳輸到監測服務平臺,管理人員圍繞問題區域為無人機規劃路徑,無人機將按照規劃好的路徑飛行。移動監測終端包含傳感器、控制器、執行器、定位模塊及通信模塊。傳感器負責采集空氣質量數據,定位模塊負責采集經緯度及海拔數據,控制器利用通信模塊將數據傳輸給監測服務平臺。當空中某處空氣質量異常時,移動監測終端的執行器發出警報聲并采取必要的措施。根據存在問題區域的情況調整移動監測終端的氣體傳感器。移動監測終端的控制器選擇樹莓派,由于移動終端快速移動,數據量較大,選擇4G通信模塊。
2.4 通信協議
MQTT是基于TCP/IP協議構建的一種輕量靈活的通訊協議,在物聯網領域有著廣泛的應用。MQTT是采用Pub/Sub方式的協議,提供了三種等級的服務質量。MQTT支持異步通信,在時間和空間上將消息發送者與接收者分離,可在不可靠的網絡環境中擴展,適用于設備間消息通信或需要反向控制的場景。CoAP是運行在UDP協議之上的應用層通訊協議,傳輸的內容小巧精簡。CoAP對資源的要求更低,多用于數據上報的場景。對于MQTT協議來說, 相比CoAP它更加完善[5]。本文選擇MQTT作為網關及移動監測終端與監測服務平臺之間的通信協議,便于反向控制。
2.5 監測服務平臺
監測服務平臺是化工園區空氣質量監測系統的管理后臺,分為終端接入模塊、終端解析模塊、分析報警模塊、終端可視化模塊和反向控制模塊。MQTT Broker選用Mosquitto。Mosquitto是一款C語言編寫的輕量級的開源消息代理軟件,實現了MQTT協議 3.1和3.1.1。Mosquitto作為消息訂閱者與發布者的中介,支持可發布可訂閱的消息推送模式,接受來自客戶端的網絡連接、訂閱、發布信息等請求,轉發消息給符合條件的訂閱客戶端,客戶端可以將消息寫入數據庫,如圖4所示。
3 平臺實現
化工園區空氣質量監測系統的服務器選用騰訊云服務器,服務器配置為2核CPU、4G內存、50Mbps帶寬、100G硬盤,操作系統選用Windows 2008 R2 SP1 64位,Web發布器選用IIS7.5,數據庫選用SQL Server 2008 R2 64位,利用ASP.NET+AJAX技術構建監測服務平臺,調用騰訊云短信API,實現服務平臺短信發送功能。在Mosquitto官網下載安裝mosquitto 1.5.2,并在slproweb.com下載安裝Win64 OpenSSL v1.1.0 Light,構建MQTT broker。
在Eclipse paho C#版的基礎上,開發監測服務平臺的MQTT客戶端,完成消息訂閱、發布并將消息存入SQL Server數據庫的功能。
在Eclipse paho Python版的基礎上,開發網關及移動監測終端的MQTT客戶端,完成消息的訂閱、發布功能,完成網關的消息轉發及終端信息保存等功能,完成移動監測終端的數據采集、報警及執行指令等功能。利用MicroPython開發固定監測終端的程序,完成數據采集、報警及執行指令等功能。
固定監測終端通過LoRa與網關通信,網關通過4G將固定監測終端的數據轉發監測服務平臺。移動監測終端通過4G與監測服務平臺通信,服務平臺將控制指令發給移動監測終端或經網關發給固定監測終端。數據交換格式均為JSON。
根據化工園區內不同區域產生的不同氣體,為不同監測點選擇不同的傳感器,并設置不同的報警閾值。當固定監測終端探測到某種氣體濃度超出閾值時,其執行器立即發出警報聲,服務平臺獲取信息后發送短信給管理人員。管理人員根據問題區域的情況為移動監測終端選擇合適的傳感器,為無人機規劃飛行路徑,無人機搭載移動監測終端按照規劃的路徑飛行,管理人員可查看現場的圖像及移動監測終端的空氣質量、經緯度及海拔等數據,結合固定監測終端的數據為救援做決策,可以向固定及移動監測終端發送應急指令,采取措施以減小損失。在日常,無人機掛載移動監測終端在園區內飛行巡檢,與地面的固定監測終端形成立體的監測網,有利于提高監測的準確度。
4 結束語
本文將物聯網技術應用到化工園區空氣質量的監測中,設計并實現了監測系統,固定監測終端利用LoRa網絡構成了園區地面監測網,結合無人機掛載的移動監測終端,構成了一個立體的監測網絡,有助于提高園區空氣質量監測的準確度。目前移動監測終端的操控還需人工參與,將來可以利用AI技術,在出現異常時,移動監測終端自動選擇傳感器,無人機自動規劃巡航路徑并巡航,采集空氣質量情況,采取必要的應急措施。
參考文獻:
[1] 王曉玲,田洪川.國際通信運營商在產業互聯網領域加緊布局[J]. 世界電信,2015(5):14-18.
[2] 安翔. 物聯網Python開發實踐 [M].電子工業出版社,2018.
[3] 沃爾弗拉姆·多納特 [美],韓德強等譯. Python樹莓派編程 [M].機械工業出版社,2016.
[4] 江武志,許娜芬,鐘煒杰等. 基于物聯網LoRa智能水表的研究與設計[J]. 物聯網技術,2018,8:77-79.
[5] 王劍秋,趙一. 物聯網傳輸協議MQTT與CoAP比較與應用[J]. 計算機時代,2017,10:25-28+31.