覃琳
(广西计算中心有限责任公司 科技发展部,广西 南宁 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 有障碍接收距离测试
本文基于无线传感网络技术设计了一种普适性强的山体滑坡监测系统。系统主要分为主控端和无线传感网络监测端两部分子系统组成,监测端由各种传感器负责监测数据的自动采集、传输,主控端负责数据的接收、存储与分析。当滑坡山体倾斜角过大,无报警或报警不及时问题,本系统采用主控端报警和短信通知的方式进行解决。本系统结构简单,不易损坏,对于山体滑坡的监测具有较大的应用前景。