覃琳
(廣西計算中心有限責任公司 科技發展部,廣西 南寧 530012)
山體滑坡是一種常見的自然災害,尤其在我國南方山區,山體滑坡給人民財產、生命健康安全帶來嚴重威脅。僅是近1個月以來,全球便發生了多起山體滑坡事故:2020年12月30日,挪威首都奧斯陸東北部的阿斯克鎮發生大規模山體滑坡,已造成至少10人受傷、26人失蹤;2021年1月4日,挪威首都奧斯陸東北的一個村莊發生山體滑坡,遇難人數超過超過7人;1月5日,意大利北部阿爾卑斯山區的博爾扎諾自治省的一處山體發生滑坡,造成山下一座酒店部分建筑被毀,酒店內7人受傷;1月9日,印度尼西亞西爪哇省雙木丹縣發生山體滑坡,遇難人數超過33人。我國山體面積占國土總面積的66.6%[1],因此滑坡災害頻發,據統計,2018年、2019我國山體滑坡分別占地質災害總數的55.1%和68.27%[2],對廣大人民群眾的生命和財產安全造成了巨大威脅。山體滑坡監測技術已經相對比較成熟,但是大部分均需要人工定期去采集數據,沒有實現真正的全自動智能監測。傳統的測量工具和儀器具有功耗高、易腐蝕、成本高[3-4]等缺點,不適合大規模的布置使用。因此,研究一款實用性高、反應速度快、穩定性強的滑坡監控系統具有很高的研究價值和研究意義[5]。
為了對重要邊坡進行監測,本文設計一種基于無線傳感網絡的山體滑坡監控系統。傳感器端發送報警信號到滑坡系統主控端,主控端顯示相應的節點警報燈亮,并通過短信模塊將報警信息發送到用戶手機。整個系統設計簡單,實現了低功耗監測山體滑坡的功能,本系統的研究對于山體滑坡的監測具有較大的應用前景。
山體滑坡監測系統的原理主要分三部分:監測土壤水分變化及山體位移情況、對變化情況進行分析及預警、發送監測數據及預警信息。因此,系統需要由土壤水分監測傳感器、傾角傳感器、振動觸發模塊、加速度計、無線通信模塊、高精度定位模塊、供電模塊、主控模塊、存儲模塊、報警器、用戶端、服務端等部分組成[6]。水分監測傳感器主要監測山體土壤中水分的實時變化;傾角傳感器一般布設于山體的不同深度,用于監測山體不同深度的侵蝕變化程度;加速度計用于采集瞬時地下振動異常信號;高精度定位模塊用于獲取監測點的準確位置及監測點的位移變化;無線通信模塊用于發送監測數據和預警信息;主控模塊用于收發數據及控制其他設備;存儲模塊用于存儲實時監測數據,便于災后的數據分析;供電模塊為監測傳感器提供電源;報警器用于發出聲光報警信息;用戶端用于實時接收監測數據及報警信息;服務端用于存儲所有監測點的歷史數據并提供統計分析功能。另外,本系統還可以接入雨量計、應力計、等其他傳感器。本系統具有靈活適配、自動化采集、實時分析、多級預警、圖形化展示等特點,測量準確、系統性能穩定,能為各種滑坡類地質災害監測提供技術服務,應用前景廣泛。
傳感器端的主要功能是在滑坡發生前將信號發送給主控端,主控端是放在用戶家里,距離災害點一般在300米左右,當接收到發送端的信號時,主控端控制報警器立即開始報警,標明是哪一個災害點的LED燈也被點亮,同時也給用戶手機發送短信報警,可以實現多點同時監控,只要報警器開始報警就不會停止除非人為關閉電源。系統整體設計圖如圖1所示。

圖1 系統整體設計圖
2.1.1 主控模塊
主控模塊的主要作用是接收傳感器模塊的數據,并控制通信模塊、報警模塊等。滑坡監測系統主控端主要包括無線收發模塊、AT24C128存儲模塊、SIM900短信模塊、聲音報警模塊。主控端結構框圖如圖2所示。

圖2 主控端結構框圖
主控模塊選用STM32F103C8T6芯片,核心模塊周圍電路的設計以方便PCB布線及引腳復用不沖突為原則,由于STM32F103C8T6核心模塊自帶晶振及最小系統電路所以不需要額外增加相似電路即可直接使用[7],為保護LED燈所以給LED燈串聯一個1K的限流電阻進行保護。為保護核心模塊在調試時由于正負反接燒壞,所以調試板設計的電源輸入電路的增加一個二極管進行保護。STM32F103C8T6核心模塊引腳使用如圖3所示。

圖3 STM32F103C8T6引腳使用圖
2.1.2 短信模塊
本文采用SIM900作為短信通信模塊,以實現給用戶發送短信的報警功能,同時兼具用戶號碼的添加與去除、報警短信的設置、查詢已添加的用戶信息等功能。SIM900模塊是一個應用廣泛的通信模塊,模塊封裝小巧易于集成[8],且支持5V與3.3V電壓供電,它通過串口與微控制器連接,有900MHz和1800MHz兩種工作頻段,并且內嵌有TCP/IP協議,支持多種短信模式,能夠實現GPRS實時數據傳輸、短信的接受與發送、語音通話等功能,本次設計選擇使用SIM900模塊作為通信模塊,可以通過使用AT命令實現對設計參數、短信信息的配置,使用起來比較簡單,而且也易于購買。
SIM900通信模塊支持5V和3.3V電壓供電,所以VCC引腳可以直接與核心模塊STM32的5V引腳相連,并且該模塊的的RXD與TXD引腳支持與STM32之間進行串口通信,本次選擇使用USART1,所以SIM900模塊的RXD與TXD引腳分別與STM32的A9與A10引腳相連實現數據通信,連線原理圖如圖4所示。

圖4 SIM900與STM32接線圖
2.1.3 無線通信模塊
E30-TTL-100收發模塊是一款基于SI4463的100mW的無線傳輸模塊,工作在 425-450.5MHz 頻段,使用串口進行數據收發[9]。它具有功率密度集中,傳輸距離遠,抗干擾能力強的優勢。該模塊工作電壓范圍寬(2.1-5.5V),用市售干電池即可滿足需求。模塊設置4種工作模式,通過M0和M1引腳切換不同模式。系統工作在省電工作模式(超低功耗狀態)時,工作電流僅為幾十微安。E30-TTL-10接收模塊引腳控制如表1。

表1 E30-TTL-100接收模塊引腳功能表
E30-TTL-100接收模塊具有模式0(普通模式)、模式1(喚醒模式)、模式2(省電模式)、模式3(休眠模式)四種工作模式。由于設計的系統主控端由220V交流電外部供電可以忽略考慮這四種工作模式下的功耗問題,并且系統主控端的無線接收模塊需要一直處于可以接收狀態,所以使用普通模式(即模式0)進行工作。
在M1 = 0,M0 = 0設定完成時,無線模塊工作在普通模式(即模式0)狀態下。在該狀態下,模塊始終處于接收狀態,等待其他模塊的模式1數據。 E30-TTL-100接收模塊工作模式設定如表2。
總體而言,目前有關健康旅游的研究只是比較零散地描述了健康旅游的基本特征,即游客通過跨越大的空間尺度到非慣常環境中追求健康的行為。這反映了健康旅游的本質是人地問題,地方、旅游流動以及游客主觀的健康體驗是了解健康旅游的關鍵。然而,目前對于健康旅游的研究仍然缺乏一個將地方、旅游流動性和健康效應聯系起來的理論視角,因此,健康旅游的研究需要從其他相關學科借鑒一些分析思路。
2.2.1 系統主模塊程序設計
STM32上電后先把LED接口初始化、延遲函數初始化、串口初始化為9600、解碼芯片初始化、IIC接口初始化等一系列初始化設定,然后設置NVIC中斷分組優先級,最后對短信模塊和無線模塊進行配置。之后檢查AT24C128儲存芯片是否正常工作,如果正常工作,則進入超級循環,進入超級循環后首先檢查是否有短信操作,如果有短信操作則執行短信子程序,若無短信操作則進行無線接收模塊串口數字檢測,若接收到傳感器子端發送的報警信號,則判斷具體哪一傳感器子端信號,然后執行報警處理。STM32F103C8T6核心芯片會對繼電器產生一個高電平信號控制聲音報警器發出報警,并對儲存的號碼發出報警短信然。其中聲音報警會一直持續到人為關閉,而系統在發出一個報警完成后會再次進入檢測準備狀態檢測下一個串口是否接收到子端傳來的報警信號。主程序流程圖如圖5所示。
2.2.2 無線模塊程序設計
E30-TTL-100無線收發模塊使用STM32F103C8T6的P5、P6引腳對M1、M0進行控制,P10、P11串口對RXD、TXD進行控制,P4對AUX進行控制。首先對USTA3串口進行使能,然后進行串口參數的配置,然后配置中斷,設置搶斷優先級為3,子優先級為3,設定波特率為115200B/s,數據位為8位,停止位為1位。由于選用普通模式(模式0)作為系統無線收發模塊E30-TTL-100的工作模式,所以配置好USART1的NVIC、及USART初始化之后,P5、P6的端口保持為低電平。在M1 = 0,M0 = 0設定完成時,無線模塊工作在普通模式狀態下。一直等待接收外部無線信號輸入,如果收到外部信息,模塊的AUX引腳維持5ms低電平狀態,隨后向外部發射信號,AUX處于高電平狀態。等待下一次信號的輸入。TXD引腳通過P11腳寫入的數據與STM32F103C8T6設定地址的數據對比判斷,最后確定是哪一傳感器子端發出的信號,從而讓STM32F103C8T6進行報警處理。
2.2.3 短信通信模塊程序設計
采用SIM900通信模塊給用戶發送短信,通過RXD、TXD串口與STM32F103C8T6控制模塊的A10/RX、A9/TX兩引腳連接實現數據傳輸,并且SIM900通信模塊的VCC支持直流5V電壓供電,可以直接與STM32模塊的VCC相連,另外要使SIM900通信模塊與STM32F103C8T6控制模塊建立數據的傳輸、給用戶發送短信報警,所以在編寫程序的時對短信模塊進行配置,首先是清空RX的FIFO區,寫指針歸零,在延時后配置USART口的波特率為9600b/秒,然后就是發送短信、讀取短信、查詢信息、添加信息、刪除信息的配置,可以讀取、發送中文、英文短信,在SIM900通信模塊初始化后,包括輸入與輸出口、系統時鐘、中斷的配置完成后,使用AT指令設置函數參數都設置,通過STM32F103C8T6模塊對通信模塊進行控制,完成添加信息、查詢信息、修改信息、刪除信息的操作。
在對短信模塊進行短信控制操作前需要對短信模塊發送#TJHM+11位手機號碼#進行號碼添加,之后才能夠接收系統主控端發來的報警短信,并對系統進行查詢、設定等其它操作。
裝置的短信控制命令如下:
添加號碼:例#TJHM156xxxxxxxx#號碼須為移動電信或聯通的11位電話號碼,英文字母與號碼之間沒有空格,前后以“#”號結尾。
刪除號碼:例#SCHM#刪除號碼會刪除掉芯片中存儲的所有號碼,請慎重使用。
修改信息:例#XGXX山體滑坡:#修改的內容與字母之間不需要空格,如果實際中需要,可以添加。修改的信息不區分中英文或者數字符號等,規定修改的信息中有任意中文,則存儲量按中文計算,若只有數字字母等,則存儲量按英文計算。
查詢存儲信息:例#CXXX#向裝置發送查詢信息,則裝置會按兩條返回存儲的內容,首先返回的是存儲的電話號碼個數和具體號碼,然后發送存儲的報警信息內容。
以上所有的設置,在設置完成后,裝置都回向設置者發送修改成功信息。
2.2.4 AT24C128芯片軟件設計
監測系統需要存儲報警短信接收人電話號碼和報警信息,所以采用EEPROM存儲器進行存儲,系統選用AT24C128作為系統數據存儲介質,AT24C128工作電壓范圍1.8V到5.5V,兼容5V的I/O管腳。該芯片有8個引腳,其中A0,A1是地址選擇引腳,本系統中接地;VCC和GND分別接電源正負極;WP為寫保護引腳;SDA為串行雙向數據傳輸腳,SCL為 串行時鐘信號引腳。
利用STM32F103C8T6核心模塊的IIC接口對AT24C128芯片的存儲內容進行讀/寫操作。系統讀寫過程如下:STM32通過在SCL為高電平時,SDA發送由高到低啟動信號,隨后發送7位AT24C128器件地址和一位讀寫方向位(即8位的器件地址)。AT24C128接收到STM32主控器發送的器件尋址信號后,將在SDA總線上返回一個確認信號ACK(低電平有效),表示做好讀寫準備。STM32控制器在接收到AT24C128的確認信號后,向AT24C128發送要訪問的數據地址(即片內地址),AT24C128收到后又向STM32返回一個確認信號ACK,至此AT24C128 EEPROM的讀寫準備工作完成。若為寫AT24C128 EEPROM,則由STM32向AT24C128發送所寫數據:若是讀AT24C128 EEPROM,則由STM32接收AT24C128發送的指定單元的8位數據。數據讀寫操作結束,STM32將在SCL為高電平時,在SDA上發送由低到高的停止信號。
系統測試包括無障礙最大距離測試和有障礙距離實測兩部分。本設計通過南洲大橋到虞山橋的直線通信距離模擬山體滑坡的無障礙最大接收距離,將傳感器端放在南洲大橋,主控端放置在虞山橋,改變傳感器端傾斜角度,測試主控端是否正常報警,經過實測可以正常報警并發送短信至手機,有效最遠點間距離約為2.7公里,無障礙最大接收距離測試如圖6所示。
本設計通過屏風山山頂到教九樓的通信距離模擬山體滑坡的有障礙接收距離,將傳感器端放在教九樓一樓,主控端放置在屏風山山頂,改變傳感器端傾斜角度,測試主控端是否正常報警,經過實測可以正常報警并發送短信至手機,有障礙測試距離192m,有障礙接收距離測試如圖7所示。

圖7 有障礙接收距離測試
本文基于無線傳感網絡技術設計了一種普適性強的山體滑坡監測系統。系統主要分為主控端和無線傳感網絡監測端兩部分子系統組成,監測端由各種傳感器負責監測數據的自動采集、傳輸,主控端負責數據的接收、存儲與分析。當滑坡山體傾斜角過大,無報警或報警不及時問題,本系統采用主控端報警和短信通知的方式進行解決。本系統結構簡單,不易損壞,對于山體滑坡的監測具有較大的應用前景。