基于WiFi和单片机的教学楼智能照明系统的设计
2018-04-07刘瑞妮
刘瑞妮
(西安翻译学院工程技术学院,陕西西安710105)
目前我国高校照明系统主要采用传统的人工管理方式,采用的是手动开关,使用不方便,而且长明灯现象非常普遍,极大地浪费了资源,不符合当前的节能要求。鉴于以上传统照明的诸多缺点,智能照明控制成为当前的热点问题[1-7]。
当前关于智能照明控制主要集中在Zigbee技术[1-2]和单片机技术[4-7]两种。Zigbee技术具有功耗低、组网能力强等优点[8],但产品开发难度大,开发周期长,产品成本高等缺点限制了它的广泛应用;而基于单片机的智能照明系统结构简单,方便扩充其他功能,但是一般只能实现单机控制,不能实现远程控制。随着无线网络的迅速发展,WiFi技术也得到了前所未有的发展,已应用于环境监测[9]、污染物监测[10]、智能温室温度控制[11]、智能图书管理[12]等方面。
文中介绍一种教学楼智能照明控制系统设计方案,以Arduino单片机作为核心控制器,通过无线WiFi方式传输信息,在Android手机客户端,远程操作教学楼内的照明器件。
1 系统架构
基于WiFi和Arduino单片机的智能照明系统主要实现以下功能:一是可对教学楼内光照强度和人数进行检测及显示;二是可在手机客户端对教室内的照明器件进行操作;三是可对多个灯节点统一操作,或单独控制一个照明器件。系统架构图如图1所示。
通过图1可以看出,智能照明系统主体框架由手机客户端、AP协调器、系统终端3个部分组成,各部分具体功能分析如下:
图1 系统架构图
1)手机客户端:系统客户端部分是基于Android操作系统来实现的,通过搭建Eclipse软件开发环境来实现用户对系统的界面功能。
2)AP协调器:AP协调器是整个系统通信网络的核心,实现WiFi和智能手机终端的连接,对接收到的信息进行分析处理。
3)系统终端:该部分主要由 WiFi Station、单片机和照明灯组成。WiFi Station作为终端的无线通信设备,主要用来实现同手机客户端之间的数据有效传输功能。单片机作为系统终端的控制设备,主要实现串口数据交换以及系统终端有用数据的存储以及分析处理等功能。
2 硬件设计
无线智能照明系统的硬件部分主要包括:无线WiFi模块、单片机模块和传感器模块3部分,系统结构图如图2所示。
图2 系统结构框图
2.1 WiFi模块
无线WiFi模块用来实现系统终端和手机客户端之间的通信。WiFi模块与单片机之间通过异步串口通信实现数据接收或发送,该过程是通过WiFi模块和单片机自身带有的串口来实现的。当手机客户端发起命令请求信号时,该信号将首先通过WiFi无线网络到达WiFi Station端,然后再通过其串口将具体的信号命令消息发送给单片机设备,最终将由单片机解析具体的命令消息并执行命令指定的功能。
本智能照明系统的WiFi模块选用ESP8266芯片,ESP8266是一个完整且自成体系的WiFi网络解决方案,能够独立运行,也可以作为slave搭载于其他Host运行,支持3种组网模式:softAP模式,station模式,softAP+station模式[13],用户可根据具体需求灵活选择。
2.2 单片机模块
单片机作为无线照明控制系统的核心,主要具有以下功能:
1)接收手机客户端通过WiFi模块发送的信息,判断这个信息的作用,对接收到的信息进行处理;
2)接收传感器模块检测到的室内光强和人数并进行处理;
3)根据手机客户端发送的信息和传感器模块检测的数据控制照明灯的状态。
本设计中使用Arduino UNO R3单片机作为核心控制单元,采用Atmel Atmega 328微处理控制器,具有14路数字量输入/输出端口,其中6路可作为PWM输出,6路模拟量输入,一个16 MHz晶振,支持ISP下载功能,与其他同类型单片机相比,Arduino单片机有丰富的系统资源,编程简单,模块扩展功能强大,因此具有广阔的应用前景[14-16]。
2.3 传感器模块
传感器模块包括光照传感器和红外检测模块两部分,主要功能是对教学楼内光照强度和人数进行实时检测,并将数据传送至控制单片机,以便单片机做出控制。
光照强度检测模块主要功能是对教学楼内光照强度进行实时准确的监测,该部分由光敏电阻和LM393芯片组成,光敏电阻检测到不同光强就会得到不同的阻值,从而有不同的电压值,将电压信号送给电压比较器LM393来检测教学楼内实时光照强度。因为Arduino UNO R3单片机有6路模拟量输入通道,因此光照检测电路可直接与单片机连接,不必再另外使用A/D转换芯片,简化了系统结构。
红外检测模块可以对教室内人员流动情况进行实时检测,由红外发射管和红外接收管组成(图3)。当红外对管检测到有人靠近时,就会发出一个信号给放大电路,该信号经过放大后,传送给电压比较器,与其上基准电压进行比较,从而产生一个高/低电平,并以此电平作为单片机的外部计数信号,启动单片机进行计数,该数值就是教室内当前人数,最终将人数显示在显示器上。
图3 红外检测模块框图
3 软件设计
系统配置初始化成功后等待WiFi模块启动,WiFi模块启动后灯节点开始正式工作;传感器模块将检测到的教学楼内人数和光照情况传输给单片机,单片机将其处理后通过无线网络传输到手机客户端,等待客户端发送指令:若接收到信息,则按照对应指令设置照明灯的状态,并返回等待下一次命令,若没有则继续等待,软件流程图如图4所示。
图4 程序流程图
手机客户端应用软件的设计使用的是Eclipse,它是一个源代码开放、基于Java的可扩展开发平台。使用Eclipse进行应用开发需先安装ADT插件,这样才可以在Eclipse中启动Android模拟器进行程序调试等[17]。根据系统功能要求,开发的应用软件界面如图5所示。在客户端可以显示各个照明灯的状态,灯亮起时,左边小灯图标高亮,熄灭时图标为灰色。通过右边的开关可以调节每盏灯的开关状态。
图5 手机客户端程序界面
系统工作时,要先将手机客户端接入附近的WiFi网络。本设计中ESP8266选用softAP+station组网模式,该模式下Andronid手机可以作为station连入ESP8266的softAP接口,同时可以控制ESP8266的station接口通过路由器连入internet。以下命令是将名称为FAST_94BE04,密码是q5754831的WiFi接入手机客户端的具体方法。
AT+RST 模块重启;
AT+CWMODE=3设置为AP+STA模式;
AT+RST 重启模块;
AT+CWLAP 查询附近可加入的WiFi
AT+CWJAP="FAST_94BE04","q5754831"
加入用户名为FAST_94BE04,密码q5754831的WiFi;
AT+CIFSR 将模块设置为客户端;
AT+CIPMUX=1 查看模块的ID;
AT+CIPSERVER=1,8080开启SERVER模式,端口号为8080;
至此就可以用手机接入用户名为FAST_94BE04,密码是q5754831的WiFi模块。设置手机APP的TCP服务IP,与用Eclipse软件查询到ESP8266模块的ID一致,连接后就可用手机终端发送命令给ESP8266模块。
4 系统测试与效果分析
为了分析基于WiFi的室内照明系统的性能,在西安翻译学院工程技术学院教学楼内应用该系统并进行功能测试,系统功能测试结果(表1)表明系统的各个功能运行效果良好,使用手机客户端连接WiFi模块后,就可以对照明灯的状态进行控制了,可以控制单个灯泡,也可以对多个灯泡进行控制,系统能实现教学楼照明灯的远程无线控制。
表1 系统功能测试结果
5 结束语
文中提出了一种基于WiFi的教学楼照明系统设计,该设计的主要特点为:采用高性能的Arduino UNO R3单片机作为控制核心,提高系统控制功能;在教学楼网络的构建中引入WiFi无线通信技术,以增大无线通信距离并简化组网方法;设计了WiFi智能照明控制系统,该系统具备人数采集、光照度采集和WiFi通信功能;设计了手机客户端程序,该程序实现了用户登陆和教室照明灯状态实时显示、远程控制等功能。
对于大型办公楼等场所,可以使用WiFi模块的无线分布式系统功能,将多个AP互相连接,组成一个覆盖范围更广的网络。
参考文献:
[1]金基宇,王虹元,金桂月,等.基于ZigBee的LED智能照明系统[J].国外电子测量技术,2016(10):76-82.
[2]王强,范延滨.基于ZigBee技术的智能家庭照明系统[J].电脑知识与技术,2016(10):12-13,16.
[3]段小汇,冯俊青.基于直接数字控制器的教室智能照明控制系统设计[J].电子世界,2012(12):106-107.
[4]程春.大学教室智能照明控制器及其系统的研究与开发[D].北京:北京化工大学,2010.
[5]张云莉,周晓平,朱双霞,等.基于单片机的教室节能控制系统设计研究[J].制造业自动化,2012,34(2):103-105.
[6]伍世云,罗江,王益艳,等.基于单片机的高校教室照明节能智能控制系统的设计[J].电子设计工程,2016(23):180-182.
[7]刘瑞妮,梁瑞.基于单片机的教学楼智能照明节能系统的设计[J].电脑知识与技术,2016(20):224-225.
[8]吴涛,杨著,张丽霞.基于ZigBee和Android手机的无线监控系统设计[J].计算机测量与控制,2015,23(3):809-811.
[9]冯勇,王继红,蒋铭凯,等.一种无线室内空气污染物监测装置的研制[J].河南科学,2016,34(5):712-715.
[10]刘红义,赵方,李朝晖,等.一种基于WiFi传感器网络的室内外环境远程监测系统设计与实现[J].计算机研究与发展,2010(2):361-365.
[11]贾薇,徐晓辉,宋涛,等.基于WIFI的智能温室移动控制终端系统设计[J].中国农机化学报,2015,5(36):87-89,107.
[12]戴振祥.基于Wifi的智能图书管理系统设计[J].宁波教育学院学报,2016(3):61-64.
[13]范兴隆.ESP8266在智能家居监控系统中的应用[J].单片机与嵌入式系统应用,2016(9):52-56.
[14]卞云松.基于Arduino单片机的避障小车机器人[J].自动化技术与应用,2014(1):16-19.
[15]杨振乾,张旭东,王子城,等.基于Arduino单片机的迈克尔逊干涉仪测量改进[J].实验室研究与探索,2016(1):50-53.
[16]张可儿,魏盼.基于Arduino单片机的遥控救援小车[J].自动化与仪器仪表,2016(11):58-60.
[17]江燕良.基于Android智能终端的远程控制系统[J].电子技术应用,2012,38(8):129-132.