如何在bt4.0dong中禁用蓝牙经典

2024-09-30 10:31:10 发布

您现在位置:Python中文网/ 问答频道 /正文

我一直在为物联网解决方案使用BLE设备。在断开BLE节点后,重新将BLE节点连接到SBC时出现问题。在

案例:我总是要使用$sudo hcitool lescan进行扫描,然后运行我的bluepython应用程序通过BLE请求数据。 此时,我可以断开BLE节点的连接,并在15秒内重新连接。但如果我再等下去,我必须再次运行lescan cmd,然后运行我的bluepy应用程序来连接和通信。 我只想在每次运行blupy应用程序之前消除扫描部分。 我能知道当我执行lescancmd之后,bluepy应用程序开始与我的ble节点通信时会发生什么情况?在

我假设lescan cmd会将加密狗切换到ble模式,并尝试通过使用
设置标志来保持ble模式为默认模式 sudo hcitool -i hci0 cmd 0x08 0x0008 1e 02 01 16 1a(根据线程How to set bluez mode?将1a改为16)

我只想用ble设备mac ID运行blupy应用程序,不需要lescan就可以开始通信。在

提前谢谢


Tags: cmd应用程序节点模式sudo解决方案案例bluepy
1条回答
网友
1楼 · 发布于 2024-09-30 10:31:10

我用很少的研发努力就找到了解决问题的方法。下面的脚本模拟hcitool lescan命令。注意最后一个命令必须被注释,以便hci0(BT 4.0设备)不能退出le模式。在

====================================================================

回音“hci0向上”

sudo hciconfig hci0向上

echo“*****正在将hci0设置为主设备*****”

sudo hciconfig hci0 lm主机

echo“*****正在设置lescan状态*****”

sudo hcitool-i hci0命令0x08 0x000b 01 10 00 10 00 00 00

sudo hcitool-i hci0命令0x08 0x000c 01 01

echo“******禁用lescan*****” sudo hcitool-i hci0命令0x08 0x000c 00 00

(您可以将上述命令注释为保持在LE模式,从而禁用经典BT模式)

================================================================

您可以使用hcidump-R为在两个不同终端中扫描发出的lescan命令验证上述命令值。在

相关问题 更多 >

    热门问题