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
Last revisionBoth sides next 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/06/16 14:45] – [Pairing delle cuffie Bluetooth] niccolo
Line 1: Line 1:
 ====== Cuffia Bluetooth con Kodi su Rapsberry Pi ====== ====== Cuffia Bluetooth con Kodi su Rapsberry 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.txt · Last modified: 2020/08/14 08:18 by niccolo