Arduino/usiamo scons su gentoo
A dirla tutta, arscons è comodo anche se non usate gentoo.
Che cos'è arscons? è un ambiente di compilazione per Arduino.
Infatti, per usare Arduino serve precompilare il software su un computer esterno, perché non è disponibile un compilatore integrato.
Da https://code.google.com/p/arduino si può ricavare un insieme di tool che comprende sia alcune librerie fondamentali, sia un'ide dedicato scritto in java (dunque indipendente da piattaforma. Funziona anche su windows). Forse, per un principiante, è meglio evitare l'ide e attrezzarsi in riga di comando.
Un ottimo strumento per programmare Arduino in linea di comando, evitando le ide degli sviluppatori esperti, è senza dubbio arscons.
Si tratta di un semplice script in linguaggio python. Si usa così:
- Installare, con gli strumenti della propria distribuzione, il programma scons di cui a questa pagina web:
http://www.scons.org/
- Creare una cartella:
mkdir -p ~/arduino/mioSketch;cd ~/arduino/mioSketch
- Scaricare arscons:
wget https://raw.github.com/suapapa/arscons/master/SConstruct
- creare uno sketch con nome identico alla cartella attuale e con estensione .ino:
wget https://raw.github.com/suapapa/arscons/master/arscons.ino -O mioSketch.ino
- Aggiustare un paio di variabili d'ambiente, magari ospitando le righe seguenti nel file ~/.profile:
export EXTRA_LIB="${HOME}/arduino/librerie" export SKETCHBOOK_HOME="${HOME}/arduino" export ARDUINO_BOARD="uno"
- Collegare arduino ed eseguire il comando:
scons upload
Installazione su gentoo
Se usate Gentoo, potete utilizzare questo ebuild.
Copiare il seguente file sul percorso: /etc/layman/overlays/arduPn.xml
(serve app-portage/layman )
<?xml version="1.0" encoding="UTF-8"?> <repositories version="1.0"> <repo priority="50" quality="experimental" status="unofficial"> <name>arduPn</name> <description>piccoli ebuild personali</description> <homepage>http://cloc3.dyndns.org/arduPn</homepage> <owner> <email></email> <name></name> </owner> <source type="tar">http://www.cloc3.net/arduPn/arduPn.tar.bz2</source> </repo> </repositories>
Aggiungere il repository con il seguente comando:
$ layman -f -a arduPn
Compilare con:
$ emerge -av arscons
La compilazione dovrebbe interessare i seguenti pacchetti:
dev-python/pyserial dev-embedded/avrdude dev-embedded/arduino app-vim/arduino-syntax
Ed ora, se necessario:
- Scegliere le use flag utili per le proprie necessità ( ftdi, in particolare).
- Modificare il file /etc/env.d/11arduino (se non si utilizza arduino UNO).
- Integrare una regola di udev nella cartella /etc/udev/rules.d sul modello del file /lib/udev/rules.d/99-arduino.rules.
- Aggiungere il proprio utente al gruppo uucp.
Cominciamo ora a testare l'installazione, come semplici utenti.
Nella cartella utente, aggiungiamo le righe seguenti righe:
export EXTRA_LIB="${HOME}/arduino/librerie" export SKETCHBOOK_HOME="${HOME}/arduino"
Generiamo le cartelle di lavoro:
$ mkdir -p ${HOME}/arduino/librerie $ mkdir ${HOME}/arduino/lucciola $ cd ${HOME}/arduino/lucciola $ ln -s /usr/share/arduino/arscons/SConscruct ./ # vedi il readme in /usr/share/arduino/arscons/README.md.bz2
Generiamo un file di test con il comando seguente:
$ cat >lucciola.ino <<EOF // This is just a mockup sketch for test scons works #define PIN_LED 13 void setup(void) { pinMode(PIN_LED, OUTPUT); } void loop(void) { digitalWrite(PIN_LED, HIGH); Serial.println("Acceso"); delay(1000); digitalWrite(PIN_LED, LOW); Serial.println("Spento"); delay(1000); } EOF
colleghiamo ora il nostro arduino alla connesione usb e inseriamo un led con il polo positivo sul pin 13 e il polo negativo a terra.
digitiamo i comandi:
$ scons upload $ miniterm.py -b 115200 /dev/arduino
E Allegria!!!