基于手机APP的智能家居遥控平台设计
作者/ 高帆 戴瑞 厉雪 于淼 淮阴工学院 电子信息工程学院(江苏 淮安 223003)
本文引用地址://www.cghlg.com/article/201709/364874.htm摘要:为满足人们对日渐繁多的家庭电器的智能化管理需要,本文提出了一种基于ARM嵌入式处理器和Android技术的智能家居控制系统的设计方案。以STM32F107VCT6为控制主机主控芯片,通过以太网/WiFi通信接口连接家庭宽带;通过RS485通信技术连接学习控制子机,子机可以对红外遥控的按键编码进行学习存储或者响应主机指令并对已储存的编码进行还原和发送。最后,编写了基于Android系统的APP,通过APP对控制主机发出指令,就可以对家电设备进行控制。实验结果表明,该系统操作便捷,能够较好地实现本地和远程对家庭电器的集中智能控制。
引言
随着人们的生活水平大幅度提高,加之电子信息技术、计算机技术和通信技术的迅猛崛起,人们对日常家居环境有了更高的需求和渴望。智能家居系统实现了家居设备的智能化管理,使原本繁琐、笨拙的家居管理方式逐渐变得智能化、人性化。但目前市面上智能家居系统往往存在着一些问题,有的产品价格相对不高但功能单一,可操作性差,可扩展性也不好;而一些功能稍稍丰富的系统往往价格偏高、系统复杂,安装和使用较吃力,不利于智能家居遥控系统的推广和使用。低价高效、智能化、人性化、好扩展的智能家居遥控系统成为研究人员的理想目标。综合考虑以上因素,本课题用ARM实现嵌入式控制主机结合学习型遥控器控制端的智能家居遥控系统[1],然后基于Android 平台开发智能手机的客户端软件[2],用户使用手机通过无线网络就可以实现集中智能控制家电。
1 系统设计
本系统由控制主机、学习控制子机及手机APP为主要构成部分,拥有学习模式和使用模式两种模式,如图1所示。学习模式:手机APP选择要学习的按键,主机在SD卡中新建相应名字的文件夹,使用遥控器对子机发射要学习的红外信号,子机将学习到的红外编码信息发送到主机储存到对应的文件夹中。使用模式:手机APP发送遥控指令给主机,主机读取相应文件夹内的编码信息,发送给相应子机,子机将编码信息还原成红外信号发出,完成遥控动作。手机可以通过连接家庭WiFi[3]或者通过移动网络[4]访问控制主机。
整体布局方案如图2所示。将控制主机与家庭路由连接,同时在每一个房间放置一个学习控制子机,学习控制子机用来学习红外遥控载波发送给主机储存或者接收主机发送来的控制指令并根据控制指令发出红外信号遥控房间内的家电。本系统架构具有以下两个优势:可以轻松实现家电的添加和配置,方便管理;拥有学习功能,可实现一个客户端操控所有被控家居。
2 硬件设计
2.1 控制主机
2.1.1 主控模块
本文采用成本低、性能高的STM32F107VCT6作为主控芯片,具有以太网和USB功能。该芯片时钟配置功能强大,外部输入晶振的范围很大,自带一个RTC实时时钟模块,其MCU具有256KB FLASH、64kB RAM,同时包含各种基础和先进的通信接口。这些特征不仅使得家居系统的外围扩展更为便捷,也使网络通信性能更为强大。
2.1.2 通信模块
整个通信模块可以分为系统外部网络和系统内部网络,外部网络是指通过路由器连接到外部Internet,内部网络主要为本地RS485通信总线。控制主机采用WiFi或者有线方式连接家庭路由。WiFi模块采用成熟的ESP8266网络解决方案,具有强大的存储能力和片上处理能力。控制主机通过RS485总线与各房间内的学习控制子机连接,RS485总线网络具有组建成本低、分布范围广、可靠性稳定性好等特点,而且有线方式保密性好,不易被盗用。
2.1.3 信息存储模块
存储方式选择SD卡存储,主机具有SD卡接口电路。SD卡传输效率高、安全性好、价格低、稳定性好、简单易学、技术成熟。SD卡中存储三种文件:①用户信息文件,包括APP用户名、密码、权限信息等;②家电系统结构文件;③编码文件组,包括与学习功能控键相关的文件名及存储的载波频率和编码信息等内容。
2.2 学习控制子机
2.2.1 控制器模块
子机的核心控制器模块主要由STC15F60S2芯片、锁存器74LS373、62256拓展存储器、晶振等组成[5]。STC15F60S2芯片具有2048字节的SRAM、两组超高速异步串行通信端口、内部高精度R/C时钟,并且无需仿真器、编程器等,应用简单、成本低。
2.2.2 通信接口模块
子机的通信接口主要由九针串口电路组成,可与485总线连接。其特点是低功耗关断模式可以减小功耗,高集成度片内最低只需要4个电容即可工作。
2.2.3 红外学习模块
红外学习模块可以实现红外编码的学习[6],其主要由红外接收二极管、LED发光二极管、74LS06反相器、电阻等组成。红外接收二极管对于红外发光二极管发射出的波长为940nm的红外光信号接收能力强,且拒绝接收其他波长的光信号,能够排除其他信号带来的干扰。红外接收二极管接收红外信号通过三极管放大传送到单片机端口[7]。
2.2.4 红外发射模块
红外发射模块主要由红外发光二极管、8550三极管、LED发光二极管、74LS06反相器、电阻等组成。红外发光二极管无红暴,以增加使用寿命,且易与晶体管集成电路相匹配,结构较稳定坚固,可靠性高体积小,使用方便。基本原理是单片机端口输出信号通过三极管控制红外发光二极管发出红外信号。
3 手机APP软件设计
Android在网络编程方面提供了非常好的支持。Socket编程是比较底层的网络编程方式,是建立其他应用协议的基础。通过创建Socket对象[8],就可以通过打开输入输出流来进行通信。
如图4,一个家庭只存在一个管理员账户,初次打开手机APP进入用户注册界面,注册后再次登录APP,管理员账户程序首页具有设置、学习、控制三个功能按钮,其普通账户只有控制功能。
如图5,使用设置功能时,首先进行房屋布局设置,用户可根据家庭实际布局设置楼层、房间编号以及相应房间内的电器编号,同时用户可以根据自己需求设置自己所需要的遥控器按键界面,手机APP与控制主机发生通信,主机根据用户设置建立相应系统结构文件,以存储该用户的APP界面结构和信息。
使用学习功能时,在APP上选中指定楼层、房间的电器的需要学习的按键,APP将指令发送给控制主机,主机根据指令建立相应文件名的文件,以存储将要学习到红外信号数据。之后通过串口发送学习指令给相应房间的学习控制子机,收到学习命令的的学习控制子机对遥控器红外编码进行学习并将学习到的编码信息发送给主机存储到相应文件夹中。以此完成学习过程,主机对APP发送学习成功回馈信息。
使用控制功能时,在APP遥控界面按下某一按键,APP发送指令给控制主机,主机根据指令读取相应文件中的红外编码信息发送给指定房间的学习控制子机,该子机使用接收到的数据还原红外信号控制家电的相应功能。
4 结论
本文介绍了基于Android平台设计与实现智能家居遥控系统的过程,对系统的整体设计、软硬件设计都进行了细致的分析,并对各模块的功能实现与通信进行了说明。系统的核心是STM32芯片,成本低、性能高,结合技术成熟、成本低廉的RS485本地通信,以手机APP程序实现编码学习、存储、遥控。整个系统成本较低、技术成熟、性能稳定,适宜普通家庭的使用,具有一定的使用价值。
参考文献:
[1]蒋立兵. 基于STM32的智能家居控制系统的设计与开发[D].北京邮电大学,2011.
[2]孙润.基于WiFi智能家居的网关设计[D].西安工业大学,2015.
[3]严立. 基于Wi-Fi的智能家居中控器的设计和实现[D].电子科技大学,2015.
[4]林粤伟,宋丹.基于Android手持设备的智能家居遥控系统研制[J].电子产品世界,2015,06:37-39.
[5]王永华,周卫,詹宜巨,等.一种通用学习型红外遥控器设计与实现[J].广东自动化与信息工程,2005,02:18-19.
[6]刘霞,侯义斌,黄樟钦,等.学习型红外控制系统在环绕智能中的应用[J].计算机工程与设计,2007,01:193-196.
[7]周祖荣,冯步云.基于单片机简便学习型红外万用遥控器的设计[J].信息通信,2013,10:64-65.
[8]吕红海.基于Android的智能家居无线控制系统的设计与实现[D].电子科技大学,2012.
本文来源于必威娱乐平台 2017年第10期第43页,欢迎您写论文时引用,并注明出处。
评论