问题标签 [bluecove]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
895 浏览

android - Android蓝牙spp读写太慢

我正在尝试为我的计算机制作一个充当无线鼠标的 android 应用程序。我决定将其用于蓝牙和 Wifi(用户选择)。Wifi 工作得令人难以置信,但蓝牙滞后很多。我发送的只是一堆 2 字节数组,所以我不明白为什么它工作得这么慢。这是我的发送和接收代码(发送在单独的线程上)

接收代码:

0 投票
1 回答
1956 浏览

java - Bluecove:检查设备是否配对?

我是新手,Bluecove API似乎经过大量研究后,我仍然找不到方法来检查 aRemoteDevice是否已经与正在运行的机器配对。

首先,我成功地开始扫描但是,我觉得奇怪的是,Bluecove它没有提供一种只查找处于可发现模式的设备的方法,因此需要检查是否配对......

更准确地说,我正在“翻译”一个我用 C# 开发的InTheHand.dll用于蓝牙管理的项目。这个组件很棒,帮助我实现了我想做的事情:扫描处于可发现模式和范围内的设备,启动配对过程,通过Bluetooth streams. 我需要对 Bluecove 做同样的事情

为什么这么难找到答案?尽管我设法配对了一个我知道没有通过RemoteDevice.authenticate().

无论如何总结:

  1. 如何仅在发现模式下开始扫描设备?
  2. 如何确定设备是否已经配对?

注意:无论配对状态如何,都使用两者RemoteDevice.isAuthenticated()RemoteDeviceHelper.implIsAuthenticated(remoteDevice)始终返回。false

注 2:此外,RemoteDeviceHelper.javahttp://bluecove.googlecode.com/svn/trunk/bluecove/src/main/java/com/intel/bluetooth/RemoteDeviceHelper.java查看,有一个私有财产boolean paired

似乎没有公共方法会使用它......

更奇怪和令人沮丧的是,在调试器模式下,查看一个特定的RemoteDevice,我可以看到这个属性的值。设备未配对时确实为假,设备已配对时为真!那么为什么 API 不能告诉我呢?

我应该怎么办 ?谢谢您的帮助 !

0 投票
0 回答
909 浏览

ios - 广告蓝牙 Raspberry Pi 外设和 iOS Central

我正在尝试将 Raspberry Pi 连接到 iPhone。我已经走了很长一段路,但在过去的几天里一直在碰壁。也许这里有人可以帮助我弄清楚我错过了什么。到目前为止,我有:

  • 创建了一个作为外围设备广播的 iOS 应用程序
  • 创建了一个充当 Central 的 iOS 应用程序
  • 在 iPhone 5 和 iPhone 6 上进行测试时,两台设备都可以相互通信。

  • 使用 Bluecove 库创建了一个 Java 应用程序,该库作为 Raspberry Pi 上的外围设备进行广播。

  • 在充当 Central 的 Linux Mint 桌面上创建了一个 Java 应用程序。
  • 测试时,Raspberry Pi 和 Linux Mint 机器都可以相互连接。

我的 iPhone 上有一个蓝牙扫描应用程序,当我hciconfig hci0 leadv在 Raspberry Pi 上使用命令行时,我的 iPhone 应用程序将识别广播。

但是,所有这一切的关键部分是当我在 Raspberry Pi 上运行 Java 应用程序时,我编写的 iPhone 应用程序和蓝牙扫描应用程序都看不到它(即使 Linux Mint 机器可以)。

在我看来,我必须缺少一些基本的东西。还是有某种仅适用于 iPhone 的标准广告方式?任何追求或建议的途径将不胜感激。

技术细节

  • 树莓派 2:Arm7、Linux 内核 3.18、Raspbian RPi
  • 蓝牙适配器:蓝牙4.0 IOGear GBU521
  • Java:jkd1.8.0_33,Bluecove 库
  • iOS:iPhone 6、iOS 8.1
  • XCode:使用 Swift 在 OSX 10.10 Yosemite 上运行的 XCode 6.2

安装了 Raspberry Pi 所需的所有库,包括 bluez、blueman 和蓝牙实用程序。Bluecove linux gpl 库已针对 ARM 处理器重新编译。

0 投票
1 回答
717 浏览

java - 为什么 Bluecove 需要安装 libbluetooth-dev 包才能运行

我只是在 Ubuntu 系统上设置Bluecove,我看到 Linux BlueZ 堆栈的 wiki 隐藏在它需要安装开发包才能正常工作的情况下。

我知道只有当我需要头文件来编译我自己的 C/C++ 代码以使用 Bluecove 本机库时,才需要开发包。如果我只编译 Java 代码,那么肯定不需要开发包吗?(它实际上被视为使用 Bluecove 本机库的应用程序)。它是否正确?

0 投票
0 回答
2577 浏览

java - Android BluetoothDevice 通知远程解除绑定更改状态

问题:当蓝牙设备正在配对或配对时,我会收到通知。但是,我不知道如何在设备未配对时收到通知。我怎样才能让我的应用程序在它与我的设备未配对时识别出来?

示例:假设我通过代码将 Surface 平板电脑和我的 android 手机配对。我的广播接收器将注册ACTION_BOND_STATE_CHANGED意图并允许我根据需要处理它。现在,如果我想取消配对我的 Surface 平板电脑,我的手机不会收到有关设备已取消配对的通知。如果我检查device.getBondState()未配对后的设备,它等于BOND_BONDED(显然不是)我可以让它在我尝试连接到未配对的设备后再次识别它未配对,然后应用程序崩溃然后当我转身时再次打开该应用程序,然后它才会将其识别为未配对。

场景:BroadcastReceiver注册了一个监听蓝牙设备引起的意图

我用这个处理这些动作BroadcastReciever

0 投票
0 回答
102 浏览

java - 在 Java 中捕获蓝牙通信

我有一个与蓝牙配合使用的小型设备,我想捕获从该设备启动的命令以在我的计算机上使用它们,无论如何我尝试使用 BlueCove Library

但是我收到的只是一些字符,当我尝试从设备启动命令时,InputStream什么也没有收到

0 投票
0 回答
247 浏览

java - 适用于 osx 10.10 的 Bluecove

我想在装有 OSX 10.10 的 Mac 中使用 bluecove(2.1.1 快照),但驱动程序不起作用。

我得到了 libbluecove.jnilib: mach-o,但是架构错误

我尝试重新编译,但可用代码太旧(从 2010 年开始),并且有很多或不适用的更改。

有没有办法让它工作?还是有另一个 java API 可以与蓝牙交互?

谢谢

0 投票
0 回答
2630 浏览

java - 生成 jar 文件时 Bluecove intelbth_x64 和 bluecove_x64 不可用

我正在使用 Intellij 处理使用该BlueCove 2.1.0库的 JavaFX 应用程序。使用 IDE 编译时它工作得非常好,但由于某种原因,当使用依赖项构建工件然后运行它时,我得到这个异常:

0 投票
2 回答
2431 浏览

java - 本机库 bluecove 在 Mac 上不可用

我下载了 bluecove-2.1.0.jar 并将其作为外部 JAR 添加到我的 Eclipse 项目中。我正在按照本教程在 Android 中使用蓝牙:http: //luugiathuy.com/2011/02/android-java-bluetooth/

当我运行旨在让我的笔记本电脑充当服务器的程序时,我收到一条错误消息,指出“本机库 bluecove 不可用”。我通过在 Spotlight 中键入“蓝牙”来确保启用了蓝牙(这将我带到蓝牙文件交换并允许我选择要发送的文件)。

我看到另一个 Stackoverflow帖子指出 BlueCove 需要 32 位 JVM 才能运行,因此我在运行配置中的 VM 参数下添加了 -d32 参数。当我运行它时,我得到另一个错误说明

“错误:此 Java 实例不支持 32 位 JVM。请安装所需的版本。”

有没有人对如何解决这个问题有任何想法?

0 投票
1 回答
463 浏览

java - 通过蓝牙在 Android 手机和运行 OS X 的笔记本电脑之间发送数据

制作一个可以通过蓝牙发送数据的应用程序似乎是一项相对平凡的任务,但过去几天我一直在努力解决这个问题,所以我正在寻找任何想法。我正在运行 OS X 10.10 并使用 Nexus 5 Android 设备。这是我到目前为止所尝试的:

我需要一个在我的笔记本电脑上运行的服务器程序,我需要一个在我的手机上运行的客户端 android 应用程序。但是,(如果我错了,请纠正我)我的计算机上运行的服务器程序需要能够访问 Android 蓝牙 API,因为我需要使用 BluetoothServerSocket(基于 Google 的 Android 蓝牙教程中提供的服务器端代码) .

因为它是服务器端代码,所以我需要在服务器上运行它,所以我构建了一个 Java Servlet,我从 Eclipse 内部运行它,但我不知道如何从动态 Web 应用程序内部访问 Android API。

因此,我开始采用 Bluecove 库使之成为可能的这种方法:http: //luugiathuy.com/2011/02/android-java-bluetooth/

我尝试让 Bluecove 与 OS X 一起工作,但其中涉及到很多问题。我找到了一些解决方法,然后在处理 Apple 在其更高版本的操作系统中删除的 IOBluetoothLocalDeviceReadSupportedFeatures 设备时出错(但 Bluecove 依赖于它)。

我在这里找到了一个修复程序,它安装了旧的 IOBluetooth 库并将 DYLD_LIBRARY_PATH 更改为指向它。不幸的是,这没有效果(我不知道我是否正确更改了库路径......我按照解决方案 1 在这篇文章的答案中的说明进行操作)。

无论如何,我觉得我让这项任务过于复杂,并且正在寻找任何指导 - 就整体方法或我错过的具体事情而言。主要问题是访问旨在在我的笔记本电脑上运行的服务器程序中的 Android 蓝牙 API。