问题标签 [spp]

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 回答
1075 浏览

c++ - 无法从 /dev/rfcomm 读取

我正在尝试通过蓝牙 SPP 配置文件将我的目标连接到移动设备。蓝牙连接建立后,请求创建 rfcomm 通道进行通信。

一旦创建了 rfcomm 设备,在我的代码中我将打开文件并向其写入数据。

写入成功。再次,如果我尝试通过 rfcomm 读取数据,代码不会继续。

由于读取不起作用,我尝试关闭文件描述符并再次打开它。

这次它无法打开 /dev/rfcomm0。它返回-1。

请指导我缺乏的地方。

我也是新手,所以如果有关于使用 C++ 的蓝牙 SPP 的任何文档。

0 投票
1 回答
6720 浏览

android - Android 蓝牙 SPP 服务器

我是 Android 编程新手,现在遇到了问题。我想将我的 android 手机用作蓝牙服务器,这意味着当我打开一个特殊的 Activity 时,手机应该听其他蓝牙设备(已经配对)并且其他设备可以打开我的 android 手机的连接。所以它应该就像手机是一个外围设备,就像一个bt扬声器。所以配对仍然完成。并发现我必须使用 SPP 模式。当它连接时,我想发送一个接收简单的字节流。我找到了一个名为“bluetooth spp tools pro”(https://play.google.com/store/apps/details?id=mobi.dzs.android.BLE_SPP_PRO&hl=de)的应用程序,它几乎可以满足我的所有需求。但这里的问题是手机作为客户端工作并打开连接。

所以也许你可以帮助我,给我一些提示来理解我必须做什么。

谢谢您的帮助:)

编辑:现在我尝试了一个来自 Android 的示例,它似乎几乎可以工作了。我可以将我的电脑与智能手机连接,然后智能手机与之连接。但是当它连接时,应用程序崩溃了,我不知道为什么......也许你可以告诉我为什么 ma 应用程序崩溃......这里的代码:

}

0 投票
0 回答
82 浏览

c++ - read() 使用线程完成 SPP 上的数据

我有一个第三方 Android 应用程序,它使用蓝牙 SPP 连接到我的目标。应用程序发送 JSON 数据,但发送的数据字节数未知,在我的目标接收到的数据也不一致(有时是块),没有行尾来检测发送的数据结束。

我的代码中运行了一个线程来通过串行端口读取数据。

现在 showCompleteData() 首先解析数据,如果发现不完整则失败。由于数据是分块接收的,所以我无法理解如何累积完整数据然后调用 showCompleteData()。

read() 也不返回 0,因为它是一个阻塞调用。

请建议。

0 投票
0 回答
186 浏览

ios - 如何为 iOS 开发应用程序,通过经典蓝牙与支持串行端口配置文件的设备进行通信

我想为 iOS 开发应用程序,通过经典蓝牙与支持串行端口配置文件的设备进行通信。但我找不到 SPP 的文件。

我知道,关于那个的一些事情。如果厂商 X 销售一些支持 SPP 的硬件,那么我只从厂商 X 获得一些 SDK,并使用厂商 X 的协议开发应用程序。但在这种情况下,我的应用程序无法处理支持 SPP 的其他设备。

我应该怎么办 ?

  1. 收集全球支持 SPP 的设备的所有 SDK,并与它们一起开发应用程序。
  2. 为 SPP 开发具有隐藏 API 的应用程序,经典蓝牙但没有信息。
  3. 正在获取 MFi 程序,但注册后我没有任何想法。

感谢您的阅读。

0 投票
1 回答
1146 浏览

c++ - 如何通过蓝牙将硬件设备连接到 Iphone 应用程序

我有一个硬件设备,它可以通过蓝牙与 Android 和 IOS 上的第三方应用程序进行通信,以来回发送数据。使用 Android 我可以做到这一点,但是对于 IOS,我没有任何信息。

到目前为止,收集到的用于 IOS 设备的信息是: 1. 应用程序在 Iphone 5 上运行 2. 硬件启用了 MFI 3. 支持 IAP2

请指导如何将硬件连接到应用程序以及哪些其他信息是必不可少的?连接是否需要 AppName、BundleID、BundleSeedID 和 ProtocolName?如果是,我们如何获得这些详细信息?

我尝试解压缩应用程序,但 Info.plist 文件看起来乱码,无法从中获取太多信息。

目前我可以通过蓝牙将硬件与 iPhone 连接起来,但我真正关心的是如何与上面的特定应用程序进行通信。

此外,如果您可以提供一些链接或伪代码来启动硬件和 IOS 应用程序之间的会话。

0 投票
2 回答
4829 浏览

android - 将激光测距仪 (Bosch Disto GLM 50 C) 与智能手机 (Android Studio) 连接

我陷入了一个特殊的问题(我认为)。对于一个研究项目,我必须制作一个可以连接到激光测距仪(Bosch GLM 50 C Distometer)的 Android 应用程序。到目前为止,我在 Stackoverflow 和其他资源中浏览了无数教程和提示。

我是 Android 新手,有点不知所措。任务是创建一个应用程序,读取博世设备上的测量距离,并通过蓝牙在智能手机上显示/保存。

现在我的具体问题是:是否可以读取蓝牙设备发送的数据(例如 2.083m)?有什么建议可以实现吗?

按照我发现的本教程,我能够与设备建立连接:

之后,我找到了这个例子,它应该从设备读取传入的数据,但它不起作用:

0 投票
1 回答
414 浏览

java - IOS 蓝牙串行连接到远程 PC/MAC

我已经阅读了有关类似问题的几个问题。但其中大部分都与第 3 方蓝牙设备连接有关。我需要的是,在 IOS 和等待连接的服务器小程序之间建立蓝牙串行连接。这个小程序应该在 Windows 或 MAC OS 上运行。这是服务器小程序的 Java 代码:

CommandActivity类只是解析来自设备的数据行。Android 设备可以使用 PC 的 MAC 地址轻松连接到此服务器。但是对于 IOS,我找不到任何蓝牙套接字连接的解决方案。

我试过EAAccessoryManager但不幸的是 IOS 设备无法将 PC 检测为附件。它需要Supported external accessory protocols定义,但我找不到所有 PC 或 MAC 协议。

我也试过了CoreBluetooth。但是这个小程序不是广告名称或服务/特性的 UUID。

必须有一个简单的方法,我可能会错过。对于具有许多功能(如 IOS)的操作系统来说,简单的串行连接应该不是问题。任何建议表示赞赏。谢谢。

0 投票
0 回答
492 浏览

java - 如何正确显示通过蓝牙接收到的数据字节?

我在通过 BT 接收从 SPP BT 模块发送的数据时遇到问题。当我从终端发送字节时,我得到了无意义的字符 - 例如“[B@420e98d8”。处理程序中有一部分代码负责数据接收:

我应该如何转换接收到的值以正确显示它们?或者如何接收这个?我不需要使用 BLE,普通蓝牙模块,在 Android Studio 2.2.3 中编程。

0 投票
1 回答
1461 浏览

java - 如何通过蓝牙以十六进制获取接收到的字节?

我正在尝试通过 android 设备上的 bt 接收数据。当我从终端发送字节时(例如 0x10 0x20 0x30 0x40),我没有得到任何响应(Toast 没有弹出)。我不想以十六进制而不是字符串的形式获取数据。这是处理程序的代码:

我正在使用 Android Studio 2.2.3 如何以十六进制形式显示接收到的字节?

编辑:使用函数 byteToHexString() Toast 仅在我以 ASCII 字符发送数据时弹出,以十六进制发送时没有任何反应。我无法调试它,因为 Android Studio 看不到我的设备。处理程序中的修改代码:

编辑 2:我可以接收数字,但只能从 0x30-0x39 范围内接收数字 - 分配给 ASCII 字符 1-9 的数字。似乎来自处理程序的代码仅在接收 ASCII 数字时执行

0 投票
0 回答
1910 浏览

android - 通过RFCOMM套接字连接时如何在Android中显示蓝牙连接图标

我正在使用串行端口配置文件(SPP,UUID=00001101-0000-1000-8000-00805F9B34FB)构建一个通过蓝牙连接到另一个安卓应用程序的安卓应用程序。

我能够从客户端(通过使用 CreateRfcommSocketToServiceRecord() 的 BluetoothSocket)成功连接到服务器(通过 ListenUsingRfcommWithServiceRecord() 侦听),但是通知栏中的蓝牙图标没有像它那样显示“已连接”蓝牙图标当我连接蓝牙耳机或其他类似设备时(我希望看到的“已连接”和“已断开”图标如下)。

为什么这个图标没有改变以显示当前有一个设备通过蓝牙连接?

连接的:

已连接蓝牙图标

断开连接:

断开的蓝牙图标