Ich fange an, ein einfaches BLE Netzwerk mit einem Mikrocontroller und einem Raspberry Pi (Tardis BLE Dongle) aufzubauen. Als Ausgangspunkt suche ich nach einem einfachen C- oder C++ - Beispiel zum Lesen/Schreiben eines BLE-Geräts, ähnlich dem, was ich über die Befehlszeile ausführen kann. Die Beispiele, die ich bisher gefunden habe, sind ziemlich kompliziert. Als BLE-Anfänger benötige ich einige sehr einfache Beispiele, bevor ich mit einem komplizierteren Design fortfahre. Ich bin in Ordnung mit dem BLE-Gerätenamen wie im unten stehenden gatttool-Beispiel.C/C++ BLE lesen/schreiben Beispiel mit Bluez
Hier ist, wie ich derzeit die Befehlszeilenoptionen von Bluez verwenden.
in der Befehlszeile ich in der Lage bin zu verwenden:
$ sudo hcitool lescan
LE Scan ...
BB:A0:50:02:18:07 MyDevice
Weiter Ich bin in der Lage mit gatttool an das Gerät auf der Kommandozeile verbinden:
$ 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
Ich bin in der Lage, endlich zu lesen und schreibe mit den entsprechenden Handles
[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
Einige Websites, die ich für die anfängliche Forschung und um zu beginnen verwendet habe:
http://people.csail.mit.edu/albert/bluez-intro/c404.html
https://github.com/carsonmcdonald/bluez-experiments/blob/master/experiments/scantest.c
Sie können sich auch die neuesten DBUS GATT api ansehen, die von den neuesten Versionen von Bluez veröffentlicht wurden (seit 5.29 ... denke ich). Noch experimentell, aber ich habe einige Tests gemacht und es funktioniert ganz gut. Natürlich kann die Leistung etwas niedriger sein als der Zugriff auf die Bibliothek von Bluez direkt, aber ich denke, es lohnt sich einen Versuch ... –