基于单片机和WiFi的智能室内环境监控系统设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于单片机和WiFi的智能室内环境监控系统设计
作者:史艳红孙琼菲
来源:《物联网技术》2019年第04期
摘要:随着无线通信技术的快速发展,物联网应用已扩展到多个行业领域。文中设计一种基于单片机与WiFi的智能室内环境监控系统,利用手机实现环境参数的监视与设备通断控制。该系统主要由单片机系统、WiFi网络及手机界面组成。单片机以STC89C52為主控芯片,采用DHT11温湿度复合传感器、GY-30光照传感器实现参数检测,并扩展继电器模块,控制电器设备。采用嵌入式UART-WiFi转换模块HLK-M35作为AP热点,构建WiFi无线网络,实现单片机与手机之间的无线数据传输。基于Android studio开发环境及Java语言开发手机APP,利用手机实现参数监视与设备控制。实验结果表明,文中系统具有环境温湿度、光照强度参数自动检测与监视、电器设备控制等功能,运行稳定可靠,手机界面清晰直观,操作简便。
关键词:单片机;传感器;继电器;WiFi;AP热点;手机APP
中图分类号:TP274;TP319 文献标识码:A 文章编号:2095-1302(2019)04-00-03
0 引言
智能家居系统的概念在20世纪就被提出,但其产业化近年才逐步开始,目前处于初期形成与长期发展的临界点。智能家居可以通俗地理解为以住宅为平台,利用物联网技术将家中的音视频设备、照明系统、窗帘控制及空调控制等多种设备连接起来,提供多种多样的功能,如手机或电脑远程电器控制功能、温湿度参数检测功能、光照强度检测功能等[1]。智能家居的控制方式丰富多样,如本地控制、手机远程控制、网络控制、定时控制等,多样的控制方式可以避免繁琐的过程从而提高效率。其目标是为用户提供舒适安全及高效便利的生活环境,提升生活品质。一个完整的智能家居环境监控系统主要包括环境信息采集、通信模块及控制与执行机构三部分,其设计方案与实现方法多种多样。
与智能家居类似,工农业生产中(如独立工业生产车间、农业蔬菜大棚)与室内工作场合也提出了类似的智能室内环境监控要求。本文设计一种基于单片机技术与WiFi技术的智能室内环境监控系统,该系统是智能化监控需求的实现方式和应用设计,能够实现室内环境参数检测与设备控制功能,具有一定的应用价值。
1 系统总体结构设计
本文系统由三部分组成:负责采集数据的控制节点,以STC89C52单片机为控制核心,并选配相应的温湿度传感器、光照传感器及继电器模块;负责广播信息的AP节点,构建WiFi网络,实现单片机与手机APP之间的信息交互;安装有应用软件的手机移动终端,既可接收显示传感器数据,也可发送指令至单片机,控制电器设备通断[2-3]。系统结构框图如图1所示。
系统主要有两个功能:一是客户端功能,用户接入WiFi网关后可通过APP客户端实时了解室内环境信息(传感器检测到的温湿度、光照强度等);二是设备控制功能,用户打开手机APP,通过点击操作按钮即可控制电器设备通断。
2 单片机系统硬件设计
单片机部分主要负责检测室内的环境参数,如检测温湿度、光照强度及执行电器通断控制。该部分以STC89C52单片机为核心,温湿度传感器选用DHT11模块,光照传感器选用数字光强强度传感器GY-30模块[4]。
DHT11温湿度传感器可测量相对湿度与温度,采用数字输出方式,具有超长的信号传输距离、超低能耗等特点。该传感器采用单总线通信协议,与STC89C52单片机之间的数据交换由此单总线(DATA)完成。本文设计中,以1路信号为例,单总线外接一个4.7 kΩ的上拉电阻,与单片机P1.2口连接,当总线空闲时,被上拉电阻拉高为高电平。
光照传感器GY-30的光谱灵敏度特性接近视觉灵敏度,对应广泛的输入光范围,且功耗低。该传感器支持I2C 总线接口,输出对应亮度的数字值。STC89C52单片机通过I2C接口向传感器发送控制命令并读取环境光照数据。本文设计中,以1路信号为例,光照传感器的I2C 总线时钟线SCL、数据线SDA分别与单片机P1.0,P1.1端口连接。
电器设备通断控制选用松乐SRD-05VDC-SL-C电磁继电器模块。该继电器有5个引脚,2个引脚为继电器线圈端子,3个引脚为继电器的触点引出端,其中一个是公共端,与另外两个触点分别构成一对常闭触点(NC)与一对常开触点(NO)。本文设计中,扩展3个电磁继电器控制3台电器设备,单片机接收来自手机的电器设备通断控制信号,经P2.0~P2.2端口输出到继电器线圈,实现电器设备通断。单片机系统接线关系如图2所示。
3 无线数据传输设计
数据传输采用WiFi网络实现,选用海凌科电子公司设计生产的嵌入式UART-WiFi(串口-无线网)模块HLK-M35。该模块使用IEEE 802.11协议栈网络标准,无线传输速率高达150 Mbit/s,信道可达14个,频率范围为
2.4 G~2.483 5 GHz,发射功率为14~18 dbm,有串口及GPIO接口,串口波特率最高为115 200 bit/s,传输距离可达100~300 m,TCP最大连接数为4,工作温度为-20~70 ℃。它基于通用串行接口,内置TCP/IP协议栈,可实现用户串口-无线网(WiFi)之间的转换。HLK-M35模块可以配置为无线STA或AP,以便实现串口转WiFi STA或串口转WiFi AP。
HLK-M35模块支持串口透明传输模式,其优点是串口可即插即用。当模块以透明传输模式运行时,用户只需配置必要的参数。得电后,该模块可自动连接到设置的无线网络与服务器。
本文设计中,HLK-M35模块设置为AP热点模式,手机可直接连接该模块,方便对用户设备进行监控[5-6]。HLK-M35模块的RX及TX端与单片机收发端P3.0,P3.1交叉连接。
4 软件设计
软件设计包括单片机系统程序设计与手机控制中心APP软件开发两部分,两者协同工作,共同实现环境信息的采集、处理、传输、显示与设备操控。
4.1 数据采集与处理单片机主控程序设计
单片机系统上电后,单片机以及各模块初始化,开串口中断进入无限循环,后续依次为温湿度数据采集、光照数据采集、判断手机控制信号等。温湿度传感器和光照传感器均为每隔1 ms采集一次环境参数数据并发送至串口,串口按照湿度数据、温度数据、光照数据依次调用子函数发送,发送完毕后软件将TI清零。在串口发送数据的同时等待串口接收中断,当有手机发来控制指令信息时,串口接收并解析数据,控制继电器动作,通断电器设备[7]。单片机系统主程序流程如图3所示。
4.2 手机APP软件设计
本文采用安卓系统手机作为上位机,开发的手机APP具备三种功能:建立与服务器连接,在手机界面查看室内温湿度和光照强度信息,点击手机界面按鈕控制电器设备通断。程序设计主流程如图4所示。
手机APP在Android Studio环境下采用Java语言开发。程序开发采用多线程技术,为避免主线程被阻塞,监听服务器消息放于子线程中运行,使用Runnable接口的方式定义子线程。