2017-01-12 7 views
0

私は、Bluetoothのスマート/ BLEデバイスに接続するデスクトップアプリケーション(例えば、Polar Heart monitor)を作成しようとしています。Java BLE/Bluetoothスマートライブラリ

一般的にJava APIまたはライブラリを使用する方法はありますか?

これはAndroidアプリケーションではないデスクトップアプリケーション向けです。私がオンラインで見ているものはすべて年齢が古いか、特にアンドロイドです。むしろプラットフォーム固有のJNIの俗語を書くのを避けようとしています。

ありがとうございました。

答えて

0

私はNRJSerialをJavaを使用したデスクトップアプリケーション(Linuxベース)で使用しました。それにはネイティブがありますが、私はそれを直接処理する必要はありませんでした。 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(あなたが接続し、ペアリングのために使用できるツール、サービスの発見で遊んことができ、ガットなどの書き込み&を読んだ属性)。 https://git.kernel.org/cgit/bluetooth/bluez.git/tree/client/main.c

bluetoothctlはGLibのGDBus(Cで口が達者ためdbusのバインディング)を使用して構築された、あなたはのbluezをどうしたいのですが、あなたは、ほとんどすべてのコード例があります:また 、あなたはここでbluetoothctlのソースコードを見つけることができます。