我有两块板: 第1板:运行Arch Linux的PixiePro,Bluez 5.4 |板载蓝牙适配器 第2板:Raspberry Pi运行Raspbian,Bluez 5.39 | USB蓝牙适配器
使用hcitool
扫描板1上的BLE设备(iBeacon)时,我只接收单个设备的地址(下图)。
AC:BC:32:72:8C:6B
我有超过10个适配器应该找到的iBeacons。我尝试过以下技巧:
启动hcitool lescan
,删除重复项
sudo hcitool lescan --duplicates
启动hcitool lescan
流程&从hcidump
sudo hcitool lescan --duplicates 1>/dev/null &
sudo hcidump --raw
这两个只显示一个或两个不同的mac地址。我附近的各种iBeacons应该有几个不同的mac地址。
这是Board 2使用USB蓝牙适配器输出的比较:
sudo hcitool lescan
正如您所看到的,有很多不同的设备,其中一些可以立即识别为Kontakt iBeacons。注意:我周围的大部分信标都不是Kontakt iBeacons
使用hcitool lescan
?
答案 0 :(得分:1)
我会尽力帮助你。
似乎您的PixiePro设备存在错误,但是您提供的信息不足以诊断问题。
这可能是设备本身或Bluez堆栈的问题,或者仅仅因为设备超出了PixiePro设备的可检测范围。
为了调试您的问题,您可以尝试执行以下操作:
首先检查mac-address,uuid,major和minor值 你的设备。通常,您可以在Web门户网站上找到此信息 您的iBeacon供应商;
确保所有设备都已开启并正常工作。最简单的方法 是检查手机是否检测到它们。你可以 安装free iOS或Android申请。您应该能够检测到所有设备。还要检查每个iBeacon设备的RSSI值。请注意,即使手机与iBeacon的距离相同,价值也会有所不同。但是,当您将它们进一步或靠近接收设备移动时,移动应用程序应清楚地识别该行为;
一旦您100%确定所有iBeacon设备都是
工作正常,你应该能够检测到mac-addresses
您的电路板设备。为此,我建议您运行hcitool
第一个终端窗口和第二个终端窗口hcidump
工具
没有任何额外的参数。与hcitool
命令不同
还会输出捕获数据包的RSSI值,如下所示:
HCI Event: LE Meta Event (0x3e) plen 42
LE Advertising Report
ADV_NONCONN_IND - Non connectable undirected advertising (3)
bdaddr 02:AB:26:D4:9A:EE (Public)
Flags: 0x1a
Unknown type 0xff with 25 bytes data
RSSI: -72
这些值可以帮助您比较不同设备上的扫描行为。不要指望它们在任何地方都相等,这些只是相对值。现在尝试将每个设备移动到接收板附近,您应该能够在hcidump
工具的输出中看到它的mac-address。
在这种情况下,如果您仍然没有看到您的iBeacon设备 确定你的主板上某处存在问题。也可能是 硬件或软件。这是我建议的地方:
如果有任何问题,请随时提出!