2017-01-12 4 views
0

Я пытаюсь написать настольное приложение, которое подключается к устройствам bluetooth smart/BLE, например, монитору Polar Heart.Яблочные библиотеки Java BLE/Bluetooth

Есть ли общепризнанный способ сделать это, Java API или библиотеку?

Это для настольного приложения, а не для Android. Все, что я вижу в Интернете, - это год устаревшего или специально андроида. Я бы предпочел не писать некоторые специфичные для платформы JNI shenanigans.

Спасибо.

ответ

0

Я использовал NRJSerial в настольном приложении (на основе Linux) с Java. У этого есть родной в нем, но мне не пришлось иметь дело с этим напрямую. Есть способы читать с порта USB/Serial на Java, но я нашел, что это переносимо и легко.

Слово предупреждения, хотя - это низкий уровень. Я имел дело с PulseOximeter, который просто сбрасывал двоичные файлы, поэтому было не так уж плохо. Если вы начнете попадать в GATT и так далее, это будет достойная работа, чтобы справиться с этим.

0

Если вы планируете использовать систему на базе Linux, вы можете использовать bluez5.

Bluez5 предоставляет интерфейсы в DBus, поэтому взаимодействие с bluez может быть выполнено с помощью привязок dbus по вашему выбору (C, python, C# Mono ..). Используя dbus-api, вы сможете сканировать, подключаться, парно, уведомлять, читать/писать, рекламировать и многое другое.

Здесь вы можете найти описание dbus api, выставленного здесь bluez (я предлагаю посмотреть на адаптер-апи, устройство-апи и GATT-апи): https://git.kernel.org/cgit/bluetooth/bluez.git/tree/doc

Перед погружением в код, который вы можете играть с bluetoothctl (инструмент, который можно использовать для спаривания, соединяясь, открытие услуг, GATT атрибуты чтения & писать и т.д.). Кроме того, вы можете найти исходный код bluetoothctl здесь: https://git.kernel.org/cgit/bluetooth/bluez.git/tree/client/main.c

bluetoothctl был построен с использованием GLib GDBus (Dbus привязок для Glib в C), и вы найдете примеры кода для почти все, что вы хотели бы сделать с Bluez ,

Смежные вопросы