2017-01-12 2 views
0

나는 블루투스 스마트/BLE 장치 (예 : 폴라 하트 모니터)에 연결되는 데스크톱 응용 프로그램을 작성하려고합니다.자바 BLE ​​/ 블루투스 스마트 라이브러리

Java API 또는 라이브러리를 사용하여 일반적으로 인식되는 방법이 있습니까?

이것은 안드로이드가 아닌 데스크탑 응용 프로그램을위한 것입니다. 온라인에서 볼 수있는 모든 것은 오래된 연도 또는 특히 안드로이드입니다. 차라리 플랫폼 별 JNI 헛소리 작성을 피하려고합니다.

감사합니다.

답변

0

저는 Java 기반 데스크탑 응용 프로그램 (Linux 기반)에서 NRJSerial을 사용했습니다. 그것에 네이티브가 있지만 직접 처리 할 필요가 없었습니다. Java의 USB/직렬 포트에서 읽을 수있는 방법이 있지만 휴대용 및 쉬운 것으로 나타났습니다.

경고의 단어 - 그것은 낮은 수준입니다. 나는 바이너리를 버린 PulseOximeter를 다루기 때문에 너무 나쁘지 않았다. GATT에 들어가기 시작하면 그 일을 처리하는 데 상당한 양의 작업이 필요할 것입니다.

0

Linux 기반 시스템을 사용하려는 경우 bluez5를 사용할 수 있습니다.

Bluez5는 DBus에서 인터페이스를 노출하므로 bluez와의 상호 작용은 원하는 dbus 바인딩 (C, python, C# Mono ..)으로 수행 할 수 있습니다. dbus-api를 사용하면 스캔, 연결, 쌍 처리, 알림, 읽기/쓰기, 광고 등을 할 수 있습니다.

여기서 bluez가 노출 한 dbus api에 대한 설명을 찾을 수 있습니다. 어댑터-API, 디바이스 API와 GATT-API) : https://git.kernel.org/cgit/bluetooth/bluez.git/tree/doc

코드로 다이빙을하기 전에 당신이 bluetoothctl (당신이 연결 페어링에 사용할 수있는 도구, 서비스의 발견으로 주위를 재생할 수 있습니다, GATT는 등 쓰기 & 읽기 속성). https://git.kernel.org/cgit/bluetooth/bluez.git/tree/client/main.c

bluetoothctl이 입심 GDBus (C에서 입심에 대한 DBUS 바인딩)를 사용하여 지어진 당신이 bluez와 함께 할 싶은 당신은 거의 모두를위한 코드 예제를 찾을 수 있습니다 : 또한 , 여기 bluetoothctl의 소스 코드를 찾을 수 있습니다 .

관련 문제