基于无线局域网的空调控制系统的设计
摘要本文介绍了一种在无线局域网内对空调进行控制的方法。通过对现有的远程监控空调的接口进行分析,设计了一种能连接wifi网络的接口模块,利用手机将原有的控制命令通过局域网发送给wifi接口模块,进而实现对空调的监控。
【关键词】wifi模块 局域网 监控空调 手机软件
1 引言
随着通信技术、计算机技术、网络技术、控制技术的迅猛发展,促使了家庭生活的实现现代化,居住环境的舒适化、安全化。这些高科技已经影响到人们生活的方方面面,改变了人们的生活习惯,提高了人们的生活质量,正是在这种形势下,本文提出了一种通过wifi无线局域网络对空调进行监控的系统。
本系统是以以太网、手机、带有远程监控接口的空调、wifi无线网的传输网络为物理平台,构成一个完整的空调控制系统。
2 方案设计
本文利用EMW3280wifi转串口模块来实现与远程监控空调接口通信,编写手机软件,利用手机在局域网中对空调进行监控。
2.1 硬件部分
局域网空调控制系统主要由四大部分构成,即空调与wifi模块之间交换信令部分、wifi模块与以太网之间数据交互部分、手机与路由器之间的通信。由于原有的空调使用的是控制器UART串口转成485接口进行远程控制,我们去掉485模块,利用EMW3280wifi转串口模块直接与空调控制板的UART接口连接[2],使用空调控制板的电源对wifi模块进行供电,然后利用手机发送原有的485监控内容,就可以实现局域网对空调的控制。Wifi模块部分串口处理程序流程图如图1.1所示。
硬件部分发送程序实现代码如下:
void SendData(MySendData_TypeDef *pkt)
{UINT8 cs = 0;//定义计算校验和变量
UINT8 i = 0;//定义计数变量
UartSendChar(0xAA);//发送特征码
cs = 0xAA;//开始计算校验
UartSendChar(pkt->AddrCmd);//发送指令
cs += pkt->AddrCmd;//计算校验
UartSendChar(pkt->RunMode);//发送模式
cs += pkt->RunMode;//计算校验
UartSendChar(pkt->SetTemp);//发送温度
cs += pkt->SetTemp;//计算校验
UartSendChar(pkt->SetWind);//发送风速
cs += pkt->SetWind;//计算校验
UartSendChar(pkt->ConData1);//发数据
cs += pkt->ConData1;//计算校验
UartSendChar(pkt->ConData2);//发数据cs += pkt->ConData2;//计算校验
for(i = 0; i < 3; i++){
UartSendChar(pkt->SetTime[i]);//时间
cs += pkt->SetTime[i];//计算校验}
UartSendChar((0xFF - cs));//发送校验值
}
2.2 软件部分
软件设计部分主要由三大部分组成:获取可以控制的空调列表、空调控制界面、查看空调运行信息。空调控制界面参考空调的遥控器功能和图标进行设计,点击相应的图标后会对空调发送出所对应的操作命令。空调执行发送的操作命令后,手机显示返回的数据信息。软件接收部分程序如下:
void GetReturnData(UINT8 ch){
switch(com_state) {caseMYSTART_STATE://检测特征字节
if(ch==0xCC){com_cs=0xCC;com_cnt=0;
com_state = MYTYPE_STATE; }else{
com_state = MYSTART_STATE;}break;
case MYTYPE_STATE://接收状态特征字节ReDataBuf.Type=ch;com_cs+=ch;
com_state = MYMODE_STATE;break;
case MYMODE_STATE: //接收模式状态
if(ch <= 0x05){ReDataBuf.RunMode = ch;
com_cs += ch;com_state = MYTEMPE_STATE;
}else{com_state = MYSTART_STATE;}
break;
case MYTEMPE_STATE://接收设定温度值ReDataBuf.SetTemp=ch;com_cs += ch;
com_state = MYWIND_STATE;break;
case MYWIND_STATE://接收运行数据1
ReDataBuf.ConData1 = ch;com_cs += ch;com_state=MYERR_STATE;break;
case MYERR_STATE://接收故障状态码
ReDataBuf.Error=ch;com_cs+=ch;com_state = MYInEnTe_STATE;break;
case MYInEnTe_STATE://接收校验字节状态
if((0xFF - com_cs) == ch){
isr_send_signal(Uart1_Task);}
com_state = MYSTART_STATE;break;
default:com_state = MYSTART_STATE; break;}}
3 系统设计
在局域网内控制空调,首先要解决的问题就是如何获取到可以进行控制的空调,如果家中有多个空调可以进行控制,那么将如何解决等等,系统结构框图如图2所示。
本文根据以太网的特性,利用UDP通讯协议向局域网事先固定的端口发送特定的字符串,wifi模块不断的监听该端口并且能够识别该字符串,同时返回自身的MAC地址、IP地址和设备名称。这样利用手机发送发送广播就可以实现获取局域网中可以进行控制的空调列表了(如图3.1所示)。
当需要对指定的空调进行控制时,只要点击空调列表中对应的空调,就可以进入空调控制界面,此时手机作为客户端通过TCP协议主动向wifi模块发起连接,连接成功后向空调发送读取空调状态信息的命令,空调接收到命令后向手机发送空调当前的所有信息,然后手机显示空调当前的信息(如图3.2、图3.3所示)。
当多个手机客户端连接同一台空调时,也不会相互干扰,因为wifi模块能将空调返回的数据信息同时传给连接它的客户端,这样所有的手机客户端都会看到空调最新的运行状态。
4 结束语
经过测试,系统的各项功能都实现,在局域网内性能稳定。目前智能家居的概念比较流行,而本文根据用户的需要在原有的基础上进行了技术改进,实现了空调的网络控制。通过在春兰集团变频一级e星空挂机空调和柜机空调的调试运行,该系统具有很高的稳定性和可靠性,完全能够满足用户的需求。
参考文献
[1]张宏亮.基于GSM的智能家居控制系统设计[J].科技向导,2011,11:6-29.
[2]樊昌信.通信原理教程(第3版)[M].北京:电子工业出版社,2013.
[3]竹下隆史,村山公保,荒井透.通信新读:图解TCP/IP(第5版)[M].北京:中国人民邮电出版社,2013.
[4]RICHARD W.TCP/IP详解:Vo1协议[M].北京:机械工业出版社,2000.
作者单位
江苏春兰制冷设备股份有限公司江苏省泰州市225300