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.
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: https://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).
https://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 https://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!