Zaczynam budować prostą sieć BLE z mikrokontrolerem i malinowym pi (tardis BLE dongle). Jako punkt wyjścia, szukam prostego przykładu C lub C++ do odczytu/zapisu urządzenia BLE, podobnego do tego, co jestem w stanie zrobić za pomocą linii poleceń. Przykłady, które do tej pory znalazłem, są dość skomplikowane. Jako początkujący BLE potrzebuję kilku prostych przykładów do zbudowania, zanim przejdę do przodu z bardziej skomplikowanym projektem. Nie mam problemu z zakodowaniem na sztywno nazwy urządzenia BLE, jak to mam w poniższym przykładzie gatttool.C/C++ BLE odczyt/zapis przykład z Bluez
Oto jak obecnie używam opcji wiersza poleceń z Bluez.
Z linii poleceń jestem w stanie używać:
$ sudo hcitool lescan
LE Scan ...
BB:A0:50:02:18:07 MyDevice
Dalej jestem w stanie połączyć się z urządzeniem w linii poleceń z 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
Wreszcie jestem w stanie odczytać i napisz używając odpowiednich uchwytów:
[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
Niektóre witryny, z których korzystałem podczas wstępnych badań i rozpoczęcia:
http://people.csail.mit.edu/albert/bluez-intro/c404.html
https://github.com/carsonmcdonald/bluez-experiments/blob/master/experiments/scantest.c
Możesz również rzucić okiem na najnowsze apiki DBUS GATT opublikowane przez najnowsze wersje Bluez (od 5,29 ... myślę). Nadal eksperymentalne, ale zrobiłem kilka testów i działa całkiem dobrze. Oczywiście wydajność może być nieco niższa niż dostęp do biblioteki bluez bezpośrednio, ale myślę, że warto spróbować ... –