问题标签 [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 - 尝试在 Android 中使用 BluetoothSocket.connet() 时 A2DP 下降
所以我正在使用一个使用 A2DP、HFP、AVRCP 和 SPP 的硬件设备。我遇到的问题似乎只在某些手机上,但我想解决它。
通过 Android (pair.connect) 连接硬件设备时,一切正常。如果我进入默认音乐播放器,它会正确流式传输以及 AVRCP 命令正常工作。
但是,在我正在开发的应用程序中,我使用 SPP。当我尝试使用 BluetoothSocket.connet() 方法时,它会导致硬件丢失 A2DP 和 AVRCP(媒体连接)我正在使用蓝牙聊天示例中的标准 bluetoothSerialService 类
...
我正在测试的无法使用的手机包括 Droid X (2.2/2.3)、HTC Desire 2.2、Droid1 2.2。它适用于三星 Captivate 2.2 和 LG 擎天柱 2.2
android - Android 与蓝牙设备 (WT-11) 通信/连接
所以我们有一个应该与 Bluegiga WT-11 蓝牙模块配对的 android 应用程序,然后在服务器套接字上侦听来自设备的连接。我们使用 SPP 和 RFCOMM 与“众所周知的” UUID 进行通信00001101-0000-1000-8000-00805F9B34FB
。配对工作正常,但接受服务器套接字上的连接(使用listenUsingRfcommWithServiceRecord()
then waiting on创建accept()
)不能可靠地工作。它在某些时候确实有效,但有时会停止一起工作,或者在其他时候只是间歇性地工作。
最令人困惑的是,手机似乎正在从设备获取连接,向 LogCat 吐出几行,然后完全忽略连接;设备认为连接失败,应用程序永远不会在accept()
.
这是手机(Galaxy S II)连接但不做任何事情时的LogCat(我现在已经在几部手机上尝试过,如果您需要来自其他手机的日志或来自成功的日志,请告诉我联系):
@WBAN 你能帮忙解决这个问题吗?我看到你做了一些非常相似的事情。
任何帮助将不胜感激!
谢谢!
c++ - 如何通过蓝牙套接字(RFCOMM,SPP)仅发送一个字节或如何刷新蓝牙套接字(RFCOMM,SPP)?
我已经使用基于 RFCOMM 和串行端口配置文件 (SPP) 的 MS 蓝牙套接字在我的 PC 和蓝牙设备之间建立了连接。
连续接收数据没有问题。但是,如果要发送一个字节(充当命令),则设备不会接收到它。
以下是代码片段(省略了错误处理):
虽然::send
返回成功,但设备的模式并没有改变。因此,显然,给定的字节还没有被传输并且仍然驻留在发送缓冲区中(这是我的假设)。有没有办法强制只发送一个字节,即无缓冲发送?
我可以排除设备方面的错误。手动设置蓝牙链接(Windows 通知栏/蓝牙/添加设备)并使用 Putty 建立串行连接,接收和发送都按预期工作。
操作系统:Windows 7 IDE:Visual Studio 2010
android - 从 Android 访问 RFCOMM 蓝牙配置文件中的 CTS/RTS 状态
我正在使用手机的蓝牙和具有 RS232 接口并支持 RFCOMM 配置文件的蓝牙板开发一个 android 应用程序。
我的 RFCOMM 连接工作正常,但我找不到通过 android API 访问 RTS 和 CTS 信号的方法,它们是 RFCOMM 配置文件的一部分,也暴露在我的 BT 板上。
谁能告诉我如何从 Android 设备读取/写入 RTS/CTS?
这里问了一个类似的问题: Android 上的蓝牙控制信号(DTR、DSR、RTS、CTS), 但从未回答。
android - RFCOMM_CreateConnection - 已打开状态:2,RFC 状态:4,MCB 状态:5
我正在编写一个使用 RFCOMM 通过蓝牙连接到设备的 android 应用程序。我使用 BluetoothChat 示例作为建立连接的基础,并且大多数情况下一切正常。
但是,有时由于套接字已打开的消息,我无法重新连接:
RFCOMM_CreateConnection - 已打开状态:2,RFC 状态:4,MCB 状态:5
如果我连接到设备,关闭应用程序(调用 onDestroy()),重新打开它并尝试再次连接,这往往会发生,这会导致上述情况。
我使用此方法在 ConnectThread 中进行连接(ref.BluetoothChat 示例):
解决此问题的唯一方法是关闭/打开 Android 手机的蓝牙。
这使我相信套接字没有在 onDestroy() 中关闭,但我仍然要求关闭所有线程,如前面提到的示例所示。
任何想法,将不胜感激。
java - 从 PC 上的 RFCOMM 接收字符串,从 Android 发送
我试图从手机(Android 2.3.3)获取一个字符串,发送到 PC(Windows 7),我使用 RFCOMM 基本连接,像这样
对于输出字符串,像这样
它基本上可以工作(尝试使用超级终端)。我想做的只是在我的 PC 上接收字符串“TEST”,但使用 java 应用程序,稍后将控制微控制器。
谢谢。
android - 在PC端连接安卓手机
我正在做一个项目,Android 手机中的程序通过蓝牙连接到 PC 并发送一些命令。
现在我的问题是在 PC 端使用 RFCOMM 连接到安卓手机。任何代码、示例、教程、库都可以帮助我,所以请分享它们。此外,最好使用 C 和 Delphi 这样的本地语言,而不是 Java 或 .Net 。
提前致谢
android - 蓝牙 RFCOMM 连接:在 Windows 7 中从 com 端口读取串行数据
我正在使用 Android 蓝牙聊天示例应用程序。我正在尝试从 Windows 7 中的 Android 设备读取串行数据。
我已经能够将 Android 设备与笔记本电脑上的蓝牙适配器配对。根据其他一些讨论,我将示例应用程序中的 UUID 替换为以下内容:
当我运行 Android 应用程序时,我可以连接到笔记本电脑。在我的 Android 设备的“硬件”属性中,有一个“设备功能”条目,名为“蓝牙链路上的标准串行 (COM10)”。当我尝试将 CoolTerm 连接到 COM10 时,我收到“错误 1168”(该错误没有其他说明)。
我是否误解了通过蓝牙将串行数据发送到 Windows com 端口的过程?
android - 创建不安全的 RFCOMM 套接字仍然需要配对
我正在使用 listenUsingInsecureRfcommWithServiceRecord 和 createInsecureRfcommSocketToServiceRecord 调用来将一个 Android 设备连接到另一个。
在第一个设置中,我有一个 Nexus One 和一个 Nexus S 都运行 Android 2.3.6 - 在这个设置中,连接没有弹出“配对请求”对话框。
在第二个设置中,我使用运行 Android 2.3.3 的三星 Galaxy S2 尝试了相同的 Nexus One——在此设置中,两台设备上都弹出了“配对请求”对话框。这很奇怪,因为这两个设备都在 API 级别 10 上,应该支持不安全的连接。
有没有其他人遇到过这种奇怪的行为?有人可以验证这是 2.3.3 中的问题,还是我测试的特定模型中的问题?有什么解决方法吗?
如有必要,我可以从 logcat 发布相关部分。
macos - 如何在 Mac 上的 IOBluetooth 框架中获得更具描述性的错误
我在 OS X 中使用 Apple 提供的 IOBluetooth 框架与我构建的 Arduino 机器人进行通信。我已经设法让它只解决一个问题,它只工作了大约 10 秒,然后 RFCOMM 通道由于某种未知原因关闭。我已经搜索了苹果文档,但我找不到某种方法来获取有关 RFCOMM 频道关闭原因的某种错误代码或描述。
有没有办法找出 RFCOMM 频道关闭的原因?