Articles of 蓝牙

如何访问pybluez中的蓝牙低级function?

pybluez包装函数是否有较低级别的btfunction? 我找不到文档中的任何内容。 我需要使用的function与以下function相同: l2ping (single ping) hcitool cc hcitool rssi hcitool lq hcitool tpl hcitool dc 有没有办法从pybluez(或实际上任何其他包装和/或脚本语言)访问?

Linux的蓝牙l2ping信号强度(不连接?)

对于这里的任何Linux的BlueZ / BT专家: 我正在寻找一种方式来“知道”已知的BT设备(已知的BDADDR),如果他们在范围内,我想知道近似的信号强度。 我知道我可以先运行l2ping,然后build立到设备的连接,最后检查rssi或链接质量,如果连接没有先配对。 然而,我正在寻找的是一种获得信号强度的方式,而无需先连接到设备。 完美的是来自l2ping回复数据包的信号强度测量,但我不知道这个信息是否可用,并沿着堆栈传递。

通过蓝牙连续传输数据

我想生成0到100之间的随机数,并通过蓝牙连续地从Raspberry Pi(运行Linux)传输到embedded式(x86)PC(也运行Linux)。 我的C代码基于以下内容: 客户端: – #include <stdio.h> #include <unistd.h> #include <sys/socket.h> #include <bluetooth/bluetooth.h> #include <bluetooth/rfcomm.h> int main(int argc, char **argv) { struct sockaddr_rc addr = { 0 }; int s, status; char dest[18] = "01:23:45:67:89:AB"; // allocate a socket s = socket(AF_BLUETOOTH, SOCK_STREAM, BTPROTO_RFCOMM); // set the connection parameters (who to connect to) addr.rc_family = […]

在Linux上直接控制HCI设备(绕过蓝牙驱动程序)

我需要直接控制一个HCI设备,而不需要Linux驱动程序/内核干扰。 例如,当创build到外设的LE连接时,驱动程序正在独立地发送“LE连接更新”命令,我想避免这种情况。 我虽然有两种方法来解决这个问题: configuration蓝牙驱动程序以某种方式禁用对HCI设备的干扰(类似于hciattach上的-r标志),然后使用常规的AF_BLUEOOTH套接字来控制HCI设备。 禁用这个特定的HCI设备,但保留父字符设备并直接连接到它。 到目前为止,我还没有成功find如何实施这些方法的方法。 我还应该提到,我仍然需要一个不同的HCI设备来“正常”地使用系统,所以完全禁用蓝牙驱动程序不是一个select。

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服务器,但没有解释如何使用特性的属性(例如可读,通知等),或者我错过了一些东西。 先谢谢你。