¿Alguien ha podido instalar con éxito Bluez 5.44 en Raspbian? Me gustaría usar esto tanto en un Raspi 3 como en un Raspi Zero W.
He seguido numerosas guías diferentes, pero todas instalan versiones de Bluez anteriores a 5.44. No puedo seguir ninguna de estas guías y terminar con una instalación funcional de Bluez 5.44.
Cualquiera que haya hecho esto, por favor comparta sus pasos.
Respuestas:
Un poco tarde aquí, pero recientemente sufrí el dolor de cabeza de seguir una variedad de guías diferentes, ninguna de las cuales funcionó para mí. Así que aquí hay otra guía ... que probablemente no funcione para ti;)
Descargué la versión más reciente de la página oficial: bluez.org/download . Si esa página está muerta, use esta en su lugar.
Por ejemplo, al momento de escribir era 5.47, así que usé (en mi frambuesa):
Luego lo extraje y lo construí:
Lee el
README
! Enumera las dependencias y los modificadores de configuración:Instale primero las dependencias: (glib, dbus, libdbus, udev, etc.) La mayoría de ellas ya están instaladas y, de lo contrario, deberían ser fáciles de instalar, todas provistas por el administrador de paquetes. Una vez que hayas hecho eso:
También agregué
--enable-experimental
porque creo que el objeto GattCharacteristics es parte de las características experimentales. Entonces hazlo:Se tarda unos 10 minutos en compilar. Después de la instalación, debería encontrar
bluetoothd
en/usr/libexec/bluetooth
. También deberías ver bluetoothd en/usr/lib/bluetooth
.Vaya a cada uno de estos directorios y escriba
Notarás que el de libexec es nuevo y el de lib es viejo.
BlueZ crea estos objetos e interfaces d-bus para exponerle los dispositivos bluetooth de manera agradable.
Para asegurarte de que d-bus te está hablando a ti nuevo BlueZ 5.47 y no a tu viejo BlueZ 5.23, debes decirle
systemd
que uses el nuevo bluetooth daemon:Asegúrate de que la
exec.start
línea apunte a tu nuevo demonio/usr/libexec/bluetooth
.Para mí, eso no fue suficiente. No importa qué, al reiniciar siempre obtuve bluetoothd 5.23 ... Así que acabo de crear un enlace simbólico del antiguo al nuevo.
Primero cambie el nombre del archivo antiguo:
Crea el enlace simbólico:
Deberias hacer eso.
Ahora, tengo que decir esto, aunque no sea relevante para la pregunta :
Si desea desarrollar una aplicación para su pi, lea la carpeta blueZ docs . Le presenta algo llamado d-bus , que realmente vale la pena aprender, y le permite desarrollar su aplicación en python, node.js o c (y más). Mire este video en bluez dev .
Hay muchas pistas falsas: envoltorios que intentan darle una funcionalidad "fácil". Incluso los recursos que dicen que hay una falta de documentación sobre cómo desarrollar bluetooth. Sin embargo, tan pronto como desee hacer algo más que simplemente conectarse al dispositivo y ver sus características, se dará cuenta de que el contenedor fallará.
Hazte un favor. Tómese unas horas para aprender cómo
BlueZ
funciona (el video que vinculé es de oro sólido). Utiliza algo llamado d-bus. Lee un poco sobre d-bus. Si te gusta Python, mira el código en la carpeta de prueba. Lea el tutorial de Python dbus una o dos veces. Pagará muy bien. Perdí unos días tratando de encontrar algo fácil, pero resultó ser la mejor manera.¡Buena suerte!
fuente
sudo mv /usr/lib/bluetooth/bluetoothd /usr/lib/bluetooth/bluetoothd-543.orig
2. Cree el enlace simbólico:sudo ln -s /usr/libexec/bluetooth/bluetoothd /usr/lib/bluetooth/bluetoothd
mayo, gracias de nuevo :)Lo instalé en mi Raspberry Pi 3 con el sistema operativo Raspbian GNU / Linux 8 (jessie). Fue un poco complicado, pero estos pasos funcionaron para mí. Lo instalé después de leer tu publicación.
Después de esto no encontré ningún adaptador. Lo siguiente que hice fue
Todavía no hay adaptador. Esto se debe al firmware, así que tuve que hacer esto a continuación
Finalmente escriba:
Luego verifique si funcionó escribiendo:
Si funcionó, debería ver esto en su terminal
Último comando
Espero que esto funcione para usted.
Gracias a este sitio por ayuda https://www.pi-supply.com/make/fix-raspberry-pi-3-bluetooth-issues/
fuente
La respuesta de @Hunter Akins me salvó de tanta frustración cuando dijo (parafraseado): en serio, conoce a BlueZ. Conozca D-BUS. Conozca los comandos bluetoothctl, systemctl y bluetoothd.
El problema es que, desde el lanzamiento de Bluez5.42 en septiembre de 2016, muchos paquetes que usan las guías en línea han quedado en desuso ( https://wiki.archlinux.org/index.php/Bluetooth#Troubleshooting ). Ah, y el paquete Bluez carece severamente de documentación oficial.
Estos son los comandos que utilicé para ejecutar Bluetooth en Raspberry Pi Zero W, desde una nueva instalación:
Extraído de la respuesta y los comentarios anteriores:
Error adicional que encontré:
Supongo que desea utilizar el paquete bluez que acaba de instalar. Utilizo los siguientes pasos para conectarme a un dispositivo BLE justo después de reiniciar el sistema (dado demasiado tiempo después de un reinicio, falla). No he experimentado lo suficiente como para encontrar una conexión consistente. Las líneas precedidas por "pi @ raspberrypi: ~ $" y "[bluetooth] #" fueron mi entrada; el resto fueron respuestas.
Me estoy conectando a un dispositivo BLE. El comando de emparejamiento no funcionará, ya que está diseñado para Bluetooth Classic:
fuente