Программирование сервера BLE и клиента в Raspberry Pi - PullRequest
0 голосов
/ 05 июня 2019

Я хочу внедрить BLE в Raspberry, который отправляет результат датчика отдельно от его характеристик, и сделать еще одну Raspberry для получения этих данных.

Поскольку язык, который предлагает возможность считывания данных с датчика, написан на C, C ++ и Python, я искал в нескольких библиотеках, таких как pygattlib , pygatt , pybluez и bluepy безрезультатно, чтобы знать, как отправлять данные в дополнение к их характеристикам.

Можно ли воспроизвести мой запрос?.

Я также читал о протоколах iBeacon и Eddystonne от Apple и Google, однако мой первый пункт - установить связь между двумя Raspberry (сервер и клиент).

1 Ответ

0 голосов
/ 07 июня 2019

Если вы используете rpi, у вас должен быть предустановлен Bluez.Bluez предоставляет API через D-Bus, который можно использовать для добавления функциональности GAP и GATT.Документация находится в исходном коде Bluez.

Документация BLE (профиль GAP): https://git.kernel.org/pub/scm/bluetooth/bluez.git/tree/doc/advertising-api.txt

Документация передачи данных BLE (профиль GATT): https://git.kernel.org/pub/scm/bluetooth/bluez.git/tree/doc/gatt-api.txt

Конечно, легче иметь пример.Они тоже в репозитории Bluez!Они написаны на Python, но их легко перевести на другой язык, потому что они используют только D-Bus.https://git.kernel.org/pub/scm/bluetooth/bluez.git/tree/test/example-gatt-server https://git.kernel.org/pub/scm/bluetooth/bluez.git/tree/test/example-gatt-client https://git.kernel.org/pub/scm/bluetooth/bluez.git/tree/test/example-advertisement

...