问题标签 [iobluetooth]
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.
objective-c - 如何在 OS X 上获取设备蓝牙地址?
我已经看了十几次感觉的 IOBluetooth 框架,但我终其一生都无法找到一种方法来检索当前设备的蓝牙设备地址。我编写了一个应用程序,使用 IOBluetoothDeviceInquiry 扫描范围内的设备,但这似乎没有提供进行扫描的设备的地址。
这如何以编程方式完成?(无需打开 System Profiler)
objective-c - 使用 IOBluetoothAddSCOAudioDevice 打开 SCO 音频连接
我正在尝试从 Mac OS X 模拟 HandsFree 设备。
- 我正确地将我的 SDP 服务宣传为免提
- 我可以将我的 Android 手机与被视为“免提”设备的计算机配对
- 我可以发送几个 AT 命令(AT+BRST、CIND、CMER)来建立服务级别连接
- 然后我安装一个音频驱动程序来路由所有传入/传出的声音到/从设备
不幸的是,SCO频道似乎从未打开过。我的安卓手机仍然在自己的扬声器上发出声音(即:按下拨号盘时)。
当进入 Mac OS X 的声音首选项时,我可以将我的设备视为输入/输出设备,但声音级别永远不会改变。
这是我的代码:
关于为什么系统安装并报告了音频驱动程序但无法打开 SCO 连接的任何想法?
objective-c - 在 Apple 的蓝牙 API 使用的 NSDictionary 上访问的跟踪密钥
Apple 的蓝牙 API 没有说明应该为 [IOBluetoothDevice openL2CAPChannelSync:withPSM:withConfiguration:delegate:] 提供什么配置字典。
我想提供的键/值对我来说是未知的。为了克服这个问题,我希望向 API 调用发送一个空字典,但在幕后 - 跟踪访问了哪些键。
如何构建一个 NSDictionary 的子类,它将 NSLog 访问的键?
android - Android蓝牙游戏,需要跨字节流传输int[]
情况如下:我正在为 android 制作多人游戏版本的 pong。当我的球拍与球相连时,我想向其他玩家发送球的撞击点(作为 x,y 坐标),以便其他玩家的屏幕可以更新以显示球的来源以及球的来源我的桨的位置。另一个设备将计算球的轨迹并最终重复这个过程。基本上我想要的是看起来像这样的东西——
这里的问题是bluetoothConnection.write()
依赖于 java.io.OutputStream,所以只支持写一个 byte[]。
那么,有什么方法可以将我的 int[] 转换为 byte[] (稍后再返回)?如果有帮助,我的 int[] 将始终包含 5 个整数,所有整数始终为正数。我不确定我的整数的最大值是多少,因为这取决于设备的屏幕尺寸。
android - 为什么需要在android中使用线程来接收来自蓝牙远程设备的数据?
我最近一直在对我的工作项目进行一些研究,我正在尝试从我的应用程序中的蓝牙读卡器读取刷卡数据。
为了获得我必须使用线程的数据,我知道为什么需要使用线程,因为这个过程不会妨碍界面活动,但这里我关心的是在获取数据时不要处理界面活动。但是当需要 BluetoothServerSocket 以实现全双工连接时,线程是有意义的。所以我的问题基本上是,如果我只是从远程设备接收数据,我真的需要在 Thread 下有一个 BluetoothServerSocker 吗?
macos - 如何在 Mac 上的 IOBluetooth 框架中获得更具描述性的错误
我在 OS X 中使用 Apple 提供的 IOBluetooth 框架与我构建的 Arduino 机器人进行通信。我已经设法让它只解决一个问题,它只工作了大约 10 秒,然后 RFCOMM 通道由于某种未知原因关闭。我已经搜索了苹果文档,但我找不到某种方法来获取有关 RFCOMM 频道关闭原因的某种错误代码或描述。
有没有办法找出 RFCOMM 频道关闭的原因?
java - 如何使异步侦听器进行阻塞?
我正在编写一个黑莓应用程序,它使用基于文本的 AT 命令与简单的蓝牙外围设备进行通信——类似于调制解调器......我只能使用事件侦听器让它在黑莓上工作。所以通信现在是异步的。
但是,由于它是一个简单的设备并且我需要控制并发访问,我宁愿只进行阻塞调用。
我有以下代码尝试通过使用等待/通知将通信转换为阻塞。但是当我运行它时, notifyResults 在 getStringValue 完成之前永远不会运行。即,无论延迟如何,它总是会超时。
btCon 对象已经在单独的线程上运行。
我确定我在线程方面遗漏了一些明显的东西。有人可以指出吗?
谢谢
我还应该添加带有 IllegalMonitorStateException 的 notifyAll。
我之前用一个简单的布尔标志和一个等待循环尝试过。但同样的问题也存在。notifyResult 在 getStringValue 完成之前永远不会运行。
iphone - Mac 上的 CoreBluetooth 问题
不到 6 个月前,我购买了当前的新 Macbook Pro,但我的 CBCentralManager 实例CBCentralManagerStateUnsupported
返回[centralManager state];
我的 Mac 使用蓝牙软件版本 4.0.3f12,但我找不到任何说它支持蓝牙 LE 的东西,我也找不到任何来自 Apple 的相关文档说明 Mac 支持 LE。我在哪里可以找到此文档,如果我的 Mac 实际上不是蓝牙 LE 设备,您对 Mac 和 iOS 之间的蓝牙通信有什么建议?我有一个带有蓝牙 LE 硬件的 iPhone 4S。
android - 将 Android 设备连接到多个蓝牙串行嵌入式对等体
我正在尝试为此设置找到解决方案:
我有一个 Android 设备,我想连接到多个串行嵌入式设备...
事情是这样的,使用“正常”方式检索蓝牙套接字,不适用于所有设备,虽然它可以连接到多个设备,并与多个设备发送和接收数据。
事情就是这样,虽然在“正常”方式不起作用的手机上,“解决方法”方式为单一连接提供了解决方案。我已经广泛搜索 ,但想出了 zip 。
最后一个链接中提到了解决方法的问题,两个连接都使用相同的端口,在我的情况下,这会导致一个块,两个嵌入式设备实际上都可以发送数据,而这在 Android 上没有被处理,而两者嵌入式设备可以接收来自 Android 的数据。
以前有人处理过这个吗?
这里有一点参考,
更新:
在此之后(我之前发布的)我想给 mPort 一个机会,也许看看其他端口索引,以及其他设备如何管理它们,我发现 BluetoothSocket 对象中的字段是不同的,而它是相同的两种情况下的 FQN 类:
来自 HTC Vivid 2.3.4 的细节,使用“解决方法”技术:
Socket 类类型为:[ android.bluetooth.BluetoothSocket ]
来自 LG-P925 2.2.2 的细节,使用“正常”技术:
Socket 类类型为:[ android.bluetooth.BluetoothSocket ]
任何人都有一些见解...
objective-c - Mac 到蓝牙设备的文件传输,简单的例子?
我花了两天时间搜索和阅读蓝牙编程指南,同时尝试拼凑一个小型 Mac 应用程序,该应用程序将从放置文件夹中检索图像并通过蓝牙将任何新文件发送到预定设备。似乎没有很多好的例子可用。
我现在可以生成蓝牙服务浏览器并选择设备及其 OBEX 服务,建立服务并创建连接,但随后什么也没有发生。谁能指出我的方向/向我展示一个可行的简单示例?
附上 AppDelegate 源代码。谢谢阅读!