Установка Bluez 5.44 на Raspbian?

Кто-нибудь смог успешно установить Bluez 5.44 на Raspbian? Я бы хотел использовать это как на Raspi 3, так и на Raspi Zero W.

Я следил за многочисленными разные , но все они устанавливают версии Bluez раньше, чем 5.44. Я не могу следовать ни одному из этих руководств и заканчиваю работу с установкой Bluez 5.44.

Любой, кто сделал это, поделитесь своими шагами.

5 голосов | спросил rityzmon 1 Mayam17 2017, 08:07:13

2 ответа


5

Немного поздно, но я недавно страдал от головной боли, следуя различным гидам, ни одна из которых не работала для меня. Итак, вот еще один путеводитель ... который, вероятно, не сработает для вас;)

Я загрузил самую последнюю версию с официальной страницы: 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! В нем перечислены зависимости и переключатели configure:

Сначала установите зависимости: (glib, dbus, libdbus, udev и т. д.). Большинство из них уже установлены, и если они не должны быть легко установлены, все они предоставляются менеджером пакетов. Как только вы это сделали:

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

Я также добавил --enable-experimental, потому что я считаю, что объект GattCharacteristics является частью экспериментальных функций. Затем выполните:

make
sudo make install

Для компиляции может понадобиться 10 минут. После установки вы должны найти bluetoothd в /usr/libexec/bluetooth. Вы также должны увидеть bluetoothd в /usr/lib/bluetooth.

Перейдите в каждый из этих каталогов и введите

./bluetoothd --version

Вы заметите, что один в libexec является новым, а один в lib является старым.

BlueZ создает эти объекты и интерфейс d-bus, чтобы с легкостью открывать вам устройства Bluetooth.

Чтобы убедиться, что d-bus говорит вам новый BlueZ 5.47, а не старый BlueZ 5.23, вам нужно указать systemd для использования нового демона bluetooth:

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

Убедитесь, что строка exec.start указывает на ваш новый демон в /usr/libexec/bluetooth.

Для меня этого было недостаточно. Независимо от того, что, после перезагрузки я всегда получал bluetoothd 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

Это должно сделать это.

Теперь, , я должен сказать это, хотя это не относится к вопросу :

Если вы хотите разработать приложение для своего пи, прочитайте папку bluez docs . Он представляет вам нечто, называемое d-bus , о котором действительно стоит узнать, и позволяет вам разрабатывать ваше приложение в python, node.js или c (и более). Посмотрите это видео на bluez dev .

Там много красных сельдей: обертки, которые пытаются дать вам «легкую» функциональность. Даже ресурсы, которые говорят, что отсутствует документация о том, как разработать Bluetooth. Однако, как только вы захотите сделать что-либо помимо простого подключения к устройству и просмотра его характеристик, вы поймете, что обертка вам не поможет.

Сделай себе одолжение. Потратьте несколько часов, чтобы узнать, как работает BlueZ (видео, которое я связал, является сплошным золотом). Он использует что-то, называемое d-bus. Прочтите немного о d-bus. Если вам нравится Python, посмотрите код в тестовой папке. Прочитайте учебник python dbus один или два раза. Это будет так приятно окупиться. Я потратил несколько дней на то, чтобы найти что-то легкое, но это оказалось лучшим способом.

Удачи!

ответил Hunter Akins 3 52017vEurope/Moscow11bEurope/MoscowFri, 03 Nov 2017 21:12:38 +0300 2017, 21:12:38
0

Я установил его на моем Raspberry Pi 3 с ОС Raspbian GNU /Linux 8 (jessie). Это было немного сложно, но эти шаги работали для меня. Я установил его после прочтения вашего сообщения.

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 /сделать /исправить-малина-пи-3-Bluetooth-вопросы /

ответил Pismurf 2 Mayam17 2017, 10:34:05

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132