




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于Android的智能家电控制器的设计与实现 刘章良 (上海第二工业大学 计算机与信息学院) 【内容摘要】:此项目通过一个简单低成本中间件,实现便携智能设备与现在家庭中已有的通过红外控制家电之间经行通讯,实现不用任何改造,无需购买昂贵的终端,通过已有的便携智能设备安装对应APP,既可以直接智能控制家中任意家电。家庭中的灯具,厨具等都稍加改造即亦可以通过你的智能终端控制。【关键词】:智能家控 智能终端 APP 通讯 安卓一、 项目背景(创作意图) 随着智能终端越来越普及,它给带来的人机交互感彻底的颠覆了传统的概念。人们对于智能和人机交互的控制感觉有了更深的体验,对于智能的追求又到了一个新的纪元。智能家电控制在电子兴起的时候就被人们所提起过,并有好多人为此努力过,但是现在仍然处在一个很低的阶段,如家电单一的遥控功能,窗帘按钮等等都是。而且目前各个厂家各种不同规格的,不同通讯协议,在现在这个状态很难统一。所以根据现在的情况我们制作一个中间产品连接起现有的家电和智能终端,达到通过最简单途径实现智能家电控制的任务能达到很好的交互体验。二、 实现目标 1.设计一个小巧中间件里面包括MCU控制面板,与智能终端通讯的蓝牙模块,与家电通讯的红外通讯模块,红外模块具有自我学习功能能通过对特定遥控学习并把它存储在智能终端上以便下次继续使用。 2.设计安卓智能操作系统终端APP,能很好实现的人机体验通过文件系统根据拟定的协议与单片机通讯,根据不同家电给定特定的伪代码能够使单片机产生特定的通讯格式完成对不同家电的控制,间接实现家电通讯的统一,省去家庭中几乎所有遥控器使得一个终端遥控所有的功能,APP具有上网更新及下载资料功能,提供学习到遥控代码的功能。通过APP嵌入销售信息增加对产品的销售,APP使用量也是一笔很多财富。 图1 功能示意图 三、 硬件设计 1.MCU STC89C52简介STC89C52是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash存储器。STC89C52使用经典的MCS-51内核,但做了很多的改进使得芯片具有传统51单片机不具备的功能。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。 具有以下标准功能: 8k字节Flash,512字节RAM, 32 位I/O 口线,看门狗定时器,内置4KB EEPROM,MAX810复位电路,3个16 位定时器/计数器,4个外部中断,一个7向量4级中断结构(兼容传统51的5向量2级中断结构),全双工串行口。另外 STC89C52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率35MHz,6T/12T可选 2.蓝牙通讯 该项目采用的是低功耗透明传输的蓝牙从机模块HC-07,主要应用方面是用于单片机跟电脑或者手机配对通讯。从机是被动设备,只能等待手机或者电脑去配对它,它不可以主动去搜索周围的蓝牙设备。从机模块是透明串口,不需要单片机去做任何配置,也不用管蓝牙的任何事情。对于单片机来讲,模就是根串口线,手机配对连接了模块,就相当于手机跟单片机之间有根串口线连着了,直接串口通讯就行了。这样简化了开发过程如果一门的去考虑蓝牙的东西,就会是开发非常的复杂。用的方法是给模块连接电源,因为使用单片机是5V所以则连接模块的5V排针接口。然后把模块的通信线RXD TXD连接到单片机的TXD和RXD,另外两个引脚AT是给主从一体用发送AT指令用的的,RS是给模块复位的,正常通讯不用连接。 TX: 传送数据 RX: 接收数据 5V:提供5V电源3.3V:提供3.3V电源 RS:复位引脚GND:地线 AT: AT指令 图2 蓝牙模块底片图 图3 HC-07蓝牙模块实物图3. 红外学习遥控接收电路设计所有红外遥控器的输出都是用编码后的串行数据对38kHz40kHz的方波进行脉冲幅度调制而产生的。如果直接对已调波进行测量,而其脉宽只有20多微秒,由于单片机的指令周期是微秒级,会产生很大的误差。因此,先要对已调波进行解调,对解调后的波形进行测量。将CX20106或一体化红外接收头解调出的遥控编码脉冲直接连入STC89C52单片机的INT0和T0脚,定时器T0和T1都初始化为定时工作方式1,T0的GATE位置位。每次外部中断首先停止定时,记录T0、T1的计数值,然后将T0、T1的计数值清零,并重新启动定时。T0的值即为高电平脉宽,T1T0的值为低电平脉宽。T0、T1与红外编码信号脉宽的对应关系并且存储到外部储蓄器24C256中等待发送调用。 图4 红外学习遥控接收电路设计4. 红外学习遥控发送电路设计遥控信号的还原是通过STC89C52的T2特殊输出口进行二进制脉冲码的高电平与低电平的调制输出,其中调制为利用单片机特殊功能进行内部调制这也是本设计的一个创新点,调制后的信号如图3.5-2驱动红外发光管工作。该设计的硬件电路相对简单,因此系统的调试重点在软件上。 图5 红外学习遥控发送电路设计四、 软件设计 1.红外学习遥控程序设计设计的主要思路是通过对红外二进制脉冲的宽度进行测量,从而获得红外遥控的波形信息,进而实现存储、还原。根据遥控信号编码和发射过程,遥控信号的识别(也叫解码过程)是去除38KHz载波信号后识别出二进制脉冲码中的0和1。红外接收头的解调信号送到INT0引脚,由内部定时器完成高低电平长度的采集,然后进行数据保存,由单片机进行高电平与低电平的宽度的测量。遥控信号的还原是通过P1.0(T2)输出二进制已调脉冲。对遥控信号还原的调制在单片机的内部进行,利用了定时器2的捕获工作方式,定时器2是一个16位定时/计数器。它既可当定时器使用,也可作为外部事件计数器使用,其工作方式由特殊功能寄存器T2CON的C/T2位选择。定时器2有三种工作方式:捕获方式,自动重装载(向上或向下计数)方式和波特率发生器方式,工作方式由T2CON的控制位来选择,在捕获方式下,通过T2CON控制位EXEN2来选择两种方式。如果EXEN20,定时器2是一个16位定时器或计数器,计数溢出时,对T2CON的溢出标志TF2置位,同时激活中断。如查EXEN21,定时器2完成相同的操作,而当T2EX引脚外部输入信号发生1至0负跳变时,也出现TH2和TL2中的值分别被捕获到RCAP2H和RCAP2L中。另外,T2EX引脚信号的跳变使得T2CON中的EXF2置位,与TF2相仿,EXF2也会活中断。本系统正是利用了捕获方式的RCAP2H和RCAP2L自动重装载,产生38K调制信号,准备还原的0,1信号的调制通过TF2标志进行调制,该方案不仅合理的利用硬件资源,而且还提高了系统的可靠性。2.安卓程序设计 2.1android简介 Android是一种以Linux为基础的开源代码操作系统,主要应用于手机,因为其良好的人机交互能力和能够安装使用众多功能各异的应用软件而深受人们喜爱,基于Android 2.1版本开发的智能家电控制系统。2.2Android开发环境的搭建 首先在网上下载JDK4.0、Eclipse3.4(Europe) 、Eclipse IDE for java Developers。Android SDK1.5 、APT插件。(1) 安装JDK将下载好的JDK安装好以后,设置环境变量步骤如下:1) 我的电脑-属性-高级-环境变量-系统变量中添加以后环境变量:2) JAVA_HOME值为:D:Program FilesJavajdk1.6.0_18 (你安装JDK的目录)3) 在开始追加%JAVA_HOME%bin;安装完成后,可以检查JDK是否安装成功。打开cmd窗口,输入java-version查看JDK版本信息,出现以后画面表示安装成功。平台安装图1(2) 安装Eclipse将根据上面给的地址下载后安装即可,也可以选择下载绿色版,解压即可使用。(3) 安装Android JDK运行SDK Setup.exe,点击Available Packages。如果没有出现可安装的包,请点击Settings,选中Misc中的Force https:/.这项,再点击Available Packages。选择希望安装的SDK及其文档或者其它包,点击Installation Selected、Accept All、Install Accepted,开始下载安装所选包。在用户变量中新建PATH值为:Android SDK中的tools绝对路径(本机为D:AndroidDevelopandroid-sdk-windowstools)。平台安装图2点击“确定”重新启动计算机,重启之后进入cmd窗口,检查SDK是不是安装成功,运行android h ,如果有类似下面的输出,表示安装成功。平台安装图3(4) 安装ADT1) 打开Eclipse IDE,进入菜单中的”help”-”Install New Software”。2) 点击Add.按钮,弹出对话框要求输入Name和Location:Name自己随便取,Location输入/android/eclipse。如下图所示:平台安装图43) 确定返回后,在work with后的下拉列表中选择我们刚才添加的ADT,我们会看到下面出有Developer Tools,展开它会有Android DDMS和Android Development Tool,勾选他们。 如下图所示:平台安装图4完成之后就按提示一步一步next:i、选择Window Preferences.ii、在左边的面板选择Android,然后在右侧点击Browse.并选中SDK路径,本机为:D:AndroidDevelopandroid-sdk-windowsiii、点击Apply、OK。配置完成。(5) 创建AVD为使Android应用程序可以在模拟器上运行,必须创建AVD。在Eclipse中。选择Windows Android SDK and AVD Manager。点击左侧面板的Virtual Devices,再右侧点击New。填入Name,选择Target的API,SD Card大小任意,Skin随便选,Hardware目前保持默认值。点击Create AVD即可完成创建AVD。注意:如果你点击左侧面板的Virtual Devices,再右侧点击New,而target下拉列表没有课选项时,这时候你:1) 点击右侧面板的Available Packages,在右侧勾选/android/repository/repository.xml,如图所示:平台安装图52) 然后点击Install Selected按钮,接下来就是按提示做就行了要做这两步,原因是在1.3、Android SDK安装中没有安装一些必要的可用包(Available Packages)。这样安卓的开发环境就搭好了。2.3主要开发内容 (1)应用XML语言经行设计部分代码:gjz.bluetooth.AnimationTabHost (2)调用蓝牙API与蓝牙通讯。 /* 取得默认的蓝牙适配器 */private BluetoothAdapter mBtAdapter = BluetoothAdapter.getDefaultAdapter(); Override public void onStart() super.onStart(); / If BT is not on, request that it be enabled. if (!mBtAdapter.isEnabled() IntentenableInten=new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE); startActivityForResult(enableIntent, 3); (3)用java写文件系统,并拟定协议储存各个遥控型号的数据类型。 import java.io.*; class FileTest1 public static void main(String args) System.out.println(path separator +File.pathSeparator); System.out.println(Separator +File.separator); File f=new File(d:temp,text); System.out.println(path +f.getPath(); System.out.println(absolute path+f.getAbsolutePath(); 五、 结论本项目研究正处在手机、pad等智能终端几乎成为人人拥
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 员工离职率高工作总结
- 儿保科出科汇报
- 语文实习教学工作总结
- 小班上学期班级工作总结
- 礼品团购业务年终总结
- 执业医师技能培训
- 工伤预防宣传培训大纲
- 培训专员年度总结与电销转正述职报告
- 妊娠期妇女的护理
- 培训讲师总结汇报
- 膝关节穿刺术课件
- 洁净室区甲醛熏蒸消毒标准操作规程
- DB44-T 2474-2024 自然教育标识设置指引
- (高清版)JTG D81-2017 公路交通安全设施设计规范
- 2024年成都温江兴蓉西城市运营集团有限公司招聘笔试冲刺题(带答案解析)
- 2024年中国人寿养老保险股份有限公司招聘笔试参考题库含答案解析
- 提高新生儿动脉采血穿刺率品管圈
- 家庭食品安全常识教育
- 管井井点降水记录
- 污水钢筋混凝土管施工方案
- 中医学基础理论-经络学说
评论
0/150
提交评论