Raspberry pi bluetoothctl不显示蓝牙低能量(BLE)设备
我想将我的蓝牙低能运动手表(Suunto Ambit 3)与我的Raspberry PI 3 B V1.2配对 我正在使用内核版本5.4.79-v7的RaspianOS版本10 buster+ 此操作系统包含版本5.50中的bluez堆栈,该堆栈是通过apt get从预定义包安装的 通常,ble配对是在android和IOS下与智能手机进行的。在配对过程中,手表会提供一个必须由智能手机输入的pincode。 使用android下的nRFConnect应用程序,配对工作正常。 当我在我的树莓上运行hcitool时,手表处于配对模式,它就会出现Raspberry pi bluetoothctl不显示蓝牙低能量(BLE)设备,raspberry-pi,bluetooth-lowenergy,bluez,pairing,Raspberry Pi,Bluetooth Lowenergy,Bluez,Pairing,我想将我的蓝牙低能运动手表(Suunto Ambit 3)与我的Raspberry PI 3 B V1.2配对 我正在使用内核版本5.4.79-v7的RaspianOS版本10 buster+ 此操作系统包含版本5.50中的bluez堆栈,该堆栈是通过apt get从预定义包安装的 通常,ble配对是在android和IOS下与智能手机进行的。在配对过程中,手表会提供一个必须由智能手机输入的pincode。 使用android下的nRFConnect应用程序,配对工作正常。 当我在我的树莓上运行
sudo hcitool-i hci0 lescan
但是,当我尝试运行sudo bluetoothctl
命令并启用scan
时,我的设备不会出现,并且与正确的mac地址配对也不起作用。
其他设备仍然出现在bluetoothctl中
我也研究过,但这似乎只与较新的raspberry pi模型有关
你知道是什么阻碍了我的设备在bluetoothctl扫描模式下被找到吗?或者我能做些什么使我的设备与启用的pin码配对?我自己找到了一个解决方案 在bluetoothctl内部调用以下序列
menu scan
transport le
back
scan on
终于让bluetoothctl找到了我的手表。
connect命令也在工作。这听起来像是bluetoothctl或Suunto watch的bug。当您无法通过bluetoothctl找到设备时,是否可以使用nRF Connect同时查看?换句话说,你是否完全确定手表没有停止广告,或者它没有自动连接到其他东西。我这样问是因为如果这两件事中的一件发生了,那么预计通过bluetoothctl将无法再看到手表。这是一个很长的过程,但您也可以尝试重置btmgmt,如以下答案所示:-。也许这会让事情运转起来。同样值得检查的是,如果你使用了
blutothctl设备
,手表不在列表中,因为在扫描过程中,如果已经发现了现有设备,它们通常会被过滤掉。sudo服务蓝牙重启通常是重置bluetooth
的好主意。要获得调试的更多可见性,请使用journalctl-f-u bluetooth
和sudo btmon
嗨,谢谢你的回复。嗨,谢谢你的回复。我做了一些进一步的调查:看起来我的手表确实发送了一个非连接广告框。可能是为了防止其他应用程序连接到该手表,我对帧格式不是很熟悉,但hcidump--raw
给了我04 3E 21 02 01 00 00 C0 81…
我试图用nRF connect模拟相同的情况,bluetoothctl的行为也一样。因此,如果已停用可连接,则未找到。可能我必须访问比bluetoothctl更深的级别。您知道是否有一些工具/库可用于此?