RaspberryPi用のBluetooth / Bluetooth.hはどこで入手できますか?
これはばかげた質問です。しかし、私はそれに対する解決策を見つけることができません。このチュートリアルを参照して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をダウンロードする必要がありますか?必要に応じてどこで入手できますか?
回答
Debian(Raspberry Pi OSのベースとなっているディストリビューション)の検索エンジンを使用して、任意のファイルを見つけることができます。

必要なファイルを含むパッケージを見つけたら、を使用して同じパッケージをPiにインストールするapt-get
か、から手動でダウンロードできますhttp://archive.raspbian.org/
。検索結果から直接Debianパッケージを取得することもできますが、PiOSの一部のパッケージは対応するDebianパッケージと微妙な違いがあることに注意してください。
インストールせずにパッケージからファイルを取得する必要がある場合は、ダウンロードして、ar
コマンドまたは7zipで必要なファイルを抽出します。
愚かな質問ではありません。ソースからパッケージをインストールする方法の良い説明をすぐに見つけることができませんでした。ただし、試行錯誤の結果、次のような解決策が得られました。
$ 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など)が置かれているため、これは完全な答えではありません。
ノート:
- 新しいパッケージをインストールする前に、必ずシステムを更新およびアップグレードしてください。
- ドミトリーの答え(Debianの検索エンジンを使用)は、OPの質問に対するより良い答えです。まだ推測が必要なようですが、それは間違いなく分野を狭めるのに役立ちます。
- ソースからネイティブにパッケージをビルドしてインストールしたい人にとっては、それをサポートする適切なオプションがあるようです。