[GD32E231 作品提交]基于2G GPRS+短信报警功能的山洪预警广播系统监测终端设计
[复制链接]
本帖最后由 lhc960818 于 2019-6-21 17:23 编辑
由于近些年的过度砍伐,在降雨集中的时期,在一些中高山地区容易形成山洪泥石流,山洪冲毁房屋、田地、道路和桥梁,对人民的生命和财产带来了极大的威胁和损害。山洪灾害预警系统由监测、预警和响应三部分组成,山洪灾害预警系统在县级山洪灾害防治非工程中起到了举足轻重的作用。山洪灾害监测系统包括集信息采集、传输和分析,同时与预警发布、响应体系共同作用,因此我们需要根据灾情的程度及灾害爆发的不同范围,选取合适的预警方式,让警情信息能够及时准确的传达,从而制定合适的战略、精准的调度以及抢险救灾,这样灾害易发区可根据山洪灾害防御预案做出响应的措施,尽最大可能降低人民财产损失,最大程度的减少人员伤亡,促进和谐社会的建设。山洪灾害预警系统由山洪灾害防御预警系统和山洪灾害群测群防预警系统两部分构成。山洪灾害防治信息汇集及预警平台作为山洪灾害防御预警系统的数据处理与服务的核心,包括信息查询子系统、数据库子系统、信息汇集子系统和计算机网络子系统,山洪灾害防治信息汇集及预警平台设立在县级以上防汛指挥部门中,山洪灾害频发的地区更应设立此系统,通过实时监测及时制作、发布山洪灾害预报警报。但由于系统建设项目繁多、投入时间间隔久、应用数量多且应用范围广,再加上基层人员运维力量薄弱,导致各县区使用的无线山洪预警广播系统性能参差不齐,型号无法统一。为实现无线山洪预警广播系统设备的自动化管理,了解设备的运行状态和使用情况,拟研发一套面向市、县防办的无线预警广播系统智能监测平台。本次设计的是一个仅针对山洪预警广播系统的一个监测终端,预警机的报警方式有很多,包括声音、灯光、短信、数据等方式,所以本次设计主要通过监测预警机发出的声音信号转化为电信号进行分析处理。本次设计以STM32系列单片机为核心,通过声波传感器监测是否有声音发出以及声音发出时间的长短,然后通过GSM短信模块以短信的形式告知相应人员,同时将预警机设备的在线状态、是否存在警情、报告人的手机号码以及短信内容显示在LCD显示屏上,从而实现了一个简单的对山洪预警广播报警系统的监测.
1、流程图如下
2、功能介绍
下面对各模块进行功能介绍:
2.1时钟电路
GD32E231本身自带时钟倍频器,因此在外围电路上增加了一个8MHz的无源晶振,无源晶振确保单片机的基础时序没有问题,同时增加两个22PF的电容保证频率更加稳定
2.2电源电路
使用的是USB供电,通过一个电压基准芯片将5V供电转化为3.3V供电
2.3LCD TFT显示模块
模块上的MISO对应单片机的GPIOC8,其功能是发送数据,主收从发;LED对应单片机的GPIOB15,其功能是背光显示;SCK对应单片机的GPIOC6,其功能是发送时钟信号;MOSI对应单片机的GPIOC7,其功能是发送数据,主发从收;DC/RS对应单片机的GPIOB14,其功能是发送数据,一些命令及选择;RESET对应单片机的GPIOB13,其功能是模块的复位;CS对应单片机的GPIOB12,其功能是选通
2.4短信模块
选用的是SIM800C为核心,通过AT指令进行通讯
3.作品照片
/**
* @brief : 主程序
* @param :
* @returns:
* @details:
*/
int main(void)
{
uint8_t RunTickFlag = 0, i = 0;
InitSystem(); /*系统初始化*/
while(1)
{
RunTickFlag = GetRunTickFlag();
if(RunTickFlag & RUN_TICK_0P1S_MASK)
{
RunTickFlag &= ~RUN_TICK_0P1S_MASK;
MSG_GSMATHandler();
}
MSG_GSMRxHandler();
MSG_DebugRxHandler();
}
}
/**
* @brief :
* @param : None
* @returns: None
* @details:
*/
void QUEUE_INIT(uint8_t index)
{
QUEUE[index].head = 0;
QUEUE[index].tail = 0;
memset(QUEUE[index].dat, 0, sizeof(QUEUE[index].dat));
}
/**
* @brief :
* @param : None
* @returns: None
* @details:
*/
uint8_t QUEUE_EMPTY(uint8_t index)
{
if(QUEUE[index].head == QUEUE[index].tail) return 1;
else return 0;
}
/**
* @brief :
* @param : None
* @returns: None
* @details:
*/
uint8_t QUEUE_READ(uint8_t index)
{
uint8_t dat = QUEUE[index].dat[QUEUE[index].head++];
QUEUE[index].head %= QUEUE_SIZE; return dat;
}
/**
* @brief :
* @param : None
* @returns: None
* @details:
*/
void QUEUE_WRITE(uint8_t index, uint8_t dat)
{
QUEUE[index].dat[QUEUE[index].tail++] = dat;
QUEUE[index].tail %= QUEUE_SIZE;
}
代码:
GD32E231_LHC.rar
(446.87 KB, 下载次数: 111)
设计文档:
基于2G GPRS 短信报警功能的山洪预警广播系统监测终端设计.docx
(764.45 KB, 下载次数: 9)
实物演示:
|