一、引言

由于红外遥控器价格低廉、技术成熟等优点,许多智能家电设备仍普遍采用红外遥控器进行控制,包括电视、空调、DVD机、电视机顶盒等等。然而,随着家庭中智能家电设备的增多,红外遥控器数量也在增加,一个家庭使用的遥控器数量少则数个,多则十几个,这会带来三大问题:

(1)数量众多的遥控器给使用者带来使用和管理上的不便;

(2)红外遥控器使用的一次性碱性电池,废弃后给环境带来极大的危害;

(3)遥控器意外损坏后,很难找到匹配的遥控器。

基于安卓手机WiFi的家用智能遥控器,可同时控制多个不同品牌不同型号的家用电器,取代传统的实物遥控器,实现“一个家庭只需一个遥控器即可控制所有红外遥控的家电设备”的目标,极大减少遥控器数量和一次性电池的使用量,为人们创造便捷舒适、环保节能的居家环境。

二、系统的结构

整个系统主要包括客户端软件、WiFi转红外模块,如图1所示。客户端软件通过WiFi,将已编码的数据通过WiFi传送至WiFi转红外模块,然后WiFi转红外模块根据编码规则,传递指令至内部红外发射模块,实现红外数据的发送。

(一)家用智能遥控器客户端的构成

1. 码数据包的采集与设计

(1)键码数据包的采集

红外遥控器的编码格式通常有NEC。

NEC格式的特征:使用38kHz载波频率,引导码间隔是9ms+4.5ms,使用16位客户代码,使用8位数据代码和8位取反的数据代码。

随着家庭电器种类、型号的不断增多,相对应的遥控器也随之增加,为了便于管理、存取与更新家电遥控器的红外代码,需要为繁多冗杂的代码建立一个数据包。

(二)遥控器按键数据包的设计

由于红外协议各不相同,并且又相互不兼容,所以直接发送红外数据会导致WiFI转红外模块处理十分繁琐。因此,收集多种红外协议数据,按照自定义编码规则,将多种协议编码化,并保存于后台数据库。

为了实现按键界面与遥控器数据包的匹配,定义数据包格式如下:

文件起始标志位4位。

键码属性128位:设备的信息,访问中文字库编码、ASCII码。

载波频率4位:35-42kHz;分辨率0.5kHz,以适应不同载波的遥控器。

键码编码:对遥控器界面软件的所有按键进行编码,键码位数根据实际红外协议确定。

2. 控器界面软件的设计

(1)数据库设计

安卓操作系统采用标准SQLite数据库,提供管理数据库相关的API.利用SQLiteOpenHelper类中的onCreate()Call Back方法以及onUpdate()Call Back方法创建与打开各种遥控器红外代码表Table,存进数据库中,方便数据的及时更新。

(2)按键与数据包匹配

在手机界面中,每个按键都与其相对应的红外代码相匹配,即按键功能与数据库中各种遥控器数据相连接。通过调用getReadableDatabase()方法当用户按下按键时,软件会查找数据包,将与该按键相连的数据包数据,即相对应的控制家电的红外代码以WiFi的形式发送至WiFi转红外模块。

二、WiFi转红外模块

本模块负责数据接收、红外发射。包含WiFi数据接收与传送、串口数据解析、红外电平发射。采用WiFi芯片USR-WIFI232,提供WiFi信号及获得客户端所发送数据,再将数据通过串口传送至中控CPU。

本模块内部采用单片机作为中控CPU,处理编码化数据与红外协议的转化。由于单片机价格低廉,资源足够,功能满足中控CPU的需求,因此,采用单片机作为中控CPU.在单片机程序中设置多个红外协议入口点,当编码化的数据传送至单片机后,按照自定义的编码规则,寻找对应的红外协议入口,从而发射对应的红外电平。

中控CPU功能硬件电路由单片机最小系统及红外发射电路成。在中控CPU程序中,包含定时器功能、串口数据读取功能、红外电平控制功能。中控CPU的程序流程图如图2.定时器功能主要是用于产生载波,并与红外信号叠加,从而提高红外信号在空气中传播的抗干扰能力。串口数据读取,将WiFi芯片传递的数据加以分析,按照自定义的编码规则,进入不同的红外协议功能函数。红外电平控制功能,实现具体的红外协议函数,通过串口读取功能提供的数据,发射出匹配的红外信号。

3、实验测试

本次试验采用专用的红外测试仪器,可以监测到红外信号并将其波形显示出来。采用安装客户端的安卓手机及WiFi转红外模块,对比于实物遥控器。将实物遥控器、WiFi转红外模块都对准红外测试仪器。按下实物遥控器的某个按键之后,观察红外测试仪器显示的波形,如图3所示;接着按下安卓手机上对应的遥控器按键后,观察红外测试仪器上的波形,如图4所示。

由图3、图4可以看得出,安装客户端的安卓手机及WiFi转红外模块可以实现实物遥控器的功能。

wifi+遥控器+android,基于安卓手机wifi的智能遥控器设计相关推荐

  1. Android基于安卓手机个人理财系统

    个人理财系统,它利用计算机技术技术,使个人理财逐步信息化,从而形成由个人成员与计算机共同构成服务于个人的人机信息财务管理系统.随着计算机发展,个人理财系统已经成为很多个人财务管理的一个重要途径.计算机 ...

  2. android智能小车 论文,基于安卓手机蓝牙控制的智能小车设计毕业设计(论文).doc...

    编 号: 审定成绩: 毕业设计(论文) 设计(论文)题目: 学院:学 生 姓 名 :专 业 :班 级 :学 号 :指 导 教 师 :答辩组 负责人 : 填表时间:年月 摘 要 随着物联网的兴起,And ...

  3. 毕业论文 | 基于安卓手机蓝牙控制的智能小车设计(源代码)

    博主github:https://github.com/MichaelBeechan 博主CSDN:https://blog.csdn.net/u011344545 预告:源代码.论文.电路图设计链接 ...

  4. Android记账系统可行性分析,毕业设计论文-基于安卓的大学生记账管理系统的设计与实现.doc...

    毕业设计论文-基于安卓的大学生记账管理系统的设计与实现 毕 业 设 计 中文题目基于安卓的大学生记账管理系统的设计与Design and Implementation of theCollege St ...

  5. android校园淘论文,基于安卓的校园寻物app的设计与实现--大学生毕业论文(设计).doc...

    基于安卓的校园寻物app的设计与实现--大学生毕业论文(设计) 文 献 信 息 检 索 论 文 课题名称:基于安卓的校园管理软件的设计与实现 负 责 人: 班 级: 学 号: 完成时间: 2014年1 ...

  6. 基于安卓手机使用Termux搭建web服务器教程

    基于安卓手机使用Termux搭建web服务器教程 一.软件的准备 Termux Android5.0以上的手机(最好root) Xshell 6(windows软件) 二.前期Termux的设置与安装 ...

  7. 基于安卓的初中英语语法APP设计与实现(源码+文档+PPT)

    智能手机的普及使移动学习成为一种全新的学习方式,越来越受到研究者与学习者的关注.调查显示,移动学习对英语学习特别是应用英语的学习有良好的效果.基于Android设计开发的英语语法APP包含" ...

  8. 【毕业设计_课程设计】基于安卓APP的音乐播放器设计

    文章目录 0 项目说明 1 模块设计架构 2 界面效果 3 项目源码 0 项目说明 基于安卓APP的音乐播放器设计 提示:适合用于课程设计或毕业设计,工作量达标,源码开放 1 模块设计架构 1.音乐播 ...

  9. 基于STM32的指纹识别智能锁设计

    本设计是基于stm32的指纹识别智能锁设计,主要实现以下功能: 1,OLED显示输入锁的状态,解锁状态,开锁成功,开锁失败,确定,清除 2,通过矩阵键盘输入开门密码.修改密码.确认密码等操作: 3,可 ...

  10. 基于51单片机多功能智能台灯设计 视力灯 坐姿矫正套件 台灯 人体感应 包括实物+电路原理图+程序+proteus仿真

    基于51单片机多功能智能台灯设计 视力灯 坐姿矫正套件 台灯 人体感应 包括实物+电路原理图+程序+proteus仿真 ID:69100646120443268太白路自信的桔梗

最新文章

  1. Python中使用pip安装库时提示:远程主机强迫关闭了一个现有的连接
  2. python 单元测试_Python系列之单元测试框架【unittest】
  3. boost::math::chebyshev_transform用法的测试程序
  4. C++Gaussian-elimination高斯消元法的实现算法(附完整源码)
  5. python画一个祝福别人生日快乐_生日贺卡祝福语(精选50条)
  6. c语言中Gretchen函数的功能,听过很多的歌的音乐达人给我推荐一下
  7. Hive的UDF概念
  8. Apache的Access.log分析总结
  9. pwm波程序如何实现_【优秀成果】如何做好算法与程序实现教学的知识储备
  10. 被踢出sci_这本世界上创刊最早的期刊竟被踢出 SCI 了?!
  11. Spring MVC框架-持久层用hibernate自动化(1)
  12. 世界杯正在成为鸡肋!球迷越来越像傻瓜!
  13. 【Arcgis】球面坐标系转投影坐标
  14. (一)数字图像处理基础知识点
  15. mysql 升序和降序
  16. 超五类双绞线,六类双绞线,七类双绞线的细微区别
  17. 骚男的计算机音乐,lol骚男战歌bgm_lol骚男战歌背景音乐汇总_快吧游戏
  18. java8的sorted,Java8排序stream.sorted()
  19. HTTPS详解及HTTPS实验
  20. windows10计算机里输入法,win10电脑上输入法不见了怎么办

热门文章

  1. 今天睡眠质量记录88分
  2. ad元件定位孔放在哪一层_机械制造技术(1)——定位误差的计算
  3. 纯CSS实现播放暂停按钮变形动画
  4. 写给海布里之王—亨利
  5. Windows 10桌面空白处鼠标右键转圈
  6. DarkComet Analysis – Understanding the Trojan used in Syrian Uprising
  7. php随机发牌游戏,JavaScript_javascript实例--教你实现扑克牌洗牌功能,我们一般都会按照顺序把随机 - phpStudy...
  8. php 判断百度蜘蛛抓取,百度蜘蛛抓取不存在目录 对应的解决方法
  9. 麒麟子带你快速进入Cocos Creator的3D世界
  10. 工欲擅其事必先利器,磨刀不误砍柴工