仍在询问 BLE 设备和gatttool
.
我可以在交互模式下发送 char-write-cmd,但无法在非交互模式下执行相同的操作。
这是我以交互模式发送的内容:
gatttool -I
[]> connect BTADDR
[BTADDR]> char-write-cmd 0x0040 01
[BTADDR]> exit
通过这种方式,我启动了警报服务,在我的例子中,它使蜂鸣器发出声音。
理论上,非交互模式应该是:
gatttool -b BTADDR --char-write -a 0x0040 -n 01
但这不会将请求命令事件发送到开发板,我正在使用开发板检查它。
读取或写入 BLE 外设的手动(非交互式)方式:
写入并接收一次回复:(取决于您如何配置 BLE 设备)
sudo gatttool -i hci0 -b xx:xx:xx:xx:xx:xx --char-write-req -a 0x0025 -n ff
无限期地写入和接收回复:(直到您与 BLE 设备断开连接或停止蓝牙客户端)
sudo gatttool -i hci0 -b xx:xx:xx:xx:xx:xx --char-write-req -a 0x0025 -n ff --listen
请注意,我只在末尾添加了 --listen 选项。仅当您将 BLE 节点(传感器或执行器)配置为读取和回复时,此机制才有效。
来源::如何使用gatttool非交互模式
低功耗蓝牙:在 Linux 中监听通知/指示
尽管如此,我仍然认为控制 BLE 设备或从 BLE 设备获取值并不是最好的选择。我的方向是继续前进并使用 API(可能是 Python)来为您完成这项工作。
https://github.com/peplin/pygatt该 API 已被证明可与 Raspberry Pi Jessie destro 配合使用。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)