nadroid手机应用开发技术红外遥控器开发实习报告大学毕设论文.docx
- 文档编号:29691301
- 上传时间:2023-07-26
- 格式:DOCX
- 页数:67
- 大小:382.20KB
nadroid手机应用开发技术红外遥控器开发实习报告大学毕设论文.docx
《nadroid手机应用开发技术红外遥控器开发实习报告大学毕设论文.docx》由会员分享,可在线阅读,更多相关《nadroid手机应用开发技术红外遥控器开发实习报告大学毕设论文.docx(67页珍藏版)》请在冰豆网上搜索。
nadroid手机应用开发技术红外遥控器开发实习报告大学毕设论文
河南科技大学
生产实习报告
实习主题Android手机应用开发技术
实习单位洛阳科洛信息技术有限公司
学院软件学院
专业班级软件工程151
学生学号153251090108
学生姓名韩哲宇
指导教师张虎马啸
2016-2017学年第一学期
生产实习任务书
姓名
韩哲宇
学号
153********8
班级
软件工程(专升本)
所学专业
软件工程
实习单位
洛阳科洛信息技术有限公司
指导教师
张虎马啸
实习主题(方向)
Android手机应用开发技术
实习内容
通过本课程设计,使学生巩固android的基本概念、原理和技术,在完成一个小型程序的设计过程中,学习android软件设计思想、方法,锻炼学生软件设计、查阅及运用资料的能力,以达到强化学生的实践意识,提高学生实际动手能力和创新能力的目的。
实习目标和要求
任务要求:
1、将遥控各种家用电器的遥控器们集合起来,利用它们都是利用发射红外线进行遥控的共同特点,将功能集合在一部智能手机上。
这种高度集合、统一的特征是本项目的优势。
2、利用智能手机的耳机接口输出的音频电压信号传出控制外接模块发射红外线遥控信号的电压信息。
利用耳机接口的巨大优势是,相比于各种手机不同型号的USB接口,耳机接口可以使外接模块适合各种安卓系统智能手机,并且巧妙利用了音频电压信号这种信息载体,通过耳机口输出的音频电压信号,对外接模块发射红外遥控信号进行控制。
3、软件部分所实现的功能是:
遥控器面板的选择以及绘制;
遥控器面板上的按键与对应要发出的红外遥控信号所对应的控制音频信号之间的触发关系对应;
音频电压信号从耳机接口的输出。
时间进度安排
序号
起止日期
工作内容
1
9.5-9.8
Java、Android基础学习
2
9.9-10.28
学生进行项目功能模块设计、编码、测试
3
10.31
程序验收
4
11.1-11.10
根据设计内容形成课程设计文档,撰写课程设计报告
5
11.11
上交课程设计报告
指导教师意见:
指导教师:
2016年11月14日
生产实习教学计划
学年学期:
2016~2017学年第一学期专业班级:
软工151
周次
工作日
日期
时间
教学环节
内容
实习部门
指导/授课教师
第一周
周一
9月5日
上午
讲课
Java核心语法
研发部
马啸
下午
实践
基本语法练习
研发部
马啸
周三
9月7日
上午
讲课
android中的面向对象
研发部
马啸
下午
实践
面向对象集合基本练习
研发部
马啸
周五
9月9日
上午
讲课
android中java的多线程
研发部
马啸
下午
实践
Android中的java编程练习
研发部
马啸
第二周
周一
9月12日
上午
讲课
重新定义手机软件开发方式,
手机软件开发注意1
研发部
马啸
下午
讲课
重新定义手机软件开发方式,
手机软件开发注意2
研发部
马啸
周三
9月14日
上午
讲课
android开发七大件1_activity
研发部
马啸
下午
实践
Activity跳转练习
研发部
马啸
周五
9月16日
上午
实践
android开发七大件2_activity
研发部
马啸
下午
实践
Activity跳转传参
研发部
马啸
第三周
周一
9月19日
上午
实践
Android开发七大件3
研发部
马啸
下午
讲课
使用Intent实现拍照练习
研发部
马啸
周三
9月21日
上午
讲课
Android开发七大件4
研发部
马啸
下午
实践
使用service完成多线程下载练习
研发部
马啸
周五
9月23日
上午
讲课
Android开发七大件5
研发部
马啸
下午
实践
使用Laucher制作APP启动效果
研发部
马啸
第四周
周一
9月26日
上午
讲课
Android开发七大件6
研发部
马啸
下午
实践
使用Notification完成设计模式案例
研发部
马啸
周三
9月28日
上午
讲课
Android开发七大件7
研发部
马啸
下午
实践
BroadcastReceiver接收系统通知
研发部
马啸
第五周
周五
9月30日
上午
讲课
生产实习学习目标介绍
研发部
马啸
下午
讲课
生产实习学习目标介绍
研发部
马啸
周六
10月8日
上午
讲课
红外遥控器原理
研发部
马啸
下午
实践
学习红外遥控器电路图
研发部
马啸
第六周
周一
10月10日
上午
讲课
红外遥控器的解码1
研发部
马啸
下午
实践
红外遥控解码过程
研发部
马啸
周三
10月12
上午
讲课
红外遥控器的解码2
研发部
马啸
下午
实践
空调红外遥控解码
研发部
马啸
周五
10月14
上午
讲课
红外遥控设备选择
研发部
马啸
下午
实践
耳机插孔红外设备原理
研发部
马啸
第七周
周一
10月17
上午
讲课
红外遥控APP界面讲解1
研发部
马啸
下午
实践
制作设备选择界面
研发部
马啸
周三
10月19
上午
讲课
红外遥控APP界面讲解2
研发部
马啸
下午
实践
制作设备控制界面
研发部
马啸
周五
10月21
上午
讲课
红外控制开发1
研发部
马啸
下午
实践
Android系统识别红外设备驱动
研发部
马啸
第八周
周一
10月24
上午
讲课
红外控制开发2
研发部
马啸
下午
实践
Android系统识别红外设备驱动
研发部
马啸
周三
10月26
上午
讲课
红外控制开发3
研发部
马啸
下午
实践
发送编码识别空调开关
研发部
马啸
周五
10月28
上午
讲课
红外控制开发4
研发部
马啸
下午
实践
发送编码识别空调开关
研发部
马啸
第九周
周一
10月31
上午
讲课
红外控制开发5
研发部
马啸
下午
实践
识别空调开关后适配空调各种控制键
研发部
马啸
周三
11月2
上午
讲课
红外控制开发6
研发部
马啸
下午
实践
控制空调温度
研发部
马啸
周五
11月4
上午
讲课
红外控制开发7
研发部
马啸
下午
实践
空调控制功能测试
研发部
马啸
第十周
周一
11月7
上午
实践
撰写报告
研发部
马啸
下午
实践
撰写报告
研发部
马啸
周三
11月9
上午
实践
撰写报告
研发部
马啸
下午
实践
撰写报告
研发部
马啸
周五
11月11
上午
实践
撰写报告
研发部
马啸
下午
实践
撰写报告
研发部
马啸
第一章需求分析6
1.1生产实习题目6
1.2生产实习任务及要求6
1.3软硬件运行环境及开发工具6
第二章系统设计6
2.1系统分析6
2.2系统的主要功能7
第三章详细设计7
3.1系统的主要功能7
3.2软件部分11
3.3软、硬件的配合11
3.4软件界面效果13
3.5主要代码15
第四章测试用例文档46
4.1测试范围46
4.2测试目标46
4.3测试环境46
4.4测试工具46
4.5功能测试46
4.6被测试对象(单元)的介绍47
4.7测试环境与测试辅助工具的描述47
4.8功能测试47
第五章生产实习总结与体会49
参考文献49
第1章需求分析
1.1生产实习题目
通过本生产实习,使学生巩固android的基本概念、原理和技术,学会使用java语言进行android红外遥控程序的开发,将理论与实际相结合,完成一个红外遥控器的设计与实现,并在此基础上强化学生的实践意识,提高其实际动手能力和创新能力。
1.2生产实习任务及要求
将手机变成红外遥控器,控制空调、电视、DVD,实现遥控器常用功能。
要求完成的app适配红米4、HTC、samsung 等自带红外设备的手机,能够控制空调的开关、风量、温度、模式;能够控制电视的开关、换台;控制DVD的碟片出仓、换曲。
1.3软硬件运行环境及开发工具
硬件:
装有windows7系统的x86计算机
软件:
eclipsejdk1.7android-sdk4.2
第2章系统设计
2.1系统分析
本系统在利用现已成熟的且功能十分强大的安卓智能手机操作系统为软件基础,配合一种合适各种手机的外接硬件模块,通过将手机耳机接口输出的高低电压信息在外接模块内转化为红外线输出,达到能遥控各种以红外遥控器控制的家用电器。
本系统的创新点有如下两点。
其一是将各个红外遥控器的功能集合在一部智能手机上的集合性。
其二是利用了耳机接口输出的音频电压信号进行信息的传输,保证软硬件的高度适应性。
2.2系统的主要功能
一是将遥控各种家用电器的遥控器们集合起来,利用它们都是利用发射红外线进行遥控的共同特点,将功能集合在一部智能手机上。
这种高度集合、统一的特征是本项目的优势。
二是利用智能手机的耳机接口输出的音频电压信号传出控制外接模块发射红外线遥控信号的电压信息。
利用耳机接口的巨大优势是,相比于各种手机不同型号的USB接口,耳机接口可以使外接模块适合各种安卓系统智能手机,并且巧妙利用了音频电压信号这种信息载体,通过耳机口输出的音频电压信号,对外接模块发射红外遥控信号进行控制。
第3章详细设计
3.1系统的主要功能
为了实现用红外线遥控家用电器的目的,需要在现有的智能手机以外加入一个硬件模块,以实现发射红外控制电器的目的。
一下所述的就是一种将手机耳机接口输出的含有高低电压信息的信号转化为红外线信号发射出来的硬件模块。
通常来说,一部智能手机有两种接口可以进行信息的输出:
USB接口,耳机接口。
考虑到由于品牌与信号不通,各种手机的USB接口型号都不尽相同,比如苹果手机的USB接口就是很扁的长条形的30-pin接口,而三星手机的则要更短。
如果采用USB接口作为控制本课题硬件部分的输出接口,那么要适应各种各样的接口难度极大。
按照同样的思路,耳机音频接口是绝大部分,甚至可以说是全部智能手机都有的接口。
如果采用耳机接口输出控制信号,那么就可以有极好的适应性。
因此,本课题选择采用耳机音频接口输出信息控制红外发射硬件部分。
本课题硬件部分的输入端直接连在智能手机或任何手持智能设备的音频输出插座上,一般情况下就是简单地插在智能手机或任何手持智能设备的耳机插座上。
它的输出就是符合一定编码规则和标准的红外遥控信号。
本课题中的一种耳机接口输出的电压信号驱动的红外遥控发射器是主要由1个整流电路、1个RC积分电路和1个比较器组成信号转换器。
在输入的电压信号的幅值超过参考电压Vb一定程度的情况下,该信号转换器先通过整流和RC积分把得到的高音频电压信号转换整形成一个电压为Va大于Vb的方波信号,再经过比较器的放大作用,比较器输出一个可以驱动红外发光二极管的方波信号。
在输入的音频电压信号很低,幅值远低于参考电压Vb的情况下,该信号转换器通过整流和RC积分无法得到一个电压Va比Vb大的方波信号,比较器输出的是一个无法驱动红外发光二极管低电平信号。
这样,当输入的是符合一定编码规则的时高时低的电压信号时,输出的就是符合该编码规则的红外遥控方波信号。
下面结合附图对本实用新型作进一步的详细说明。
图2.1
(1)是音频电压信号处理的流程,说明符合一定编码规则的时高时低的电压信号转换成符合该编码规则的红外遥控方波信号的过程。
图2.1
(2)是音频电压信号驱动的红外遥控信号发射器的原理图,图中选择全桥整流电路来具体实现权利要求中提到的整流电路的功能,使整个信号转换器的灵敏度和稳定性更好。
Vb是比较器的反相输入点上的参考电压,Va是输入的音频电压信号经过全桥整流和RC积分后的信号的电压。
当Va大于Vb时,比较器的输出是高电平,红外发光二极管发出红外线信号。
当Va小于Vb时,比较器的输出是低电平,红外发光二极管没有红外线输出。
图2.1(3)是用低电压双路比较器LM393的一路的音频电压信号驱动的红外遥控信号发射器的实施例。
整个发射器的供电电压Vcc是3V。
R23是千欧数量级的电阻,R22的数量级是几十千欧的,Vb大约为100毫伏。
C21是几百到几千pf数量级的陶瓷电容,R21是兆欧数量级的电阻,两者组成的RC积分电路把输入的强音频电压信号转换成电压Va大于150毫伏的电压信号。
在Va大于Vb时,LM393的输出成高阻状态,供电电压Vcc经过限流电阻R24和R25使红外发光二极管D2发出红外线。
输入:
来自数字智能设备耳机接口的一组按规律时断时续的音频电压信号。
全桥整流和RC积分滤波:
一组按规律时断时续的近似方波信号。
输出:
一组按规律时断时续的符合编码规则的红外遥控信号。
图2.1
(1):
音频电压信号处理的流程
图2.1
(2):
音频电压信号驱动的红外遥控信号发射器的原理图
图2.1(3):
用低电压双路比较器LM393的一路的音频电压信号驱动
的红外遥控信号发射器的实施例
3.2软件部分
软件部分使用智能手机安卓操作系统作为平台,在其基础上编写相应软件,来操纵红外发射模块。
安卓平台的应用,由eclipse编译器,java语言,配合附加在eclipse中的androidsdk进行编写。
本软件部分所实现的功能是:
1)遥控器面板的选择以及绘制。
2)遥控器面板上的按键与对应要发出的红外遥控信号所对应的控制音频信号之间的触发关系对应。
3)音频电压信号从耳机接口的输出。
3.3软、硬件的配合
在初始化阶段,程序在绘制触屏界面的同时,要把手机的输出音量调大到最大输出音量的4/5以上,然后发出一个出现几百毫秒的连续音频电压信号,给红外遥控信号发射器预热和电容充电。
在触屏上的一个按钮被按下以后,要再次检查和调整手机的输出音量到最大输出音量的4/5以上,然后播放按对应规律时断时续的音频电压信号。
这个有规律的音频电压信号可以是标准的,频率在音频范围内的正弦信号。
在程序退出之前,还要把要把手机的输出音量调小到最大输出音量的2/5附近。
图2.3是该手机遥控程序的框图。
图2.3:
运行总流程图
3.4软件界面效果
3.5主要代码
MainActivity
packagecom.lidnec.infrared;
importjava.util.HashMap;
importjava.util.Map;
importcom.example.httppost.JsonPost;
importcom.lidnec.infrared.service.IrCodeService;
importcom.lidnec.infrared.service.IrCodeServiceImpl;
importcom.lidnec.infrared.service.IrdaFixedCode;
importcom.lidnec.infrared.service.IrdaInstCode;
importcom.lindec.androidsqlite.InfraredDB;
importandroid.annotation.SuppressLint;
importandroid.app.Activity;
importandroid.content.Intent;
importandroid.hardware.ConsumerIrManager;
importandroid.os.Build;
importandroid.os.Bundle;
importandroid.os.Handler;
importandroid.os.Message;
importandroid.os.StrictMode;
importandroid.text.TextUtils;
importandroid.view.View;
importandroid.view.View.OnClickListener;
importandroid.widget.Button;
importandroid.widget.Toast;
@SuppressLint("NewApi")
publicclassMainActivityextendsActivityimplementsOnClickListener{
privateButtonbut_check;
privateButtonbut_send;
privateButtonbut_pp;
privateButtonbut_getInst;
privateButtonbut_ac;
privateConsumerIrManagerir;
privateIrCodeServiceirCodeService;
//privateInfraredDBinfraredDB;
privatestaticfinalintSAMPLE_FREQ=38400;
privatestaticfinalint[]IR_SIGNAL_PULSE_COUNT={171,171,22,64,22,64,22,64,22,21,22,21,22,21,22,
21,22,21,22,64,22,64,22,64,22,21,22,21,22,21,22,21,22,21,22,21,22,21,22,64,22,21,
22,21,22,21,22,21,22,21,22,64,22,64,22,21,22,64,22,64,22,64,22,64,22,64,22,876};
privatestaticfinalint[]IR_SIGNAL_TIME_LENGTH={4499,4499,578,1683,578,1683,578,1683,578,552,578,
552,578,552,578,552,578,552,578,1683,578,1683,578,1683,578,552,578,552,578,552,578,552,
578,552,578,552,578,552,578,1683,578,552,578,552,578,552,578,552,578,552,578,1683,578,
1683,578,552,578,1683,578,1683,578,1683,578,1683,578,1683,578,23047};
//privatestaticfinalint[]rawCodes_ac_open[100]=
//{3602,4400,4450,550,1600,550,550,550,1650,500,1650,550,550,550,550,500,1650,550,550,550,550,500,1650,550,550,550,550,500,1650,550,1650,500,550,550,1650,550,550,500,1650,550,1650,500,1650,550,1650,500,550,550,1650,550,1600,550,1650,550,550,550,500,550,550,550,550,550,1600,550,550,550,550,550,1600,550,1650,550,1600,550,550,550,550,550,550,550,500,550,550,550,550,550,550,550,500,550,1650,550,1600,550,1650,550,1600,550,1650,550};
privatestaticfinalint[]rawCodes_ac_open={4397,4368,561,1578,560,537,557,1581,584,1582,584,486,
558,537,584,1554,560,538,558,510,558,1607,557,513,585,511,556,1585,581,1583,583,486,557,
1609,556,513,558,538,557,512,558,1607,558,1583,557,1608,558,1608,557,1580,559,1606,559,
1581,556,1609,557,512,559,537,558,512,557,539,557,512,558,1607,558,1582,558,537,584,
1555,558,1607,556,514,559,537,556,513,558,537,556,514,558,1606,559,511,583,513,558,1582,
557,1608,558,1580,585,5154,4419,4347,584,1555,558,539,557,1581,584,1581,571,501,577,516,
571,1568,557,541,581,487,557,1608,557,513,558,538,557,1582,583,1582,584,487,557,1608,
557,511,611,486,558,510,558,1607,557,1609,556,1583,583,1582,583,1555,558,1607,558,1607,
559,1582,557,537,585,486,558,510,558,540,558,509,557,1608,558,1608,557,512,559,1606,559,
1581,558,537,581,490,558,510,587,511,557,511,559,1606,559,510,569,527,558,1582,560,1604,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- nadroid 手机 应用 开发 技术 红外 遥控器 实习 报告 大学 论文