Menginstal Bluez 5.44 ke Raspbian?

9

Adakah yang berhasil menginstal Bluez 5.44 ke Raspbian? Saya ingin menggunakan ini pada Raspi 3 dan Raspi Zero W.

Saya telah mengikuti banyak panduan berbeda tetapi mereka semua menginstal versi Bluez lebih awal dari 5,44. Saya tidak dapat mengikuti panduan ini dan berakhir dengan instalasi Bluez 5.44 yang berfungsi.

Siapa pun yang telah melakukan ini, silakan bagikan langkah Anda.

rityzmon
sumber
Saya mencoba banyak instruksi dan ini adalah satu-satunya yang benar-benar berfungsi: learn.adafruit.com/install-bluez-on-the-raspberry-pi/... Dengan satu-satunya perbedaan adalah saya mendapatkan file .tar saya dari: mirrors.edge. kernel.org/pub/linux/bluetooth dan saya mengunduh versi 5.52 yang merupakan yang terbaru saat itu.
Hurri

Jawaban:

11

Agak terlambat di sini, tetapi saya baru-baru ini menderita sakit kepala karena mengikuti berbagai panduan yang berbeda, tidak ada yang bekerja untuk saya. Jadi di sini ada panduan lain ... yang mungkin tidak akan berhasil untuk Anda;)

Saya mengunduh versi terbaru dari halaman resmi: bluez.org/download . Jika halaman itu mati, gunakan yang ini sebagai gantinya.

Sebagai contoh, pada saat penulisan adalah 5.47, jadi saya menggunakan (pada raspberry saya):

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

Lalu saya mengekstraknya dan membangunnya:

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

Baca README! Ini mencantumkan dependensi dan sakelar konfigurasi:

Instal dependensi terlebih dahulu: (glib, dbus, libdbus, udev, dll.) Sebagian besar sudah diinstal dan jika tidak mudah diinstal, semua disediakan oleh manajer paket. Setelah Anda selesai melakukannya:

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

Saya juga menambahkan --enable-experimentalkarena saya percaya objek GattCharacteristics adalah bagian dari fitur eksperimental. Lalu lakukan:

make
sudo make install

Mungkin perlu 10 menit untuk dikompilasi. Setelah menginstal, Anda harus menemukan bluetoothddi /usr/libexec/bluetooth. Anda juga harus melihat bluetoothd di /usr/lib/bluetooth.

Pergi ke masing-masing direktori dan jenis ini

./bluetoothd --version

Anda akan perhatikan bahwa yang di libexec baru dan yang di lib sudah lama.

BlueZ menciptakan objek dan antarmuka d-bus ini untuk mengekspos perangkat bluetooth kepada Anda dengan cara yang baik.

Dalam rangka untuk memastikan bahwa d-bus sedang berbicara dengan Anda baru BlueZ 5,47 dan tidak Anda tua BlueZ 5,23, Anda perlu memberitahu systemdmenggunakan daemon bluetooth baru:

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

Pastikan exec.startbaris menunjuk ke daemon baru Anda di /usr/libexec/bluetooth.

Bagi saya, itu tidak cukup. Tidak peduli apa, setelah restart saya selalu mendapat bluetoothd 5.23 ... Jadi saya baru saja membuat symlink dari yang lama ke yang baru.

Pertama ganti nama file lama:

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

Buat symlink:

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

Itu harus dilakukan.

Sekarang, saya harus mengatakan ini, meskipun itu tidak relevan dengan pertanyaan :

Jika Anda ingin mengembangkan aplikasi untuk pi Anda, baca folder blueZ docs . Ini memperkenalkan Anda pada sesuatu yang disebut d-bus , yang benar-benar layak dipelajari, dan memungkinkan Anda untuk mengembangkan aplikasi Anda dengan python, node.js, atau c (dan banyak lagi). Tonton video ini di bluez dev .

Ada banyak ikan haring merah di luar sana: pembungkus yang berupaya memberi Anda fungsionalitas "mudah". Bahkan sumber daya yang mengatakan ada kekurangan dokumentasi tentang cara mengembangkan bluetooth. Namun, begitu Anda ingin melakukan apa pun selain sekadar menghubungkan ke perangkat dan melihat karakteristiknya, Anda akan menyadari bahwa pembungkusnya akan mengecewakan Anda.

Bantulah dirimu sendiri. Butuh beberapa jam untuk mempelajari cara BlueZkerjanya (video yang saya tautkan adalah emas murni). Ini menggunakan sesuatu yang disebut d-bus. Baca sedikit tentang d-bus. Jika Anda suka Python, lihat kode di folder tes. Baca tutorial python dbus sekali atau dua kali. Itu akan membayar dengan sangat baik. Saya menyia-nyiakan beberapa hari untuk menemukan sesuatu yang mudah, tetapi ini ternyata cara terbaik.

Semoga berhasil!

Hunter Akins
sumber
halaman bluez asli tampaknya mati
not2qubit
1
Terima kasih banyak untuk jumlah itu. Saya mengikuti beberapa tutorial ( pelajari.adafruit.com/install-bluez-on-the-raspberry-pi/… | fam-haugk.de/mulai-dengan-bluetooth-le-on-the-raspberry-pi ) tetapi hanya milik Anda membuatnya bekerja. Dua catatan: - Halaman Bluez adalah: bluez.org/download - Untuk membuat symlink lakukan: 1. Ubah nama yang lama: sudo mv /usr/lib/bluetooth/bluetoothd /usr/lib/bluetooth/bluetoothd-543.orig2. Buat symlink: sudo ln -s /usr/libexec/bluetooth/bluetoothd /usr/lib/bluetooth/bluetoothd Semoga terima kasih lagi :)
Thor_Bux
Saya senang itu berhasil! Saya juga membuat komentar yang Anda sarankan. Cheers
Hunter Akins
Ada satu langkah di sini, Baca README dan instal dependensi, yang dapat berubah menjadi kaskade dependensi. Ini membantu: rrbluetoothx.blogspot.nl/2016/04/…
brianfit
3

Saya menginstalnya di Raspberry Pi 3 saya dengan Raspbian GNU / Linux 8 (jessie) OS. Itu agak sulit tetapi langkah-langkah ini berhasil untuk saya. Saya menginstalnya setelah membaca posting Anda.

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

Setelah ini saya tidak menemukan adaptor. Hal berikutnya yang saya lakukan adalah

sudo service bluetooth start
sudo service bluetooth status

Masih tidak ada adaptor. Ini karena firmware, jadi saya harus melakukan ini selanjutnya

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

Akhirnya ketik:

sudo usermod -G bluetooth -a pi

Kemudian periksa untuk melihat apakah itu berhasil dengan mengetik:

cat /etc/group | grep bluetooth

Jika berhasil, Anda akan melihat ini di terminal Anda

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

Perintah terakhir

sudo reboot

Semoga ini berhasil untuk Anda.

Terima kasih kepada situs ini untuk bantuan https://www.pi-supply.com/make/fix-raspberry-pi-3-bluetooth-issues/

Pismurf
sumber
1

Jawaban @Hunter Akins menyelamatkan saya dari begitu banyak frustrasi ketika dia berkata (diparafrasekan): serius, kenali BlueZ. Kenali D-BUS. Mengenal perintah bluetoothctl, systemctl, dan bluetoothd.

Masalahnya adalah, sejak Bluez5.42 rilis September 2016, banyak paket yang menggunakan panduan online sudah usang ( https://wiki.archlinux.org/index.php/Bluetooth#Troubleshooting ). Oh, dan paket Bluez sangat kurang dalam dokumentasi resmi.

Berikut adalah perintah yang saya gunakan untuk menjalankan Bluetooth pada Raspberry Pi Zero W, dari instalasi baru:

$#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

Diambil dari jawaban dan komentar di atas:

$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 

Bug tambahan yang saya temukan:

$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

Saya berasumsi Anda ingin menggunakan paket bluez yang baru saja Anda instal. Saya menggunakan langkah-langkah berikut untuk terhubung ke perangkat BLE tepat setelah reboot sistem (diberikan terlalu lama setelah reboot, gagal). Saya belum cukup bereksperimen untuk mencari koneksi yang konsisten. Baris yang diawali dengan "pi @ raspberrypi: ~ $" dan "[bluetooth] #" adalah masukan saya; sisanya adalah tanggapan.

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

Saya terhubung ke perangkat BLE. Perintah pasangan tidak akan berfungsi, karena ditujukan untuk Bluetooth Classic:

[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
John Doe
sumber
1
sepotong info ini cocok dengan langkah-demi-langkah pdf yang ditemukan di bluetooth.com blog.bluetooth.com/bluez-on-raspberry-pi
austin