基于Android手机终端的智能家居控制系统设计
作者:姜晓峰
来源:《科技与创新》 2015年第20期
姜晓峰
(广东宜通世纪科技股份有限公司,广东 广州 510631)
摘 要:探讨了基于Android 手机终端的智能家居控制系统,分别从系统整体设计、系统硬件平台设计、OPC 片上系统设计和Android 客户端设计四个方面作了详细、系统的论述,以期能为相关人员提供借鉴。
关键词:Android;智能家居;控制系统;控制平台
中图分类号:TP273.5 文献标识码:A DOI:10.15913/jki.kjycx.2015.20.091
伴随着生产力的不断发展,人们的物质生活水平不断提高,传统的家居系统成本高、安全性差,人们已经不再满足现在的这种同工业革命时期相差无几的生活方式了。近年来,智能家居的出现满足了人们的生活需求。基于此,本文就Android 手机终端的智能家居控制系统设计进行了探讨。
1 系统整体设计
在以CycloneIII 系列芯片为核心的FPGA 硬件控制平台上开展设计和研发,其中包括了蜂鸣器、按键、数码管等基本外设。实现过程是:通过在FPGA 芯片内部嵌入NIOSII 软核作为通信和控制核心,从而构建SOPC 片上系统。
2 系统硬件平台设计
考虑到现实的需求,硬件需由WIFI 模块、FPGA 控制平台、继电器模块组成,具体如图1 所示。
由图1 可知,手机通过无线WIFI 将控制信息传递给位于同一AP 热点下的WIFI 模块,WIFI 模块将接
收到的控制信号由串口传递给FPGA,FPGA 则根据接收到的指令控制相应的继电器工作,从而实现对家电的控制。同时,FPGA 还可以将家电的工作状态和室内的环境状况通过WIFI 模块再次反馈给手机。下面将详细阐述硬件设计中各构成模块的功能实现。
2.1 FPGA 控制平台
FPGA 控制平台是硬件系统的核心,主要负责接收和处理控制指令、控制动作电路、监测和反馈状态信息等。考虑到设计需求和系统成本,我们选择了CycloneIII 系列中性价比更为优越的EP3C5E144C8N。该款芯片内部包含5 136 个逻辑单元、95 个标准用户I/O 口、46 个九位嵌入式乘法器和2 个锁相环,可以流畅运行NIOSII 软核。存储芯片则选择了三星公司的K4S561632E-UC75 动态存储芯片,容量为256 Mb,位宽16 bits。为了方便使用,核心板上还设计了一款容量为16 Mb 的FPGA专用配置芯片EPCS16。同时,考虑到控制平台的通用性、可移植性和可扩展性,平台上又进一步设计了4 个LED、两位共阴极数码管、1 个蜂鸣器、4 个拨码开关和8 个按键开关等基本外设,而且电源芯片选用了ASM1117-2.5 、ASM1117-3.3 和LM317,这三款芯片可分别为FPGA 提供2.5 V、3.3 V 和1.25 V电压。另外,FPGA 所有用户I/O 口都已引出,以便扩展。
2.2 传输协议模块
在智能家居中的应用原则中,TCP 和UDP 是目前最常用的网络通信协议。TCP 是基于连接的协议,
UDP 是一个无连接的、不可靠的协议。相对于基于流传输的TCP 而言,UDP 是基于消息传输的,整体上具有传输速度快等优点。通过研究可以看出,家用电器的控制信息特点是数据量小、控制信息短,适合用于传送少量数据、对可靠性要求不高的应用环境,因此更适合采用简单的、面向数据报的UDP 协议。
2.3 无线WIFI 模块
无线WIFI 模块采用的是深圳市海凌科电子有限公司的HLK-RM04。该模块是基于通用串行接口且符合网络标准的嵌入式模块,内置TCP/IP 协议栈,能够实现用户串口、以太网、无线网(WIFI)三个接口之间的转换。在本次研发设计中,该模块的主要作用是将WIFI 无线信号通过串口与FPGA 控制中心相互通信。
2.4 Zigbee 模块
采用CEL 公司的ZICM2410 芯片,其内核芯片结构如图2所示。CEL 公司的ZICM2410 是兼容ZigBee 和IEEE802.15.4的完整单片无线解决方案。它包含1 个带有基带调制解调器的RF 收发器、硬连线MAC 和1 个带有内部闪存的嵌入式8051微控制器。该器件提供了多个通用I/O 引脚、定时器和UART等外围设备功能,并且是第一个提供嵌入式声音CODEC 的器件,因此是超低功耗应用的理想选择。
2.5 RFID 模块
RFID 模块采用CY-14443A-P 系列射频模块,利用SPI 总线与控制器通信。CY-14443A系列射频读写模块采用基于ISO14443标准的非接触卡读卡机专用芯片。模块引脚如图3 所示。
2.6 继电器模块
由于智能家居系统的控制对象是普通家电,都属于强电用电器。因此,使用控制平台操控时,就需要通过继电器来实现间接控制。继电器采用的是松乐继电器。为保证继电器的顺利闭合,本模块采用了达林顿晶体管ULN2003L 来增加FPGA 的驱动能力。
3 OPC 片上系统设计
在FPGA 内部设计NIOSII 片上系统主要包括两个方面:①在FPGA 芯片内部设计硬件电路;②编写基于NIOSII 的软件程序。
3.1 硬件电路设计
硬件系统由时钟、NIOSII 软核、音效模块组成。NIOSII软核和音效模块所需要的时钟频率不同,因此需要利用FPGA内部的一个嵌入式锁相环对时钟进行分频和倍频,这样可使整个系统实现频率同步。在此基础上配置NIOSII 软核,由其完成指令的下达和数据的输入、输出。而音效模块则是家庭音响,主要由Android 客户端实现控制。
3.2 基于NIOSII 的软件设计
NIOSII 支持C 语言开发程序代码,并提供强大的硬件抽象层系统库(HAL)。NIOSII 处理器的外围器件允许用户通过HAL的API 接口直接访问底层硬件。同时,HAL 系统库定义了一组基本功能,使设计者可以直接初始化和访问常用器件,而不再需要考虑底层硬件,这大大简化了程序的设计流程。程序运行烧写至FPGA 内部的NIOSII 软核中,主要功能除了接收WIFI无线模块传来的串口信息、译码并控制电路外,还能接收和处理各模块的状态信息,并反馈给WIFI 无线模块。
4 Android 客户端设计
本客户端是在Windows7 操作系统下构建的。Android 客户端是用户与控制系统沟通信息的交互界面。客户端的功能就是实现设计用户界面与Socket 之间的成功通信。通过Socket 通信,即打开网络套接字,由WIFI 网络传递信息。将Android 客户端安装在用户手机中,手机和系统的WIFI 模块连接到同一个AP热点。Android 客户端通过套接字向网络(WIFI 模块)提供发送请求或者应答请求,触发后台应用程序。应用程序分析操作指令后发送相应的控制信息,并通过路由器传递给WIFI 模块,WIFI 模块再将接收到的信息转换为串口信息传递给FPGA内部的NIOSII 软核,NIOSII 软核处理接收到信息后控制相应的引脚动作,进而由引脚控制继电器的吸合和断开,由此实现对普通家电的完整控制。
Android 客户端的用户界面文件包含了若干个TextView(文本框)控件和1 个Button(按钮)控件,用户可以通过界面中的按键实施相应操作。功能清单文件l 是对应用程序的全局描述,
也是应用程序不可或缺的一个重要文件。所有应用程序所使用到的组件均存在于l 文件中,并且发表了与其有关的特性和要求声明。程序代码由JAVA 语言编写,交互界面之间的切换与显示则由TabHost 控件实现与维护。Android 软件通过“套接字”向网络(WIFI 模块)提出发送请求或者应答请求。设计程序时,需着重考虑Socket 通信。
5 结束语
综上所述,目前智能家居正朝着无线远程与近程控制相结合,集多媒体、游戏娱乐功能于一身和快速、便利等方向发展,而基于Android 手机终端的智能家居则正好满足了人们的生活需求,相信通过不断的探索和应用,智能家居肯定会有更好的发展。
android软件 参考文献
[1]王清清,李晓勇,余强国.基于Android 手机终端的智能家居远程控制系统[J].中国科技信息,2013(12).
[2]杨堤.基于物联网的智能家居控制系统设计与实现[J].电子世界,2012(21).
〔编辑:王霞〕
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论