python-在树莓派上测量蓝牙的接近度

我一直在尝试使用此脚本https://github.com/karulis/pybluez/blob/master/examples/advanced/inquiry-with-rssi.py,但似乎sock = bluez.hci_open_dev(dev_id)返回了无效的套接字.每次将袜子传递给函数错误(9,“错误的文件描述符”)都会引发.

该脚本很旧,因此很有可能不再起作用.所以我有两个问题.有谁知道如何使用pybluez库(或更现代的等效方法)来测量蓝牙设备与树莓派的接近度?

这个脚本导致我建立了一个损坏的套接字,我在做什么错呢?

谢谢.

解决方法:

尝试这个:

运行hcitool dev以获取您的蓝牙设备的地址.

在链接到的脚本中,将第120行更改为:

dev_id = 0

至:

dev_id = bluez.hci_get_route(ADDRESS_FOR_YOUR_BLUETOOTH_DEVICE)

要测量接近度,脚本会调用该函数

device_inquiry_with_with_rssi(sock)

它应打印蓝牙设备ID及其对应的RSSI值的列表(请参阅第95-102行).通常,设备必须处于配对模式才能显示在查询结果中.该函数还将ID / RSSI列表作为数组返回,因此您可以从自己的代码中调用它并处理返回的结果. RSSI值指示设备的信号强度,因此是对邻近程度的间接度量(请参见Finding distance from RSSI value of Bluetooth Low Energy enabled device).

上一篇:android BlutoothChatService在多个类中使用


下一篇:android-获取java.io.IOException:读取失败,套接字可能关闭或超时,通过蓝牙打印机打印时读取ret:-1