林培佳
广东鼎华科技股份有限公司广东佛山528000
摘要:家居智能化是社会发展的必然趋势,而各种信息技术的成熟和发展为智能家居的发展创造了良好的前提条件和基础。本课题基于Android平台开发智能手机的客户端软件,设计了一款智能家居遥控系统,测试表明该系统运行良好,操作便捷,能够实现本地和远程对家庭电器的集中智能控制。
关键词:智能家居;Android;遥控系统;遥控平台
随着网络技术和通信技术的快速发展,人们生活水平的提高,人们对智能家居环境的需求程度日益增强,但利用红外遥控以及电脑等方式的家居控制使用不够灵活,无法真正实现家居系统的实时控制。同时,由于智能手机功能的日益丰富以及手机普及化程度的逐渐升高,使用智能手机作为智能家居系统的控制终端,必定是智能家居系统发展的潮流趋势。下面,结合Android手机等终端设备开发一套实时性较强的智能家居控制系统,给用户带来更好的体验,满足人们对日渐繁多的家庭电器的智能化管理需要。
1.系统设计
本系统由控制主机、学习控制子机及手机APP为主要构成部分,拥有学习模式和使用模式两种模式,如图1所示。学习模式:手机APP选择要学习的按键,主机在SD卡中新建相应名字的文件夹,使用遥控器对子机发射要学习的红外信号,子机将学习到的红外编码信息发送到主机储存到对应的文件夹中。使用模式:手机APP发送遥控指令给主机,主机读取相应文件夹内的编码信息,发送给相应子机,子机将编码信息还原成红外信号发出,完成遥控动作。手机可以通过连接家庭WiFi或者通过移动网络访问控制主机[1]。
整体布局方案如图2所示。将控制主机与家庭路由连接,同时在每一个房间放置一个学习控制子机,学习控制子机用来学习红外遥控载波发送给主机储存或者接收主机发送来的控制指令并根据控制指令发出红外信号遥控房间内的家电。本系统架构具有以下两个优势:可以轻松实现家电的添加和配置,方便管理;拥有学习功能,可实现一个客户端操控所有被控家居。
图3硬件结构图
2.硬件设计
2.1控制主机
2.1.1主控模块
本文采用成本低、性能高的STM32F107VCT6作为主控芯片,具有以太网和USB功能。该芯片时钟配置功能强大,外部输入晶振的范围很大,自带一个RTC实时时钟模块,其MCU具有256KBFLASH、64kBRAM,同时包含各种基础和先进的通信接口。这些特征不仅使得家居系统的外围扩展更为便捷,也使网络通信性能更为强大[2]。
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拓展存储器、晶振等组成。STC15F60S2芯片具有2048字节的SRAM、两组超高速异步串行通信端口、内部高精度R/C时钟,并且无需仿真器、编程器等,应用简单、成本低[3]。
2.2.2通信接口模块
子机的通信接口主要由九针串口电路组成,可与485总线连接。其特点是低功耗关断模式可以减小功耗,高集成度片内最低只需要4个电容即可工作。
2.2.3红外学习模块
红外学习模块可以实现红外编码的学习,其主要由红外接收二极管、LED发光二极管、74LS06反相器、电阻等组成。红外接收二极管对于红外发光二极管发射出的波长为940nm的红外光信号接收能力强,且拒绝接收其他波长的光信号,能够排除其他信号带来的干扰。红外接收二极管接收红外信号通过三极管放大传送到单片机端口[1]。
2.2.4红外发射模块
红外发射模块主要由红外发光二极管、8550三极管、LED发光二极管、74LS06反相器、电阻等组成。红外发光二极管无红暴,以增加使用寿命,且易与晶体管集成电路相匹配,结构较稳定坚固,可靠性高体积小,使用方便。基本原理是单片机端口输出信号通过三极管控制红外发光二极管发出红外信号[3]。
3.手机APP软件设计
Android在网络编程方面提供了非常好的支持。Socket编程是比较底层的网络编程方式,是建立其他应用协议的基础。通过创建Socket对象,就可以通过打开输入输出流来进行通信。
如图4,一个家庭只存在一个管理员账户,初次打开手机APP进入用户注册界面,注册后再次登录APP,管理员账户程序首页具有设置、学习、控制三个功能按钮,其普通账户只有控制功能[4]。
如图5,使用设置功能时,首先进行房屋布局设置,用户可根据家庭实际布局设置楼层、房间编号以及相应房间内的电器编号,同时用户可以根据自己需求设置自己所需要的遥控器按键界面,手机APP与控制主机发生通信,主机根据用户设置建立相应系统结构文件,以存储该用户的APP界面结构和信息。使用学习功能时,在APP上选中指定楼层、房间的电器的需要学习的按键,APP将指令发送给控制主机,主机根据指令建立相应文件名的文件,以存储将要学习到红外信号数据。之后通过串口发送学习指令给相应房间的学习控制子机,收到学习命令的的学习控制子机对遥控器红外编码进行学习并将学习到的编码信息发送给主机存储到相应文件夹中。以此完成学习过程,主机对APP发送学习成功回馈信息。
使用控制功能时,在APP遥控界面按下某一按键,APP发送指令给控制主机,主机根据指令读取相应文件中的红外编码信息发送给指定房间的学习控制子机,该子机使用接收到的数据还原红外信号控制家电的相应功能[4]。
4.结论
总之,随着相关技术的发展和人们对家居系统不断提出更高的要求,智能家居控制系统必将成为未来住宅的发展趋势,走进普通居民的家中,进一步提高居民的家居生活品质与品味。测试表明,本文设计基于Android技术的整个智能家居控制系统成本较低、技术成熟、性能稳定,适宜普通家庭的使用,因而具有一定的应用价值。
参考文献:
[1]杨旭.基于Android平台的智能家居控制系统设计[D].武汉理工大学,2013.
[2]谷雪林.基于Android平台的智能家居控制系统设计与实现[D].新疆大学,2017.
[3]鹿曼.基于Android的智能家居控制系统的设计与实现[D].山东建筑大学,2013.
[4]王瑞娜.基于Android的智能家居系统的设计与实现[J].河北北方学院学报(自然科学版),2016,32(11):8-13.