新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > Android终端及FPGA控制的智能家居系统

Android终端及FPGA控制的智能家居系统

作者:时间:2015-03-31来源:网络收藏

  3 应用程序的开发

本文引用地址:http://www.eepw.com.cn/article/271874.htm

  终端的应用程序是基于2.3版本,在Eclipse平台下用Java语言进行开发,其主要内容包括设计一个人机交流界面、获取已配对的蓝牙设备并建立连接、利用Socket进行数据传输等。

  3.1界面设计

  该应用程序主要有两个界面,开启时首先进入主控界面,主要包括温湿度的显示、防盗系统的开启与关闭、电视遥控等功能,点击电视遥控按键将进入红外遥控界面。界面通过AbsoluteLayout进行布局设计,这是一种绝对布局,可以任意调整每个控件的横坐标和纵坐标,界面上每个按键通过绑定一个地址和添加一个监听器,点击按键后会触发监听器并执行相应的操作。

  3.2蓝牙的获取和连接

  应用程序中需要建立一个蓝牙通信通道,以便与端的蓝牙模块进行数据传输,在建立蓝牙通信之前先搜索出已配对的蓝牙设备并用列表显示,当点击其中一个设备进行连接时,其地址值会被记录下来并通过Intent回传给主Activity.当本机蓝牙开启以及要连接设备的地址获取后就可建立Socket连接,通过Thread创建的一个线程来进行Socket连接,连接成功后界面上会显示“连接成功”。

  4功能模块的开发

  4.1无线通信设计

  系统中主要运用了蓝牙、GSM这两种无线通信协议,其中蓝牙是应用在手机和主控中心之间的通信,它的传输距离达10m左右,满足室内使用要求。而GSM用于远距离报警。

  4.2学习型红外遥控

  现在大多数家庭中使用到红外遥控器多达数个,如果将控制全部集中于手机则会十分便利,但不同遥控器的红外编码是不一致的,因此本系统设计的是学习型红外遥控,它以STM8S105S4单片机作为主控芯片,包括了红外发射和接收两部分电路,能够学习并存储各种红外编码,工作流程如图3所示。

  

 

  图3学习型红外遥控工作流程

  4.3温度检测

  温度检测采用NTC(热敏电阻),它是随温度上升电阻呈指数关系减小、具有负温度系数的材料,因此只要采样出的电阻值然后与其温度阻值变化列表进行对应便可得出当前的温度值。设计中用单片机内部的10位A/D转换器采样其电压值,再根据分压电阻求出NTC的阻值,最后通过取表得出温度值。

  4.4湿度检测

  湿度检测采用HS1100湿度传感器,它是一种基于电容原理的湿度传感器,相对湿度的变化和电容值呈线性规律。在实际测试中,电容值随着空气湿度的变化而变化,因此将电容值的变化转换成电压或频率的变化,才能进行有效地数据采集。设计中用NE555组成振荡电路,HS1100湿度传感器充当振荡电容,从而完成湿度到频率的转换。

  4.5振动检测

  振动检测采用MMA7631三轴小量程加速度传感器,它根据物体运动和方向改变输出信号的电压值。各轴的信号在不运动或不被重力作用的状态下,其输出为1.65V.采用STM8S105S4单片机内部的10位A/D转换器采样3个方向的电压,根据采样结果的变化来判断门窗是否振动,当变化范围超过一定的限值时,则判断门窗被开启,触发报警信息。

  本文设计并实现了一个基于Android智能终端及的智能家居系统,在3个平台下完成开发,分别是用Java语言在Android系统下进行应用程序开发,用Verilog语言对主控进行设计以及基于STM8单片机的功能模块设计。以FPGA作为主控中心,相比于AMR11、STM32等串行处理器,它可实现视频监控、人脸识别等高速复杂处理,而且无须后台服务器,减低了成本。系统以Android设备作为遥控终端,与传统控制方案比,它可以实现程序化控制,可存贮各种个性化的控制方案。本系统使用方便、操作简单,能满足普通家庭的需求,具有较高的实用性和推广价值。

红外遥控器相关文章:红外遥控器原理

万能遥控器相关文章:万能遥控器代码


fpga相关文章:fpga是什么



上一页 1 2 下一页

关键词: Android FPGA

评论


相关推荐

技术专区

关闭