RaspberryPi用のBluetooth / Bluetooth.hはどこで入手できますか?

Dec 13 2020

これはばかげた質問です。しかし、私はそれに対する解決策を見つけることができません。このチュートリアルを参照してBLEアプリケーションを構築しようとしていますhttps://people.csail.mit.edu/albert/bluez-intro/c404.html。Windows PCWSLからRaspberryPi3用にクロスコンパイルしています。ツールチェーンをからダウンロードしましたhttps://github.com/raspberrypi/tools。そして、単純なHelloWorldアプリケーションをコンパイルしてツールチェーンを検証し、RaspberryPiから実行しました。上記のコードをコンパイルしようとすると、エラーが発生します

/mnt/c/Study/RaspberryPi/main.c:5:33: fatal error: bluetooth/bluetooth.h: No such file or directory
 #include <bluetooth/bluetooth.h>

Bluetooth.hが私のシステムではないことを理解しています。私の質問はどこで入手できますか?Windowsからクロスコンパイルできるように。そのためにSDKをダウンロードする必要がありますか?必要に応じてどこで入手できますか?

回答

5 DmitryGrigoryev Dec 14 2020 at 18:56

Debian(Raspberry Pi OSのベースとなっているディストリビューション)の検索エンジンを使用して、任意のファイルを見つけることができます。

必要なファイルを含むパッケージを見つけたら、を使用して同じパッケージをPiにインストールするapt-getか、から手動でダウンロードできますhttp://archive.raspbian.org/。検索結果から直接Debianパッケージを取得することもできますが、PiOSの一部のパッケージは対応するDebianパッケージと微妙な違いがあることに注意してください。

インストールせずにパッケージからファイルを取得する必要がある場合は、ダウンロードして、arコマンドまたは7zipで必要なファイルを抽出します。

5 Seamus Dec 14 2020 at 07:36

愚かな質問ではありません。ソースからパッケージをインストールする方法の良い説明をすぐに見つけることができませんでした。ただし、試行錯誤の結果、次のような解決策得られました。

$ apt-cache search bluez

容疑者のリストを作成しました。そのうちの1つは次のとおりです。

libbluetooth-dev-BlueZ LinuxBluetoothライブラリを使用するための開発ファイル

これは合理的な選択のように見えました。

$ sudo apt-get install libbluetooth-dev
...
The following additional packages will be installed:
  libbluetooth3
The following NEW packages will be installed:
  libbluetooth-dev libbluetooth3  

その後、チュートリアルのコードがコンパイルされて実行されます。

$ gcc -o simplescan simplescan.c -lbluetooth $ ./simplescan
CC:6D:A0:64:36:32  Roku Player. 

これは私のアパートでの正解です。しかし、他のBT搭載デバイス(私のiPhoneなど)が置かれているため、これは完全な答えではありません。

ノート:

  1. 新しいパッケージをインストールする前に、必ずシステムを更新およびアップグレードしてください。
  2. ドミトリーの答え(Debianの検索エンジンを使用)は、OPの質問に対するより良い答えです。まだ推測が必要なようですが、それは間違いなく分野を狭めるのに役立ちます。
  3. ソースからネイティブにパッケージをビルドしてインストールしたい人にとっては、それをサポートする適切なオプションがあるようです。