Table of Contents

Raspberry PI mediacenter con OpenELEC

Home page: http://openelec.tv/

Accesso SSH

Per impostazione predefinita l'accesso SSH è disabilitato, dall'interfaccia grafica è possibile abilitarlo, oppure modificando il file /storage/.cache/services/ssh.conf:

SSHD_START=true
SSHD_DISABLE_PW_AUTH=false

Accesso root, password openelec.

Configurazione

Il filesystem principale viene montato in read-only, tutte le configurazioni e i dati utente sono salvati nella partizione montata su /storage/. Vedere ad esempio le directory:

WiFi

Le configurazioni del WiFi vengono salvate nella directory /storage/.cache/connman/, una sottocartella per ogni connessione.

Autostart

Questa funzione pare che non sia consigliata, vedere in proposito i commenti nel file /etc/init.d/93_xbmc. Ad ogni modo se si crea uno script di /bin/sh di nome /storage/.config/autostart.sh e lo si rende eseguibile, questo verrà lanciato alla fine del processo di bootstrap.

È possibile ad esempio aggiungere un IP alias (cosa che connman non supporta nativamente) oppure connettersi ad uno storage di rete.

Autoplay

Creare il file /storage/.xbmc/userdata/autoexec.py.

Per mandare in loop tutti i video contenuti in una directory (verificato con OpenELEC 3.2.4, XBMC 12.2 Frodo):

#!/usr/bin/python
import xbmc
xbmc.executebuiltin('xbmc.PlayMedia("/storage/videos/loop","isdir")')
xbmc.executebuiltin('xbmc.playercontrol(RepeatAll)')

Altra ricetta (da verificare) che manda in esecuzione una playlist:

#!/usr/bin/python
import xbmc
xbmc.executebuiltin("PlayMedia(/storage/.xbmc/userdata/playlists/video/autoplay.m3u)")
xbmc.executebuiltin("PlayerControl(repeat)")

Ecco invece un esempio di come si dovrebbe mettere in esecuzione automatica un plugin:

xbmc.executebuiltin("RunAddon(plugin.video.youtube)")

Per lanciare automaticamente la lista file della finestra video ci sono diversi metodi basati su ActivateWindow. Nell'esempio che segue i primi due comandi sono equivalenti (versione 11 Eden); fanno riferimento rispettivamente al nome della sotto-sezione o al percorso logico. Il terzo comando invece apre direttamente la vista file di una sottodirectory. Con il quarto comando si apre invece la lista file da un server remoto:

#!/usr/bin/python
import xbmc
#xbmc.executebuiltin('xbmc.ActivateWindow(Videos,Files)')
#xbmc.executebuiltin('xbmc.ActivateWindow(Videos,sources://video/)')
xbmc.executebuiltin('xbmc.ActivateWindow(Videos,"/home/media/videos/cartoni_animati/")')
#xbmc.executebuiltin('xbmc.ActivateWindow(Videos,"smb://server/videos")')

Uscita HDMI

Se il Raspberry viene acceso con il cavo HDMI scollegato o con il televisore spento, si attiva l'uscita composita. Per verificarlo:

tvservice -s
state 0x40001 [NTSC 4:3], 720x480 @ 60Hz, interlaced

ecco invece un esempio di output in HDMI:

tvservice -s
state 0x12001a [HDMI DMT (39) RGB full 16:9], 1360x768 @ 60Hz, progressive

Per forzare l'uscita video e audio su connettore HDMI (anche se il Raspberry PI viene acceso prima del televisore) bisogna modificare il file /flash/config.txt, che però è montato read-only. Quindi prima si rimonta il filesystem in read-write:

mount -o remount,rw /flash

e poi si aggiungono le opzioni in config.txt:

# Force HDMI even if unplugged or powered off                                   
hdmi_force_hotplug=1                                                            
                                                                                
#Normal DVI mode (No sound)                                                     
#hdmi_drive=1                                                                   
                                                                                
#Normal HDMI mode (Sound will be sent if supported and enabled)                  
hdmi_drive=2                                                                    

è possibile anche pre-selezionare la risoluzione, se il monitor è collegato si interroga sui possibili modi video supportati, tra quelli del gruppo CEA (di solito per i TV) oppure del gruppo DMT (per i monitor):

tvservice -m CEA
tvservice -m DMT

altrimenti vedere i modi video possibili. Quindi nel file config.txt si mette:

# Select CEA (TV) mode group, mode = 16 (1920x1080 @ 60Hz)
#hdmi_group=1
#hdmi_mode=16

# Select DMT (monitor) mode group, mode = 39 (1360x768 @ 60Hz)
hdmi_group=2
hdmi_mode=39

Telecomando CEC via HDMI

In teoria dovrebbe essere possibile controllare XBMC su Raspberry PI con il telecomando del televisore, via cavo HDMI grazie al protocollo CEC. Nel mio caso non ha funzionato. Potrebbe trattarsi del cavo HDMI con il pin 13 scollegato, oppure una mancanza del televisore (Samsung LE32D400E).

Il menu in questione si trova su SistemaImpostazioniSistemaDispositivi di inputPerifericheCEC Adapter.

Ottimizzazione

Vedere questo howto che pare ben fatto. In particolare:

Overclocking

Per effettuare l'overclocking si deve accedere via ssh e modificare /flash/config.txt:

mount /flash -o remount,rw
vi /flash/config.txt

quindi si impostano i valori:

# Overclock mode settings.                                                        
#                                                                                 
# default recommended values are: arm_freq | core_freq | sdram_freq | over_voltage
# no overclocking               :    700   |    250    |    400     |      0
# mode 'Modest'                 :    800   |    300    |    400     |      0
# mode 'Medium'                 :    900   |    333    |    450     |      2
# mode 'High'                   :    950   |    450    |    450     |      6
# mode 'Turbo'                  :   1000   |    500    |    500     |      6
                                                                                      
arm_freq=900                                                                          
core_freq=333                                                                         
sdram_freq=450                                                                        
over_voltage=2