logo资料库

论文研究-一种基于 Arduino 的远程火灾报警系统设计与实现 .pdf

第1页 / 共6页
第2页 / 共6页
第3页 / 共6页
第4页 / 共6页
第5页 / 共6页
第6页 / 共6页
资料共6页,全文预览结束
引言
需求分析
预期效果
难点分析
系统开发与测试流程计划
重要模块功能介绍
GSM 通信
烟雾感知模块
温度感知模块
系统工作流程演示
系统评估与展望
结论
一种基于 Arduino 的远程火灾报警系统设计 http://www.paper.edu.cn 与实现 吴凯, 王晨升, 杨光 北京邮电大学 自动化学院,北京, 100876 摘要:本火灾报警器项目基于 Arduino 控制器,利用 GSM 通信模块和火灾相关的多种报警 器,在火警发生时通过程序内实现的转换算法将感应信息传送到 GSM 模块中,再利用 GSM 通用的 AT 命令以短信形式发送至指定号码的手机上,并且继续发送报警电话,且具有主动报 警功能,通过手动触碰按钮可以启动按钮发送主动模式的报警流程。同时本系统对传感器的灵 敏度与通信模块的时序也做了调节,对 GSM 模块的时序问题做了分析,尽力保证了本系统的 健壮性与可扩展性,初步实现了具有商业价值的火灾报警器系统。 关键词:物联网技术, 火灾报警, 传感器, GSM 通信 中图分类号: TP277;TP368.1 Design and Implementation of a Fire Alarming System based on Arduino Platform Kai Wu, Chensheng Wang, Guang Yang¹ School of Automation, Beijing University of Post and Telecommunications, Beijing, 100876 Abstract: This Fire Alarm System is based on Arduino platform, which also uses SIM-900A GSM moudule for communication, LM-35 for temperature sensing, YL-38 and MQ-2 for sensing latent fire hazard. It also enables the user to start the alarm himself by pressing a button , and the receiver can send a proper text to cancel this alarming process. The sensitiveness of the sensor has been adjusted to maximize the system’s robustness and extensity, thus making it a fire-alarming system with commercial value. Key words: Internet of Things, Fire Fighting System, Sensors, GSM Communication 0 引言 火灾的早期发现、早期预警是及时扑灭火灾、避免人员财产受损的重要途径 [1], 为此, 在 一些重点防火单位都要求装设自动火灾报警器 [2] , 这些火灾报警器可通过所连接的各种火灾探 头, 在灾发生时, 发出报警, 也可实现联动, 自动启动灭火设施。但目前在国内这些火灾自动报警 监控器只能实现就地报警、监控, 无法实现火灾信息的远程传输, 其关键问题在于通信渠道的缺 基金项目: 高级数控机床智能化关键技术研究, 江苏省 (BE2016032) 作者简介: 吴凯 (1993-)[kaiwu@bupt.edu.cn], 男, 研究生在读, 主要研究方向: 智能设计与制造. 通讯作者: 王晨升 (1964- )[cwang@bupt.edu.cn], 男, 副教授, 主要研究方向:高级车床控制技术. - 1 -
http://www.paper.edu.cn 乏 [3]。本远程火灾报警器利用现有的、覆盖广泛的 GSM/GPRS 网络 [4] , 方便、可靠地实现 了火灾报警信息的远程报警功能,特别适合于城市联网、行业联网、社区联网和远程无人值守 场所。为消防监管、灭火救援部门以及消防报警服务专业化、社会化提供强有力的技术支持。 Arduino 作为流行的物联网技术实现平台,本身就是多个开源项目融合汇聚作为基础的,一 个成功的开源项目 [5]。Arduino 坚持完全的开源特性,同时包括软件和硬件部分。版权法可以 监管开源软件,却很难用在硬件上,为了保持设计的开发理念,Arduino 的开发团队决定采用 Creative Commons(CC) 的授权方式公开硬件设计图 [6]。这样任何人都可以生产电路板的复制 品,但是重新发布引用设计时必须声明原始 Arduino 团队的贡献。介于这些优势,我们决定基 于 Arduino 平台开发此系统。 1 需求分析 1.1 预期效果 火灾报警器作为日常生产生活常用的模块,其功能与运行要求从表面上看比较简单:在检 测到火焰时发出警报并且以一定的方式通知相关用户就可以了。但仔细考虑这背后需要很多细 节的保证作才能构成较为成熟的系统。 预定要达到的效果是,开机后自动在液晶上显示和无线模块连接的状态过程(含 LED 指示 进度)与启动画面并向预存的手机号发送系统已启动的短信。之后便进入监测环境的模式,如 果周围环境出现明火或者烟雾并且持续一定时间(触发的持续时间在程序中可设置)后便会出 发报警模式,此时 1602 液晶会显示相应的明火/烟雾报警信息并把相应的报警短信发到制定手 机上。另外我们同时加入主动按键报警(包括电话和短信报警)的功能,在所有报警功能启动 时蜂鸣器都会高声鸣响一段时间起到警戒作用。目的是设置一个具有实时性和可延伸性的报警 模块,积木块化的设计思路方便对这个报警系统进行二次开发(比如增加传感器与远程控制端 口等),并且交互性要达到报警系统的高要求——实时性好,可理解度好。 笔者的最终目标就是做出一个具有一定商业价值的报警系统,如果进行一定的外部包装加 工就可以上架出售。通过此项目了解一线开发过程和市场调研情况(如成本考量等条件),达到 学以致用的目的。 1.2 难点分析 本课题的目的是结合 Arduino 开发板,不同的传感器,SIM900A GSM 模块与信息交互模 块协同工作来实现远程火灾报警与控制模块的功能,三者之间的工作角色是不同的。所以需要 弄清系统在工作时不同部分的工作时序并且把这种认识反映到烧入单片机的代码上,只有思路 清楚才能形成风格良好易于理解的代码。另外三者间的通信也是关键,传感器感知到的信号需 要进行 A/D 处理吗?使用什么电源和发送管脚?如何避免误判情况出现?传感器的灵敏度可以 配置吗?是通过硬件还是代码? 首先需要对 Arduino MCU(包括对应的开发板配置,SIM-900A 无线模块和不同传感器的 - 2 -
http://www.paper.edu.cn 工作原理与工作条件(正常工作的环境要求与电气特性要求)有所了解并且有序连接。在传感 器性能可以保证的情况下,重点是串口通信协议,和调用 SIM-900A 内部 MCU 所需的 AT 命 令语法的有效利用。 1.3 系统开发与测试流程计划 在系统开发与测试环节方面,我们决定采用测试开发的方法 [7]。系统测试内容方法包括: 不同模块单独的基本功能测试;传感器敏感度测试;SIM-900A 性能测试;系统总体运行观察后 的软硬件联合调试,健壮性测试(包括观察不同模块功能执行的顺序是否会对系统的的整体运 行产影响,运行环境的改变对系统的影响等等)。测试顺序要从下至上,只有确保底层工作正常 才能确保上层已正常,从而保证系统的稳定性。 在系统的调试过程中我们当然也碰到过问题,比如一开始传感器出现了误报情况,经过分 析后我们发现一方面是传感器在硬件上电位器当前阻值较小导致其过于灵敏,另一方面程序上 需要消抖动,当火焰和烟雾持续一定时间后再触发报警模块。 这种从下到上,基于测试的开发方法其来有自,实际上它的流程和软件工程中的测试驱动 开发(Test Driven Development,TDD) 是一脉相承的。以后的工程经验中相信这种方法论也会 产生提高开发效率。 2 重要模块功能介绍 2.1 GSM 通信 火灾报警器的远程报警功能可谓是本项目的重点,这由 GSM 模块 SIM-900A 完成。SIM- 900A 是一款双频 900/1800MHZ 高度集成的 GSM 模块,为知名电子厂商 SIMCOM 的产品。 自带 RS232 通讯接口, 可以方便地与 PC 机、单片机连机通讯。模块的工作电压为 3.3—5.5V, 可以工作在 900MHz 和 1800MHz 两个频段, 所在频段功耗分别为 2w(900M) 和 1w(1800M)[8]。 硬件连接的时候,需要注意一些问题。比如 SIM 卡的连接方式,是外接的,SIM 卡的工 作电压要注意不能超出范围。软件编程的时候,串口通信波特率的设置,要与单片机的相吻合。 编收发短信的时候,前后的逻辑关系要搞清楚,这样易于实现。根据开发板的与 GSM 模块的 吻合要求,我们让定时器工作在模式 2,串口通信工作在模式 1,双倍波特率通信。设置这些参 数需要在程序里通过预设单片机的 PCON,SCON,TMOD,IE 等特殊寄存器实现。串行口工作之 前,应对其进行初始化,主要是设置产生波特率的定时器 1、串行口控制和中断控制。具体步 骤如下:确定 T1 的工作方式(编程 TMOD 寄存器);计算 T1 的初值,装载 TH1、TL1;启 动 T1(编程 TCON 中的 TR1 位);确定串行口控制(编程 SCON 寄存器);串行口在中断方 式工作时,要进行中断设置(编程 IE、IP 寄存器)。串口通信的设置在本项目中地位十分重要, 涉及系统初始化与 GSM 模块通信功能的正常与否。而 Arduino 的通用 TTL 接口通信则让它 的拓展性与鲁棒性同时得到了保证。GSM 模块使用标准的 AT 扩展命令实现不同的通信功能, 常见 AT 信令如下图1: - 3 -
http://www.paper.edu.cn 图 1: GSM 常见 AT 命令组合机器含义 2.2 烟雾感知模块 我们使用 MQ-2 传感器作为烟雾感知模块,它可以用于家庭和工厂的气体泄漏监测装置, 适宜于液化气、丁烷、丙烷、甲烷、酒精、烟雾等的探测;灵敏度可调(图中蓝色数字电位器调 节)。电气特性与火焰传感器相似。对于两个传感器我们在此只用到其数字开关量输出管脚。 很多情况下,一些配件厂商都会将这些器件和固定的电阻电容器件搭配起来,比如搭配一 个电位器和相应传感器集成到一个小型印刷板上,这样输出就可以进入数字端的高低范围当作 数字输入使用。这样做的好处是数字端口的高低状态分明,可以在程序里使用对应变量清楚地 触发某事件。当然有些器件(比如本项目中使用的无缘蜂鸣器)本身就是数字电路系统下常用 的器件,便不用接外设电路了。 2.3 温度感知模块 本项目使用 TI 公司的 LM35 作为温度传感器,它是一种串口温度传感器, 输出模拟数据, 这可以用 Arduino 类库中自带的 analogread 函数读取,非常方便。对于这种构造比较简单的器 件,通过阅读器件手册就能知道很多信息。不过需要注意的是传感器输出的一般都是电气特性 物理量,而本项目要发送的显然是温度等物理量,这说明在通信之前必须要对输入量做相应转 换,这需要 Arduino 的 ADC 参数与一些基本的数字电路知识。 3 系统工作流程演示 系统的实物如下图2: 系统开机时显示注册与友好初始化信息如下图3:当明火靠近系统 2s 以上时触发报警系统,同时蜂鸣器开始报警并且先发送短信警报,后发送电话警报,相隔大约 5s;警报以 3s 为周期默认鸣响 24s,液晶显示警报如下图4: 按下按键可以实现主动警报功能,报警流程如上所述。再按一次可以取消此流程。需要注 意的是,明火持续时间如果短于 2s,是不会触发报警系统的。 - 4 -
http://www.paper.edu.cn 图 3: 模块注册成功提示 图 4: 报警信息 图 2: 系统实物展示 4 系统评估与展望 本项目虽然基本达到了预期的效果,但还是有不少改进之处。第一是 GSM 模块本身对工 作电气环境与电磁场环境要求极高,外围电路很多。启动需要耗费一定的时间,这对及时报警 的考量就产生了一定的不利影响 [9]。要达到更快的报警时间就必须对 SIM 900A 原芯片做深度 的二次开发。但限于笔者有限的工程水平及和本芯片的知识产权因素,要进行二次开发还比较 困难,只能先用其他厂商封装号的开发模块进行工程案例型的系统开发。 第二点是 Arduino Uno 控制器本身的 IO 口比较有限,这无形中限制了传感器的数量。在 本系统中仅仅用了三个传感器就使得接口资源比较紧张,因为还要预留两个给 GSM 模块做双 向的 TTL 通信,还要预留 7 个 IO 口作为 1602 LCD 的数据传输与读写使能等必要接入;那么 剩下留给传感器的资源自然就不多了。这也从一个侧面说明 Arduino 在有效控制了成本的同时 在硬件资源的余量上产生了一些遗憾。而传感器资源对于报警系统来说恰恰是重要的一环。不 妨设想现实场景中,警报触发后应该有一连串的反馈动作开始,比如控制继电器启动灭火装置, 电控打开厂房大门以供员工逃生等等。要想实现足够多的功能,更换 IO 资源丰富得多的 FPGA 芯片是一个合适的选择,但正如前文所述,开发的难度和成本就上升了,有舍有得,需要使用 者根据生产生活的情况去考量。 第三点时系统本身警报的效率还不够。一方面本系统的功率较小,如果放在现实场景中一 个简单的无源蜂鸣器就算响上一天都不一定会被察觉,这就需要功率放大电路来驱动高音喇叭 产生声音更洪亮,持续时间更久的警报声。另一方面实际生活场景中一个监控系统往往要负责 一片面积较大的地区,仅仅靠简单的几个传感器无法确保感知面积如此之大的地区。这时候就 需要布置传感器阵列让他们协同工作,这后面又需要更复杂的算法支持,甚至需要用到诸如通 信冲突处理和决策推断等比较复杂的理论。但限于本项目仅作原型演示而用,并没有做到这一 点,事实上 Arduino Uno 控制器单兵作战也不能达到这些适合真正生产生活场景的需求,还需 要和其他很多设备一起协同工作控制传感器与交互端等设备组。 - 5 -
http://www.paper.edu.cn 5 结论 Arduino 作为秉持开源精神的嵌入式系统开发平台,有着大量的硬件资料与许多贡献者无 私的技术支持,降低了电子制作爱好者的门槛。在硬件系统性能上没有很多多妥协的前提下大 大减小了嵌入式系统的功耗,提升了便携性。在软件开发流程上通过第三方编写的类库函数使 得项目程序整体简单易读,更接近积木化的模块设计,也体现了面向对象的设计模式思想 [10]。 这对嵌入式系统开发以前软硬都要深入使得难度颇大的旧情况发生了改变,让人们可以尽快入 门,用自己的智慧做出各种各样实用的电子制作。 本远程火灾报警器采用 GSM/GPRS 通信方式, 可以做到开机就附着到 GSM/GPRS 网络 上,使用 GSM/GPRS 数据业务时, 在经历 1-3 s 的激活过程后, 就可进行数据传输通信, 通过 在多个无人值守变电站的初步应用, 证明其非常适合于火灾自动报警监控网络。它的应用对于 实现火灾的早期预防、火灾报警信息的及时发现和及时处理都具有重要意义。 参考文献(References) [1] GB50313 -2000, 城市消防通讯指挥系统设计规范 [S]. [2] 武装, 周云峰. 基于 GPRS +WEB 分散点工业数据采集与监控 [J] . 传感器技术,2004,23( 6): 51 [3] 门茂琛, 任天平, 方舒燕. 小区智能化综合评价指标体系探讨 [ J] . 郑州大学学报工学 版,2005,26(3): 46-49. [4] 赵大成, 贾海燕. 手机短信收发的 AT 指令控制 [J] . 信息工程大学学报,2004 ,5(2): 95 ~ 97. [5] Kymissis. I, Sarik Lab kits using the Arduino prototyping platform. Frontiers in Education Conference (FIE), 2010 IEEE. [6] Badamasi, Y.A. The working principle of an Arduino Electronics[J], Computer and Com- putation (ICECCO), 2014 [7] Murthy, A.A.; Rao, N.; Beemaiah, Y.R.Shandilya, S.D.; Siddegowda. Design and Construc- tion of Arduino-Hacked Variable Gating Distortion Pedal[J], R.B.Access, IEEE [8] 卫革. 基于单片机的 GPRS 无线通信系统设计,[D] 北方工业大学硕士学位论文,2010. [9] Lih Chieh Png; Liangquan Chen; Song Liu. An Arduino-based indoor positioning system (IPS) using visible light communication and ultrasound [J]Consumer Electronics - Taiwan (ICCE-TW), 2014 IEEE International Conference. [10] Costanzo, A. An arduino based system provided with GPS/GPRS shield for real time monitoring of traffic flows.[J] Application of Information and Communication Technologies (AICT), 2013 7th International Conference - 6 -
分享到:
收藏