HardBirch

Android提高第十二篇之蓝牙传感应用

时间:10-11-26 栏目:安卓入门与提高 作者:张飞不张,文采横飞 评论:139 点击: 77,683 次

       上次介绍了《Android利用麦克风采集并显示模拟信号》,这种采集手段适用于无IO控制、单纯读取信号的情况。如果传感器本身需要包含控制电路(例如采集血氧信号需要红外和红外线交替发射),那么传感器本身就需要带一片主控IC,片内采集并输出数字信号了。Android手机如何在不改硬件电路的前提下与这类数字传感器交互呢?可选的通信方式就有USB和蓝牙,两种方式各有好处:USB方式可以给传感器供电,蓝牙方式要自备电源;USB接口标准不一,蓝牙普遍支持SPP协议。本文选择蓝牙方式做介绍,介绍Android的蓝牙API以及蓝牙客户端的用法。
在Android 2.0,官方终于发布了蓝牙API(2.0以下系统的非官方的蓝牙API可以参考这里:http://code.google.com/p/android-bluetooth/)。Android手机一般以客户端的角色主动连接SPP协议设备(接上蓝牙模块的数字传感器),连接流程是:
1.使用registerReceiver注册BroadcastReceiver来获取蓝牙状态、搜索设备等消息;
2.使用BlueAdatper的搜索;
3.在BroadcastReceiver的onReceive()里取得搜索所得的蓝牙设备信息(如名称,MAC,RSSI);
4.通过设备的MAC地址来建立一个BluetoothDevice对象;

5.由BluetoothDevice衍生出BluetoothSocket,准备SOCKET来读写设备;

6.通过BluetoothSocket的createRfcommSocketToServiceRecord()方法来选择连接的协议/服务,这里用的是SPP(UUID:00001101-0000-1000-8000-00805F9B34FB);
7.Connect之后(如果还没配对则系统自动提示),使用BluetoothSocket的getInputStream()和getOutputStream()来读写蓝牙设备。

 

先来看看本文程序运行的效果图,所选的SPP协议设备是一款单导联心电采集表:

本文的代码较多,可以到这里下载:http://www.pudn.com/downloads305/sourcecode/comm/android/detail1359043.html

本文程序包含两个Activity(testBlueTooth和WaveDiagram),testBlueTooth是搜索建立蓝牙连接。BluetoothAdapter、BluetoothDevice和BluetoothSocket的使用很简单,除了前三者提供的功能外,还可以通过给系统发送消息来控制、获取蓝牙信息,例如:

注册BroadcastReceiver:






在BroadcastReceiver的onReceive()枚举所有消息的内容:



// 显示所有收到的消息及其细节
for (int i = 0; i < lstName.length; i++) {
String keyName = lstName[i].toString();
Log.e(keyName, String.valueOf(b.get(keyName)));
}

在DDMS里面可以看到BluetoothDevice.ACTION_FOUND返回的消息:

程序另外一个Activity~~~WaveDiagram用于读取蓝牙数据并绘制波形图,这里要注意一下JAVA的byte的取值范围是跟C/C++不一样的,Android接收到的byte数据要做"& 0xFF"处理,转为C/C++等值的数据。

声明: 本文由( 张飞不张,文采横飞 )原创编译,转载请保留链接: Android提高第十二篇之蓝牙传感应用

Android提高第十二篇之蓝牙传感应用:目前有139 条留言

  1. 0楼
    kf156:

    [e01]必须的

    2010-11-26 11:07 [回复]
  2. gv,顶顶你,识做滴。。

    2010-11-26 11:09 [回复]
  3. 0楼
    JNU_kinke:

    ding,必须的

    2010-11-26 11:10 [回复]
  4. 0楼
    scyclone:

    ding

    2010-11-26 11:14 [回复]
  5. 0楼
    xjbx:

    [e03]

    2010-11-26 11:24 [回复]
  6. 0楼
    hmc1985:

    啥也不说了,顶![e01]

    2010-11-26 11:29 [回复]
  7. 0楼
    jiahuibin:

    关注好久,最近又有新东西&#183;&#183;呵呵&#183;&#183;你QQ多少,交个朋友&#183;

    2010-11-26 15:22 [回复]
  8. 0楼
    taiziniang:

    [e01]

    2010-11-26 15:23 [回复]
  9. 0楼
    hellogv:

    回复 jiahuibin:
    说你的QQ吧,我加你。。。。

    2010-11-26 15:38 [回复]
  10. 0楼
    jiahuibin:

    回复 hellogv:649413293

    2010-11-26 17:26 [回复]
  11. 0楼
    ltbcn:

    [e01] 很不错的文章

    2010-11-26 23:45 [回复]
  12. 0楼
    mf24271:

    博主的android的教程和一般的教程就是不一样,非常有实际运用价值!关注中

    2010-11-27 19:10 [回复]
  13. 好就得顶[e03]

    2010-11-29 09:12 [回复]
  14. 0楼
    pwei007:

    正在弄android文件传输和存储啊 谢谢 博主哈[e03]

    2010-11-29 09:29 [回复]
  15. 0楼
    sanwuu:

    支持!![e01]

    2010-11-29 13:48 [回复]
  16. 0楼
    lwwit:

    [e01]20101130

    2010-11-30 09:42 [回复]
  17. 0楼
    bjwj8:

    [e01]很不错 mark了

    2010-11-30 09:50 [回复]
  18. [e01]

    2010-11-30 10:24 [回复]
  19. [e01]

    2010-11-30 15:08 [回复]
  20. 0楼
    herryz:

    [e01]楼主QQ是多少的?

    2010-11-30 17:27 [回复]
  21. 0楼
    hellogv:

    回复 herryz:
    稳我有乜野事?我QQ净系摞囄倾计。。。

    2010-11-30 18:40 [回复]
  22. 0楼
    herryz:

    回复 hellogv:你甘劲,想同你学下野咯。。。

    2010-11-30 22:05 [回复]
  23. 0楼
    nanapoleon:

    搂主不错! 顶~[e01]

    2010-12-01 09:23 [回复]
  24. 0楼
    reeve520:

    强人~~~

    2010-12-01 09:40 [回复]
  25. 0楼
    favory:

    呵呵,蓝牙弄好啦!不错[e03]

    2010-12-01 17:35 [回复]
  26. 0楼
    hyayh:

    lz您好,客户端很清晰,我很想知道的是,服务端应该怎样发送数据?能给个最简单的实例不?谢谢~我测试时,pc端java写个服务端发送数据,android下就是接受不到~~

    2011-01-06 22:18 [回复]
  27. 0楼
    hellogv:

    回复 hyayh:
    PC JAVA 的蓝牙?最好基于SPP协议(蓝牙读写就是串口读写),可以用串口助手来调试客户端是否正常。。。。

    2011-01-06 22:24 [回复]
  28. 0楼
    hyayh:

    回复 hellogv:谢谢你的解释,蓝牙方面刚开始学习,很多不懂的,我尝试下~~

    2011-01-07 09:28 [回复]
  29. 0楼
    godfaith:

    有项目需求开发,请加QQ :973322

    2011-01-14 22:58 [回复]
  30. 0楼
    hellogv:

    回复 godfaith:
    不接外包。。。。谢谢

    2011-02-07 23:29 [回复]
  31. 0楼
    cshoney:

    程序在模拟器上运行不起来,是因为没有蓝牙设备吗?我新手,还不是很明白
    楼主真的好厉害

    2011-02-24 10:52 [回复]
  32. 0楼
    billynew:

    赞楼主。我有个问题。我连接一个bt外设并传送数据没有问题,但是我没办法给两个bt外设发送数据。现在我可以连接上两个外设,当第一个外设的outStream连接上bluetooth.getOutputStream()时还是可以继续发送消息,但是当第二个bt试图发送数据时就失败了。。。楼主有相关经验么?

    2011-03-01 03:44 [回复]
  33. [e01]

    2011-03-11 16:05 [回复]
  34. 0楼
    Judy889:

    [e01]

    2011-03-15 13:53 [回复]
  35. 0楼
    icePhone:

    看了你的文章,解决了手机和开发板蓝牙模块通信的问题~~~感谢

    2011-03-22 22:06 [回复]
  36. 0楼
    qfyh05:

    博主,我现在要用这个程序进行信号采集,求源码啊。我pudn号没下载量了,5555.邮箱:pjh_bupt@qq.com.

    2011-04-07 19:20 [回复]
  37. 0楼
    hellogv:

    回复 qfyh05:
    注册个吧,以后用得上

    2011-04-07 19:21 [回复]
  38. 0楼
    xinyunyxq:

    博主,你好,我试了下你的程序,用手机和IVT连接,再使用串口调试工具模拟,波形也画出来了,但是手指碰触手机屏幕,波形会随手指移动发生上下偏移,是为什么呢?

    2011-04-13 17:48 [回复]
  39. 0楼
    qfyh05:

    你好,我用WiFi和蓝牙整合成一个专门检测ssid的程序,现在很多错误啊,想请教,能否加你的qq呢?焦急。。。你加我吧,479237952.
    我是用wifimanager和BlueAdatper

    2011-04-14 23:16 [回复]
  40. 0楼
    qfyh05:

    其中的某处error log是event_filter: Received signal org.bluez.Adapter:PropertyChanged from /org/bluez/559/hci0

    2011-04-14 23:17 [回复]
  41. 0楼
    tjwink:

    这个UUID是不是一定要使用SPP(UUID:00001101-0000-1000-8000-00805F9B34FB);这个呢??

    psdn我没下载量啊,能不能发一下源代码给我,7965367@qq.com
    非常感谢!!!!!

    2011-04-15 18:44 [回复]
  42. 0楼
    ganzhijie:

    下载不了,能不能给我发一份源代码。我的邮箱zhijie.gan@gmail.com 谢谢啊。

    2011-04-19 16:53 [回复]
  43. 0楼
    hellogv:

    回复 ganzhijie:
    过段时间就可以下载了,我本地也没有备份

    2011-04-20 06:41 [回复]
  44. 0楼
    ganzhijie:

    回复 hellogv:文件不存在,而且下载好像还要钱哦。[e08]

    2011-04-22 17:35 [回复]
  45. 0楼
    tjwink:

    请问系唔系一定要用SPP(UUID:00001101-0000-1000-8000-00805F9B34FB)这个UUID的?

    2011-04-26 23:28 [回复]
  46. 0楼
    hellogv:

    回复 tjwink:
    一定,这个就是SPP的定义

    2011-04-26 23:50 [回复]
  47. 0楼
    tjwink:

    回复 hellogv:可唔可以发份代码比我?我真系好需要。。。[e06]

    2011-04-26 23:59 [回复]
  48. 0楼
    wyunteng:

    哈哈,我用楼主的心电跑血压数据竟然也能出波形!谢谢楼主![e04]

    2011-04-27 13:16 [回复]
  49. 0楼
    tjwink:

    用SPP的UUID通常目标蓝牙模块的MAC地址就能直接与蓝牙模块配对传送信息吗?平时我们配对的时候不是需要输入一个默认的密码“1234”?

    2011-04-27 17:24 [回复]
  50. 0楼
    tjwink:

    是不是所有蓝牙模块都支持SPP协议?如果不是的话,你知道有哪个模块支持?

    2011-04-27 17:31 [回复]
  51. 0楼
    tjwink:

    使用楼主你的代码是不是需要事先配对?

    2011-04-27 17:34 [回复]
  52. 0楼
    hellogv:

    回复 tjwink:
    所有的蓝牙模块都必须支持SPP的,这个是一切通信的基础
    是需要配对

    2011-04-27 20:05 [回复]
  53. 0楼
    tjwink:

    非常感谢!!!

    2011-04-27 23:17 [回复]
  54. 博主,请问你对蓝牙FTP文件传输了解么?做了一个C/S软件,客户端上传文件到服务器没问题。但是从服务器下载到客户端只能支持一些很小的文件。与第三方软件均没有任何问题。不知道问题出在哪了~~

    2011-04-28 14:40 [回复]
  55. 0楼
    hellogv:

    回复 Fantasyforever2008:
    这个比较复杂,建议你找开源的ftp服务器看看

    2011-04-28 15:35 [回复]
  56. 回复 hellogv:嗯,好的,谢谢!

    2011-04-28 16:19 [回复]
  57. 看了博主的文章很有收获.但是还有问题想请教.我想用android手机的蓝牙和一个带有蓝牙模块的硬件通信.现在调试用蓝牙适配器插入电脑的USB口.我用你给的android客户端程序连蓝牙适配器连接不上.请问博主蓝牙适配器那端用写程序吗?如果我想实现通信该怎么办?如果方便想加你qq.

    2011-05-18 14:44 [回复]
  58. 0楼
    hellogv:

    回复 piaoliang456:
    用SPP,模拟串口来通信,PC端只需要打开一个串口即可

    2011-05-18 15:01 [回复]
  59. 回复 hellogv:博主在吗?PC怎么模拟串口,方便加qq吗?我对这方面不太了解.能详细说一下吗?

    2011-05-18 15:56 [回复]
  60. 我的qq是67491245

    2011-05-18 15:58 [回复]
  61. 0楼
    hellogv:

    回复 piaoliang456:
    我最近灰常忙。。。而且这个不是简单说说就可以说明白的。。。

    2011-05-18 16:17 [回复]
  62. 回复 hellogv:不好意思啊,如果方便的话给我你的电话我现在给你打.只需要几分钟帮我解决一下问题.

    2011-05-18 16:34 [回复]
  63. 0楼
    hellogv:

    回复 piaoliang456:
    3.蓝牙适配器如果没安装SPP驱动则自动安装,已经安装过的话就会直接建立串口通信
    4.PC的程序只需要打开蓝牙适配器模拟出来的串口,即可与手机蓝牙通信,操作就跟普通的串口通信一样。

    2011-05-18 17:14 [回复]
  64. 0楼
    hellogv:

    回复 piaoliang456:
    这个不是几分钟就可以搞定的。。。。
    我说说流程吧:
    1.插入蓝牙适配器
    2.手机端搜到蓝牙后,通过SPP服务主动连接蓝牙适配器

    2011-05-18 17:14 [回复]
  65. 回复 hellogv:谢谢回答.由于初次接触蓝牙,我现在还有不明白的地方.我现在做到你说的第2步,手机能搜到蓝牙,但是发起连接连接不上.我用的蓝牙适配器没有驱动程序,但是插到电脑上直接可以用,还有你说的PC端程序,是不是PC端也得写蓝牙通信程序呀.

    2011-05-18 17:28 [回复]
  66. 0楼
    hellogv:

    回复 piaoliang456:
    唉,你还是先学学最基本的windows 蓝牙编程,然后再来弄手机连接PC,这样会更好

    2011-05-18 17:36 [回复]
  67. 回复 hellogv:[e06]有资料吗?推荐点.真的很需要.

    2011-05-18 17:40 [回复]
  68. 感谢博主,今天调通了.[e04]

    2011-05-20 14:29 [回复]
  69. 0楼
    hellogv:

    回复 piaoliang456:
    这个。。。。。。。。。。。。

    2011-05-20 20:09 [回复]
  70. 0楼
    wwqlssPNU:

    感谢楼主,已经调通了,其实什么都不用考虑,只要把传感器端设置成slaver就行了,其他的不需要设置[e04][e03]

    2011-06-01 14:18 [回复]
  71. 楼主 代码下不了,求代码研究,feiqiyun@126.com

    2011-07-11 11:33 [回复]
  72. 楼主,麻烦请教一个问题,android的蓝牙通讯工具写完了,安装在手机上,第一次配对正常,建立连接正常,通信正常。我关闭程序,断开蓝牙以后第二次连接,就连接不上了,bluetoothSocket.connect()抛出异常。此时android的设置里显示与下位机已配对但未连接,第二次连接时候没有出现配对请求。关机后再开机,第一次连接通信都正常,以后每次就失败了。不知道楼主遇到过没有,麻烦您了~

    2011-08-04 09:54 [回复]
  73. 0楼
    hellogv:

    [reply]hubin2303620[/reply]
    请确保第一次是彻底断开连接

    2011-08-05 07:57 [回复]
  74. 学习了!写的很好!
    但是我还有两个问题
    1.UUID为什么不能变啊?
    2.android api中有没有关于配对的API啊?
    谢谢了

    2011-08-17 15:32 [回复]
  75. 0楼
    hellogv:

    [reply]floweriswho[/reply]
    1.了解一下UUID就知道UUID是干嘛用了
    2.SDK没有放出实现自动配对的功能

    2011-08-17 18:36 [回复]
  76. [reply]hellogv[/reply]
    谢谢!
    还有就是
    public static synchronized BluetoothAdapter getDefaultAdapter()
    这个方法只能在主方法用么?
    刚才把这个方法放到了线程里报错了!

    2011-08-17 19:21 [回复]
  77. 0楼
    xiaoyunio:

    博主能不能发代码到我qq:101054,谢谢,那个pudn要收费的

    2011-09-01 16:39 [回复]
  78. 0楼
    hellogv:

    [reply]xiaoyunio[/reply]
    6位的QQ号。。。

    2011-09-04 14:04 [回复]
  79. 0楼
    lognic10:

    靓仔,麻烦您也发一下项目代码到我qq邮箱,谢谢!
    邮箱:452612367@qq.com

    2011-09-06 17:47 [回复]
  80. 0楼
    hellogv:

    [reply]lognic10[/reply]
    自己到pudn下载吧

    2011-09-10 11:45 [回复]
  81. 您好,请问您使用的蓝牙心电传感器在哪买的?我也打算做类似的演示,不过暂时还没有传感器。

    2011-09-21 15:50 [回复]
  82. 0楼
    hellogv:

    [reply]lixiangyang1985[/reply]
    自己做的。。。你买个压力传感器+单片机+蓝牙模块就行了

    2011-09-21 22:49 [回复]
  83. 0楼
    yuanbieli:

    您好,看了你不少文章,学到了很多东西,表示感谢。
    我现在遇到一问题,向你请教。
    就本例中,画心电图,超出屏幕的部分是把参考轴重新设置为0,从开头画起。
    有没有办法一直画下去,就是说在surfacevier上继续画,通过类似滚动条的东西来划动屏幕,看超出屏幕的部分?

    2011-09-22 16:27 [回复]
  84. 0楼
    hellogv:

    [reply]yuanbieli[/reply]
    这样效率不高,你可以画在ScrollView,然后在左右滚动

    2011-09-25 17:10 [回复]
  85. 0楼
    KAKA198812:

    作者你好,我对你做的这个项目很感兴趣,所以也尝试了来做,但是缺乏那个带蓝牙模块的传感器,在网上搜了也没卖的,看了你是自己做的,想请教下,希望你能加我,我QQ是630744052,是南京的,拜托了,加我吧。

    2011-09-27 17:34 [回复]
  86. 0楼
    hellogv:

    [reply]KAKA198812[/reply]
    南京什么单位呢,我今年年初才从南京回深圳

    2011-09-27 22:51 [回复]
  87. 0楼
    KAKA198812:

    [reply]hellogv[/reply]
    我还是学生呢,想实现这个程序,但是没有带蓝牙的传感器,你加我咯,拜托了。

    2011-09-28 16:46 [回复]
  88. 0楼
    bkship:

    你好,我问个问题,系统自己带的蓝颜传送就是action_send那个intent,如果用setClass那样指定用蓝牙传送的话,貌似android系统不让传apk文件,想问下如果像你这样自己写连接用bluetoothsocket来进行流传送会存在这个问题么?或者说对于用蓝牙传送apk,你有什么好的方法!谢谢

    2011-09-29 09:12 [回复]
  89. 0楼
    bkship:

    [reply]bkship[/reply]
    还有就是如果用这个bluetoothsocket 用文件流传输的话,对方手机是能被系统蓝牙直接接收这个 还是说,需要安装一个app,要我们自己来写数据接收?

    2011-09-29 09:27 [回复]
  90. 0楼
    hellogv:

    [reply]bkship[/reply]
    通过socket的话,什么文件都可以传,但是,对方也必须安装接收端才能够接收

    2011-09-29 18:50 [回复]
  91. 0楼
    KAKA198812:

    那我想问问你那个带蓝牙的传感器是怎么做的,你说用单片机,蓝牙模块,还有传感器,那单片机你要自己编码吗

    2011-10-01 15:53 [回复]
  92. 0楼
    KAKA198812:

    你好,我就是没法找到带蓝牙模块的传感器,既然你做好了,你能不能卖给我啊?

    2011-10-02 10:56 [回复]
  93. 0楼
    KAKA198812:

    [reply]hellogv[/reply]
    你就不回复我了,太难过了

    2011-10-07 22:29 [回复]
  94. 0楼
    zqlovejava:

    我没用蓝牙来接受数据,利用摄像头来获取数据源,结果画出来的始终有条直线。开始还好,不闪。最后就跳起来了。感觉楼主的境界很深。。。

    2011-10-10 12:28 [回复]
  95. 0楼
    hellogv:

    [reply]KAKA198812[/reply]
    自己做,自己编码

    2011-10-10 14:12 [回复]
  96. 我的蓝牙制作
    http://hi.baidu.com/hongfadg/home

    2011-11-07 09:03 [回复]
  97. 我的蓝牙制作 http://hi.baidu.com/hongfadg/home

    2011-11-07 09:04 [回复]
  98. 0楼
    hellogv:

    [reply]hongfadg2012[/reply]
    我读书的时候也喜欢玩这样创新的东西….

    2011-11-07 23:00 [回复]
  99. [reply]KAKA198812[/reply]
    买个蓝牙透传模块和单片机接,凑合用吧~

    2011-12-07 16:29 [回复]
  100. 楼主:请教你一个问题,方便的话加我qq:376937140
    我下了一个手机端蓝牙助手,发现华为手机android2.2.2版本的连接蓝牙模块时,第一次连接ok,然后断开再连发现很难连上。而用sansung手机android2.3.4版本的连接没有这个问题,我现在也在写这个手机端蓝牙串口通信的界面。

    2011-12-29 10:40 [回复]
  101. 0楼
    hellogv:

    [reply]xuxindeng6565333[/reply]
    华为第二次链接的时候,还需不需要配对?

    2011-12-30 15:00 [回复]
  102. 0楼
    zhuangmz08:

    hello,pudn挂了吗?登录不上。可以麻烦代码发我一份吗?谢谢~zhuangmz2008@gmail.com

    2011-12-31 16:41 [回复]
  103. 0楼
    griefcola:

    怎么通过spp和其他非android设备的串口通讯,其他设备要监听什么端口?

    2012-01-16 15:32 [回复]
  104. 0楼
    griefcola:

    [reply]griefcola[/reply]
    其他设备没有 UUID:00001101-0000-1000-8000-00805F9B34FB

    2012-01-16 15:33 [回复]
  105. 0楼
    hellogv:

    [reply]griefcola[/reply]
    SPP是我见过最广泛的蓝牙通信协议,除非是蓝牙耳机作为固定用途的从端才会不支持的

    2012-01-16 21:30 [回复]
  106. 你好,我在模拟器上运行您的程序出现错误,LogCat上出现的有错误,如,
    02-15 12:31:26.673: E/AndroidRuntime(228): Caused by: java.lang.NullPointerException
    02-15 12:31:26.673: E/AndroidRuntime(228): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.testBlueTooth/com.testBlueTooth.testBlueTooth}: java.lang.NullPointerException
    求解,谢谢

    2012-02-15 21:02 [回复]
  107. 0楼
    nfy84:

    楼主你好,请教一个问题,我用手机A通过SPP连接手机B时,如果两边都装有我这软件它才显示连接,要不然程序就显示连接不成功,我看有些应用只需在一端安装软件就可以连接的,那是用什么UUID?我的需求是在两台手机连接后,推送AT指令实现发短信打电话之类的功能。望楼主给点意见!谢谢
    另:我的程序的蓝牙操作部份用的是android官方的demo:bluetoothChat

    2012-02-24 10:22 [回复]
  108. 0楼
    hellogv:

    [reply]nfy84[/reply]
    一端安装软件就可以连接的——->被连接端已经带有蓝牙服务,例如蓝牙耳机的音频和语音等

    2012-02-24 15:48 [回复]
  109. 0楼
    nfy84:

    [reply]hellogv[/reply]
    也就是说,我用SPP连接另一台手机的话,那台手机是不需要再安装什么程序的,对不?

    2012-02-25 15:33 [回复]
  110. 楼主你好,你的这种实时的心电采集对波特率有什么特别的要求吗?如果说波特率太小,那么在大量采集的时候会不会不够呢?还有,波特率在android手机蓝牙上是如何修改的?麻烦回复下,谢谢

    2012-04-17 16:05 [回复]
  111. 0楼
    hellogv:

    [reply]zym952469480[/reply]
    蓝牙的速度够快的了,你用spp,系统自己给你选个合适的波特率了,不用再设置波特率

    2012-04-19 23:38 [回复]
  112. 0楼
    sirhuoshan:

    楼主好 我想通过编程实现手机蓝牙和蓝牙音箱的连接,但是怎么都连不上,能帮我一下么 谢谢了 万分感谢

    2012-04-29 22:10 [回复]
  113. 0楼
    hellogv:

    [reply]sirhuoshan[/reply]
    先看看你的蓝牙音箱支持什么服务,你的手机支不支持

    2012-05-02 14:02 [回复]
  114. 0楼
    sirhuoshan:

    蓝牙音箱支持的协议是A2DP协议。我通过手机自带的蓝牙设置,连接蓝牙音箱可以连接上,而且放歌也是蓝牙音箱发声音。但是通过编程实现连接蓝牙音箱就连接不上了。谢谢了 ,万分感谢。[reply]hellogv[/reply]

    2012-05-02 15:03 [回复]
  115. 楼主你好,你在做这个的时候,没有出现阻塞现象么

    2012-05-06 16:48 [回复]
  116. 0楼
    hellogv:

    [reply]didagang[/reply]
    哥,你把上面的代码改一下就可以了…..

    2012-05-08 15:15 [回复]
  117. 0楼
    hellogv:

    [reply]didagang[/reply]
    哥,你是新手的话,就先入门慢慢学,后面再弄这个吧,我是没能力让初学者马上掌握这个的

    2012-05-10 07:54 [回复]
  118. 0楼
    wlqbd:

    你好,最近在整android手机接收 传感节点数据,能把你做的这个程序的源代码发给我一份吗,不胜感激~~~~ wlqbd88@163.com

    2012-05-10 09:42 [回复]
  119. 0楼
    icewst:

    看了博主N多文章啊,受益匪浅啊!想问个问题,我这里有一个别人的蓝牙适配器还有单片机,可以获取汽车的一些数据,然后PC有个软件可以和他连接获取数据。我现在可以通过android蓝牙和他连接获取和发送数据么?

    2012-05-11 15:37 [回复]
  120. 0楼
    hellogv:

    [reply]icewst[/reply]
    可以,通过spp

    2012-05-12 10:27 [回复]
  121. 0楼
    w8965:

    博主你好 我最近也在学习蓝牙的开发还是个android的小菜鸟 你给的连接我去下载了 可是里面的类不全 博主方便的话能不能给我发一份到 wangzhifei_1069@163.com 邮箱里 万分感谢

    2012-05-14 14:51 [回复]
  122. 0楼
    w8965:

    高手啊~ 方便的话加个QQ 812202464 让小菜学习学习啊

    2012-05-14 17:28 [回复]
  123. 0楼
    ivanlxg:

    楼主你好,能不能介绍一下spp的传输规则或这方面的资料或书籍,因项目需要,不知道如何从血氧里取数据,socket 已经连接但不知道如何发指,qq: 393135188, +我 谢谢啦

    2012-05-14 17:49 [回复]
  124. 0楼
    icewst:

    [reply]icewst[/reply]
    搞定,感谢

    2012-05-17 10:58 [回复]
  125. 0楼
    hellogv:

    [reply]ivanlxg[/reply]
    怎么现在都做这个了…

    2012-05-17 21:31 [回复]
  126. 可以通过蓝牙进行拨号吗?

    2012-05-26 14:23 [回复]
  127. 0楼
    hellogv:

    [reply]LuoXianXion[/reply]
    要手机支持语音蓝牙服务

    2012-05-27 09:59 [回复]
  128. 楼主你好,关于蓝牙有个问题请教你,我用2个android手机连接,总是显示匹配但未连接,不知道为什么,我去连接一个设备,这个设备要通过pin码匹配,输入正确后也是显示匹配但未连接,知道原因吗?

    2012-05-28 17:06 [回复]
  129. 楼主我想问一下您 连接以后 能不能直接发字符串 还是一定要发dyte[]数组 我想发生一条指定字符串指令到蓝牙模块上 麻烦给我说下 谢谢了

    2012-07-07 10:09 [回复]
  130. 顶 强大

    2012-07-26 16:48 [回复]
  131. 0楼
    happytaozs:

    楼主你好,我想问一下你测心率用的设备是蓝牙心率带吗?是哪个品牌的?我的qq:120160075能加下我吗??

    2012-09-19 10:13 [回复]
  132. 0楼
    hellogv:

    [reply]happytaozs[/reply]
    这个心率带是以前公司的产品

    2012-09-22 09:20 [回复]
  133. 0楼
    chzhs:

    楼主您好,我现在在做一个项目,就是有关Android手机与硬件血压测量设备交换信息的。通过您的博文,我也尝试写了一个Android连接模块,测试的时候总是连接不了,一开始我以为是协议的错,尝试了很多协议,发现只有您博文中给出的协议UUID,在执行connect的时候,返回connect refused,其他都是抛出services discovery failed的错误,所以我想您博文给出的SPP协议应该没有问题。项目蓝牙连接是这样设计的,硬件蓝牙设备要一直在等待字节A,接收到这个A才返回B,并启动设备测试血压产生包络。手机写A到硬件设备,等到读到B,才算正式握手成功,然后接受血压测试的包络。在Android编程的时候,我发现要写数据A到硬件设备要先连接,得到socket,之后得到输出输入流,才能读写。可是现在执行connect()总是抛出异常。然后我想是不是可以先不连接,只通过createRfcommSocketToServiceRecord()直接得到socket,直接读写,可是在用输出输入流读写时,又抛出异常,无法读写。现在我不知道怎么得到一个真正的socket,还有就是项目硬件部分不是我负责的,我有点怀疑是不是硬件编程的问题,不是Android手机编程的问题。您是怎么看的呢?您做的android和硬件设备连接,是否也设计成通过发送AB来确认彼此,才连接呢?这是我的QQ号:1071101787,可以的话麻烦加下QQ,或者回答一下我的问题。以方便请教学习,万分感激!万分感谢!

    2012-09-22 23:00 [回复]
  134. 0楼
    happytaozs:

    [reply]hellogv[/reply]
    您好楼主,你们公司的蓝牙心率带是哪个品牌呢?还有就是,就你了解,蓝牙心率带是不是只要跟手机或电脑的蓝牙设备配对链接好后,蓝牙心率带就直接自动给手机发送数据呢?还是先从手机上同过蓝牙向心率带发送一些参数后,后者才开始向手机发送数据呢?能加您的QQ吗?我的QQ是120160075

    2012-09-24 20:34 [回复]
  135. 0楼
    happytaozs:

    楼主您好!在您的程序在手机上跑起来了,Log.e("available", String.valueOf(len)); 打印出来的值怎么都不变呢?都是同一个数据,我把蓝牙心率带解下来了,还是会打印出同样的一个数据“2”这是怎么回事呢?是不是表示没有接收到数据啊?

    2012-09-25 22:52 [回复]
  136. 楼主你好,我安装了之后可以连接蓝牙设备了,但是把蓝牙模块和传感器连接,可以配对,但是无法画出波形,求你指点!

    2012-10-09 12:01 [回复]
  137. 0楼
    hellogv:

    [reply]HuangKang314[/reply]
    先确认蓝牙发出的是否波形数据….

    2012-10-11 07:59 [回复]
  138. 0楼
    wkktutu:

    博主你好 关注这篇帖子很久了 学了不少东西 我想问下你这发送的数据类型是什么样的 为什么发送123和发送1是一样的显示呢 就好像只能识别一位一样 谢谢

    2012-10-11 09:43 [回复]

发表评论


QQ群互动

Linux系统与内核学习群:194051772

WP建站技术学习交流群:194062106

魔豆之路QR

魔豆的Linux内核之路

魔豆的Linux内核之路

优秀工程师当看优秀书籍

优秀程序员,要看优秀书!

赞助商广告

友荐云推荐