Articles of bluez

Hcitool lescan将不会实时打印到文件中

更新:我使用os.system解决了我的解决scheme: sensortag=0 while sensortag != "B4:99:4C:64:33:E0": #call the command and write to scan.txt file and then fill the process. #loop to find if the MAC address given is available os.system("hcitool lescan> scan.txt & pkill –signal SIGINT hcitool") scan = open("scan.txt","r") readscan = scan.read() if "B4:99:4C:64:33:E0" in readscan: print "SensorTag found." sensortag = "B4:99:4C:64:33:E0" 我有两个程序,基本上是一样的,但有两个不同的命令,在Raspberry PI上运行Raspbian。 […]

用于BlueZ的蓝牙库(Windows)

什么是Linux的libbluetooth2-dev的Windows等价物? 我试图在我的英特尔Edison上运行一个支持BlueZ的蓝牙扫描的simple_scan.c,但是我需要蓝牙库。 这是Linux的解决scheme: 位于Linux的蓝牙/ bluetooth.h在哪里? 。 但是我在哪里可以在Windows设备上下载相应的库?

BlueZ:LE使用命令行中的椭圆曲线Diffie-Hellman进行安全配对

蓝牙v4.2的主要function之一是LE安全连接,椭圆曲线Diffie Helman(ECDH)用于密钥协商协议。 从BlueZ v5.26开始,已经增加了对LE安全连接的支持,如下所示: “ BlueZ 5.26是第一个支持蓝牙4.2特性的版本,也许最值得一提的是低能量安全连接,它需要3.19或更新的内核。 ”[1] 有没有办法通过命令行来testingECDH配对? 如果没有,testing这个最简单的方法是什么? 我在内核3.19上使用BlueZ v5.38,但我不知道如何做到这一点。 [1] http://www.bluez.org/release-of-bluez-5-26/

不能终止在linux上运行hCitool的QProcess?

我正在尝试使用Linux / Bluez工具:hcitool,从QT进行BLE扫描。 我使用以下来打开过程: QString program = "sudo stdbuf -oL hcitool -i hci0 lescan"; hcitool = new QProcess(); connect(hcitool, SIGNAL(started()), this, SLOT(hcitool_started())); connect(hcitool, SIGNAL(finished(int)), this, SLOT(hcitool_finished(int))); connect(this, SIGNAL(kill_hcitool()), hcitool, SLOT(kill())); connect(this, SIGNAL(terminate_hcitool()), hcitool, SLOT(terminate())); hcitool->start(program, QProcess::Unbuffered | QProcess::ReadWrite); 然后,我不断从过程中读取所有结果: QString result = hcitool->readLine(); 几秒钟后,我想停止hcitool进程,这是事情出错的地方。 我已经尝试了终止信号,终止信号,写入^ C进程,但没有任何工作。 杀死信号实际上结束了这个过程。 但不是一个好的方法,因为之后我的hci0被阻塞了,在hci0被重置之前我不能再启动hcitool了: hciconfig hci0 down hciconfig hci0 up 那么我有什么想法可以终止这个过程吗?

Tizen支持哪个BT堆栈?

我想知道Tizen是否支持BT,如果是的话,是否使用开源的bluez协议? 另外,我想知道在Tizen的蓝牙技术中,从哪里开始挖掘。 提前致谢!

如何开始使用蓝牙的Ubuntu

我真的需要帮助入门。 我想做一个基本的程序(在C),可以读取蓝牙套接字,并打印任何它发送。 我试图得到Bluez(接下来是这个: http : //hackgnar.com/article/installing-the-latest-bluez-software-in-ubuntu-12/它很好,直到最后的“make”,然后没有运气,不会让示例程序找不到蓝牙/蓝牙。 我想我有希望的select是: 有人可以告诉我什么,我错过了蓝色的安装,可能如何开始(编译等) 替代bluez? 笔记本电脑可以做蓝牙文件传输之前我安装蓝色,所以我甚至需要它的这个应用程序? 任何一种全面的hello世界(下载,安装,示例,编译和运行) 我有一个强大的编程背景,只是没有在Linux中(你可以光泽C的东西,但不要Linux / Ubuntu的东西)。 谢谢!

如何重buildbluez

我怎样才能重build蓝色? 可能吗? 让我们只是说,我想改变一些在avctp.c例如。 我从他们的网站下载最新的bluez版本,并做出我需要做的改变。 现在,我如何才能使变化有效; 即我需要做什么来重buildbluetoothd? 注意:我正在使用Ubuntu 12.04

BlueZ scotest应用程序和Linuxconfiguration无法连接到SCO套接字

我正在使用内核3.4.79 +的embedded式Linux项目上使用BlueZ 4.101。 正常的蓝牙操作很好,我可以用我的设备使用许多耳机传输audio。 现在我正在努力实现蓝牙合规性,所以我正在使用Bluetooth SIG的USB PTS软件狗。 我接受了每一个testing,除了部分来电testing,我需要打开SCO连接后,接受PTSencryption狗的电话。 SCO连接尝试与耳机一起使用,但不与PTS软件狗一起使用。 这个错误是由bluetoothd给出的: bluetoothd[6306]: audio/headset.c:headset_set_state() State changed /org/bluez/6306/hci0/dev_00_1B_DC_07_30_40: HEADSET_STATE_PLAY_IN_PROGRESS -> HEADSET_STATE_CONNECTED bluetoothd[6306]: audio/headset.c:headset_set_state() State changed /org/bluez/6306/hci0/dev_00_1B_DC_07_30_40: HEADSET_STATE_CONNECTED -> HEADSET_STATE_PLAY_IN_PROGRESS bluetoothd[6306]: Protocol not supported (93) 于是我从BlueZ的testing目录编译出了scotest,并在连接dongle后运行,得到了相同的结果: # ./scotest -s -b HELLO 00:1B:DC:07:30:40 scotest[1687]: Can't connect: Protocol not supported (93) scotest[1687]: Can't connect to the server: Protocol not supported (93) […]

仿真蓝牙LE适配器进行验收testing

我正在开发一个捕捉蓝牙LE信号的Android应用程序,我是testing驱动和行为驱动开发的忠实粉丝。 所以,我想通过使用TDD和BDD来开发我的应用程序。 谈到TDD,用Robolectrictesting蓝牙部分是没问题的。 但是,当我想写我的行为驱动的testing,我不能testing蓝牙,因为Android模拟器不支持任何方式的蓝牙(见这里 )。 所以,我认为一定要可以用模拟蓝牙LE设备的软件来将模拟的蓝牙广播包转发到在虚拟机上运行的Android X86。 你有什么指针来实现呢? 我正在考虑一个小型的用户空间程序,它通过TCP从我的BDD框架接收模拟蓝牙信号,然后将这些信号转发给模拟设备。 然后,设备将它们转发给Android X86 VM,Android应用捕获并处理这些信号。 这篇文章看起来很有希望,但没有成功。 Qemu可以模拟蓝牙硬件,但它只支持蓝牙键盘 。 我不想使用任何硬件,因为我们的CI系统在服务器上的泊坞窗容器中运行。 我没有任何访问服务器。

BlueZ – 00:00:00:00:00:00之间的连接

我的C程序应该监听传入的蓝牙连接。 我阅读http://people.csail.mit.edu/albert/bluez-intro/x502.html的例子,所以我有以下代码: #include <stdio.h> #include <unistd.h> #include <sys/socket.h> #include <bluetooth.h> #include <rfcomm.h> int main(int argc, char **argv) { struct sockaddr_rc loc_addr = { 0 }, rem_addr = { 0 }; char buf[1024] = { 0 }; int s, client, bytes_read; socklen_t opt = sizeof(rem_addr); // allocate socket s = socket(AF_BLUETOOTH, SOCK_STREAM, BTPROTO_RFCOMM); printf("socket: %d \n", […]