我也DIY一个Android遥控器-全部开源

1.试用

记得宋宝华在「设备驱动开发详解」提出一个这样的理论「软件和硬件互相渗透对方的领地」,这次证明还是确实是这样,使用上层APP软件加上简单的更为简单的硬件设计就可以完成一个遥控器了。

有开发应用程序网友发E-mail问网上那种DIY的红外遥控器是如何工作的,查了一下目前有两种方式,一种是基于USB一种是基于耳机孔。就简单的回复了一信息。说是将音频信号/USB信号转换为红外信号。事后自己都觉得有点敷衍,还好自己硬件了解一些,软件也会开发。就将他们结合一下。

试用次合,现在开发规律比较清晰了,一般就是先试用进而了解大概功能。试用的次合是在网上买一个 耳机插孔式的遥控发射器 如下内部图(不要理会线,线是我测量焊接的)。

手机上的软件使用提「遥控精灵」(2.9.3版本),身边的测试电器是创维电视。软件设计的比较好使用,试用成功,没有其它障碍。

2.DIY硬件

第二步就是DIY了,Google出[DIY]便宜好用-使用耳機孔的IR遙控器(適用可播.WAV的player) 文長圖多手机遥控器,3.5mm耳机接口红外遥控改造解析两篇文章和一篇原理文章遥控器原理.再结合使用示波器测试按键是耳机孔的输出波形,大概理解了其原理以及DIY需要的元件。

DIY所需元件:1. 3.5耳机插头 2. 红外发射管(其实这个名字也怪,严格意义上它属于发光二极管和一种,但是去电子商城购买时要说前「红外发射管」)

接下来的硬件相关实验是部分替换,软件上使用「遥控精灵」上适配好的配置,然后将焊接好的「遥控器」连接上,进行试验。第一次根据第一篇引用文章中将两个二极管正负相连再连接到耳机插头的左右声道 如下图:

实验结果:成功无误。

第二次实验是 根据第二篇引用文章只焊接一个发射管,实验结果:成功无误。

第三次实验是将正负极颠倒再次测试,实验结果同样是:成功无误。

从上述三个次实验中,清晰了很多概念,但是也带来很的疑惑,文章一中说要将19kHz转换为38kHz所以要两个发射管正负互接的,但是第二次实验中,不进行互接也是可以发射信号的。第三次实验中正反互换都没有影响信号正常的发射与接收。这也是一个一点。第三点是没有接三极管进行放大,同样是可以使用的。先将理论讨论暂时放到这里。继续新的实验。

软件上的实验是最终实现自己开发一个APP来发射数据。

第一步是将「遥控精灵」输出的音频录音下来。硬件连接是使用一个公公的耳机插头将「遥控精灵」输出的按键波形录制下来。将其放到手机中进行播放音频来向电视机发送红外信号。验证通过。

2.DIY软件

整体原理理通顺之后就开始大盘计划,使用编写一个「遥控精灵」的开源版本,即使用代码来实现活的波形。信号的各个参数可以调整,这样就可以实现控制不同类型的设备了。

根据遥控器原理得知需要38kHz的正弦波信号,先在Playing an arbitrary tone with Android找到如何生成正弦波的方法。测试发现并不能输出38kHz,最高只有20KHz,反过来测试「遥控精灵」的输出频率也是20KHz,那就暂且使用20KHz的信号。稍作改动使其输出20KHz的单通道正弦信号。

同样根据遥控器原理中规定的波形的各个长度,进行编码,不过第(3)条要求给忽略了。实现了以下方法:getleaderCode, getUserCodeToWave, getDataCodeToWave, getStopBit分别获取各个阶段的波形。将其结合后第0.1版本出炉。源码位于:https://code.csdn.net/kangear/sinewave。目前可以控制测试的一台创维电视。效果图:

还有很多缺陷要完善:

1.目前失误率还比较高,4次成功一次。

2.目前只实现一个键,可以通过代码修改usercode和datacode。

3.基于单声道的波形,所以只能硬件上连接 左右声道上的一个 和 地。参考软件是可以实现左 右 地之前的任意组合的硬件连接。

时间: 2024-10-11 11:06:53

我也DIY一个Android遥控器-全部开源的相关文章

我有DIY一Android遥控-所有开源

1.试用 记得宋宝华在「设备驱动开发具体解释」提出一个这种理论「软件和硬件互相渗透对方的领地」,这次证明还是确实是这样,使用上层APP软件加上简单的更为简单的硬件设计就能够完毕一个遥控器了. 有开发应用程序网友发E-mail问网上那种DIY的红外遥控器是怎样工作的.查了一下眼下有两种方式,一种是基于USB一种是基于耳机孔.就简单的回复了一信息. 说是将音频信号/USB信号转换为红外信号. 事后自己都认为有点敷衍,还好自己硬件了解一些.软件也会开发.就将他们结合一下. 试用次合,如今开发规律比較清

第一个Android TV Launcher开源项目

Android TV Launcher开源项目 这个项目是机顶盒桌面,用来播放视频.显示图片.应用管理和其他针对机顶盒产品的设置.目前git和CSDN code上面都没有类似的开源项目,正好本人最近在开发类似产品,网上类似研究还非常少,完全自己实现还是比较困难.所以就把目前的项目开源出来,也有利于其他人少走弯路. git项目地址 CSDN code项目地址 项目框架结构 UI.adapter.实体类.图片cache.网络层. 这个层级关系还是和大部分项目是类似的. 功能模块的详细实现方式 这个部

Android UI相关开源项目库汇总

最近做了一个Android UI相关开源项目库汇总,里面集合了OpenDigg 上的优质的Android开源项目库,方便移动开发人员便捷的找到自己需要的项目工具等,感兴趣的可以到GitHub上给个star. 抽屉菜单 MaterialDrawer ★7337 - 安卓抽屉效果实现方案 Side-Menu.Android ★3865 - 创意边侧菜单 FlowingDrawer ★1744 - 向右滑动流动抽屉效果 SlidingRootNav ★1338 - 仿DrawerLayout的View

如何用 Android Studio 导入开源项目以及常见错误的解决办法

声明:这篇文章完全来自这篇文章,感谢大神的相助.这篇文章纯粹是为了备份. 本篇以Github上最热门的MaterialDesign库,MaterialDesignLibrary来介绍怎样使用Android Sudio导入开源项目的,如果你和我一样刚刚从Eclipse转到AS,那本篇文章非常适合你. 如果不引入任何第三方库,不做自动化分渠道打包等操作,那可以在完全不了解Gradle的情况下进行Android项目的开发.但如果要想导入Github上的热门项目,必须首先熟悉Gradle. 1. Gra

GitHub Android 最火开源项目Top20 GitHub 上的开源项目不胜枚举,越来越多的开源项目正在迁移到GitHub平台上。基于不要重复造轮子的原则,了解当下比较流行的Android与iOS开源项目很是必要。利用这些项目,有时能够让你达到事半功倍的效果。

1. ActionBarSherlock(推荐) ActionBarSherlock应该算得上是GitHub上最火的Android开源项目了,它是一个独立的库,通过一个API和主题,开发者就可以很方便地使用所有版本的Android动作栏的设计模式. 对于Android 4.0及更高版本,ActionBarSherlock可以自动使用本地ActionBar实现,而对于之前没有ActionBar功能的版本,基于Ice Cream Sandwich的自定义动作栏实现将自动围绕布局.能够让开发者轻松开发

学习Drupal、phpMyAdmin,一个android设备的软件即可搞定!

手机服务站 v1.0.6下载地址:http://down.znds.com/apk/tool/2014/0528/667.html简介:     一款集成wifiAp+lamp+ssh+bt功能的软件,智能电视及盒子专用(兼容手机).开启wifi热点.web服务器.数据库.私有云.ssh远程登录.Transmission下载,设置热点访问重定向等.默认配置:     wifi热点名称:“zerogameAp”     wifi热点密码:“12345678”     http访问端口:“8080”

Android 优秀的开源框架整理

第一部分:系统架构 thinkAndroid https://github.com/white-cat/ThinkAndroid ThinkAndroid是一个免费的开源的.简易的.遵循Apache2开源协议发布的Android开发框架. xUtils https://github.com/wyouflf/xUtils xUtils 包含了很多实用的android工具.支持大文件上传,更全面的http请求协议支持. Afinal https://github.com/yangfuhai/afin

准备开一个地图SDK的开源项目

最近有点空闲时间了, 准备开一个地图SDK的开源项目, 现在的地图SDK已经有很多了, 再做一个跟重新发明个轮子差不多, 但还想做的原因是想在别的轮子的基础上造个轮子... 初步设想是基于开源的地图渲染引擎tangram-es进行二次开发, 使用Qt5.7进行二次封装, 提供QWidget和QML两种接口 项目地址: https://github.com/tiangles/ltdmap 支持平台: linux gcc 32/64 bits, arm/x86, 未来打算移植到QNX和win32,

一个Android音频文本同步的英文有声读物App的开发过程

转发: http://segmentfault.com/a/1190000003498111 “新概念英语”.“可可英语”.“亚马逊的audible有声书”.“扇贝听力”是我目前所知道的实现英文语音和文本同步的应用.“同步”包括两方面: 被读到的单词(或句子)可以高亮显示,同步显示文本: 选中某个单词(或句子)跳到对应的音频位置播放: 想要实现同步,需要知道每个单词(或句子)在音频中的位置,称之为时间戳,类似于 if(1.905669,2.0353742) you(2.0353742,2.165