RPi - OpenElec y Bluetooth

164 views
Skip to first unread message

Gustavo Spadari

unread,
Jan 9, 2015, 10:21:14 AM1/9/15
to rsp...@googlegroups.com
Hola,
Alguno ha podido configurar el OpenElec con bluetooth como emisor de audio?
Es decir, poder ver películas y escuchar el audio con auriculares bluetooth.
Desde que XBMC cambió a AudioEngine, no he podido lograr configurarlo. En las versiones viejas tocando varios archivos salía andando, pero con las nuevas algo falta y no sé qué es.
Si alguno lo tiene funcionando de esta forma, agradecería que comparta la info.

Gracias!
Gustavo.

david fernandez

unread,
Jan 9, 2015, 10:22:05 AM1/9/15
to rsp...@googlegroups.com

Mira el kernel que tiene, capas falta un modulo

--
Comunidad de usuarios Raspberry Pi en Argentina
 
Web: raspberrypi.com.ar
FB: facebook.com/RaspberryPiAr
Twitter: twitter.com/raspberrypi_ar
---
Has recibido este mensaje porque estás suscrito al grupo "Comunidad Raspberry Pi en Argentina" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a rspi-ar+u...@googlegroups.com.
Para acceder a más opciones, visita https://groups.google.com/d/optout.

Mauricio A. Taslik

unread,
Apr 12, 2015, 12:02:37 AM4/12/15
to rsp...@googlegroups.com
Pudiste resolver esto?

Gustavo.

--

Gustavo Spadari

unread,
Apr 12, 2015, 3:09:29 PM4/12/15
to rsp...@googlegroups.com
No lo resolví... y luego me olvidé de esto porque ahora tengo funcionando un XBMC en una x86 y lo que hago es ejecutar un script que me pasa de Bluetooth a Speaker y vice versa, ya que es un Gotham y en x86 ya tenía el AudioEngine, lo que me impidió resolverlo vía UI en XBMC.

Lo comparto por si a alguno le srive:

xbmcbox:~$ cat xbmc_changeaudio.sh
#!/bin/bash
if grep -q "<audiooutput>" "/home/gspadari/.xbmc/userdata/advancedsettings.xml"; then
        sed -i '/<audiooutput>/,/<\/audiooutput>/d' /home/gspadari/.xbmc/userdata/advancedsettings.xml
        xmlstarlet edit -L -u "/settings/audiooutput/audiodevice" -v "ALSA:hdmi:CARD=NVidia,DEV=1" /home/gspadari/.xbmc/userdata/guisettings.xml
        xmlstarlet edit -L -u "/settings/audiooutput/passthroughdevice" -v "ALSA:iec958:CARD=Intel,DEV=0" /home/gspadari/.xbmc/userdata/guisettings.xml
        echo "Bluetooth OFF"
else
        awk '/<\/videolibrary>/ { print; print "  <audiooutput>\n \
    <audiodevice>ALSA:bluetooth</audiodevice>\n \
    <passthroughdevice>ALSA:bluetooth</passthroughdevice>\n \
  </audiooutput>"; next }1' /home/gspadari/.xbmc/userdata/advancedsettings.xml > tmpfileawkxbmc && mv tmpfileawkxbmc /home/gspadari/.xbmc/userdata/advancedsettings.xml
        echo "Bluetooth ON"
fi

Lo que hace el script es modificar el guisettings.xml y el advancesettings.xml
OJO: La data que setea es propia de la PC que uso, así que el script sirve solo a modo de puntapié inicial para quien quiera hacer algo similar.

Lo que nunca he probado cuando tenía el OpenELEC en la RPi fue modificar el advancedsettings.xml poniéndole:
<audiooutput>
    <audiodevice>ALSA:bluetooth</audiodevice>
    <passthroughdevice>ALSA:bluetooth</passthroughdevice>
</audiooutput>


Es algo que se podría probar facilmente y ver si resulta. Ahora no tengo el RPi con OpenELEC, pero cuando me haga un rato lo pruebo y comento.

Saludos.

Gustavo Spadari

unread,
Aug 13, 2015, 3:33:01 PM8/13/15
to rsp...@googlegroups.com

Finalmente lo pude hacer funcionar pero en xbian (rpi2) . En OpenElec no se puede por cómo está armado el entorno. No lo he probado en OSMC pero supongo que funcionará bien ya que se parece a xbian.
Aún debo resolver cuestiones:
1) Luego de iniciada la RPi, debo restartear los servicios dbus y/o bluetooth, sino al intentar conectar con bluez-simple-agent obtengo un error de que no detecta el dongle BT.
2) No pude hacer que la reconexion del headset se haga automática. Debo invocarla con el comando bluez-test-audio connect.
3) No le metí mucho tiempo pero creo que el script del mail anterior voy a tener que seguir usándolo.

Si alguno lo tiene funcionando sin esos problemas o los ha resuelto, agradezco pueda compartirlo.

Saludos

Gustavo Spadari

unread,
Aug 15, 2015, 7:22:12 PM8/15/15
to rsp...@googlegroups.com
1) Solucionado agregando "service bluetooth restart" en /etc.rc.local
2) Solucionado agregando "hciconfig hci0 piscan" en /etc.rc.local, luego de lo del punto 1)
3) Asocié una tecla del control remoto a la ejecución de un script de xbmc:

El script es:

# cat /home/xbian/kodi_changeAudio.py 
#!/usr/bin/python
from sys import argv
import os, xbmc, json

if (__name__ == "__main__"):
audio_device = json.loads(xbmc.executeJSONRPC('{"jsonrpc":"2.0","method":"Settings.GetSettingValue", "params":{"setting":"audiooutput.audiodevice"},"id":1}'))
audio = audio_device["result"]["value"]
if audio == "ALSA:bluetooth":
#Set HDMI
xbmc.executeJSONRPC('{"jsonrpc":"2.0", "method":"Settings.SetSettingValue", "params":{"setting":"audiooutput.audiodevice", "value":"PI:HDMI"}, "id":1}')
xbmc.executeJSONRPC('{"jsonrpc":"2.0", "method":"GUI.ShowNotification", "params":{"title":"AUDIO OUTPUT", "message":"HDMI", "image":"/home/xbian/speaker.png"}, "id":1}')
else:
#Set Bluetooth
xbmc.executeJSONRPC('{"jsonrpc":"2.0", "method":"Settings.SetSettingValue", "params":{"setting":"audiooutput.audiodevice", "value":"ALSA:bluetooth"}, "id":1}')
xbmc.executeJSONRPC('{"jsonrpc":"2.0", "method":"GUI.ShowNotification", "params":{"title":"AUDIO OUTPUT", "message":"Bluetooth", "image":"/home/xbian/speaker.png"}, "id":1}')

La asociación de la tecla del control remoto la configuro así (la tecla de DOT; configurada en lircd.conf):
# cat /home/xbian/.kodi/userdata/keymaps/remote.xml 
<keymap>
  <global>
    <universalremote>
      <obc1>XBMC.RunScript("/home/xbian/kodi_changeAudio.py")</obc1>
    </universalremote>
  </global>
</keymap>

# cat /home/xbian/.kodi/userdata/Lircmap.xml  (el output está incompleto para que no ocupe tanto en el mail)
<!-- This file contains the mapping of LIRC keys to XBMC keys used in Keymap.xml  -->

<lircmap>
        <remote device="RM-YD035">
                  :
                  :
                <!--volumeplus>VOL+</volumeplus-->
                <!--volumeminus>VOL-</volumeminus-->
                <!--mute>MUTING</mute-->
                <obc1>DOT</obc1>
                <!--one>1</one>
                <two>2</two>
                <three>3</three>
                  :
                  :
        </remote>
</lircmap>

La configuración del audio bluetooth es:

# cat /etc/asound.conf 
pcm.!default {
    type hw
    card 0
}
ctl.!default {
    type hw
    card 0
}

pcm.bluetooth
{
 type plug
 slave
 {
  pcm
  {
   type bluetooth
   device 00:11:67:00:03:CB   <--- Cambiarlo al MAC del Headset
   profile "auto"
  }
 }

 hint
 {
  show on
  description "BCK-08 Bluetooth Headset"
 }
}

El pairing se puede hacer así:
bluez-simple-agent hci0 00:11:67:00:03:CB   <--- Cambiarlo al MAC del Headset
bluez-test-audio connect 00:11:67:00:03:CB   <--- Cambiarlo al MAC del Headset

Lo que instalé:
# dpkg -l | grep blue
ii  bluetooth                             4.99-2                        all          Bluetooth support
ii  bluez                                 4.99-2                        armhf        Bluetooth tools and daemons
ii  bluez-alsa:armhf                      4.99-2                        armhf        Bluetooth ALSA support
ii  bluez-gstreamer                       4.99-2                        armhf        Bluetooth GStreamer support
ii  bluez-utils                           4.99-2                        all          Transitional package
ii  gir1.2-gnomebluetooth-1.0             3.4.2-1                       armhf        Introspection data for GnomeBluetooth
ii  gnome-bluetooth                       3.4.2-1                       armhf        GNOME Bluetooth tools
ii  libbluetooth3:armhf                   4.99-2                        armhf        Library to use the BlueZ Linux Bluetooth stack
ii  libgnome-bluetooth10                  3.4.2-1                       armhf        GNOME Bluetooth tools - support library
# dpkg -l | grep alsa
ii  alsa-utils                            1.0.25-4                      armhf        Utilities for configuring and using ALSA
ii  bluez-alsa:armhf                      4.99-2                        armhf        Bluetooth ALSA support

No creo que todo sea realmente necesario... ej: gnome-bluetooth, pero entre tantas pruebas quedó ahí.
Supongo que solo se necesita bluetooth, bluez-gstreamerbluez-alsa.
Lo demás debe ser pura dependencia/pruebas.


4) Seguí estas instrucciones para que la resolución de pantalla sea la correcta cuando se enciende la RPi antes que la tele: https://krisrowland.wordpress.com/2013/05/11/raspberry-pi-hdmi-output-configuring-the-correct-resolution-for-a-crappy-tv/
Sin esto me pasaba que (no siempre) la pantalla aparecía como de 640x480.

Bueno, espero que a alguno le sea de utilidad.
Saludos

Reply all
Reply to author
Forward
0 new messages