Table des matières:

Enceinte Bluetooth Raspberry Pi : 4 étapes
Enceinte Bluetooth Raspberry Pi : 4 étapes

Vidéo: Enceinte Bluetooth Raspberry Pi : 4 étapes

Vidéo: Enceinte Bluetooth Raspberry Pi : 4 étapes
Vidéo: Bluetooth Audio Raspberry Pi DEMO 2024, Novembre
Anonim
Enceinte Bluetooth Raspberry Pi
Enceinte Bluetooth Raspberry Pi

Salut tout le monde.

Voici un Instructable sur la façon de faire un haut-parleur Bluetooth à l'aide de Raspberry Pi. Cela a été fait après une toute nouvelle installation de la dernière Raspbian (au 2020-10-31.) Dans ce Instructable, nous allons convertir le Raspberry Pi pour recevoir l'audio via Bluetooth et le sortir via la prise audio 3.5 intégrée. Si vous utilisez Raspberry Pi 1 ou 2, vous devrez utiliser un adaptateur Bluetooth séparé. Pour ce Instructable, nous utiliserons Raspberry Pi 3B.

Fournitures

Raspberry Pi 1, 2, 3 ou 4.

Haut-parleur avec entrée jack audio 3,5.

Alimentation pour Raspberry Pi.

Souris et clavier pour Raspberry Pi (ou vous pouvez vous connecter en SSH avec un autre ordinateur).

Clé Bluetooth si vous utilisez Raspberry Pi 1 ou 2.

Étape 1: Connectez-vous à Raspberry Pi

Cette étape est assez intuitive !

Vous devrez être connecté au Raspberry Pi via SSH ou avec un moniteur, une souris et un clavier. Si vous êtes dans l'interface graphique Raspian, ouvrez un terminal. Si vous utilisez SSH, vous y serez déjà.

Avant de passer aux étapes suivantes, il est conseillé de s'assurer que vous avez mis à jour votre système.

sudo apt-get mise à jour

sudo apt-get mise à niveau

Cela peut prendre quelques minutes.

Étape 2: Triez Bluetooth

Si vous entrez

statut sudo systemctl bleu*

alors il retournera probablement quelque chose comme ci-dessous.

pi@raspberrypi:~ $ sudo systemctl status blue*

● bluetooth.service - Service Bluetooth Chargé: chargé (/lib/systemd/system/bluetooth.service; activé; préréglage du fournisseur Actif: actif (en cours d'exécution) depuis le sam 2020-10-31 12:36:04 GMT; il y a 40 min Docs: man:bluetoothd(8) PID principal: 523 (bluetoothd) Statut: "En cours d'exécution" Tâches: 1 (limite: 2065) CGroup: /system.slice/bluetooth.service └─523 /usr/lib/bluetooth/bluetoothd 31 oct. 12:36:04 raspberrypi systemd[1]: démarrage du service Bluetooth… 31 octobre 12:36:04 raspberrypi bluetoothd[523]: démon Bluetooth 5.50 31 octobre 12:36:04 raspberrypi systemd[1]: démarrage du service Bluetooth 31 octobre 12:36:04 raspberrypi bluetoothd[523]: Démarrage du serveur SDP le 31 octobre 12:36:04 raspberrypi bluetoothd[523]: Interface de gestion Bluetooth 1.14 31 octobre 12:36:04 raspberrypi bluetoothd[523]: Échec de l'initialisation du pilote SAP. 31 octobre 12:36:04 raspberrypi bluetoothd[523]: sap-server: Opération non autorisée 31 oct 12:36:04 raspberrypi bluetoothd[523]: Endpoint enregistré: sender=:1.10 p 31 oct 12:36:04 raspberrypi bluetoothd[523]: point final r enregistré: sender=:1.10 p 31 oct. 12:36:04 raspberrypi bluetoothd[523]: échec de la définition de la confidentialité: rejeté (0x ● bluealsa.service - proxy BluezALSA chargé: chargé (/lib/systemd/system/bluealsa.service; statique; préréglage du fournisseur:

Vous remarquerez qu'il y a un certain nombre d'erreurs. Nous allons d'abord les trier.

Les premiers que nous trierons sont « échec de l'initialisation du pilote SAP ». et "sap-server: Opération non autorisée". Entrer

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

dans le terminal. Il viendra avec ça.

[Unité]

Description=Service Bluetooth Documentation=man:bluetoothd(8) ConditionPathIsDirectory=/sys/class/bluetooth [Service] Type=dbus BusName=org.bluez ExecStart=/usr/lib/bluetooth/bluetoothd NotifyAccess=main #WatchdogSec=10 #Restart =en cas d'échec CapabilityBoundingSet=CAP_NET_ADMIN CAP_NET_BIND_SERVICE LimitNPROC=1 ProtectHome=true ProtectSystem=complet [Installer] WantedBy=bluetooth.target Alias=dbus-org.bluez.service

Ajouter

--noplugin=sap

après

ExecStart=/usr/lib/bluetooth/bluetoothd

pour le faire comme ci-dessous.

[Unité]

Description=Service Bluetooth Documentation=man:bluetoothd(8) ConditionPathIsDirectory=/sys/class/bluetooth [Service] Type=dbus BusName=org.bluez ExecStart=/usr/lib/bluetooth/bluetoothd --noplugin=sap NotifyAccess=main # WatchdogSec=10 #Restart=on-failure CapabilityBoundingSet=CAP_NET_ADMIN CAP_NET_BIND_SERVICE LimitNPROC=1 ProtectHome=true ProtectSystem=full [Install] WantedBy=bluetooth.target Alias=dbus-org.bluez.service

Sauvegarder et quitter. (ctrl-x, y, entrée). Puis

redémarrage sudo

Lorsque vous êtes de retour sur le terminal entrez

sudo systemctl status bleu*

Les erreurs devraient être résolues, sauf une.

Échec de la définition de la confidentialité: rejeté (0x0b)

Entrer

sudo systemctl redémarrer bleu *

à réparer.

Nous n'avons pas encore tout à fait terminé. Nous devrons également ajouter l'utilisateur "pi" à bluetooth en utilisant

sudo adduser pi bluetooth

pi@raspberrypi:~ $ sudo adduser pi bluetooth Ajout de l'utilisateur `pi' au groupe `bluetooth' … Ajout de l'utilisateur pi au groupe bluetooth Terminé.

Nous devons ensuite donner à bluealsa la possibilité de lire des flux audio via les interfaces audio Raspberry Pi (à savoir la prise audio 3.5).

sudo nano /lib/systemd/system/bluealsa.service

Il devrait venir avec

[Unité]

Description=Proxy BluezALSA Requires=bluetooth.service After=bluetooth.service [Service] Type=simple User=root ExecStart=/usr/bin/bluealsa

Ajouter

-p a2dp-source -p a2dp-évier

après

ExecStart=/usr/bin/bluealsa

faire

[Unité]

Description=Proxy BluezALSA Requires=bluetooth.service After=bluetooth.service [Service] Type=simple User=root ExecStart=/usr/bin/bluealsa -p a2dp-source -p a2dp-sink

Enregistrez et quittez (ctrl-x, y, entrée).

Puis

redémarrage sudo

Cela rend notre Bluetooth plus ou moins prêt. Nous allons maintenant coupler et nous connecter à notre Raspberry Pi.

Étape 3: Couplage, connexion et confiance

Nous avons maintenant défini les bases pour fabriquer un haut-parleur Bluetooth. Mais nous devons toujours pouvoir nous connecter pour jouer de la musique à travers elle.

Tout d'abord, entrez

sudo bluetoothctl

alors

allumer

alors

numériser sur

quelque chose comme ça devrait arriver

pi@raspberrypi:~ $ sudo bluetoothctl

Agent enregistré [bluetooth]# power on Modification de la mise sous tension réussie [bluetooth]# scan on Discovery a démarré [CHG] Contrôleur B8:27:EB:A2:FD:3C Découverte: oui [NEW] Périphérique 60:D8:19:C0: 2E:41 FARTHINGSLAPTOP [NOUVEAU] Appareil A4:E4:B8:59:BE:8D A4-E4-B8-59-BE-8D [CHG] Appareil A4:E4:B8:59:BE:8D Nom: APR-BLACKBERRY [CHG] Appareil A4:E4:B8:59:BE:8D Alias : APR-BLACKBERRY [CHG] Appareil A4:E4:B8:59:BE:8D TxPower: 0 [CHG] Appareil A4:E4:B8:59: BE:8D UUID: 00001800-0000-1000-8000-00805f9b34fb [CHG] Périphérique A4:E4:B8:59:BE:8D UUID: 00001801-0000-1000-8000-00805f9b34fb [CHG] Périphérique A4:E4:B8: 59:BE:8D UUID: 00001200-0000-1000-8000-00805f9b34fb [CHG] Périphérique A4:E4:B8:59:BE:8D UUID: 0000113b-0000-1000-8000-00805f9b34fb [CHG] Périphérique A4:E4: B8:59:BE:8D UUID: 00001124-0000-1000-8000-00805f9b34fb [CHG] Périphérique A4:E4:B8:59:BE:8D UUID: 0000110e-0000-1000-8000-00805f9b34fb [CHG] Périphérique A4: E4:B8:59:BE:8D UUID: 0000110f-0000-1000-8000-00805f9b34fb [CHG] Appareil A4:E4:B8:59:BE:8D UUID: 0000110c-0000-1000-8000-00805f9b34fb [CHG] Périphérique A4:E4:B8:59:BE:8D UUID: 0000110a-0000-1000-8000-00805f9b34fb [CHG] Périphérique A4:E4:B8:59:BE:8D UUID: 0000111f-0000-1000-8000 -00805f9b34fb [CHG] Périphérique A4:E4:B8:59:BE:8D UUID: 00001203-0000-1000-8000-00805f9b34fb [CHG] Périphérique A4:E4:B8:59:BE:8D UUID: 00001116-0000-1000 -8000-00805f9b34fb [CHG] Périphérique A4:E4:B8:59:BE:8D UUID: 0000112f-0000-1000-8000-00805f9b34fb [CHG] Périphérique A4:E4:B8:59:BE:8D UUID: 00001105-0000 -1000-8000-00805f9b34fb [CHG] Périphérique A4:E4:B8:59:BE:8D UUID: 00001132-0000-1000-8000-00805f9b34fb [CHG] Périphérique 60:D8:19:C0:2E:41 RSSI: - 66 [Bluetooth]#

dans cet exemple, nous allons coupler et nous connecter à l'appareil appelé FarthingsLaptop.

Donc (remplacez l'adresse mac par l'appareil auquel vous vous connecterez).

paire 60:D8:19:C0:2E:41

[bluetooth]# paire 60:D8:19:C0:2E:41

Tentative d'appairage avec 60:D8:19:C0:2E:41 [CHG] Appareil 60:D8:19:C0:2E:41 Connecté: oui Demande de confirmation [agent] Confirmation du mot de passe 478737 (oui/non): oui [CHG] Périphérique 60:D8:19:C0:2E:41 UUID: 00000002-0000-1000-8000-0002ee000002 [CHG] Périphérique 60:D8:19:C0:2E:41 UUID: 00001000-0000-1000-8000-00805f9b34fb [CHG] Périphérique 60:D8:19:C0:2E:41 UUID: 00001104-0000-1000-8000-00805f9b34fb [CHG] Périphérique 60:D8:19:C0:2E:41 UUID: 00001105-0000-1000-8000 -00805f9b34fb [CHG] Périphérique 60:D8:19:C0:2E:41 UUID: 00001106-0000-1000-8000-00805f9b34fb [CHG] Périphérique 60:D8:19:C0:2E:41 UUID: 00001107-0000-1000 -8000-00805f9b34fb [CHG] Périphérique 60:D8:19:C0:2E:41 UUID: 0000110a-0000-1000-8000-00805f9b34fb [CHG] Périphérique 60:D8:19:C0:2E:41 UUID: 0000110b-0000 -1000-8000-00805f9b34fb [CHG] Périphérique 60:D8:19:C0:2E:41 UUID: 0000110c-0000-1000-8000-00805f9b34fb [CHG] Périphérique 60:D8:19:C0:2E:41 UUID: 0000110e -0000-1000-8000-00805f9b34fb [CHG] Périphérique 60:D8:19:C0:2E:41 UUID: 00001112-0000-1000-8000-00805f9b34fb [CHG] Périphérique 60:D8:19:C0:2E:41 UUID: 00001115-0000-1000-8000-00805f9b34fb [CHG] Périphérique 60:D8:19:C0:2E:41 UUID: 0000111b-0000-1000-8000-00805f9b34fb [CHG] Périphérique 60:D8:19:C0:2E:41 UUID: 0000111e-0000-1000-8000-00805f9b34fb [CHG] Périphérique 60:D8:19:C0:2E:41 UUID: 0000111f-0000-1000-8000-00805f9b34fb [CHG] Périphérique 60:D8:19:C0:2E:41 UUID: 0000112f-0000-1000-8000-00805f9b34fb [CHG] Périphérique 60:D8:19:C0:2E:41 UUID: 00001304-0000-1000-8000-00805f9b34fb [CHG] Appareil 60:D8:19:C0:2E:41 ServicesRésolu: oui [CHG] Appareil 60:D8:19:C0:2E:41 Couplé: oui Couplage réussi

Ensuite, nous pouvons nous connecter à l'appareil.

connecter 60:D8:19:C0:2E:41

Connexion réussie

[bluetooth]# connecter 60:D8:19:C0:2E:41

Tentative de connexion à 60:D8:19:C0:2E:41 [CHG] Appareil 60:D8:19:C0:2E:41 Connecté: oui Connexion réussie [CHG] Appareil 60:D8:19:C0:2E:41 ServicesRésolus: oui [CHG] Appareil 60:D8:19:C0:2E:41 RSSI: -59

Ensuite, nous ferons confiance à l'appareil afin de pouvoir nous y connecter sans confirmation.

confiance 60:D8:19:C0:2E:41

[bluetooth]# confiance 60:D8:19:C0:2E:41

[CHG] Périphérique 60:D8:19:C0:2E:41 Approuvé: oui Modification de l'approbation 60:D8:19:C0:2E:41 réussie

À ce stade, vous devriez être connecté, mais vous remarquerez que si vous jouez de la musique, elle ne passe pas par le haut-parleur connecté au Raspberry Pi. C'est ce que nous ferons à l'étape suivante.

Étape 4: Jouer de la musique

Vous devriez maintenant être connecté à votre Raspberry Pi, mais aucune musique n'est diffusée via le haut-parleur.

Vous pouvez résoudre ce problème par la commande

00:00:00:00:00:00

Maintenant, vous devriez entendre le son sortir de votre haut-parleur lorsque vous lisez un média, mais vous ne voulez pas avoir à exécuter cette commande à chaque fois que vous voulez jouer une chanson, nous allons donc la faire fonctionner au démarrage.

Entrer

sudo nano /etc/rc.local

Cela devrait arriver avec ça.

#!/bin/sh -e

# # rc.local # # Ce script est exécuté à la fin de chaque niveau d'exécution multi-utilisateur. # Assurez-vous que le script "quittera 0" en cas de succès ou toute autre valeur # en cas d'erreur. # # Afin d'activer ou de désactiver ce script, changez simplement les # bits d'exécution. # # Par défaut, ce script ne fait rien. # Affiche l'adresse IP _IP=$(hostname -I) || true if ["$_IP"]; then printf "Mon adresse IP est %s\n" "$_IP" fi exit 0 Entrée

00:00:00:00:00:00

juste avant

sortie 0

donc ça ressemble à ça.

#!/bin/sh -e

# # rc.local # # Ce script est exécuté à la fin de chaque niveau d'exécution multi-utilisateur. # Assurez-vous que le script "quittera 0" en cas de succès ou toute autre valeur # en cas d'erreur. # # Afin d'activer ou de désactiver ce script, changez simplement les # bits d'exécution. # # Par défaut, ce script ne fait rien. # Affiche l'adresse IP _IP=$(hostname -I) || true if ["$_IP"]; then printf "Mon adresse IP est %s\n" "$_IP" fi bluealsa-aplay 00:00:00:00:00:00 exit 0 Enregistrer et quitter (ctrl-x, y, entrée)

Puis

redémarrage sudo

Lorsqu'il démarre, connectez-vous et jouez une chanson !

Vous devriez maintenant avoir un haut-parleur Bluetooth entièrement fonctionnel !

Si vous avez des questions, laissez un commentaire ci-dessous et j'y répondrai dès que possible.

Merci d'avoir regardé.

Conseillé: