覃琳
(廣西計(jì)算中心有限責(zé)任公司 科技發(fā)展部,廣西 南寧 530012)
山體滑坡是一種常見的自然災(zāi)害,尤其在我國(guó)南方山區(qū),山體滑坡給人民財(cái)產(chǎn)、生命健康安全帶來(lái)嚴(yán)重威脅。僅是近1個(gè)月以來(lái),全球便發(fā)生了多起山體滑坡事故:2020年12月30日,挪威首都奧斯陸東北部的阿斯克鎮(zhèn)發(fā)生大規(guī)模山體滑坡,已造成至少10人受傷、26人失蹤;2021年1月4日,挪威首都奧斯陸東北的一個(gè)村莊發(fā)生山體滑坡,遇難人數(shù)超過(guò)超過(guò)7人;1月5日,意大利北部阿爾卑斯山區(qū)的博爾扎諾自治省的一處山體發(fā)生滑坡,造成山下一座酒店部分建筑被毀,酒店內(nèi)7人受傷;1月9日,印度尼西亞西爪哇省雙木丹縣發(fā)生山體滑坡,遇難人數(shù)超過(guò)33人。我國(guó)山體面積占國(guó)土總面積的66.6%[1],因此滑坡災(zāi)害頻發(fā),據(jù)統(tǒng)計(jì),2018年、2019我國(guó)山體滑坡分別占地質(zhì)災(zāi)害總數(shù)的55.1%和68.27%[2],對(duì)廣大人民群眾的生命和財(cái)產(chǎn)安全造成了巨大威脅。山體滑坡監(jiān)測(cè)技術(shù)已經(jīng)相對(duì)比較成熟,但是大部分均需要人工定期去采集數(shù)據(jù),沒有實(shí)現(xiàn)真正的全自動(dòng)智能監(jiān)測(cè)。傳統(tǒng)的測(cè)量工具和儀器具有功耗高、易腐蝕、成本高[3-4]等缺點(diǎn),不適合大規(guī)模的布置使用。因此,研究一款實(shí)用性高、反應(yīng)速度快、穩(wěn)定性強(qiáng)的滑坡監(jiān)控系統(tǒng)具有很高的研究?jī)r(jià)值和研究意義[5]。
為了對(duì)重要邊坡進(jìn)行監(jiān)測(cè),本文設(shè)計(jì)一種基于無(wú)線傳感網(wǎng)絡(luò)的山體滑坡監(jiān)控系統(tǒng)。傳感器端發(fā)送報(bào)警信號(hào)到滑坡系統(tǒng)主控端,主控端顯示相應(yīng)的節(jié)點(diǎn)警報(bào)燈亮,并通過(guò)短信模塊將報(bào)警信息發(fā)送到用戶手機(jī)。整個(gè)系統(tǒng)設(shè)計(jì)簡(jiǎn)單,實(shí)現(xiàn)了低功耗監(jiān)測(cè)山體滑坡的功能,本系統(tǒng)的研究對(duì)于山體滑坡的監(jiān)測(cè)具有較大的應(yīng)用前景。
山體滑坡監(jiān)測(cè)系統(tǒng)的原理主要分三部分:監(jiān)測(cè)土壤水分變化及山體位移情況、對(duì)變化情況進(jìn)行分析及預(yù)警、發(fā)送監(jiān)測(cè)數(shù)據(jù)及預(yù)警信息。因此,系統(tǒng)需要由土壤水分監(jiān)測(cè)傳感器、傾角傳感器、振動(dòng)觸發(fā)模塊、加速度計(jì)、無(wú)線通信模塊、高精度定位模塊、供電模塊、主控模塊、存儲(chǔ)模塊、報(bào)警器、用戶端、服務(wù)端等部分組成[6]。水分監(jiān)測(cè)傳感器主要監(jiān)測(cè)山體土壤中水分的實(shí)時(shí)變化;傾角傳感器一般布設(shè)于山體的不同深度,用于監(jiān)測(cè)山體不同深度的侵蝕變化程度;加速度計(jì)用于采集瞬時(shí)地下振動(dòng)異常信號(hào);高精度定位模塊用于獲取監(jiān)測(cè)點(diǎn)的準(zhǔn)確位置及監(jiān)測(cè)點(diǎn)的位移變化;無(wú)線通信模塊用于發(fā)送監(jiān)測(cè)數(shù)據(jù)和預(yù)警信息;主控模塊用于收發(fā)數(shù)據(jù)及控制其他設(shè)備;存儲(chǔ)模塊用于存儲(chǔ)實(shí)時(shí)監(jiān)測(cè)數(shù)據(jù),便于災(zāi)后的數(shù)據(jù)分析;供電模塊為監(jiān)測(cè)傳感器提供電源;報(bào)警器用于發(fā)出聲光報(bào)警信息;用戶端用于實(shí)時(shí)接收監(jiān)測(cè)數(shù)據(jù)及報(bào)警信息;服務(wù)端用于存儲(chǔ)所有監(jiān)測(cè)點(diǎn)的歷史數(shù)據(jù)并提供統(tǒng)計(jì)分析功能。另外,本系統(tǒng)還可以接入雨量計(jì)、應(yīng)力計(jì)、等其他傳感器。本系統(tǒng)具有靈活適配、自動(dòng)化采集、實(shí)時(shí)分析、多級(jí)預(yù)警、圖形化展示等特點(diǎn),測(cè)量準(zhǔn)確、系統(tǒng)性能穩(wěn)定,能為各種滑坡類地質(zhì)災(zāi)害監(jiān)測(cè)提供技術(shù)服務(wù),應(yīng)用前景廣泛。
傳感器端的主要功能是在滑坡發(fā)生前將信號(hào)發(fā)送給主控端,主控端是放在用戶家里,距離災(zāi)害點(diǎn)一般在300米左右,當(dāng)接收到發(fā)送端的信號(hào)時(shí),主控端控制報(bào)警器立即開始報(bào)警,標(biāo)明是哪一個(gè)災(zāi)害點(diǎn)的LED燈也被點(diǎn)亮,同時(shí)也給用戶手機(jī)發(fā)送短信報(bào)警,可以實(shí)現(xiàn)多點(diǎn)同時(shí)監(jiān)控,只要報(bào)警器開始報(bào)警就不會(huì)停止除非人為關(guān)閉電源。系統(tǒng)整體設(shè)計(jì)圖如圖1所示。
圖1 系統(tǒng)整體設(shè)計(jì)圖
2.1.1 主控模塊
主控模塊的主要作用是接收傳感器模塊的數(shù)據(jù),并控制通信模塊、報(bào)警模塊等?;卤O(jiān)測(cè)系統(tǒng)主控端主要包括無(wú)線收發(fā)模塊、AT24C128存儲(chǔ)模塊、SIM900短信模塊、聲音報(bào)警模塊。主控端結(jié)構(gòu)框圖如圖2所示。
圖2 主控端結(jié)構(gòu)框圖
主控模塊選用STM32F103C8T6芯片,核心模塊周圍電路的設(shè)計(jì)以方便PCB布線及引腳復(fù)用不沖突為原則,由于STM32F103C8T6核心模塊自帶晶振及最小系統(tǒng)電路所以不需要額外增加相似電路即可直接使用[7],為保護(hù)LED燈所以給LED燈串聯(lián)一個(gè)1K的限流電阻進(jìn)行保護(hù)。為保護(hù)核心模塊在調(diào)試時(shí)由于正負(fù)反接燒壞,所以調(diào)試板設(shè)計(jì)的電源輸入電路的增加一個(gè)二極管進(jìn)行保護(hù)。STM32F103C8T6核心模塊引腳使用如圖3所示。
圖3 STM32F103C8T6引腳使用圖
2.1.2 短信模塊
本文采用SIM900作為短信通信模塊,以實(shí)現(xiàn)給用戶發(fā)送短信的報(bào)警功能,同時(shí)兼具用戶號(hào)碼的添加與去除、報(bào)警短信的設(shè)置、查詢已添加的用戶信息等功能。SIM900模塊是一個(gè)應(yīng)用廣泛的通信模塊,模塊封裝小巧易于集成[8],且支持5V與3.3V電壓供電,它通過(guò)串口與微控制器連接,有900MHz和1800MHz兩種工作頻段,并且內(nèi)嵌有TCP/IP協(xié)議,支持多種短信模式,能夠?qū)崿F(xiàn)GPRS實(shí)時(shí)數(shù)據(jù)傳輸、短信的接受與發(fā)送、語(yǔ)音通話等功能,本次設(shè)計(jì)選擇使用SIM900模塊作為通信模塊,可以通過(guò)使用AT命令實(shí)現(xiàn)對(duì)設(shè)計(jì)參數(shù)、短信信息的配置,使用起來(lái)比較簡(jiǎn)單,而且也易于購(gòu)買。
SIM900通信模塊支持5V和3.3V電壓供電,所以VCC引腳可以直接與核心模塊STM32的5V引腳相連,并且該模塊的的RXD與TXD引腳支持與STM32之間進(jìn)行串口通信,本次選擇使用USART1,所以SIM900模塊的RXD與TXD引腳分別與STM32的A9與A10引腳相連實(shí)現(xiàn)數(shù)據(jù)通信,連線原理圖如圖4所示。
圖4 SIM900與STM32接線圖
2.1.3 無(wú)線通信模塊
E30-TTL-100收發(fā)模塊是一款基于SI4463的100mW的無(wú)線傳輸模塊,工作在 425-450.5MHz 頻段,使用串口進(jìn)行數(shù)據(jù)收發(fā)[9]。它具有功率密度集中,傳輸距離遠(yuǎn),抗干擾能力強(qiáng)的優(yōu)勢(shì)。該模塊工作電壓范圍寬(2.1-5.5V),用市售干電池即可滿足需求。模塊設(shè)置4種工作模式,通過(guò)M0和M1引腳切換不同模式。系統(tǒng)工作在省電工作模式(超低功耗狀態(tài))時(shí),工作電流僅為幾十微安。E30-TTL-10接收模塊引腳控制如表1。
表1 E30-TTL-100接收模塊引腳功能表
E30-TTL-100接收模塊具有模式0(普通模式)、模式1(喚醒模式)、模式2(省電模式)、模式3(休眠模式)四種工作模式。由于設(shè)計(jì)的系統(tǒng)主控端由220V交流電外部供電可以忽略考慮這四種工作模式下的功耗問(wèn)題,并且系統(tǒng)主控端的無(wú)線接收模塊需要一直處于可以接收狀態(tài),所以使用普通模式(即模式0)進(jìn)行工作。
在M1 = 0,M0 = 0設(shè)定完成時(shí),無(wú)線模塊工作在普通模式(即模式0)狀態(tài)下。在該狀態(tài)下,模塊始終處于接收狀態(tài),等待其他模塊的模式1數(shù)據(jù)。 E30-TTL-100接收模塊工作模式設(shè)定如表2。
總體而言,目前有關(guān)健康旅游的研究只是比較零散地描述了健康旅游的基本特征,即游客通過(guò)跨越大的空間尺度到非慣常環(huán)境中追求健康的行為。這反映了健康旅游的本質(zhì)是人地問(wèn)題,地方、旅游流動(dòng)以及游客主觀的健康體驗(yàn)是了解健康旅游的關(guān)鍵。然而,目前對(duì)于健康旅游的研究仍然缺乏一個(gè)將地方、旅游流動(dòng)性和健康效應(yīng)聯(lián)系起來(lái)的理論視角,因此,健康旅游的研究需要從其他相關(guān)學(xué)科借鑒一些分析思路。
2.2.1 系統(tǒng)主模塊程序設(shè)計(jì)
STM32上電后先把LED接口初始化、延遲函數(shù)初始化、串口初始化為9600、解碼芯片初始化、IIC接口初始化等一系列初始化設(shè)定,然后設(shè)置NVIC中斷分組優(yōu)先級(jí),最后對(duì)短信模塊和無(wú)線模塊進(jìn)行配置。之后檢查AT24C128儲(chǔ)存芯片是否正常工作,如果正常工作,則進(jìn)入超級(jí)循環(huán),進(jìn)入超級(jí)循環(huán)后首先檢查是否有短信操作,如果有短信操作則執(zhí)行短信子程序,若無(wú)短信操作則進(jìn)行無(wú)線接收模塊串口數(shù)字檢測(cè),若接收到傳感器子端發(fā)送的報(bào)警信號(hào),則判斷具體哪一傳感器子端信號(hào),然后執(zhí)行報(bào)警處理。STM32F103C8T6核心芯片會(huì)對(duì)繼電器產(chǎn)生一個(gè)高電平信號(hào)控制聲音報(bào)警器發(fā)出報(bào)警,并對(duì)儲(chǔ)存的號(hào)碼發(fā)出報(bào)警短信然。其中聲音報(bào)警會(huì)一直持續(xù)到人為關(guān)閉,而系統(tǒng)在發(fā)出一個(gè)報(bào)警完成后會(huì)再次進(jìn)入檢測(cè)準(zhǔn)備狀態(tài)檢測(cè)下一個(gè)串口是否接收到子端傳來(lái)的報(bào)警信號(hào)。主程序流程圖如圖5所示。
2.2.2 無(wú)線模塊程序設(shè)計(jì)
E30-TTL-100無(wú)線收發(fā)模塊使用STM32F103C8T6的P5、P6引腳對(duì)M1、M0進(jìn)行控制,P10、P11串口對(duì)RXD、TXD進(jìn)行控制,P4對(duì)AUX進(jìn)行控制。首先對(duì)USTA3串口進(jìn)行使能,然后進(jìn)行串口參數(shù)的配置,然后配置中斷,設(shè)置搶斷優(yōu)先級(jí)為3,子優(yōu)先級(jí)為3,設(shè)定波特率為115200B/s,數(shù)據(jù)位為8位,停止位為1位。由于選用普通模式(模式0)作為系統(tǒng)無(wú)線收發(fā)模塊E30-TTL-100的工作模式,所以配置好USART1的NVIC、及USART初始化之后,P5、P6的端口保持為低電平。在M1 = 0,M0 = 0設(shè)定完成時(shí),無(wú)線模塊工作在普通模式狀態(tài)下。一直等待接收外部無(wú)線信號(hào)輸入,如果收到外部信息,模塊的AUX引腳維持5ms低電平狀態(tài),隨后向外部發(fā)射信號(hào),AUX處于高電平狀態(tài)。等待下一次信號(hào)的輸入。TXD引腳通過(guò)P11腳寫入的數(shù)據(jù)與STM32F103C8T6設(shè)定地址的數(shù)據(jù)對(duì)比判斷,最后確定是哪一傳感器子端發(fā)出的信號(hào),從而讓STM32F103C8T6進(jìn)行報(bào)警處理。
2.2.3 短信通信模塊程序設(shè)計(jì)
采用SIM900通信模塊給用戶發(fā)送短信,通過(guò)RXD、TXD串口與STM32F103C8T6控制模塊的A10/RX、A9/TX兩引腳連接實(shí)現(xiàn)數(shù)據(jù)傳輸,并且SIM900通信模塊的VCC支持直流5V電壓供電,可以直接與STM32模塊的VCC相連,另外要使SIM900通信模塊與STM32F103C8T6控制模塊建立數(shù)據(jù)的傳輸、給用戶發(fā)送短信報(bào)警,所以在編寫程序的時(shí)對(duì)短信模塊進(jìn)行配置,首先是清空RX的FIFO區(qū),寫指針歸零,在延時(shí)后配置USART口的波特率為9600b/秒,然后就是發(fā)送短信、讀取短信、查詢信息、添加信息、刪除信息的配置,可以讀取、發(fā)送中文、英文短信,在SIM900通信模塊初始化后,包括輸入與輸出口、系統(tǒng)時(shí)鐘、中斷的配置完成后,使用AT指令設(shè)置函數(shù)參數(shù)都設(shè)置,通過(guò)STM32F103C8T6模塊對(duì)通信模塊進(jìn)行控制,完成添加信息、查詢信息、修改信息、刪除信息的操作。
在對(duì)短信模塊進(jìn)行短信控制操作前需要對(duì)短信模塊發(fā)送#TJHM+11位手機(jī)號(hào)碼#進(jìn)行號(hào)碼添加,之后才能夠接收系統(tǒng)主控端發(fā)來(lái)的報(bào)警短信,并對(duì)系統(tǒng)進(jìn)行查詢、設(shè)定等其它操作。
裝置的短信控制命令如下:
添加號(hào)碼:例#TJHM156xxxxxxxx#號(hào)碼須為移動(dòng)電信或聯(lián)通的11位電話號(hào)碼,英文字母與號(hào)碼之間沒有空格,前后以“#”號(hào)結(jié)尾。
刪除號(hào)碼:例#SCHM#刪除號(hào)碼會(huì)刪除掉芯片中存儲(chǔ)的所有號(hào)碼,請(qǐng)慎重使用。
修改信息:例#XGXX山體滑坡:#修改的內(nèi)容與字母之間不需要空格,如果實(shí)際中需要,可以添加。修改的信息不區(qū)分中英文或者數(shù)字符號(hào)等,規(guī)定修改的信息中有任意中文,則存儲(chǔ)量按中文計(jì)算,若只有數(shù)字字母等,則存儲(chǔ)量按英文計(jì)算。
查詢存儲(chǔ)信息:例#CXXX#向裝置發(fā)送查詢信息,則裝置會(huì)按兩條返回存儲(chǔ)的內(nèi)容,首先返回的是存儲(chǔ)的電話號(hào)碼個(gè)數(shù)和具體號(hào)碼,然后發(fā)送存儲(chǔ)的報(bào)警信息內(nèi)容。
以上所有的設(shè)置,在設(shè)置完成后,裝置都回向設(shè)置者發(fā)送修改成功信息。
2.2.4 AT24C128芯片軟件設(shè)計(jì)
監(jiān)測(cè)系統(tǒng)需要存儲(chǔ)報(bào)警短信接收人電話號(hào)碼和報(bào)警信息,所以采用EEPROM存儲(chǔ)器進(jìn)行存儲(chǔ),系統(tǒng)選用AT24C128作為系統(tǒng)數(shù)據(jù)存儲(chǔ)介質(zhì),AT24C128工作電壓范圍1.8V到5.5V,兼容5V的I/O管腳。該芯片有8個(gè)引腳,其中A0,A1是地址選擇引腳,本系統(tǒng)中接地;VCC和GND分別接電源正負(fù)極;WP為寫保護(hù)引腳;SDA為串行雙向數(shù)據(jù)傳輸腳,SCL為 串行時(shí)鐘信號(hào)引腳。
利用STM32F103C8T6核心模塊的IIC接口對(duì)AT24C128芯片的存儲(chǔ)內(nèi)容進(jìn)行讀/寫操作。系統(tǒng)讀寫過(guò)程如下:STM32通過(guò)在SCL為高電平時(shí),SDA發(fā)送由高到低啟動(dòng)信號(hào),隨后發(fā)送7位AT24C128器件地址和一位讀寫方向位(即8位的器件地址)。AT24C128接收到STM32主控器發(fā)送的器件尋址信號(hào)后,將在SDA總線上返回一個(gè)確認(rèn)信號(hào)ACK(低電平有效),表示做好讀寫準(zhǔn)備。STM32控制器在接收到AT24C128的確認(rèn)信號(hào)后,向AT24C128發(fā)送要訪問(wèn)的數(shù)據(jù)地址(即片內(nèi)地址),AT24C128收到后又向STM32返回一個(gè)確認(rèn)信號(hào)ACK,至此AT24C128 EEPROM的讀寫準(zhǔn)備工作完成。若為寫AT24C128 EEPROM,則由STM32向AT24C128發(fā)送所寫數(shù)據(jù):若是讀AT24C128 EEPROM,則由STM32接收AT24C128發(fā)送的指定單元的8位數(shù)據(jù)。數(shù)據(jù)讀寫操作結(jié)束,STM32將在SCL為高電平時(shí),在SDA上發(fā)送由低到高的停止信號(hào)。
系統(tǒng)測(cè)試包括無(wú)障礙最大距離測(cè)試和有障礙距離實(shí)測(cè)兩部分。本設(shè)計(jì)通過(guò)南洲大橋到虞山橋的直線通信距離模擬山體滑坡的無(wú)障礙最大接收距離,將傳感器端放在南洲大橋,主控端放置在虞山橋,改變傳感器端傾斜角度,測(cè)試主控端是否正常報(bào)警,經(jīng)過(guò)實(shí)測(cè)可以正常報(bào)警并發(fā)送短信至手機(jī),有效最遠(yuǎn)點(diǎn)間距離約為2.7公里,無(wú)障礙最大接收距離測(cè)試如圖6所示。
本設(shè)計(jì)通過(guò)屏風(fēng)山山頂?shù)浇叹艠堑耐ㄐ啪嚯x模擬山體滑坡的有障礙接收距離,將傳感器端放在教九樓一樓,主控端放置在屏風(fēng)山山頂,改變傳感器端傾斜角度,測(cè)試主控端是否正常報(bào)警,經(jīng)過(guò)實(shí)測(cè)可以正常報(bào)警并發(fā)送短信至手機(jī),有障礙測(cè)試距離192m,有障礙接收距離測(cè)試如圖7所示。
圖7 有障礙接收距離測(cè)試
本文基于無(wú)線傳感網(wǎng)絡(luò)技術(shù)設(shè)計(jì)了一種普適性強(qiáng)的山體滑坡監(jiān)測(cè)系統(tǒng)。系統(tǒng)主要分為主控端和無(wú)線傳感網(wǎng)絡(luò)監(jiān)測(cè)端兩部分子系統(tǒng)組成,監(jiān)測(cè)端由各種傳感器負(fù)責(zé)監(jiān)測(cè)數(shù)據(jù)的自動(dòng)采集、傳輸,主控端負(fù)責(zé)數(shù)據(jù)的接收、存儲(chǔ)與分析。當(dāng)滑坡山體傾斜角過(guò)大,無(wú)報(bào)警或報(bào)警不及時(shí)問(wèn)題,本系統(tǒng)采用主控端報(bào)警和短信通知的方式進(jìn)行解決。本系統(tǒng)結(jié)構(gòu)簡(jiǎn)單,不易損壞,對(duì)于山體滑坡的監(jiān)測(cè)具有較大的應(yīng)用前景。