小标
2018-10-25
来源 :
阅读 2799
评论 0
摘要:本文主要向大家介绍了机器人之基于蓝牙的可自学习手机遥控器android应用,通过具体的内容向大家展现,希望对大家学习机器人有所帮助。
本文主要向大家介绍了机器人之基于蓝牙的可自学习手机遥控器android应用,通过具体的内容向大家展现,希望对大家学习机器人有所帮助。
android功能:蓝牙通信、手机遥控器、红外编码、可自学习红外编码
GITHUB项目地址:https://github.com/wjbianjason/IrDA
测试时需要配套一个蓝牙转红外的接口,淘宝上卖。
大家可以看下图片是否是您的需要
该软件含有一个程序包com.ds.IrDA。该程序包含有6个Java文件,其中主要的有5个java文件,下面会依次介绍。另外还有3个xml显
示文件,主要的有client.xml实现操作界面,device.xml显示搜索到的蓝牙列表。主要就是蓝牙通信,并且利用Android里里面最简单
的存储方式SharedPreferences来存取自学习到的红外编码。点击学习按钮后,按一下你想学习的那个按键然后将该按键的编码传过
来,学习完了,它会自动提示学习完毕的,你可以自己点学习完毕提前结束学习,当然编码肯定不是你手动输入的,而是你通过红
外接收器量化电平后输出的编码。
(1)ClientAvtivity.java是客户端界面的activity,主要功能是实现搜索、画图、命令发送的和数据接收的显示。
1、点击“开始搜索”键执行以下代码。
转到DeviceListActivity.java进行蓝牙设备的搜索和显示。
2、协议列表的建立和选择
3、打开客户端界面时的存储数据读取操作,存储方式为SharedPreferences。
4、各类按键的操作设定
5、学习键的设定
6、编码名添加键的设定
7、学习完毕键的设定
8、广播接收的各类响应代码如下,实现对其他java文件广播事件的处理,其中包括对自学习红外编码数据的接收。
9、红外编码数据的发送,通过进行发送隐式intent让相应广播器接收处理
10、对选择设备的响应接收,创建蓝牙设备列表的activity时是用startActivityForResult()方法,所以可通过onAcitvityResult方法来接收返回的数据,即选择的蓝牙设备名和地址。
(2)DeviceListActivity.java,实现的功能是显示搜索到的蓝牙设备。
1、注册广播接收,并建立ListView来显示蓝牙设备
2、 广播接收处理,处理找到设备和蓝牙搜索结束的广播
3、处理蓝牙设备选择的触屏选择
(3)BluetoothClientService.java主要实现客户端界面后台的各项功能,包括数据发送和接收,蓝牙设备的查找,并注册相应的广播接收来响应相应的信息,又通过发送广播将信息传输出去。
1、打开蓝牙适配器,开始搜索
2、发现蓝牙设备后,发送广播告知DeviceListActivity.java。
3、广播接收器的注册,从中可以看到这个service具体处理的广播信号
4、 接收数据的处理,根据接收字节流的前两个字节判定接收的数据是属于哪一类型,例如发送的反馈,自学习的命令。其中包括新建txt 文件存储自学习的红外编码字节流,通过study_order确定每个按键编码在txt文件里的起始位置,通过study_num存储每个按键编码在txt文件里的字节长度
5、调用通信进程发送数据,如果选择的是自学习红外协议,通过打开存储文件根据study_order和study_num找到相应的按键编码,再进行发送。
(4)BluetoothClientConnThread.java建立一个蓝牙设备连接进程,主要实现蓝牙设备的连接,建立通信信道。
(5)BluetoothCommunThread.java是通信进程,用于具体数据的接收和发送
在这个文件中存储了NEC协议的编码,当选择的是NEC编码时,会直接从该文件中读取编码命令。
1、NEC协议编码的设定
2、Converse函数,将0、1二进制数转化为本次项目需要的显示电平时长的编码。
3、实现数据的接收
4、实现红外编码的发送
好了,基本就这些了,这些都是之前写的工程了,图片也是之前写傻瓜书时截的,若有什么不明白的可以把工程下下来看
本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标人工智能智能机器人频道!
喜欢 | 0
不喜欢 | 0
您输入的评论内容中包含违禁敏感词
我知道了

请输入正确的手机号码
请输入正确的验证码
您今天的短信下发次数太多了,明天再试试吧!
我们会在第一时间安排职业规划师联系您!
您也可以联系我们的职业规划师咨询:
版权所有 职坐标-一站式AI+学习就业服务平台 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
沪公网安备 31011502005948号