1、基于 Arduino 开发环境的智能家居系统设计【摘要】 本系统立足集成和创新,结合建设行业信息技术实际应用状况和国际上信息技术发展趋势,确定城市数字化标准规范与相关工具、城市数字化体系结构与信息集成关键技术、城市数字化应用软件开发与商品化为重点研究课题,基于 Arduino 开发环境设计智能家居系统的整体方案,实现防火、防盗、烟雾报警、软件报警、实时监控、温湿度显示等功能。通过火焰、烟雾、人体等传感器获得所需数据,结合自编软件对数据进行处理分析,并搭建模拟智能家居系统,试验运行稳定。【关键词】 物联网 智能家居 防火 防盗 报警 引言 智能家居是家居平台物联网化的结果,在计算机技术、自动化技
2、术和通信技术发展趋势下,通过物联网技术将家居中的各种设备相互联接,并能统一协调管理。家居智能化的概念已被很多人所接受,相关的智能化设备也进入到普通百姓家,给人们生活增添了不少便捷,尤其是在防火、防盗方面发挥了很大作用,能减少生命和财产的损失。 本系统利用 Arduino 平台强大的可拓展性和开源性来开发智能家居系统,选用 Arduino 单片机芯片作为控制核心,通过自建硬件平台模拟智能家居环境,将硬件传感器获取的数据反馈给自编软件集中处理,用户可通过客户端得知家中温度、湿度、人体警报、火焰警报、烟雾警报等情况并能实时监控。 一、系统设计 1.1 系统组成 系统由 Arduino 控制模块、温湿
3、度探测模块、防盗模块、防火模块、无线通信模块、客户端报警监控模块 6 个模块组成,如图 1 所示。Arduino 控制模块负责处理温湿度探测模块、防盗模块、防火模块收集到的数据,并将结果反馈给客户端报警监控模块进行分析,最终实现所需功能。 1.2 模拟家居环境 采用市面流行的 DIY 小房子搭建小型家居环境模拟实际家居环境,可将模拟家居环境分为卧室、客厅、大门三个部分。 二、硬件系统设计 2.1 单片机控制模块 主控芯片选择 Arduino Mega2560 单片机控制板,开源且有很强的拓展性。其处理器核心是 ATmega2560,具有 54 通道数字输入/输出口(其中 16 通道可作为 PW
4、M 输出)和 16 通道 10bADC 模拟量输入,4 路 UART 接口,1 个 ICSP header,时钟晶振为 16MHz。是采用 USB 接口的核心电路板,通过 USB 线可与电脑直接连接便于在线进行程序调试。 2.2 数据采集模块 数据采集模块包括三个子模块,分别是温湿度探测模块,防盗模块,防火模块。温湿度探测模块采用 AM2302 数字温湿度传感器,防盗模块采用 HC-SR505 人体传感器,防火模块再分为火焰探测模块和烟雾探测模块,分别采用 YL-38 火焰传感器和 YL-15 烟雾传感器。 2.4 无线通信模块 无线通信模块采用 E12-TTL 无线串口模块,优势是低功耗,控
5、制方式灵活,中心频率为 433MHz,具有 TTL 电平的串口通信接口,支持波特率为 1200-57600 多达 7 种波特率。经过复杂的无线通信配置以及传输算法,通过 TTL 串口连接到设备,2 个模块即可取代一条传统的串口线,传输距离远达 450m,完全满足家用。 2.5 客户端报警监控模块 客户端报警模块分为 PC 端和移动端。PC 客户端使用 Visual Basic编程语言编写,这使得平板移动端可以兼容使用,通过串口将 Arduino处理过的传感器传回的数据进行分析并予以显示,用户可以得知当前家中的温度和湿度情况以及人体、火焰、烟雾警报,并且在警报响起后可以打开家中布置好的监控设备实
6、时查看家中情况。而手机移动端使用JAVA 语言编写,可以在搭载 Android 系统的移动电话上使用,同样可以通过无线网络或移动数据的方式实时获知家里的情况并且能够查看监控。三、软件系统设计 3.1 Arduino IDE 集成开发环境 Arduino 具有类似于 Java 和 C 语言的 IDE 集成开发环境,其编程语言类似于 C 语言,用户可以通过 USB 接口直接进行编程和通信。 3.2 算法简述 本设计中,客户端会实时显示当前卧室温度和湿度数据。当家中没有起火和无人入侵时,客户端的人体、火焰、烟雾警报不会亮起。 而当家中起火时,YL-38 火焰传感器和 YL-15 烟雾传感器若同时传回
7、警报,则判定为家中某处起火,此时客户端报警;而家中若有人入侵,大门的人体警报会先亮起。当用户收到警报时,可以选择打开监控来实时观察家中情况从而作出对策,达到防火防盗等目的。 3.3 传感器处理程序 传感器处理程序的功能是在 Arduino 上运行的,将传感器采集到的数据进行集中处理后通过 E12-TTL 无线串口模块反馈给客户端分析显示。以如下部分代码为例: void loop() / 输出 2 表示传感器感应到某种状态,如火焰、烟雾或人体 / 输出 1 表示传感器没有感应到 chk = DHT.read22(DHT22_PIN) ; humValue = (char) (DHT.humidi
8、ty + 0.5) ; msgstr0 = humValue; /湿度算法 temperValue = (char) (DHT.temperature + 0.5) ; msgstr1 = temperValue; /温度算法 irValue1 = digitalRead(IR1_DATA) ; if (irValue1 = HIGH) /人体警报算法 msgstr2 = 2; else msgstr2 = 1; fire1DVal = digitalRead(FIRE1_DPIN) ; if (fire1DVal = HIGH) /火焰警报算法 msgstr5 = 1; else msgst
9、r5 = 2; smoke1DVal = digitalRead(SMOKE1_DPIN) ; if (smoke1DVal = HIGH) /烟雾警报算法 msgstr7 = 1; else msgstr7 = 2; Serial.println(msgstr) ; Serial1.println(msgstr) ; delay(1000) ; 四、试验结果 按照本方案设计的基于 Arduino 平台开发的智能家居系统能够完成温湿度探测、防火防盗及报警和实时监控等功能。但还存在着一些不足,例如对终端的反馈只能做到提供警报,不能智能控制,如可用灭火器控制火势等。对于存在的问题,可在终端增加设备,如加入增湿器和空调来控制温湿度等。 五、结语 本文设计的基于 Arduino 集成开发环境的智能家居系统,设计简单,成本较低,实时性好,在模拟家居环境中取得了预期实验结果,完成了智能家居防火防盗等基本功能,可广泛应用于智能家居等领域,市场前景广阔,具有很大经济效益。作为开源性互动软硬件开发平台,对于Arduino 开发环境的广泛应用具有很好的参考价值。 参 考 文 献 1蔡睿研,Arduino 的原理及应用J.电子设计工程,2012,8
Copyright © 2018-2021 Wenke99.com All rights reserved
工信部备案号:浙ICP备20026746号-2
公安局备案号:浙公网安备33038302330469号
本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。