RaspbianにBluez 5.44をインストールしますか?


9

Bluez 5.44をRaspbian に正常にインストールできる人はいますか?Raspi 3とRaspi Zero Wの両方でこれを使用したいと思います。

私は多くの 異なる ガイドに従っきましたが、それらはすべて5.44より前のBluezバージョンをインストールします。私はこれらのガイドのいずれにも従うことができず、機能するBluez 5.44のインストールに終わります。

これを行った人は誰でも、手順を共有してください。


私は多くの命令を試してみましたが、これは実際に働いていた唯一のものである:learn.adafruit.com/install-bluez-on-the-raspberry-pi/...は:唯一の違いで、私はから私の.tarファイルを持ってしているmirrors.edge。 kernel.org/pub/linux/bluetoothとその時点で最新のバージョン5.52をダウンロードしました。
Hurri

回答:


11

ここで少し遅れましたが、私は最近、さまざまな異なるガイドに従うという頭痛に苦しみましたが、どれも私にとってはうまくいきませんでした。だからここに別のガイドがあります...おそらくあなたにはうまくいきません;)

最新バージョンを公式ページbluez.org/downloadからダウンロードしました。そのページが死んでいる場合は、代わりにこのページを使用してください。

たとえば、執筆時点では5.47でしたので、(ラズベリーで)使用しました。

wget http://www.kernel.org/pub/linux/bluetooth/bluez-5.47.tar.xz 

次に、それを抽出してビルドしました。

tar -xf bluez-5.47.tar.xz
cd bluez-5.47

を読んでくださいREADME依存関係と構成スイッチを一覧表示します。

最初に依存関係をインストールします:(glib、dbus、libdbus、udevなど)それらのほとんどは既にインストールされており、簡単にインストールできない場合は、すべてパッケージマネージャーによって提供されます。あなたがそれをしたら:

./configure --prefix=/usr --mandir=/usr/share/man --sysconfdir=/etc --localstatedir=/var 

また--enable-experimentalGattCharacteristicsオブジェクトは実験的な機能の一部であると考えているため、追加しました。次に行います:

make
sudo make install

コンパイルには10分程度かかります。インストールしたら、あなたは見つける必要がある bluetoothdの中で/usr/libexec/bluetooth。また、Bluetoothが表示されるはず/usr/lib/bluetoothです。

これらの各ディレクトリに移動し、次のように入力します

./bluetoothd --version

libexecの1つが新しく、libの1つが古いことに注意してください。

BlueZは、これらのd-busオブジェクトとインターフェイスを作成して、Bluetoothデバイスを適切な方法で公開します。

d-busが古い BlueZ 5.23ではなく新しい BlueZ 5.47と通信していることを確認するには、新しいbluetoothデーモンを使用するように指示する必要があります。systemd

    sudo vim /lib/systemd/system/bluetooth.service

このexec.start行がの新しいデーモンを指していることを確認してください/usr/libexec/bluetooth

私にとっては、それだけでは不十分でした。何があっても、再起動時に常にBluetooth 5.23を取得しました...それで、古いものから新しいものへのシンボリックリンクを作成しました。

最初に古いファイルの名前を変更します。

sudo mv /usr/lib/bluetooth/bluetoothd /usr/lib/bluetooth/bluetoothd-543.orig

シンボリックリンクを作成します。

ln -s /usr/libexec/bluetooth/bluetoothd /usr/lib/bluetooth/bluetoothd
sudo systemctl daemon-reload

それでうまくいくはずです。

質問には関係ありませんが、今、私はこれを言わなければなりません

piのアプリケーションを開発する場合は、blueZ docsフォルダーを参照してくださいd-busと呼ばれるものを紹介します。これは本当に学ぶ価値があり、Python、node.js、またはc(およびそれ以上)でアプリケーションを開発できます。bluez devでこのビデオをご覧ください

レッドニシンはたくさんあります。「簡単な」機能を提供しようとするラッパーです。ブルートゥースを開発する方法についてのドキュメントが不足していると言うリソースでさえ。ただし、単にデバイスに接続してその特性を表示するだけでは済まない場合は、ラッパーが失敗することに気づくでしょう。

自分でお願いします。数時間かけてどのようにBlueZ機能するかを学びます(私がリンクしたビデオは純金です)。d-busと呼ばれるものを使用します。d-busについて少し読んでください。Pythonが気に入った場合は、testフォルダーのコードを確認してください。Python dbusチュートリアルを 1回または2回読んでください。それはとてもうまくいきます。簡単なものを探すために数日無駄にしたが、これが最善の方法であることが判明した。

幸運を!


オリジナルのbluezページが死んでいるように見える
not2qubit

1
まとめてくれてありがとう。私はいくつかのチュートリアル(learn.adafruit.com/install-bluez-on-the-raspberry-pi/… | fam-haugk.de/starting-with-bluetooth-le-on-the-raspberry-pi)を実行しましたが、あなただけですそれを機能させました。2つのノート: -のbluezページは次のとおりです。bluez.org/download -シンボリックリンクを作成するには、実行します。1.名前の変更旧:sudo mv /usr/lib/bluetooth/bluetoothd /usr/lib/bluetooth/bluetoothd-543.orig2.シンボリックリンクを作成します。sudo ln -s /usr/libexec/bluetooth/bluetoothd /usr/lib/bluetooth/bluetoothd 月のおかげで再び:)
Thor_Bux

うまくいったことを嬉しく思います!私もあなたが提案したコメントをしました。乾杯
Hunter Akins

ここには1つのステップがあります。READMEを読んで依存関係をインストールします。依存関係はカスケードに変わります。これは役立ちます:rrbluetoothx.blogspot.nl/2016/04/...
brianfit

3

Raspbian GNU / Linux 8(jessie)OSを搭載したRaspberry Pi 3にインストールしました。それは少しトリッキーでしたが、これらの手順は私のために働いた。あなたの投稿を読んでインストールしました。

sudo apt-get update
sudo apt-get upgrade -y 
sudo apt-get install bluez
sudo apt-get install blueman

この後、アダプターは見つかりませんでした。次にやったことは

sudo service bluetooth start
sudo service bluetooth status

まだアダプターはありません。これはファームウェアによるものなので、次にこれを実行する必要がありました

sudo apt-get dist-upgrade -y 
sudo apt-get install pi-bluetooth 
sudo apt-get install bluez bluez-firmware

最後に入力します:

sudo usermod -G bluetooth -a pi

次に、次のように入力して、機能するかどうかを確認します。

cat /etc/group | grep bluetooth

それがうまくいったなら、あなたの端末でこれを見るはずです

$ cat /etc/group | grep bluetooth
bluetooth:x:113:pi

最後のコマンド

sudo reboot

これがうまくいくことを願っています。

ヘルプのこのサイトに感謝 https://www.pi-supply.com/make/fix-raspberry-pi-3-bluetooth-issues/


1

@Hunter Akinsの答えは、彼が言ったとき(言い換えれば)とても苛立たしい気持ちから私を救いました:真剣に、BlueZを知ってください。D-BUSについて知る。bluetoothctl、systemctl、bluetoothdコマンドについて理解します。

問題は、2016年9月のBluez5.42のリリース以降、オンラインガイドが使用する多くのパッケージが非推奨になったことです(https://wiki.archlinux.org/index.php/Bluetooth#Troubleshooting)。ああ、そしてBluezパッケージは公式ドキュメントにひどく欠けています。

新規インストールからRaspberry Pi Zero WでBluetoothを実行するために使用したコマンドは次のとおりです。

$#Fresh install the latest version of Raspbian thru the latest version of NOOBS
$#Instructions for fresh install of at https://www.raspberrypi.org/help/noobs-setup/2/
$sudo apt-get update
$sudo apt-get upgrade #ensures you have latest linux kernel
$sudo init 6 #more robust than sudo reboot
$sudo apt-get -s install bluez #-s simulates the install, showing you
$#that the apt-get version is too old
$sudo apt-get --purge remove bluez #removes the bluez on your machine

上記の回答とコメントから抜粋:

$sudo apt-get -s install bluez #-s simulates the install, showing you
$#that an outdated version of bluez is on your machine
$sudo apt-get --purge remove bluez
$cd ~
$wget http://www.kernel.org/pub/linux/bluetooth/bluez-5.49.tar.xz # find the latest bluez kernel at
$#http://www.kernel.org/pub/linux/bluetooth and install that, changing the version number of upcoming steps 
$tar xvf bluez-5.49.tar.xz
$sudo apt-get install -y libusb-dev libdbus-1-dev libglib2.0-dev libudev-dev libical-dev libreadline-dev
$cd bluez-5.49
$./configure --prefix=/usr --mandir=/usr/share/man --sysconfdir=/etc --localstatedir=/var
$make
$sudo make install
$cd ~
$cd /usr/libexec/bluetooth
$./bluetoothd --version
$cd ~
$cd usr/lib/bluetooth
$./bluetoothd --version #identify what the newer version is. 
#Mine was in libexec. If yours is not, reverse the paths in the following steps
$cd ~
$sudo nano /lib/systemd/system/bluetooth.service
#Go to the Exec Start line. Point it to /usr/libexec/bluetooth/bluetoothd
$sudo mv /usr/lib/bluetooth/bluetoothd /usr/lib/bluetooth/bluetoothd-543.orig
$sudo ln -s /usr/libexec/bluetooth/bluetoothd /usr/lib/bluetooth/bluetoothd 
$sudo systemctl daemon-reload 

私が見つけた追加のバグ:

$sudo apt-get install -y bluez-obexd 
$# see https://forums.fedoraforum.org/showthread.php?315160-Cannot-get-bluetooth-devices-to-work
$sudo init 6 #more robust sudo reboot

インストールしたbluezパッケージを使用したいと思います。システムの再起動直後にBLEデバイスに接続するには、次の手順を使用します(再起動後に時間がかかりすぎると失敗します)。私は一貫した接続を理解するのに十分な実験をしていません。「pi @ raspberrypi:〜$」と「[bluetooth]#」で始まる行が私の入力でした。残りは応答でした。

pi@raspberrypi:~ $ bluetoothctl
Agent registered
[bluetooth]# power on
Changing power on succeeded
[bluetooth]# scan on
Discovery started
[CHG] Controller B8:27:EB:DD:65:21 Discovering: yes      (The raspberry pi, I believe)
[CHG] Device 34:15:13:87:98:37 RSSI: -45     (device I want)
[bluetooth]# trust 34:15:13:87:98:37
Changing 34:15:13:87:98:37 trust succeeded
[bluetooth]# connect 34:15:13:87:98:37
Attempting to connect to 34:15:13:87:98:37    (this will take a few seconds)
[CHG] Device 34:15:13:87:98:37 Connected: yes
Connection successful
...(Specifications of your device)...
[CHG] Device 34:15:13:87:98:37 ServicesResolved: yes

BLEデバイスに接続しています。ペアリングコマンドは、Bluetoothクラシックを対象としているため機能しません。

[bluetooth]# pair 34:15:13:87:98:37
Attempting to pair with 34:15:13:87:98:37
[CHG] Device 34:15:13:87:98:37 Connected: yes
Failed to pair: org.bluez.Error.AuthenticationFailed
[CHG] Device 34:15:13:87:98:37 Connected: no

1
この情報の塊は、bluetooth.com blog.bluetooth.com/bluez-on-raspberry-pi
austin
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.