Applicazioni di Raspberry PI
firewall
access point
Raspberry PI come access point: l'esempio dell'AP usato al non-corso
Piratebox
centralino asterisk
domotica gestione luci
domotica controllo consumi elettrici
domotica termostato gestione caldaia
lavagna multimediale
Laboratorio scolastico (linux terminal server)
Parata ParTot: laboratorio per una installazione di post-elettronica in salsa di software libero
La parata ParTot quest'anno si terrà il 15 giugno e ci sarà un laboratorio ad essa collegato per creare una installazione "toccare per credere" http://www.fest-festival.net/index/index.php/progetti/parata-par-tot
Questa la presentazione provvisoria del laboratorio: Perfetta integrazione di materiali biologici con pura elettronica e informatica libera: useremo patate e cetrioli come terminazioni “nervose” per pilotare microcomputer; svilupperemo un software per elaborare questi segnali e creare ambientazioni luminose e sonore con effetti stupefacenti. Il tutto ovviamente riciclando rifiuti elettronici e a risparmio energetico, anche perchè l'energia elettrica potrebbe essere prodotta dalle nostre gambe su apposite cyclette. Componentistica: Makey Makey, raspberry, python, led ...
Il laboratorio sarà coordinato dalla Ofpcina
remote console per server
PVR (Personal Video Recorder, DVB, gateway televisivo
(se non è la sezione giusta, spostate pure)
Opzioni da approfondire: elenco su elinux
Sto sperimentando un sistema basilare per videoregistrare da DVB-T (digitale terrestre) con il Raspberry Pi.
Al momento sto utilizzando:
- Raspberry Pi (modello B, 256 MB di RAM)
- Scheda DVB-T August DVB-T205
- aggiungerò disco fisso esterno alimentato, una volta che il setup mi soddisferà
Scheda per la ricezione
La August DVB-T205 non è stata una scelta particolarmente felice: distribuiscono driver per Linux, ma solo per kernel della serie 2.x. Per fortuna c'è un porting già pronto, che ho clonato in [questo repository]. Seguendo le istruzioni è relativamente semplice ricompilarlo per il proprio kernel 3.1.9 o 3.2.x
Prime prove
Andranno installati anche tutti i soliti pacchetti necessari in questi casi (farò l'elenco completo prossimamente), come dvb-tools, dvbtune e dvb-apps. Per una prima prova, basterà eseguire:
scan /usr/share/dvb/dvb-t/it-All | tee channels.conf
Alla fine, nel file channels.conf avrete una lista dei canali che potete ricevere. Ora apriamo un secondo terminale e sintonizziamoci su Rai 5, per vedere Passepartout di/con/su/per Philippe Daverio, che sappiamo bene essere l'unica cosa decente in tv:
tzap -c channels.conf -r 'Rai 5'
Se signal non è zero, siamo a cavallo.
Tornando sul primo terminale (tzap va lasciato aperto), possiamo provare a registrare:
cat /dev/dvb/adapter0/dvr0 > rai5.mpeg2
Lasciate passare qualche minuto, interrompete con ctrl+c e vedrete che il file rai5.mpeg2 conterrà il vostro streaming audio e video.
MythTV
Non sono sicuro sia la scelta migliore, ma la mia idea è installarci un backend MythTV, ed eventualmente un frontend web. Devo ancora configurarlo per bene, ma di base bisogna creare l'opportuno database su MySQL, lanciare X11 ed eseguire mythtv-setup (fare riferimento ad altre guide). Una volta completata la configurazione, il backend è pronto a partire. Una cosa su cui ho perso un po' di tempo, è il fatto che il backend non partiva perché di default il mio Raspberry non supporta IPv6, ed in quel caso MythTV non parte senza alcun messaggio di errore significativo. Il supporto IPv6 è comunque incluso nel kernel, ed è sufficiente un modprobe ipv6 (e poi aggiungere ipv6 in /etc/modules, in modo che venga caricato ad ogni avvio) per farlo partire.
Il problema principale di MythTV è la sua pesantezza: richiede MySQL ed un backend sempre in esecuzione. Inoltre, a meno che non si voglia utilizzarlo con il suo frontend sul client (che impone di aver installato su client e server la stessa versione di MythTV), a questo si deve aggiungere apache e mythweb, per avere una interfaccia via browser. Senza overclock, lo streaming video tra backend e frontend è praticamente impossibile (e forse anche con overclock); restano invece perfettamente funzionanti le altre funzionalità, come la registrazione.
Dato che a me interessa solo la possibilità di videoregistrare, forse proverò anche http://andreas.vdr-developer.org/vdradmin-am/index.html
vdradmin-am
Vdradmin-am è una interfaccia web per vdr ( http://www.tvdr.de/ , che di suo già avrebbe una interfaccia web, forse un po' meno usabile, ma comunque funzionale). Vdr si presenta molto più leggero e performante di MythTV, e non richiede MySQL. Sarei orientato ad utilizzarlo; ora lo scoglio principale è dovuto al fatto che non ho un hub usb alimentato disponibile: collegando insieme la scheda dvb-t ed una scheda wireless usb, il raspberry non regge (neanche con un alimentatore da 1A). Me ne procurerò uno quanto prima ed proseguirò con l'installazione ed il setup.
Videosorveglianza
Radiocomandi
Raspberry e Arduino insieme: interfacciamento
Uno smart player audio da abbinare allo stereo casalingo
Sto viluppando un player python basato su gstreamer senza interfaccia se non quella su dbus che segue lo standard mpris2 http://specifications.freedesktop.org/mpris-spec/latest/ Questo permetterebbe di usare ruspberry come player remoto senza consumare inutili risorse. Seguono una cli su dbus per getire il player, una gui pygtk sempre su dbus e una interfaccia web con cherrypy sempre a partire da dbus. Sarebbe interessante abbinare un dac amplifier magari basato su t-amp. Per il momento il player è sviluppato all'interno di un software per l'automazione di una emittente radiofonica: http://autoradiobc.sf.net (vedi svn)
Cambiamonete / servizi a pagamento / Totem informativo
Raspberry per gestire servizi a pagamento. Gestire tramite python il protocollo cctalk http://en.wikipedia.org/wiki/CcTalk e quindi dispositivi per accettare monete e banconote. Realizzare quindi servizi a pagamento tramite Totem informativi & Chioschi ... Driver CCTALK per gettoniera già disponibile insieme ad hardware di test. Aggiungere magari un sensore di prossimità per il risparmio energetico attivando il display solo in presenza di utenti.