Raspberry Pi


Installazione su Raspberry Pi

Le applicazioni del sistema Theremino funzionano su Raspberry Pi modelli A, B e B+, con il framework “Mono” e soli 256 MB di RAM. Scaricatele dalle pagine “Downloads” e seguite le istruzioni seguenti.

Theremino System - MasterDIL       Raspberry PI 

Il Sistema Theremino fornisce al Raspberry Pi un sistema di Input/Output facile da usare e con alte prestazioni. Per esempio, è possibile eseguire acquisizioni multiple di decine di canali analogici, con centinaia di campioni al secondo.

Il Raspberry Pi non ha ingressi di tipo ADC, per cui la conversione da analogico a digitale viene di solito svolta per mezzo di convertitori connessi con un lento bus I2C, o con schede Arduino. Questi ADC in genere hanno pochi bit e sono troppo lenti e troppo rumorosi per la gran parte delle applicazioni.

Il Theremino Master su Raspberry Pi


Attenzione: Ci sono nuove importanti iniziative per Linux, Android, Raspberry PI e Mac OSX, leggete qui: http://www.theremino.com/blog/the-hal#comment-12507


Attenzione: Queste informazioni sono in parte superate. I piccoli PC con Windows, sono sempre più economici, consumano meno e vanno oltre cinque volte più veloci del Raspberry PI. Sui PC e Tablet con Windows, tutte le nostre applicazioni funzionano con il 100% di efficienza, e funzionano subito (non si devono eseguire lunghe e complicate installazioni).
http://www.theremino.com/downloads/notes-on-software#liva


Installazione rapida

Installare Theremino in un Raspberry Pi è una operazione agevole. Tutta la documentazione in lingua inglese è anche disponibile nel File:
theremino-raspbian-installation.zip

L’installazione deve avvenire con il Raspberry Pi connesso a Internet. Quando l’installazione è terminata, si può disconnetterlo dalla Rete ed eventualmente creare un Backup della propria SD Card.

Prestate attenzione al fatto che Linux  distingue tra lettere minuscole e maiuscole e che i File di shell (.sh) devono essere eseguibili:
(RightClick/Properties/Permissions/MakeTheFileExecutable)

Le applicazioni del Theremino System si appoggiano al framework Mono. Fare attenzione che i nomi delle Directory e Subdirectory di lavoro delle applicazioni del Sistema Theremino non contengano spazi, trattini o caratteri speciali. Potrebbero generare malfunzionamenti con Linux e Mono.

Per essere eseguite sotto Linux, le applicazioni del Sistema Theremino hanno bisogno che nella stessa cartella dove vi è il programma eseguibile sia presente anche la libreria CustomControls.dll. Scaricatela dalla pagina http://www.theremino.com/downloads/uncategorized e copiatela accanto al file .exe che desiderate eseguire.

Il software del Sistema Theremino si appoggia sia a Mono che a WindowsForms. Dato che attualmente questi softwares hanno malfunzionamenti con i sistemi operativi hard-float, abbiamo utilizzato il sistema operativo Raspbian soft-float Debian “Wheezy”. Quando tali problemi saranno risolti, aggiorneremo l’ambiente con i sistemi operativi più moderni che fanno uso del coprocessore matematico e che hanno quindi migliori prestazioni.

Suggerimento: Molti sistemi operativi gestiscono la cartella /tmp come un RAMDrive che quindi viene svuotato ad ogni riavvio. Per non sprecare lo spazio sulla vostra SD Card, non cancellate Files o Directories dato che questi verrebbero semplicemente trasferiti nella cartella TrashBin. Invece vi conviene spostare gli oggetti non più utili nella cartella /tmp

Suggerimento: Useremo l’ internet browser Midori, la cui cartella di default per i Downloads è /home/pi. Per non sprecare lo spazio sulla vostra SD Card, fate sempre RightClick/SaveAs verso la cartella /tmp ed espandete i Files compressi in questa stessa Directory. Quindi spostate soltanto le cartelle necessarie all’interno della directory di destinazione.

Suggerimento: Per verificare che stiate utilizzando tutta la RAM del Raspberry Pi, lanciate Start/SystemTools/TaskManager per vedere quanta memoria è disponibile. La quantità dovrebbe avere un valore vicino al massimo, dato che una piccola parte è usata come VideoRAM.

Suggerimento: Per creare istantanee dello schermo, potreste installare l’applicazione “scrot” con il seguente comando nella finestra Terminale:
sudo apt-get install scrot
Quindi potete spostare il File fornito scrot.sh nel vostro Desktop e scattare immagini dopo un ritardo di dieci secondi dal momento nel quale lanciate questo File di comandi. Modificandolo, potete allungare il tempo di ritardo ed anche utilizzare altri parametri.

Risorse
Per permettere una facile e veloce installazione, abbiamo preparato alcuni Backups di SD Card da 8 Gigabyte. Se utilizzate SD Card di maggiore capacità, potete allargare i nostri Backup con la utility RaspiConfig, per avere a disposizione più spazio per le vostre applicazioni.

Un Backup ‘nudo’ del sistema operativo:
2013-05-29-wheezy-armel_Theremino.zip   (3 Gigabyte)

Un Backup del sistema operativo con già installate le librerie di Mono e LibUsb:
2013-05-29-wheezy-armel_Theremino-ENV.zip   (8 GB – questo è il Backup consigliato)

Un Backup del sistema operativo con già installati gli strumenti di sviluppo:
2013-05-29-wheezy-armel_Theremino-DEV.zip    (8 GB)

Suggerimento: Se desiderate visionare o fare modifiche alle librerie di basso livello del Sistema Theremino scritte in C++ , fate attenzione al fatto che il microprocessore ARM del Raspberry Pi memorizza i Bytes in un ordine diverso da quello di altre CPU (Little Endian, Big Endian).

Preparazione della SD Card
Scaricate il Backup di vostra scelta e decomprimete il File. Otterrete un File di tipo .img
Prendete una SD Card da 4 o da 8 Gigabyte e inseritela nel lettore del PC o in un economico adattatore USB.

Scaricate l’applicazione per formattare la SD Card da qui:
SDFormatter4.0.zip
Quindi installatela. Questo programma, quando lanciato, commuta automaticamente in modalità Amministratore.
Formattate la Card con VolumeLabel = “soft-float”, selezionando Format FULL (Erase) ed anche FormatSizeAdjustment=ON

Scaricate quindi l’applicazione Win32DiskImager da qui:
Win32DiskImager-0.9.5-binary.zip

Espandete il File in una cartella e lanciate l’eseguibile con Tasto Destro/Esegui come Amministratore.
Selezionate il File .img precedentemente scaricato e premete il tasto Write. Vi verrà chiesta conferma di scrivere l’unità “soft-float”.
Terminate l’applicazione quando ha finito la scrittura e fate Eject della Card via software, con il comando del sistema operativo del PC. Solo a questo punto estraete la Card dal PC e inseritela nel Raspberry Pi spento.

All’avvio potrebbe apparire l’interfaccia grafica che potrete terminare con Ctrl-Alt-F1 e quindi potrete fare Login con:
username: pi
password: raspberry

Se Raspbian automaticamente lancia una finestra di Root chiedendo di eseguire un comando fsck per aggiustare il File System espanso, eseguite il seguente:
fsck /dev/sda2
Quindi riavviate con i comandi:
sudo -i
shutdown -r now

Al prossimo riavvio, Raspbian dovrebbe lanciare automaticamente il RaspiConfig.
Se invece Raspbian va al Prompt, lanciate manualmente la utility con i comandi:
sudo -i
raspi-config

Utilizzando i tasti freccia, selezionate expand_rootfs (Expand Filesystem) e quindi con il tasto Tab scegliete <Select> e premete il tasto Enter.
Date un Enter alla finestra di conferma RootPartitionHasBeenResized.
Usando il tasto Tab, selezionate <Finish> e quindi premete Enter.
Confermate il riavvio con il tasto Enter.

Al riavvio potrebbe apparire l’interfaccia grafica che potrete terminare con Ctrl-Alt-F1 e quindi potrete fare Login con:
username: pi
password: raspberry

Dato che il Raspberry Pi funziona di default a 700MHz ed è abbastanza lento, consigliamo di utilizzare l’utility RaspiConfig per effettuare almeno un ModestOverclock che funziona senza sovralimentare i suoi Chip. Selezionate Overclock e scegliete 800Mhz, al prossimo riavvio il sistema dovrebbe essere più fluido.
Lanciate manualmente la utility con i comandi:
sudo -i
raspi-config

Per aggiornare tutti i software all’ultimo livello, eseguite in sequenza i comandi:

sudo -i
apt-get update
apt-get upgrade
apt-get install mono-complete
apt-get install mono-vbnc
apt-get install libusb-1.0.0
shutdown -h now

Dal prossimo riavvio si potrà utilizzare l’interfaccia grafica, richiamabile dal Prompt con:
startx

Librerie di basso livello
Utilizzando l’internet browser Midori, scaricare nel Raspberry Pi il File:
theremino-raspbian-installation.zip

Suggerimento: Questo File può essere aperto con un text editor in Raspbian. Da ora in poi, potrai aprire una finestra Terminale e fare copia e incolla dei comandi utilizzando i menu della finestra stessa.

Tutti i File necessari per avere il Theremino System funzionante su un Raspberry Pi, possono essere scaricati da qui. Questo File contiene anche i Bindings per Python:
Theremino_Raspberry-Pi_V1.0.tar.gz

Scaricate questo File nella cartella  /tmp  ed espandetelo là.
Quindi spostate solo la cartella  Theremino/  nel Desktop.
Dovreste a questo punto ottenere una cartella  /home/pi/Desktop/Theremino

Completamento della installazione
Per copiare le due librerie di Theremino nella cartella  /usr/bin  , aprite una finestra Terminale e digitate i seguenti tre comandi:
sudo -i
bash /home/pi/Desktop/Theremino/rasp-soft/slot/COPY_TO_USR_LIB.sh
bash /home/pi/Desktop/Theremino/rasp-soft/hid/COPY_TO_USR_LIB.sh

Copiare il File con le regole di ThereminoMaster per gestirlo come un USB HID ( Fate attenzione al punto finale! ) con i seguenti due comandi:
cd /etc/udev/rules.d
cp /home/pi/Desktop/Theremino/rasp-soft/hid/41-theremino.rules .

Chiudete quindi tutte le applicazioni ed anche la GUI selezionando Start/Logout.
Eseguite uno shutdown e quindi un riavvio.

Dopo che le librerie fondamentali sono state copiate e impostate con i corretti permessi, nelle cartelle  /usr/lib  e  /etc/udev/rules.d  , si può infine verificare che il tutto funzioni senza intoppi.

Collaudo dell’ambiente Theremino
Utilizzando l’interfaccia grafica ed il File Manager, andate alla cartella /home/pi/Desktop/Theremino/rasp-soft/slotview
Impostate come eseguibile il File START.sh e eseguitelo, l’applicazione Theremino_SlotViewer dovrebbe iniziare.
Lanciate il File START.sh nuovamente, dovreste avere due istanze attive.
Modificando il valore di uno degli Slots in una istanza dovrebbe cambiare anche il valore nell’altra istanza.


Emulazione con Qemu

Abbiamo scelto di sviluppare il software principalmente all’interno del Raspberry Pi stesso, per aumentare la portabilità del codice sorgente. Per effettuare modifiche e sviluppare nuove applicazioni che utilizzano solamente gli Slots del Sistema Theremino e non accedono alle porte USB, si può utilizzare uno dei nostri Backup con un emulatore.

L’utilizzo dell’emulatore Qemu è spiegato nel File di documentazione in Inglese e questa guida è stata ispirata dal meraviglioso Tutorial:
http://linux-mitterteich.de/fileadmin/datafile/papers/2013/qemu_raspiemu_lug_18_sep_2013.pdf


We Want You !

Il nostro software è stato sviluppato su Windows, che conosciamo bene. Se avete esperienza di Android, Linux o Mac OSX potreste aiutarci a migliorare la compatibilità e completare il porting di tutti i programmi. Scriveteci!


Ottenere i moduli del sistema

Il team del sistema Theremino si occupa solo di ricerca e non vende hardware. Il sistema è completamente “Freeware”, “Open Source”, “No Profit” e “DIY”, ma esistono produttori che possono fornire i moduli assemblati e collaudati a un ottimo prezzo. Difficilmente si potrebbe auto-costruirli spendendo meno. Un elenco dei produttori in questa pagina: www.theremino.com/contacts/producers


Donazioni
 

Il codice sorgente dei nostri programmi non contiene note sul copyright, nomi degli autori e link al nostro sito, per cui potete farne ogni uso, senza limitazioni di alcun genere. Non chiediamo di specificare la fonte originale o il nostro sito ma se sarete contenti del nostro software ricordatevi di noi e fate conoscere questo sito ai vostri amici. Eventuali donazioni, anche piccole, sono molto gradite e possono aiutarci a mantenere il software “free” ed a produrne sempre di nuovo.


Note legali
 

ITALIANO – HARDWARE: NEI LIMITI PREVISTI DALLA LEGGE il sistema Theremino VIENE FORNITO “COSÌ COM’È”, E NON RILASCIA GARANZIA ESPLICITA O IMPLICITA, RISPETTO ALLA SUA FUNZIONALITA’, OPERATIVITA’, O USO, INCLUSE, SENZA LIMITAZIONE, LE GARANZIE IMPLICITE DI COMMERCIABILITÀ, IDONEITÀ PER UNO SCOPO PARTICOLARE O VIOLAZIONE. SI DECLINANO ESPRESSAMENTE OGNI RESPONSABILITÀ PER DANNI DIRETTI, INDIRETTI, CONSEQUENZIALI, INCIDENTALI O SPECIALI, INCLUSI, SENZA LIMITAZIONI, MANCATI GUADAGNI, PERDITE DI PROFITTI, PERDITE DERIVANTI DA INTERRUZIONE DI ATTIVITA’ O PERDITE DI DATI, INDIPENDENTEMENTE DALLA FORMA DI AZIONE O TEORIA LEGALE SOTTO CUI LA RESPONSABILITA’ VIENE ASSERITA, ANCHE SE NON INFORMATI DELLA POSSIBILITA’ O RISCHIO DI TALI DANNI.
ITALIANO – SOFTWARE: IL SOFTWARE del sistema Theremino E’ UN SOFTWARE LIBERO: E’ POSSIBILE RIDISTRIBUIRLO E/O MODIFICARLO SECONDO I TERMINI DELLA LICENZA “GNU General Public License” COME PUBBLICATA DALLA “Free Software Foundation”, NELLA VERSIONE 3, O QUALSIASI VERSIONE SUCCESSIVA. È POSSIBILE OTTENERE UNA COPIA DELLA LICENZA “GNU General Public License” DA: http://www.gnu.org/licenses
ENGLISH – HARDWARE: THE PRODUCT Theremino System IS PROVIDED TO YOU “AS IT IS”, AND WE MAKE NO EXPRESS OR IMPLIED WARRANTIES WHATSOEVER WITH RESPECT TO ITS FUNCTIONALITY, OPERABILITY, OR USE, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR INFRINGEMENT. WE EXPRESSLY DISCLAIM ANY LIABILITY WHATSOEVER FOR ANY DIRECT, INDIRECT, CONSEQUENTIAL, INCIDENTAL OR SPECIAL DAMAGES, INCLUDING, WITHOUT LIMITATION, LOST REVENUES, LOST PROFITS, LOSSES RESULTING FROM BUSINESS INTERRUPTION OR LOSS OF DATA, REGARDLESS OF THE FORM OF ACTION OR LEGAL THEORY UNDER WHICH THE LIABILITY MAY BE ASSERTED, EVEN IF NOT ADVISED OF THE POSSIBILITY OR LIKELIHOOD OF SUCH DAMAGES.
ENGLISH – SOFTWARE: THE Theremino System SOFTWARE IS FREE SOFTWARE: YOU CAN REDISTRIBUTE IT AND/OR MODIFY IT UNDER THE TERMS OF THE “GNU General Public License” AS PUBLISHED BY THE “Free Software Foundation”, EITHER VERSION 3 OF THE LICENSE, OR ANY LATER VERSION. YOU CAN GET A COPY OF THE “GNU General Public License” FROM: http://www.gnu.org/licenses

Comments are closed.