14

Raspberry Pi 3 には BLE サポートが含まれています。私はそれが動作することを確認しました

sudo hcitool レスキャン

近隣の広告主の MAC と BLE の「完全なローカル名」を返しました。

Javaでプログラム的にこれにアクセスするにはどうすればよいですか?

4

3 に答える 3

4

Raspberry Pi 3 で BLE を使用するには、bluez (Raspbian Linux の Bluetooth コア) を更新してから、bluez D-Bus インターフェイスを使用して操作する必要があります。

独自の Java ライブラリを作成しようとしていますが、Java の D-Bus と bluez に関するドキュメントがほとんどないため、非常に困難です。

bluez は前回の配布物にサンプルコードしかありません。

今のところ、bluez バージョンを最新に更新する簡単なスクリプトを作成しました: https://gist.github.com/tongo/94338cebf4e6367d353439bca8d0a376

d-bus、java、bluez について説明しているブログ記事も見つけました: http://smartspacestuff.blogspot.it/2016/02/i-got-figurin-out-dbus-bluez.html

役に立ちましたが、私にはあまり明確ではありませんでした。

これが役立つことを願っています。

他のドキュメントを見つけた場合は、投稿してください。

于 2016-10-09T17:12:22.563 に答える
1

現時点では、明確で簡単な答えはないと思います。Bluetooth 統合には、標準 JDK の一部ではないネイティブ コンポーネントが必要です。

Linux 上の Java で Bluetooth を使用するために使用される最も一般的なライブラリはBlueCoveです。BlueCove は、Linux で Bluetooth を操作するための追加のネイティブ ライブラリを提供します: BlueCove-GPLまたはBlueCove-bluez (実験的)。ただし、RPi で使用するには、これらのいずれかを自分でコンパイルする必要があります。do を実行する方法はディストリビューションに依存し、Linux やネイティブ コードのコンパイルなどに関するかなりの知識が必要になります。Google で簡単に検索すると、以前の RPi バージョンでの実際の例がいくつか表示されます。ただし、RPi 3 の BLE で動作するかどうかは不明です。

もう 1 つの方法は、Bluecove のラッパーであり、libbluetooth-dev と blueman がインストールされていることを期待する「 Camel Bluetooth Component 」を使用することです。ただし、RPi 3 で動作するかどうかは不明です。

真の統合を機能させることができない場合、別のオプションとして、Java から、既に機能していることがわかっているコマンド ライン Bluetooth ユーティリティへの外部Process呼び出しを単純に行うことができます。これがオプションであるかどうかはユースケースによって異なりますが、多くの BLE 固有のユース ケースでは十分であると思われます。

于 2016-08-24T12:03:50.023 に答える