张敏 崔祥霞 刘格
摘 要:针对目前国内的智能感应灯还处于手动控制阶段,本文提出了一种基于WiFi和Arduino单片机的智能检测感应灯。该方案以Arduino单片机作为核心控制器件,使用红外传感器和光敏电阻实现自定义不同灯控模式,智能感应以及远程控制。
关键词:Arduino单片机;WiFi;智能照明;传感器
目前国内的智能家居市场还处于起步阶段,相比其他概念型的智能家居产品,人体感应智能灯显然要实用的多。与欧美等发达国家相比,我国的比较先进的智能灯光控制系统仅仅实现了红外遥控控制,并且大都还处于手动开光控制单个光源亮灭阶段。在此背景下,本文基于WiFi和Arduino单片机提出一种切实可行的智能感应检测人体灯设计方案,一款能够利用红外线、热释电原理感应人体活动信息的新技术、新设计,专门用来检测和感应人体活动信息的智能感应灯,实现智能调节灯光亮度,随意切换五种不同工作模式,从而减少能源消耗,提高生活体验品质。
1.智能感应人体灯设计方案
基于WiFi和Arduino单片机的智能感应检测人体灯主要实现以下功能:一是采用远程控制的方式实现控制基本照明;二是可以智能调节灯的亮度,切换五种不同工作模式,五种工作模式及其具体实现的功能情况如下:
1)阅读模式:智能感应人体灯会根据外界的亮度调节灯光的亮度,使灯光适合人正常工作生活,达到节能目的。
2)自定义亮度:可以根据用户的需要调节亮度,符合用户自定义的使用要求。
3)电影模式:调低灯光亮度,营造一个看电影院的观看环境。
4)夜间路灯模式:通过设备所带传感器判断环境是否过暗,检测有没有人在附近,来决定是否需要开灯,实现人在灯亮,人走灯灭功能,实现围绕人打造的节能环保的目的。
5)音乐模式:为听音乐渲染一个听歌环境,计划根据基本的音乐风格形成相应的灯光变化节奏,实现灯随音动。
本方案计划使用内置的光照强度传感器检测图像情况,显示产品环境周围的亮度。研发的设备上采用旋钮的控制方式,可以使本方案开发的灯具设置在传感器检测的设置一定亮度值时自动启动(目前计划仅在阅读模式、夜间路灯模式这两种模式条生效)
因为使用了远程控制的方式,需要云平台的控制支持,所以当断电时,智能灯会无法远程设置,需要在重新联网后,进行断网自动重连接的操作,以便在联网后完成相关智能操作和数据的传输、控制和收集工作。
2.硬件设计
本方案核心操作是解决数据传输控制灯的信息转化问题。使用的通信方式为WiFi,通讯协议采用自定义方式的协议。根据测试开发的难度,数据流数量控制在5个左右,数据格式可以采用ASCII码的形式,为了更好控制功耗,数据上传频率控制在秒级的级别上。
硬件部分主要包含两部分:一是核心控制部分,主控Arduino Leonardo、HLK-RM04 WiFi模塊、人体红外感应模块;二是环境感应部分,光敏电阻、电位器、led灯(红、绿、黄、白)、供电部分5V/2A、杜邦线和导线等。
2.1核心主控Arduino Leonardo
单片机主要用来控制当传感器接收到输出一个高电平脉冲信号或高电平延时信号时传递到主控进行相关的灯光控制操作。本设计使用的微控制器核心芯片为ATmega32u4,输入工作电压 5V,不能超过7-12V输入电压。Flash 32 KB(ATmega32u4)其中4 KB由引导程序使用SRAM 2.5 KB(ATmega32u4)EEPROM 1 KB(ATmega32u4)。时钟速度16MHz。该开发板有两个硬件串口,方便连接外部设备调试,而且不会影响到其他使用的串口。与其他类型的单片机相比,Arduino单片机有丰富的系统资源,编程简单,模块扩展功能强大,因此具有广阔的应用前景。
2.2无线传输模块
WiFi模块与单片机之间通过异步串口通信实现数据接收或发送,该过程是通过WiFi模块和单片机自身的串口来实现的。目前WiFi模块主要有两种,一种是HLK-RM04,另一种是ESP8266。在性能上,HLK-RM04比较稳定,速度也ESP8266快。但是ESP8266更便宜,但稳定差一点,传输速度低,实际上也可以满足本设计的要求,只是链接网络成功性比较低,而且不支持WEB 页面配置。综合考虑,本方案选择HLK-RM04模块作为无线WiFi数据传输模块。HLK-RM04模块在使用时,需要进行相关设置,主要有三种设置方法:WEB页面配置、串口AT指令配置、串口配置。
2.3传感器模块
传感器模块主要包括光照传感器和红外检测模块两部分,主要功能是对室内光照强度和人数做出实时检测,并将数据传送至控制单片机,以便单片机做出控制。
光照强度检测模块部分由光敏电阻和电位器组成,电位器使精度比较高,使光线测量更准确。光敏电阻检测到不同光强就会得到不同阻值,从而有不同的电压值,将电压信号送给电压比较器实时检测室内光照强度。
红外感应模块主要用于测量人体红外波长,之所以使用人体红外波长模块是因为该模块使用起来比较方便,比微波雷达更准确,因为雷达测动的一切动的物体,所以出错的概率大些。红外模块的另一个好处是比较节能,使用电位器可以调节延迟、测量距离,使用起来更方便。
2.4 总体方案
本方案用旋钮来进行灯光控制,所以要用到自定义的数据格式进行通讯。使用辅助软件可以帮助开发更快编程和调试,使用该方式调试时,电脑相当于下位机。目前的云平台支持多种不同的接入协议,很多都是基于TCP/UDP的上层协议,其分别对应的域名、IP地址和端口号都各有不同,可以根据实际开通情况进行设置。
(1)自定义消息格式
消息包括三个部分:必选的消息头(绿色),可选的多个选项(黄色)以及可选的消息体(蓝色)。
(2)功能函数定义
1)void communication(),云平台上设备建立连接函数定义名称
2)void datatransm(unsigned char Data,unsigned char cgq1,unsigned char cgq 2),上传数据到云平台,变量 Data要传输的数据, cgq 1传感器1要传输的数据, cgq 2传感器2要传输的数据。
3)void heart(),心跳检验函数,掉线重连接
各种模式调用的函数:
1)float search(),光线检测,自动调节亮度
2)void beatheart (),心跳,音乐模式
3.软件设计
3.1程序流程
系统配置初始化成功后等待Wii模块启动,WiFi模块启动后灯节点开始正式工作;传感器模块将检测到的人数和光照情况传输给单片机,单片机将其处理后通过无线网络传输到控制页面,等待页面发送指令:若接收到信息,则按照对应指令设置照明灯的状态,并返回等待下一次命令,若没有则继续等待。
4. 结论
本文提出了一种基于Arduino开源设计平台和WiFi模块的智能检测感应灯,本设计的主要特点是:智能灯光提供多模式的选择方式,可以根据用户自己的选择进行模式切换,也可以根据环境变化进行灯光的模式切换。围绕传感器收集的检测外部环境数据,进行智能的灯光控制;将通用的数据格式进行极大的简化,减少了系统的通信负荷,将很多无用的功能性的数据格式去除,提高了系统的效率,降低了编程的复杂度。
参考文献:
[1]伍世云,罗江,王益艳,范开敏.基于单片机的高校教室照明节能智能控制系统的设计[J].电子设计工程,2016,24(23):180-182.
[2]刘瑞妮.基于WiFi和单片机的教学楼智能照明系统的设计[J].电子设计工程,2018,26(05):133-136.
[3]許鹏,刘昕瑀,包武.基于Arduino的智能家居灯控系统设计[J].电子制作,2018(01):29-32.
[4]魏修岭. 智能照明系统及控制策略研究[D].电子科技大学,2017.
[5]刘熙昌,孔祥营,孙景明,单丽媛,陈剑雪.基于Arduino的智能照明设计[J].科教导刊(上旬刊),2015(02):132+152.
[6]蔡睿妍.Arduino的原理及应用[J].电子设计工程,2012,20(16):155-157.
[7]Arduino权威指南[M]. 人民邮电出版社 , 马格里斯, 2015
[8]倪亚玲. 基于Arduino的节能型智能家居系统的设计与研究[D].电子科技大学,2017.
[9]董圣华,马丽洁.基于Arduino的智能家居远程控制系统设计[J].电子世界,2018(11):155.
[10]刘钊赫. 基于Arduino的数据采集[J]. 数字通信世界, 2017(10).
[11]孟萌. 基于Arduino的物联网数据采集器设计与实现[D]. 北京工业大学, 2016.
[12]舒秦, 王瑞平, 孙向红. 光敏电阻特性的研究[J]. 西安科技大学学报, 2000, 20(4):377-379.
[13]宋吉江, 牛轶霞. 光敏电阻的特性及应用[J]. 微电子技术, 2000(1):55-57.
[14]吴颖铭. 基于红外传感器的LED智能感应控制[C]// 2012全国无线及移动通信学术大会论文集(上). 2012.
[15]巩书兰, 郭文成. 红外感应控制系统[J]. 民营科技, 2007(9):43-43.
支持项目:
国家级大学生创新创业训练计划项目,项目编号:201710453152.
教育部-百科荣创产学合作协同育人,项目编号:201702091011.