Alguém conseguiu instalar o Bluez 5.44 no Raspbian? Eu gostaria de usar isso em um Raspi 3 e um Raspi Zero W.
Eu segui vários guias diferentes, mas todos eles instalam versões do Bluez anteriores à 5.44. Não consigo seguir nenhum desses guias e terminar com a instalação do Bluez 5.44 em funcionamento.
Qualquer pessoa que tenha feito isso, compartilhe suas etapas.
Respostas:
Um pouco tarde aqui, mas recentemente sofri a dor de cabeça de seguir uma variedade de guias diferentes, nenhum dos quais funcionou para mim. Então, aqui está outro guia ... que provavelmente não funcionará para você;)
Eu baixei a versão mais recente da página oficial: bluez.org/download . Se essa página estiver morta, use esta .
Por exemplo, no momento em que escrevi, era 5,47, então usei (na minha framboesa):
Então eu extraí e construí:
Leia o
README
! Ele lista as dependências e os comutadores de configuração:Instale as dependências primeiro: (glib, dbus, libdbus, udev, etc.) A maioria delas já está instalada e, caso contrário, deve ser fácil de instalar, todas fornecidas pelo gerenciador de pacotes. Depois de fazer isso:
Também adicionei
--enable-experimental
porque acredito que o objeto GattCharacteristics faz parte dos recursos experimentais. Então faça:Demora talvez 10 minutos para compilar. Após a instalação, você deve encontrar
bluetoothd
no/usr/libexec/bluetooth
. Você também deve ver bluetoothd in/usr/lib/bluetooth
.Vá para cada um desses diretórios e digite
Você notará que o da libexec é novo e o da lib é antigo.
O BlueZ cria esses objetos e interface d-bus para expor os dispositivos bluetooth para você de maneiras agradáveis.
A fim de se certificar de que d-bus está falando com você nova BlueZ 5,47 e não o seu antigo BlueZ 5,23, você precisa dizer
systemd
para usar o novo daemon do bluetooth:Verifique se a
exec.start
linha aponta para o seu novo daemon/usr/libexec/bluetooth
.Para mim, isso não foi suficiente. Não importa o que acontecesse, ao reiniciar, sempre recebi o bluetoothd 5.23 ... Então, acabei de criar um link simbólico do antigo para o novo.
Primeiro renomeie o arquivo antigo:
Crie o link simbólico:
Isso deve resolver.
Agora, tenho que dizer isso, mesmo que não seja relevante para a pergunta :
Se você deseja desenvolver um aplicativo para o seu pi, leia a pasta blueZ docs . Apresenta a você algo chamado d-bus , que realmente vale a pena aprender e permite que você desenvolva seu aplicativo em python, node.js ou c (e mais). Assista a este vídeo no bluez dev .
Existem muitos arenques vermelhos por aí: invólucros que tentam fornecer a funcionalidade "fácil". Mesmo os recursos que dizem que há uma falta de documentação sobre como desenvolver o bluetooth. No entanto, assim que você quiser fazer algo além de simplesmente se conectar ao dispositivo e visualizar suas características, perceberá que o wrapper falhará.
Faça um favor a si mesmo. Reserve algumas horas para aprender como
BlueZ
funciona (o vídeo que vinculei é ouro maciço). Ele usa algo chamado d-bus. Leia um pouco sobre o d-bus. Se você gosta de Python, veja o código na pasta de teste. Leia o tutorial do python dbus uma ou duas vezes. Vai pagar tão bem. Eu perdi alguns dias tentando encontrar algo fácil, mas essa acabou sendo a melhor maneira.Boa sorte!
fonte
sudo mv /usr/lib/bluetooth/bluetoothd /usr/lib/bluetooth/bluetoothd-543.orig
2. Crie o link simbólico:sudo ln -s /usr/libexec/bluetooth/bluetoothd /usr/lib/bluetooth/bluetoothd
Maio obrigado novamente :)Eu o instalei no meu Raspberry Pi 3 com o SO Raspbian GNU / Linux 8 (jessie). Foi um pouco complicado, mas essas etapas funcionaram para mim. Eu instalei depois de ler sua postagem.
Depois disso, nenhum adaptador foi encontrado. A próxima coisa que fiz foi
Ainda sem adaptador. Isto é devido ao firmware, então eu tive que fazer isso na próxima
Finalmente digite:
Em seguida, verifique se funcionou digitando:
Se funcionou, você deve ver isso no seu terminal
Último comando
Espero que funcione para voce.
Obrigado a este site pela ajuda https://www.pi-supply.com/make/fix-raspberry-pi-3-bluetooth-issues/
fonte
A resposta do @Hunter Akins me salvou de tanta frustração quando ele disse (parafraseado): sério, conheça o BlueZ. Conheça o D-BUS. Conheça os comandos bluetoothctl, systemctl e bluetoothd.
O problema é que, desde o lançamento do Bluez5.42 em setembro de 2016, muitos pacotes usados pelos guias on-line foram descontinuados ( https://wiki.archlinux.org/index.php/Bluetooth#Trou Resolução de problemas ). Ah, e o pacote Bluez está com falta de documentação oficial.
Aqui estão os comandos que usei para executar o Bluetooth no Raspberry Pi Zero W, a partir de uma nova instalação:
Extraído da resposta e dos comentários acima:
Erro extra que encontrei:
Suponho que você deseja usar o pacote bluez que você acabou de instalar. Eu uso as etapas a seguir para conectar-se a um dispositivo BLE logo após a reinicialização do sistema (dado muito tempo após a reinicialização, ele falha). Não experimentei o suficiente para descobrir uma conexão consistente. As linhas precedidas por "pi @ raspberrypi: ~ $" e "[bluetooth] #" foram as minhas entradas; o resto foram respostas.
Estou conectando a um dispositivo BLE. O comando pair não funcionará, pois se destina ao Bluetooth Classic:
fonte