《电子技术应用》
您所在的位置:首页 > 嵌入式技术 > 设计应用 > 基于Android平台的智能家居系统设计与实现
基于Android平台的智能家居系统设计与实现
2016年微型机与应用第3期
刘洋, 杨保亮, 杨守良, 项靖媛
重庆文理学院 电子电气工程学院,重庆 402160
摘要: 各式各样高科技产品颠覆了人类传统的生活方式,结合嵌入式技术和物联网技术的新型智能家居给了人们一种舒适、安全、高效的居住环境。本文提出了一种以嵌入式处理器为核心,以Android平台为控制终端,以无线网络通信技术为媒介的新型智能家居系统。以Linux和ARM处理器4412构成服务器可以对Android平台的各种命令进行解析,然后通过无线网络对智能家居的各种对象进行实时监控。实践证明,该方案设计合理,数据传输稳定,具有一定的市场价值和理论研究价值。
Abstract:
Key words :

刘洋, 杨保亮, 杨守良, 项靖媛

重庆文理学院 电子电气工程学院,重庆 402160

  摘要:各式各样高科技产品颠覆了人类传统的生活方式,结合嵌入式技术和物联网技术的新型智能家居给了人们一种舒适、安全、高效的居住环境。本文提出了一种以嵌入式处理器为核心,以Android平台为控制终端,以无线网络通信技术为媒介的新型智能家居系统。以Linux和ARM处理器4412构成服务器可以对Android平台的各种命令进行解析,然后通过无线网络对智能家居的各种对象进行实时监控。实践证明,该方案设计合理,数据传输稳定,具有一定的市场价值和理论研究价值。

  关键词:Android;智能家居;ARM;服务器

0引言

  智能家居以住宅为平台,利用先进的计算机技术、网络通信技术、综合布线技术和无线技术,将与家居生活有关的各种子系统有机结合在一起,目的是使家居生活更加智能化、信息化、人性化和节能化,核心目标是提升家居生活的质量[1]。在智能家居控制系统中,核心设备是家居控制终端。国内外学者已经给出了基于键盘或红外遥控器、家庭或办公电脑、智能手机作为家居控制终端的3类解决方案[2]。第一种方案是目前比较流行的遥控方式,但是遥控距离不能做得很远,同时不能把电机的信息通过遥控器显示出来。第二种方案轻松解决了遥控器方案的缺点,但是由于计算机的体积庞大,重量大,不能做到灵活移动,最重要的是实时性受到很大的限制[3]。第三种方案是基于Android 的手机和平板电脑的广泛应用,可以使用手机或平板电脑作为智能家居的控制终端,使用无线网络(WiFi,GSM( Global System for Mobile Communication) 等) 对智能家居系统进行控制,可真正实现方便、远程控制家用电器,给用户带来更好的体验,以达到提升家居质量的目标[45]。本文利用现在广泛使用的安卓智能手机等终端设备设计了一套新型的智能家居控制系统,同时对窗帘控制部分和智能感应部分进行硬件设计和测试,通过实践证明,该系统运行稳定,成本低廉,手机控制端能及时地发送各种命令控制各种电器,同时通过手机的监控器可以随时监控家里的各种信息,真正做到了互联网时代的双向互联。

1系统总体设计


001.jpg

  基于Android手机控制智能家居系统,主要由Android手机客户控制端、ARM服务器、各种控制电器和数据采集部分等组成,系统结构如图1所示。其中手机控制终端主要用于发送各种电器的控制命令和监视各个电器的工作状态,ARM服务器负责接收手机控制端送来的命令并进行解析,然后根据协议把手机的控制命令通过无线模块传到各个电器控制端,同时可以接收各个电器控制端的数据并按照一定的协议发送给手机客户端。终端设备的控制器采用宏晶公司生产的IAP15F2K62S2单片机为主控器,接收ARM服务器送来的命令进行操作,例如控制窗帘图2系统电源电路图的电机进行动作等。数据采集部分主要采集房间内各种信息,主要有摄像头监控、温湿度数据采集、有毒气体的采集等,数据采集端也是采用STC单片机控制,把采集得到的数据及时通过服务器传到手机控制终端,让用户观察。整个系统中采用了两种无线通信方式,减少了有线通信方式的布线难题,安装简单,同时减少了整个系统的造价成本,便于以后的推广。

2系统硬件电路设计

  2.1单片机最小系统的设计

  IAP15F2K62S2系列单片机是STC生产的单时钟/机器周期 (1T)的单片机 ,是高速、高可靠、低功耗、超强抗干扰的新一代8051单片机, 采用第八代加密技术,加密性超强, 指令代码完全兼容传统8051,但速度可提高8~12倍 。内部集成高精度R/C时钟,5 MHz~35 MHz宽范围可设置,可彻底省掉外部昂贵的晶振和外部复位电路。3路CCP/PWM/PCA,8路高速10 位A/D转换, 内置2 KB大容量 SRAM,2组高速异步串行通信端口,1组高速同步串行通信端口SPI,可应用于多串行口通信/电机控制/强干扰场合。在设计单片机最小系统时,关键要把电源电路和下载电路设计好,晶振和复位电路可以不设计。由于外部电路采用24 V的开关电源供电,而单片机需要5 V的电源电路,因此采用LM2576两级稳压构成,为了控制电源的质量,使用电容进行滤波处理,其电源电路图如图2所示。下载电路采用CH340T芯片进行设计,因为在STC单片机中串口可以用来进行程序的下载,给设计带来很大的便利。

002.jpg

  2.2窗帘驱动电路的设计

  在智能家居系统中,智能窗帘是不可缺少的部分,也是智能家居中安防系统的主要元素。智能窗帘的执行结构主要由电机组成,系统的主电源是24 V的直流电,在电机的设计过程中也是采用24 V的直流电机。智能窗帘的控制系统要实现电机的升降控制,电机的控制系统是可逆调速系统,这里选用37GB555微型直流减速电机,电机驱动电路配保险丝,带反接保护,电流过大保险丝会烧断。持续最大电流5 A,过载保护电流10 A,短路时间不超过30 s。驱动板采用原装进口芯片,滤波电容采用独石电容,电路稳定可靠。该驱动系统采用驱动芯片+MOSFET的驱动模式,驱动芯片选用美国IR公司生产的IR2110驱动器,兼有光耦隔离和电磁隔离的优点,场效应管选择了原装进口的IRF540NS,其中窗帘驱动部分的主要电路图如图3所示。

003.jpg

3系统的软件设计

  3.1手机客户端

  手机客户端是在安卓操作系统之上开发的一款简单实用的APP,可以方便用户在手机上进行智能家居的控制和监控。客户端主要涉及到与用户进行交互的操作界面和登录成功后各种电器的控制程序和监控数据的显示等,交互界面包含登录界面、注册界面和操作界面。系统采用安卓交互式图像界面,界面直接美观、个性化强,给用户提供一种良好的用户体验感。登录界面采用多个线性布局和相对布局相互嵌套进行布局,在布局控件之中还加入一些其他的控件,比如用于用户输入用户名、密码和服务器IP的EditText对话框。登录成功后会进入一个操作界面,在界面中对所有的家用电器进行编码后通过对应的控件显示出来,直观明了,达到了用户所见即所用。用户进入该界面后可以点击对应家用电器的控制按钮,此时会通过无线WiFi将用户的需求发送给家用电器处理服务器,最终达到用户控制家用电器的目的。程序会根据用户的操作对象显示出相应操作的设备以及设备的状态信息。手机客户端软件设计的框图和手机实际的界面如图4、图5所示。

004.jpg

  3.2服务器软件设计

  3.2.1服务器主程序

  在智能家居控制系统中手机客户端与家庭信息处理服务器采用C/S(客户端/服务器)软件结构。这种结构将系统任务分配给一个服务器和多个客户端。服务器对数据进行分析管理,客户端为用户提供服务;客户端处理界面请求并向服务器发送请求,服务器收到客户端的请求内容后会返回给客户端实现两者的交互;两者分别发挥各自优势相互配合紧密合作。采用C/S点对点的结构模式,安全性可以得到提高,增强人机交互能力。智能家居ARM服务器流程图如图6所示。

  3.2.2设备编码

  在程序编写之前对家用电器进行编码处理,确保编码好的数据在解析过程中不会出现歧义或者无法解码的情况。在编码过程中为了保证设备和编码的唯一性和准确性,采用JSON格式对数据进行编码处理和解码处理。JSON是一种数据交换格式,交互更加方便灵活。表1给出了设备的编码规则。

  3.2.3传输协议和Socket通信

  针对智能家居系统,目前比较常用的传输协议为TCP协议和UDP协

  议。UDP是一种非面向连接的传输层协议,无法了解接收端是否正确接收完成数据,但其传输速率高,资源消耗小,适合一次传输较少的应用环境。TCP是一种面向连接的传输控制协议,其传输包括建立连接、传输数据、释放连接三个过程,可提供端到端的全双工传输的通信方式[6]。

005.jpg

007.jpg

  图6智能家居ARM服务器流程图Socket通信包含了面向连接的Socket通信和无连接的Socket通信,由于本文采用TCP协议,所以选择的是面向连接的Socket通信。首先要启动服务器,通过Socket()函数调用Socket对象;绑定服务器的IP地址和端口号。其次通过Bind()函数绑定本地网络IP地址和Socket对象。然后调用listen()函数使Socket对象处于侦听状态。服务器端调用accept()函数设置一个阻塞,等待客户端的数据。表1设备编码表设备空调电视冰箱台灯窗帘风扇温度视频编码kt-1tv-1bx-1wc-1el-1wm-1tm-1ca-1

  若IP及端口号与服务器端匹配则可以调用write()函数向输入流写入数据,此时客户端只需要等待服务器写入数据即可。服务器和客户端的Socket通信流程如图7所示。

  

006.jpg

4结论

  在研究目前智能家居存在问题的基础上,提出了一种新的智能家居控制系统。该系统通过随身携带的Android智能手机等终端作为家用电器的移动控制服务器,可以随时随地对家里的各种状态进行检测和控制。手机界面采用图片方式,操作简单易用,避免了文字操作的繁琐和枯燥,在数据通信方面,硬件上采用无线WiFi降低设备的成本和安装的便捷性,软件上选择Socket通信,使得软件的开发周期缩短。实践证明该系统简单易行,具有一定的推广价值。

  参考文献

  [1] 董立岩,隋鹏,辛晓华,等. 基于Android 的智能家居终端控制系统[J].吉林大学学报( 信息科学版),2014.32(3):303-306.

  [2] 刘建华,田岁苗,赵勇. 基Android的智能家居系统设计[J].西安邮电大学学报,2013,18(4):71-74.

  [3] 王朝华,陈德艳,黄国宏,等. 基于Android 的智能家居系统的研究与实现[J]. 计算机技术与发展,2012,22( 6):226-228.

  [4] 彭建盛.基于Symbian 平台智能家居控制系统的设计与实现[J].天津师范大学学报: 自然科学版,2011,31(2):56-58.

  [5] 邵鹏飞,王喆,张宝儒. 面向移动互联网的智能家居系统研究[J].计算机测量与控制,2012,20( 2):474-476.

  [6] 周时伟,谢维波,基于Android的智能家居终端设计与实现[J].微型机与应用,2012, 31(14):10-13.


此内容为AET网站原创,未经授权禁止转载。