User Tools

Site Tools


doc:appunti:software:rpi_kodi_bluetooth_headset

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
doc:appunti:software:rpi_kodi_bluetooth_headset [2020/06/08 06:29] – [BlueZ, PulseAudio e BlueALSA] niccolodoc:appunti:software:rpi_kodi_bluetooth_headset [2020/08/14 08:18] (current) niccolo
Line 1: Line 1:
-====== Cuffia Bluetooth con Kodi su Rapsberry Pi ======+====== Cuffia Bluetooth con Kodi su Raspberry Pi ======
  
-Come ascoltare l'audio con una cuffia bluetooth con Kodi installato su Raspberry Pi. Questa la piattaforma hardware e software:+Come ascoltare l'audio da Kodi con una cuffia Bluetooth, il tutto su Raspberry Pi. Questa è la piattaforma hardware e software:
  
   * **Raspberry Pi 3 Model B**.   * **Raspberry Pi 3 Model B**.
Line 24: Line 24:
  
 <code> <code>
 +# bluetoothctl
 [bluetooth]# power on [bluetooth]# power on
 Changing power on succeeded Changing power on succeeded
Line 46: Line 47:
 <code> <code>
 pair EB:06:EF:F6:11:B4 pair EB:06:EF:F6:11:B4
-trust EB:06:EF:F6:11:B4 
 connect EB:06:EF:F6:11:B4 connect EB:06:EF:F6:11:B4
 +trust EB:06:EF:F6:11:B4
 </code> </code>
  
-Il **pairing** è la procedura per cui controller e device si riconoscono l'uno con l'altro, poiché le cuffie non hanno un'interfaccia di input (es. una tastiera) il pairing avviene senza digitare un PIN. Con il comando **trust** si indica che d'ora in poi vogliamo effettuare il paring automaticamente ogni volta che il device viene acceso. Quando si esegue il comando **connect** le cuffie segnalano l'evento con il messaggio vocale **connected**.+Il **pairing** è la procedura per cui controller e device si riconoscono l'uno con l'altro, poiché le cuffie non hanno un'interfaccia di input (es. una tastiera) il pairing avviene senza digitare un PIN. Quando si esegue il comando **connect** le cuffie segnalano l'evento con il messaggio vocale **connected**. Con il comando **trust** si indica che d'ora in poi vorremo effettuare il paring e il connect automaticamente ogni volta che la cuffia viene accesa.
  
 **ATTENZIONE**: Se il pacchetto **bluealsa** non è installato, il connect fallisce con il seguente errore: **ATTENZIONE**: Se il pacchetto **bluealsa** non è installato, il connect fallisce con il seguente errore:
Line 82: Line 83:
 </code> </code>
  
-Lo stato delle connessioni Bluetooth vengono salvate nella directory **/var/lib/bluetooth/**.+Le preferenze delle connessioni Bluetooth (compreso lo stato di trust, ecc.) vengono salvate nella directory **/var/lib/bluetooth/**.
  
 Da questo momento in poi la cuffia Bluetooth è disponibile come device per le librerie ALSA (e quindi per i comandi **aplay**, **alsamixer**, ecc.) semplicemente indicando come device la stringa **bluealsa:HCI=hci0,DEV=EB:06:EF:F6:11:B4,PROFILE=a2dp** (ovviamente il MAC address deve essere quello specifico del vostro dispositivo). Da questo momento in poi la cuffia Bluetooth è disponibile come device per le librerie ALSA (e quindi per i comandi **aplay**, **alsamixer**, ecc.) semplicemente indicando come device la stringa **bluealsa:HCI=hci0,DEV=EB:06:EF:F6:11:B4,PROFILE=a2dp** (ovviamente il MAC address deve essere quello specifico del vostro dispositivo).
Line 101: Line 102:
 Esistono due canali di output: **A2DP** e **SCO**. Si tratta di due protocolli differenti per il trasporto dell'audio su Bluetooth. Il primo è l'acronimo per **[[https://en.wikipedia.org/wiki/List_of_Bluetooth_profiles#Advanced_Audio_Distribution_Profile_(A2DP)|Advanced Audio Distribution Profile]]** e serve per lo streaming audio da un device all'altro. È quello che useremo nel nostro caso. Il protocollo **[[https://en.wikipedia.org/wiki/List_of_Bluetooth_protocols#Synchronous_Connection-Oriented_(SCO)_link|Synchronous Connection-Oriented]]** è invece generalmente utilizzato per canali audio mono, ad esempio per l'auricolare dello smartphone. Esiste anche un canale di input, infatti la cuffia Mpow H1 ha un **microfono integrato** per effettuare le telefonate (infatti utilizza il protocollo SCO). Infine il mixer mostra anche il **livello della batteria** della cuffia. Esistono due canali di output: **A2DP** e **SCO**. Si tratta di due protocolli differenti per il trasporto dell'audio su Bluetooth. Il primo è l'acronimo per **[[https://en.wikipedia.org/wiki/List_of_Bluetooth_profiles#Advanced_Audio_Distribution_Profile_(A2DP)|Advanced Audio Distribution Profile]]** e serve per lo streaming audio da un device all'altro. È quello che useremo nel nostro caso. Il protocollo **[[https://en.wikipedia.org/wiki/List_of_Bluetooth_protocols#Synchronous_Connection-Oriented_(SCO)_link|Synchronous Connection-Oriented]]** è invece generalmente utilizzato per canali audio mono, ad esempio per l'auricolare dello smartphone. Esiste anche un canale di input, infatti la cuffia Mpow H1 ha un **microfono integrato** per effettuare le telefonate (infatti utilizza il protocollo SCO). Infine il mixer mostra anche il **livello della batteria** della cuffia.
  
-===== /etc/asound.conf =====+===== Configurazione /etc/asound.conf =====
  
-FIXME Non è necessario rendere il device BlueALSA quello predefinito!+La configurazione appena fatta **non è sufficiente** per poter selezionare le cuffie Bluetooth in Kodi; se andiamo nel menu **Settings** = //System settings// => //Audio// => **Audio output device** vediamo che compaiono le periferiche integrate del Raspberry Pi (**PI: HDMI** e **PI: Analogue**) ed altre eventuali periferiche ALSA (ad esempio **ALSA: USB Advanced Audio Device, Analog** per una scheda audio USB), ma non vi è traccia del dispositivo Bluetooth.
  
-FIXME Impostare configurazione di sistema, non utente. +È necessario dichiarare il plugin bluealsa nel file **/etc/asound.conf** in questo modo:
- +
-Il sistema ALSA utilizza un file di configurazione a livello di sistema **/etc/asound.conf**. In alternativa è possibile crearne uno per l'utente che esegue Kodi, nel nostro caso sarebbe **/home/kodi/.asoundrc**.+
  
 <file> <file>
Line 122: Line 121:
     }     }
 } }
 +</file>
  
 +Dopo aver **riavviato Kodi** - e solo se le cuffie hanno fatto il **connect** Bluetooth - sarà possibile selezionare il device audio **ALSA: Mpow H1 Bluetooth Headset** dal menu.
 +
 +Il file **/etc/asound.conf** ha valenza per l'intero sistema, in alternativa è possibile creare un file **$HOME/.asoundrc** valido solo per l'utente che esegue Kodi.
 +
 +Se si desidera che la periferica BlueALSA sia quella predefinita dal sistema ALSA (cioè quella utilizzata se non si indica il device con l'opzione -D), è sufficiente aggiungere una sezione al file di configurazione ''asound.conf'' (oppure alla versione personale dell'utente):
 +
 +<file>
 pcm.!default { pcm.!default {
     type plug     type plug
Line 133: Line 140:
 ==== Audio output device ==== ==== Audio output device ====
  
-In Kodi 17 è possibile scegliere il device per l'uscita audio dal menu **Settings** = //System settings// => //Audio// => **Audio output device**. Fortunatamente vengono elencati tutti i dispositivi ALSA, anche quelli di tipo **PCM I/O plugin** come BlueALSA. Purtroppo Kodi crea l'elenco dei dispositivi al suo avvio, quindi **se il pairing avviene quando Kodi è già in esecuzione**, la cuffia Bluetooth **non viene mostrata**; è necessario riavviare Kodi per poterla scegliere.+In Kodi 17 è possibile scegliere il device per l'uscita audio dal menu **Settings** = //System settings// => //Audio// => **Audio output device**. Qui vengono elencati tutti i dispositivi di tipo **ALSA Kernel** e quelli di tipo **PCM I/O plugin** che siano dichiarati in ''/etc/asound.conf''. Purtroppo Kodi crea l'elenco di questi dispositivi al suo avvio**se il connect avviene dopo che Kodi è già avviato, la cuffia Bluetooth non viene mostrata**. È necessario riavviare Kodi per poterla selezionare.
 ==== Pulsanti delle cuffie ==== ==== Pulsanti delle cuffie ====
  
 I pulsanti delle cuffie Mpow H1 vengono riconosciuti da Kodi per le seguenti funzioni: I pulsanti delle cuffie Mpow H1 vengono riconosciuti da Kodi per le seguenti funzioni:
  
-^ +         | Brano successivo +^ Cornetta           | Pausa              | 
-^ Cornetta Pausa             +^ +                  | Brano successivo   | 
--         Brano precedente  |+^ -                  | Brano precedente   | 
 + 
 +Le funzioni integrate direttamente nella cuffia e confermate da messaggi vocali nella cuffia stessa sono invece: 
 + 
 +^ Tenere permuto +                   | Alza il volume     | 
 +^ Tenere permuto -                   | Abbassa il volume  | 
 +Tenere permuto Cornetta per 3 sec  Disconnect         
 +Tenere permuto Cornetta per 4 sec  Pairing            | 
 +^ Tenere permuto Cornetta per 6 sec  | Power off          |
  
 ===== Web References ===== ===== Web References =====
doc/appunti/software/rpi_kodi_bluetooth_headset.1591597794.txt.gz · Last modified: 2020/06/08 06:29 by niccolo