【发布时间】:2015-08-03 21:05:51
【问题描述】:
我开始使用微控制器和树莓派(tardis BLE 加密狗)构建一个简单的 BLE 网络。作为起点,我正在寻找一个简单的 C 或 C++ 示例来读取/写入 BLE 设备,类似于我能够通过命令行执行的操作。到目前为止,我发现的例子非常复杂。作为 BLE 初学者,我需要一些非常简单的示例来构建,然后再进行更复杂的设计。我可以像下面的 gatttool 示例中那样对 BLE 设备名称进行硬编码。
这是我目前使用 Bluez 命令行选项的方式。
从命令行我可以使用:
$ sudo hcitool lescan
LE Scan ...
BB:A0:50:02:18:07 MyDevice
接下来我可以在命令行上使用 gatttool 连接到设备:
$ sudo gatttol -b BB:A0:50:02:18:07 -I
[BB:A0:50:02:18:07][LE]> connect
Attempting to connect to BB:A0:50:02:18:07
Connection successful
我终于可以使用适当的句柄进行读写了
[BB:A0:50:02:18:07][LE]> char-write-req 000f 0100
Characteristic value was written successfully
[BB:A0:50:02:18:07][LE]> char-write-cmd 0011 4C467A
我用于初步研究和入门的一些网站:
http://people.csail.mit.edu/albert/bluez-intro/c404.html
https://github.com/carsonmcdonald/bluez-experiments/blob/master/experiments/scantest.c
【问题讨论】:
-
您还可以查看最新版本的 Bluez 发布的最新 DBUS GATT api(我认为是从 5.29 开始)。仍然是实验性的,但我已经做了一些测试,它工作得很好。当然性能可能比直接访问 bluez 库要低一些,但我认为值得一试...
标签: c++ c bluetooth raspberry-pi bluez