Articles of 蓝牙

PAN与Linux,iOS,蓝牙,Bonjour,GameKit – 可能吗?

所以我就这件事读了不同的看法(我想我读了所有相关的问题)。 我可以连接在PAN – 我可以写一个应用程序,将连接 – 我的Linux机器和我的iOS设备通过蓝牙? 使用或不使用Bonjour或GameKit。 less数先决条件: iOS设备没有越狱。 iOS设备可能会启用或不启用热点/共享function(据我所知,这是由宽带提供商规定的 – 即,如果您付费,则可以限制连接)。 iOS可以运行使用logging的API的定制应用程序。 蓝牙可以由iOS设备用户手动激活。 非常感谢你!

Android和Linux(RPi)之间的蓝牙连接在首次写入操作时丢失

所以我一直在做一个项目,其中运行Android(API级别= 14)的设备必须通过蓝牙连接到运行Linux的服务器(具体来说:Raspberry Pi)。 build立连接时,应用程序将encryption的XMLstring发送到RPi。 RPi必须解密此string,parsingXML并执行相应的操作。 操作的结果将发送回Android设备。 到目前为止,我已经设法在应用程序和RPi(运行最新版本的Bluez软件包 )之间build立连接。 RPi有一个Targus的蓝牙4.0encryption狗。 当我试图从应用程序发送一个string到RPi的时候, 蓝牙sockets似乎已经closures。 Logcat给出消息Connection reset by peer 。 用于创build套接字的代码如下所示: Method m = device.getClass().getMethod("createRfcommSocket", new Class[] {int.class}); tmp = (BluetoothSocket) m.invoke(device, 1); Logcat输出如下: 06-20 14:29:42.224: DEBUG/RPiService(24273): ———- [ CONNECTION ESTABLISHED ] ———- 06-20 14:29:42.224: DEBUG/RPiService(24273): connected, Socket Type:Secure 06-20 14:29:42.229: DEBUG/RPiService(24273): create ConnectedThread: Secure 06-20 14:29:43.734: DEBUG/RPiService(24273): setState() […]

Linux中的bluetooth / bluetooth.h在哪里?

我想build立基于BlueZ的交stream文件,但在我的系统似乎没有bluetooth.h文件。 fatal error: bluetooth/bluetooth.h: No such file or directory 我相信蓝牙适配器运行正常,我已经成功地build立了蓝牙。 更新 对于我的情况,我在/ user / include / bluetooth文件夹中find了bluetooth.h

使用BlueZ堆栈作为外设时错误的负载

我试图在这个问题上遵循davidgyoung提供的步骤。 这里是我使用的命令: hciconfig hci0 up hciconfig hci0 noleadv hcitool -i hci0 cmd 0x08 0x0008 48 45 4c 4c 4f 57 4f 52 4c 44 hciconfig hci0 leadv 这给了我这个输出: LE set advertise enable on hci0 returned status 12 < HCI Command: ogf 0x08, ocf 0x0008, plen 10 48 45 4C 4C 4F 57 4F 52 4C […]

蓝牙LE信号强度Linux

有没有什么办法可以通过蓝牙在linux上devise得到近信号强度? 或者任何好的库的nodejs,PHP或单声道(我知道一些C + +或Python,但宁愿说远离他们),如果一个工具不存在,但会很容易写 谢谢

蓝牙低功耗:使用BlueZ堆栈作为外设(具有自定义服务和特性)

我试图在Linux机器上使用BlueZ堆栈来创build一个具有自定义服务和特性的GATT服务器。 最终目标是使用任何中央设备(例如iOS或Android设备)连接到GATT服务器,发现服务和特征,并处理特征中的数据。 例: 包含3个特征的1个服务的外围设备。 服务uuid​​ = 0xFFFF 字符1 uuid = 0xAAAA,属性=可读 字符2 uuid = 0xBBBB,属性=可读写 字符3 uuid = 0xCCCC,属性=通知 从中央设备,我应该看到外围设备,连接到它并发现一个具有三个特征(0xAAAA,0xBBBB,0xCCCC)的服务(0xFFFF)。 然后我应该可以读取0xAAAA的值,读取和写入0xBBBB的值,并在0xCCCC上启用通知。 请注意,我知道存在类似的问题 ,但仅解释如何将外设用作广告客户。 另一个解决的问题解释了如何创build一个GATT服务器,但没有解释如何使用特性的属性(例如可读,通知等),或者我错过了一些东西。 先谢谢你。

用hcidump获取RSSI

为了读取原始的RSSI值,我们使用一个名为Hcidump的实用程序来监视蓝牙HCI数据。 使用hcidump命令,当收到查询响应消息时,我们可以读取原始的RSSI值。 为了获得每个响应分组的RSSI值,我们首先将查询模式设置为使用RSSI进行查询。为了读取原始RSSI值,我们运行hcidump工具,然后使用适当的HCI函数开始周期性查询。 我不知道如何使用hcidump只包含RSSI原始数据或者如何启动定期查询。 我看到所有的观点,但我不能。 我让hcidump –raw获取原始数据,并试图parsing这个数据来获取rssi,但是我不知道这个是什么hex是rssi的信息。 这是我所获得的 04 2F FF 01 AC A2 65 92 88 EC 01 00 0C 02 5A 2D 1F D2 08 09 4E 65 78 75 73 20 36 17 03 05 11 0A 11 0C 11 0E 11 12 11 15 11 16 11 1F 11 2F 11 […]

在Linux的C blueZ上进行蓝牙配对

在使用BlueZ蓝牙库编写的程序中,我找不到任何有关如何在Linux上配对蓝牙设备的参考。 我已经设法做一个HCI级别的查询,以获得设备连同RSSI水平(在设备发现期间),但目前我坚持这一点。 我看到一个build议,使用DBUS api的blueZ-simple-agent – 但有什么办法可以避免这种情况,只是使用一些C级的方法从BlueZ?

在Linux上列出附近/可发现的蓝牙设备,包括已经配对的Python

我试图列出所有附近/可发现的蓝牙设备, 包括那些已经配对的 ,在Linux上使用Python。 我知道如何使用地址为设备列出服务,并且可以成功连接: services = bluetooth.find_service(address='…') 阅读PyBluez文档我希望任何附近的设备出现,如果我没有指定任何标准: 如果没有指定标准,则返回检测到的所有附近服务的列表。“ 我现在需要的“唯一”的东西是能够列出已经配对的设备,不pipe它们是否在附近,在附近或不在附近。 很像我在“所有设置” – >“Ubuntu / Unity中的蓝牙”中获得的列表。 顺便说一句,下面不列出我的机器上已经配对的设备,即使他们在/附近。 可能是因为一旦配对就无法发现了: import bluetooth for d in bluetooth.discover_devices(flush_cache=True): print d 有任何想法吗 …? 编辑:我发现并安装了“蓝色工具”。 bt-device –list …给我我需要的信息,即添加设备的地址。 我检查了C源代码,发现这可能不像我想的那样容易。 仍然不知道如何在Python中做到这一点… 编辑:我认为DBUS可能是我应该读的。 似乎很复杂。 如果有人有一些代码分享我会很高兴。 🙂

Bluez:做广告服务/ gatt服务器的例子?

目标 我正在开发一个运行Linux的简单设备。 这是BLE能力,我目前使用蓝色5.8。 我想用iPhone触发此设备上的操作。 什么已经工作: 我可以让iPhone“看”设备。 iPhone也连接到设备。 我在linux上设置蓝牙设备(感谢这个问题 ): # activate bluetooth hciconfig hci0 up # set advertise data: "hello world" hcitool -i hci0 cmd 0x08 0x0008 48 45 4c 4c 4f 57 4f 52 4c 44 # start advertising as connectable hciconfig hci0 leadv 0 iOS代码很简单: – (int) scanForPeripherals { if (self->centralManager.state != CBCentralManagerStatePoweredOn) […]