资源描述
基于WiFi照明控制系统设计与实现
摘 要:基于ESP8266无线WiFi模块,并结合Android智能移动终端,文中设计了一款可通过无线网络实现开、关灯照明控制系统。
核心词:WiFi;照明;控制;ESP8266;Android
中图分类号:TP393.1 文献标记码:A 文章编号:2095-1302()06-00-02
0 引 言
随着网络技术、软件技术、控制技术发展,智能化应用技术得到了不断进步。智能照明就是一种典型智能化应用。随着社会需求不断变化,老式照明控制方式由于需要使用者近距离操作照明设备开关,给使用者带来诸多不便,因而已无法满足人们日益增长需求。人们更但愿通过当前广泛应用WiFi无线网络,运用随身携带手机、平板电脑等移动终端来对家用电灯等照明设备进行开关操作。本文基于这项需求,设计了一款在WiFi环境下可使用智能手机等移动终端设备进行开关灯操作照明控制系统。
1 系统总体设计
本系统设计重要包括WiFi局域网接入节点、WiFi灯光控制节点和移动终端软件设计。其中WiFi通信某些由ESP8266模块实现。ESP8266采用乐鑫智能互联平台提供ESP8266无线WiFi模块,拥有高性能无线SOC,使无线平台开发设计变得实用、以便。ESP8266 为系统提供了一种完整且自成体系WiFi网络解决方案,可以独立运营、解决有关指令。作为控制系统重要芯片,ESP8266还具备透明传播功能,可通过无线网络接受数据,却不修改数据,直接传送到下一端,使得接受方接到数据内容和长度一致数据,在传播过程中保证了数据精确性[1]。ESP8266模块可配备成Station(客户端)、AP(接入节点)、Station + AP三种模式,即ESP8266模块可作为一种设备(Client)连接区域网内路由,也可设立成一种路由(Sever),既作为局域网里Client同步又是其她ClientSever。系?y总体工作过程如图1所示。
(1)WiFi局域网接入节点。接入节点是控制信号进行传播载体,接入节点使各系统之间建立稳定、良好信道。本文将一种ESP8266模块设立为AP工作模式,作为局域网接入节点。
(2)WiFi灯光控制节点。该节点重要由ESP8266 模块构成。本文将每一种控制灯ESP8266模块设立为Station工作模式,用以接受顾客目的指令,并向所控灯传播开、关控制信号。
(3)移动终端软件。基于Eclipse软件环境进行Android应用软件开发,该软件在顾客使用过程中相称于照明灯遥控器。
2 WiFi接入节点实现
通过串口调试助手等软件工具向ESP8266模块发送AT指令,将模块设立为AP工作模式。详细分为如下几步:
(1)发送命令“AT+RST”使模块重新启动,等待模块响应“OK”后,再进行下一步设立。
(2)指令“AT+CWMODE=”用于设立ESP8266模块工作模式,其中MODE=1表达Station模式;MODE=2表达AP模式;MODE=3表达AP兼Station模式。此处,需要发送命令“AT+CWMODE=2”将模块设立为AP模式。等待模块响应“OK”之后,再发送命令“AT+RST”使得模块重启后设立生效。等待模块再次响应“OK”后,模块AP模式已经启动,然后进行下一步设立。
(3)指令“AT+CWSAP=,,,”用于设立AP模式下参数,其中SSID为字符串参数,用于表达接入点名称;PWD为字符串参数,用于表达密码,密码限制在64字节以内;CHL表达通道号,ECN取值及功能见表1所列。
发送命令“AT+CWSAP=“LampControl”,“123456”,11,0”,待模块响应“OK”后,就可在手机、平板电脑或计算机中通过无线网卡连接到接入节点,之后再进行下一步设立。
(4)指令“AT+ CIPMUX=MODE”用于启动连接,其中,MODE=0为单路连接模式;MODE=1为多路连接模式。指令“AT+CIPSERVER=MODE,PORT”用于设立服务器,其中MODE=0为关闭服务器模式;MODE=1为启动服务器模式,PORT为端标语,缺省值为333。只有在启动多连接模式时才干启动服务器模式。
发送命令“AT+CIPMUX=1”,待模块响应“OK”后再发送命令“AT+CIPSERVER=1,8080”,待模块再次响应“OK”后就可通过网络调试助手在“TCP Client”模式下添加“IP:192.168.4.1(模块默认IP),端口8080”。至此,WiFi接入节点已设立成功。
3 WiFi灯控节点实现
通过串口调试助手等软件工具,向ESP8266模块发送AT指令,将模块设立为Station工作模式。
(1)发送命令“AT+RST”使得模块重新启动,待模块响应“OK”之后,进行下一步设立。
(2)发送命令“AT+CWMODE=1”,将模块设立为Station模式。待模块响应“OK”后,再发送命令“AT+RST”使得模块重启后设立生效。当模块再次响应“OK”,则模块Station模式已经启动,可发送命令“AT+CWLAP”查看当前可用网络接入点。
(3)指令“AT+CWJAP=,”用于加入网络,其中SSID为要加入网络名称,PWD为密码。
发送命令“AT+CWJAP = ”LampControl“, ”123456“”连接到网络中。待模块响应“OK”后,发送命令“AT+CIFSR”可查看本机IP地址,若能查看到IP地址则表达本节点已经对的和AP节点相连。 (4)发送命令“AT+CIPMUX=1”打开多路连接。
(5)指令“AT+CIPSTART=,,,”用于建立TCP连接或注册UDP端标语,其中ID为0~4连接编号,TYPE为字符串参数,设为“TCP”时表达建立TCP连接,设为“UDP”时表达建立UDP连接,ADDR为字符串参数,表达远程服务器IP地址,PORT为远程服务器端标语。
发送命令“AT+CIPSTART=0,”TCP“,”192.168.4.1“,8080”建立灯控节点和接入节点之间TCP连接。待响应 “OK”后则表达连接成功。
(6)指令“AT+CIPSEND=,”用于向指定ID发送指定长度数据。模块收到此命令后先换行返回“>”,然后开始接受串口数据,当数据长度满足LENGTH时发送数据,如果数据发送成功则返回“SEND OK”。
发送命令“AT+CIPSEND=0,8”并发送数据“12345678”给接入节点。
4 Android移动终端软件设计
使用Android SDK、JDK、ADT、Eclipse等工具开发手机客户端控制软件[2]。手机客户端控制软件界面设计重要使用ToggleButton控件或RadioButton控件以以便顾客对灯进行开关操作。为控件添加事件响应,当顾客操作软件时,将开、关灯信息发送给WiFi接入节点[3]。核心代码如下:
Socket socket = new Socker("192.168.4.1",8080);
OutputStream os = socket.getOutputStream();
os.write("LampOn");
os.close();
socket.close();
5 系统测试
连通灯控制电源,将灯控节点接入预定WiFi网络,将手机也接入同一WiFi网络,操作手机中控制软件,成功实现对灯开、关操作。
6 结 语
本文设计了一种在WiFi环境下,可在装有Android系统移动终端上通过软件操作,实现对灯开关操作无线照明控制系统。文中详细简介了系统设计思路、实现办法,并通过测试证明了系统有效性。
参照文献
[1]唐远鸿,李岩,李菲,等.基于WiFi?h境下LED照明智能化控制系统设计与实现[J].科技视界,(9):46-47.
[2]缪贤浩.基于WiFimp3音乐播放系统设计[J].山东工业技术,(4):197.
[3]李刚.疯狂Android讲义[M].北京:电子工业出版社,.
[4]王润民,王健.基于ZigBee道路照明智能控制系统设计[J].物联网技术,,4(12):56-58.
[5]何永玲,吴耀龙.基于WiFi和移动终端智能照明控制系统设计[J].物联网技术,,6(12):102-104.
[6]梁霄霄.基于WiFi和LED照明控制系统研究与实现[D].杭州:杭州电子科技大学,.
[7]王立斌,段子荷,安思达,等.基于WiFi大型库房照明控制系统设计[J].河北电力技术,,35(3):19-20.
[8]王群锋.基于无线网络智能照明系统研究[D].郑州:郑州大学,.
展开阅读全文