问题标签 [rfcomm]
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.
android - 即使设备配对,BluetoothServerSocket.accept() 也不会返回
我正在开发基于BluetoothChat 示例的 Android 蓝牙应用程序。我正在启动蓝牙服务器并监听设备(不是电话)以通过不安全的 rfcomm 连接连接到我的应用程序。
我正在使用 HTC Desire S,安卓 2.3.5。设备已配对,但我没有收到数据,因为连接在“.accept()”方法中被阻止。它只是继续等待。
socket = mmServerSocket.accept();
//...等待
- 如果设备已配对,为什么还要等待?
- 我怎样才能建立连接,因为我也尝试过反射,但仍然没有结果
- HTC的蓝牙堆栈有问题吗?有没有人建立连接可能使用另一部安卓手机?
android - 安卓蓝牙:RFCOMM+蓝牙耳机
我正在开发一个 Android 应用程序,它将在两个设备之间大量使用蓝牙 RFCOMM 连接,数据流使用默认的BluetoothAdapter
.
我想知道的是:
当用户使用蓝牙耳机听音乐时,是否可以使用这种连接?
android - Android 蓝牙 Socket 连接挂起
我遇到了一个问题,当我调用 sock.connect() 时,它只是无限期地挂起。没有例外,也没有超时。
原因是另一个应用程序已经在使用蓝牙设备。我试图让我的连接失败,至少抛出一个异常或其他东西让我知道该设备已被另一个应用程序使用。
有任何其他建议来解决这个问题吗?
谢谢。
android - RFID在BluetoothSocket中获得串行连接
我正在尝试连接到 RFID 阅读器设备。我可以通过创建一个 BluetoothSocket 并在其上调用 connect 来连接它,如下所示(省略了许多细节):
这与预期的一样工作,并且可以建立与设备的连接。
我的问题是,设备 API 旨在与串行端口一起使用。为了使用 API,我必须向它传递一个如下所示的字符串:
Android 似乎并没有以这种方式向世界开放串行端口。在 linux 上,我希望能够连接如下字符串:
查看手机上的 /dev 目录并没有显示任何类似的内容。此外,/dev 中的条目在我建立连接时不会改变。这让我相信 Android 在连接到蓝牙设备时不会在 /dev 中创建串行设备。
如何访问 BluetoothSocket 用于连接设备的 com 端口?android 上是否有像 com1 或 /dev/ttyS0 这样的虚拟设备?
使用类 RfcommSocket 的 API 的旧版本有一个 getPort() 和 getFileDescriptor() 方法,可能会帮助我。当前的蓝牙插座似乎隐藏了这些细节。
提前致谢!
编辑:事实证明,Android 根本不会为串行流创建虚拟设备。相反,我直接将我的客户端代码与蓝牙套接字集成。
python - 蓝牙 RFCOMM 在一台计算机上工作,但被迫在另一台计算机上使用虚拟 COM 端口
我在 Android 上有一个蓝牙客户端,它必须通过 RFCOMM 连接到我的计算机并使用 UUID 00001101-0000-1000-8000-00805F9B34FB
使用 PyBluez 库以及 Python 2.6。我使用了PyBluez 文档中的以下代码
它在 Windows 7 下运行良好。
但是我在 Windows XP 上对另一台计算机没有反应,即我的代码停留在“等待 RFCOMM 通道上的连接”行。不过,我的蓝牙客户端警告我它已连接。
这个 Windows XP 计算机蓝牙配置允许我设置一个 COM 端口,用于与蓝牙进行串行通信。如果我在这个配置的 COM 端口上监听,我可以从蓝牙客户端看到我的数据。
我更喜欢在任何 Windows 计算机上运行代码,并且我不想在这些计算机上配置虚拟 COM 端口。所以我希望上面的程序也可以在 Windows XP 计算机上运行。
我想念什么?就好像 Windows XP 计算机不会将蓝牙数据转发给我的程序,即使我禁用了它在虚拟串行端口上复制数据的能力。我使用的 UUID 似乎是众所周知的,但我必须使用这个 UUID 才能使我的程序与另一个特定平台兼容。
Windows 7 计算机上的蓝牙堆栈来自 Atheros Communications,Windows XP 计算机上的蓝牙堆栈来自 Widcomm。
linux - Debian:通过蓝牙转发登录控制台
前段时间,我有一台运行 Debian 的新单板计算机,它最终将成为学校项目的“核心”。
现在,我正在使用有线网络和 ssh 访问板载发行版。只要东西放在我的桌面上就可以了,但当它内置到机器人中时就不行了。我设法使用便宜的 USB-BT 适配器建立了蓝牙连接,但现在我被一个 rfcomm 设备困住了,不知道如何继续。
我最想要的是让蓝牙连接提供的虚拟串行端口的行为就像真正的串行端口一样。这样我就可以使用 minicom(或类似的东西)登录并获得对板上所有内容的完全访问权限。
在网上搜索时,我只能找到有关如何使用手机和类似主题设置拨号网络的指南,但没有关于蓝牙控制台的信息。也许我只是尝试了错误的关键字。
我非常感谢有关如何执行此操作的任何提示。
谢谢,菲利普
android - 如何通过蓝牙从 Android 设备发送 5 个具有相同值的字节
我一直在使用蓝牙聊天示例通过蓝牙将数据从我的 android 设备传输到另一个设备。我想知道如何发送 5 个字节,其值为:0、64、0、32、152。
c++ - C++ 中的蓝牙
我希望通过 RFCOMM 与另一个蓝牙设备进行通信。我想为应用程序使用 C++ (VS2008)。我已经知道 32feet 库,但不确定它是否适用于 C++。有谁知道这种项目的一个好的起点?或者可能是用 C++ 编写的 32 英尺样本?我想要一个使用 C++ 的简单易用的蓝牙 API。
android - Android - 无需配对即可连接多个蓝牙设备
我有一堆不可发现的设备,但我知道它们的 MAC 地址。目前我可以在我的 ConnectThread 中使用它连接到多个设备:
问题是我想为 2.3 之前的设备支持不安全的 RFCOMM。然后我在另一个答案上找到了这个,这让我可以这样做:
无需配对即可完美连接到单个设备。
我的问题是我怎样才能两全其美并在 InsecureBluetooth 类上使用反射?或者它是否需要在 InsecureBluetooth 类中完成,如果是这样,怎么做?这是 InsecureBluetooth 类的相关部分:
c - 使用 Linux 套接字 API 快速重新连接到 RFCOMM 蓝牙设备
我有一个非常简单的蓝牙 RFCOMM 客户端应用程序,它试图维护来自蓝牙设备的蓝牙流,蓝牙设备是 UART 到蓝牙转换器。我想要的行为是,当蓝牙发射器重新启动时(它可以在不到 2 秒的时间内完成),我可以很快恢复。目前由于 SO_RCVTIMEO 我很快断开连接但尝试重新连接会导致几秒钟......
...消息。这与我是否重新启动进程无关。您可以想象,如果我想频繁关闭我的蓝牙发射器(重新编程),这有点不切实际。我可以更改任何套接字选项或其他蓝牙设置来解决此问题吗?