La Raspberry Pi (RPi) és un petit i econòmic ordinador, pensat principalment com a estri educatiu per ensenyar la programació d’ordinadors, però també se li pot donar molts altres usos. És una placa de la mida aproximada d’un paquet de tabac (o d’un grapat de targetes de crèdit apilades, pels no fumadors), costa uns 35 euros, i a grosso modo té 512 mb de RAM, un processador de 700 Mhz (es pot pujar a 1000Mhz), un parell de ports usb, un ethernet, i sortides de vídeo/àudio (hdmi i rca). Es connecta a l’alimentació a través d’una connexió micro-usb amb un cable com el dels carregadors de mòbils, i el sistema operatiu es carrega en una targeta SD.
Es poden fer un munt de coses amb la RPi, com es pot comprovar fent alguna recerca per internet, i la gràcia és que es pot trobar molta documentació i informació. En el meu cas deixo un petit recull de notes de les quatre cosetes que he provat.
RPi 1 : Servidor d’impressora i fitxers de disc dur extern
Material: RPi, una targeta SD antiga que tenia per casa de 2 gb (classe 2?), cable d’alimentació, cable ethernet, impressora i disc dur extern.
Sistema: Raspbian “wheezy” http://www.raspberrypi.org/downloads
– NAS
http://elinux.org/R-Pi_NAS
– Neteja d’aplicacions no necessàries al funcionar headless
http://blog.3vases.com/instalar-la-raspberry-pi-sin-entorno-grafico-y-lxde-para-un-servidor-minimo
– Botonet per apagar
http://raspi.tv/2013/how-to-use-interrupts-with-python-on-the-raspberry-pi-and-rpi-gpio
Vaig connectar un botó que em va sobrar de la màquina arcade, als pins 6 (ground) i 16 (gpio 23) de la RPi, i vaig crear un script boto.py que vaig afegir a /etc/rc.local pq s’executés al arrencar. D’aquesta manera es pot apagar netament la RPi sense haver de connectar-se via ssh des d’un altre pc.
import RPi.GPIO as GPIO import os GPIO.setmode(GPIO.BCM) GPIO.setup(23, GPIO.IN, pull_up_down=GPIO.PUD_UP) try: GPIO.wait_for_edge(23, GPIO.FALLING) os.system("sudo shutdown -h now") except KeyboardInterrupt: GPIO.cleanup() GPIO.cleanup()
– Impressora, CUPS
sudo apt-get cups
sudo cupsctl –share-printers –remote-admin –remote-printers
I després accedir des d’un navegador a https://192.168.1.xx:631 (xx segons la ip dins la xarxa interna) per gestionar la impressora.
RPi 2 : Media Center amb RASPBMC
Material: RPi, targeta SD 8 gb (classe 10), cable hdmi, cable alimentació, stick usb WiFi.
Sistema: RASPBMC http://www.raspbmc.com/
*) WIFI:
– Si no funciona amb la configuració de Raspbmc Settings, instal·lar complement de programes: Network Manager
– Afegir allà la connexió (pot ser hidden si ssid no broadcast)
– Tot i això, si després de reiniciar segueix sense funcionar, des del terminal:
nmcli con up id nomconnexio
(canviar “nomconnexio” pel nom donat a la connexió dins el Network Manager)
– A partir d’aquí ja pilla el wifi, inclús post reinicis! (potser per ser hidden cal fer una primera connexió manual pq la pilli !?)
*) CONTROL via ANDROID
– Official xbmc Remote
https://play.google.com/store/apps/details?id=org.xbmc.android.remote
*) COMPLEMENTS
– Sports Devil (Rojadirecta, lshunter, …)
a) http://code.google.com/p/librtmp-raspbmc/
Baixar fitxer librtmp.so.0 i copiar a la RPi
sudo cp librtmp.so.0 /opt/xbmc-bcm/xbmc-bin/lib/xbmc/system/
b) http://code.google.com/p/xbmc-development-with-passion/wiki/SportsDevil
Baixar link del “repo” i des del xbmc, complements, afegir des de zip, i seleccionar.
Anar a complements i activar Sports Devil
RPi 3 : Emuladors Arcade amb CHAMELEON
Material: RPi, targeta SD 8 gb (classe 4), cable hdmi, cable alimentació, teclat usb. I opcionalment, stick usb WiFi, comandament arcade amb joystick i diversos botons.
Sistema: CHAMELEON http://chameleon.enging.com/
– El Chameleon és una distribució basada en Raspbian, creada per un català, en Carles Oriol, que inclou una bona colla d’emuladors d’ordinadors antics (zx spectrum, commodore 64, msx, …), consoles (nes, snes, game boy, …) i màquines arcade (mame, …). Molt recomanable ;-)
– Després d’arrencar per primer cop, anar a Opcions i fer expand roms partitions
*) Configurar WIFI:
sudo nano /opt/selector/wifiwpa.config
network={
scan_ssid=1
ssid=”nomconnexio”
psk=”clauconnexio”
proto=WPA
key_mgmt=WPA-PSK
pairwise=TKIP
group=TKIP
}
*) ROMS
– Copiar roms, snaps, samples, etc dins /roms/ i l’emulador corresponent
– Gran recopilació de roms per mame, zx spectrum, snes, gb, commodore, …
http://www.emuparadise.me/roms-isos-games.php
*) Zx Spectrum
– Triar tipus de joystick “cursor” als jocs on es pugui.
RPi : Notes diverses
*) “Modo no compatible” i monitor en negre.
Info: http://elinux.org/RPiconfig
Per mostrar info complerta i modes amb millor rendiment:
pi@raspbmc:~$ /opt/vc/bin/tvservice -d edid.dat
pi@raspbmc:~$ /opt/vc/bin/edidparser edid.dat
Escollir el group + mode més òptim i indicar-ho a /boot/config.txt
Per ex, vaig provar:
hdmi_group=2 i hdmi_mode=47 => No pilla audio amb samsung vell!
hdmi_group=1 i hdmi_mode=4 => Sí pilla audio, però pitjor qualitat imatge!
*) WIFI
– Raspbian, configuració xarxa:
sudo nano /etc/network/interfaces
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
– Si model usb wifi no standard, instal·lar controladors propis segons chipset. Exemples:
sudo apt-get install firmware-ralink
sudo apt-get install firmware-atheros
…
– Raspbian, pq detecti xarxa oculta (no broadcast):
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
scan_ssid=1
*) TECLAT
sudo nano /etc/default/keyboard
I canviar valor per defecte ‘gb’ per ‘es’
I si s’utilitza interfície gràfica:
sudo nano /home/pi/.xsessionrc
setxkbmap es
*) CEC (comandament tv per controlar media center)
– De moment no funciona. Caldria veure si és a causa de monitor no compatible o de cable hdmi de baixa qualitat sense CEC !?
*) Comandament Wii
http://www.raspberrypi-spy.co.uk/2013/02/nintendo-wii-remote-python-and-the-raspberry-pi/
Amb un stick usb bluetooth que corria per casa (Energy System linnker 3000) vaig fer la prova de detectar el comandament de la wii i va funcionar tot correctament. Són 11 botons disponibles i encara més si es combinen, que podrien ser interessants per controlar la RPi en algun tipus d’aplicació…
*) Enllaços
– Pàgina oficial Raspberry Pi : http://www.raspberrypi.org/
– RPi Hub, recopilació info : http://elinux.org/RPi_Hub
– Recull d’idees per RPis : http://pingbin.com/2012/12/30-cool-ideas-raspberry-pi-project/
– Comunitat Catalana del Raspberry Pi : http://www.raspberry.cat/
Jo el CEC amb una Samsung de farà un parell d’anys i un cable hdmi dels xinos em funciona perfectament. Bé, podria acabar de “mapejar” els botons com m’interessi més, però en general ja va prou be per defecte
A aquí diuen unes quantes marques que funcionen
http://wiki.xbmc.org/index.php?title=CEC
els models no estan actualitzats, però el “branding” és bastant nou, si la teva tele diu algun d’ells, hauria de funcionar
:D