====== 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:
* **''/storage/.cache/''**
* **''/storage/.config/''**
* **''/storage/.kodi/''**
==== 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 [[http://elinux.org/RPiconfig#Video_mode_options|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 [[http://wiki.xbmc.org/index.php?title=CEC|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 //Sistema// => //Impostazioni// => //Sistema// => //Dispositivi di input// => //Periferiche// => //CEC Adapter//.
===== Ottimizzazione =====
Vedere questo [[http://www.gaducated.com/the-perfect-xbmc-setup-on-the-raspberry-pi/|howto]] che pare ben fatto. In particolare:
* System => Settings => Videos => Playback and set Adjust display refresh rate to match video to Always.
* System => Settings => Appearance (disable RSS feeds)
===== 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