Arduino/usiamo scons su gentoo: differenze tra le versioni
(integrazione pagina) |
(sistemazione codice) |
||
Riga 9: | Riga 9: | ||
<div style="background-color:#f1f1f1"> | <div style="background-color:#f1f1f1"> | ||
− | + | <?xml version="1.0" encoding="UTF-8"?> | |
− | + | ||
− | <?xml version="1.0" encoding="UTF-8"?> | + | <repositories version="1.0"> |
− | + | <repo priority="50" quality="experimental" status="unofficial"> | |
− | <repositories version="1.0"> | + | <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> | |
− | + | ||
− | </repositories | + | |
− | + | ||
</div> | </div> | ||
Riga 31: | Riga 28: | ||
<div style="background-color:#f1f1f1"> | <div style="background-color:#f1f1f1"> | ||
− | + | $ layman -f -a arduPN | |
− | + | ||
− | + | ||
</div> | </div> | ||
Riga 41: | Riga 36: | ||
<div style="background-color:#f1f1f1"> | <div style="background-color:#f1f1f1"> | ||
− | + | dev-python/pyserial | |
− | + | dev-embedded/avrdude | |
− | + | dev-embedded/arduino | |
− | + | app-vim/arduino-syntax | |
− | + | ||
− | + | ||
</div> | </div> | ||
Riga 61: | Riga 54: | ||
Nella cartella utente, aggiungiamo le righe seguenti righe: | Nella cartella utente, aggiungiamo le righe seguenti righe: | ||
− | <div style="background-color:#f1f1f1" | + | <div style="background-color:#f1f1f1"> |
− | export EXTRA_LIB="${HOME}/arduino/librerie" | + | export EXTRA_LIB="${HOME}/arduino/librerie" |
− | export SKETCHBOOK_HOME="${HOME}/arduino" | + | export SKETCHBOOK_HOME="${HOME}/arduino" |
− | + | </div> | |
Generiamo le cartelle di lavoro: | Generiamo le cartelle di lavoro: | ||
<div style="background-color:#f1f1f1"><code> | <div style="background-color:#f1f1f1"><code> | ||
− | mkdir -p ${HOME}/arduino/librerie | + | $ mkdir -p ${HOME}/arduino/librerie |
− | mkdir ${HOME}/arduino/lucciola | + | $ mkdir ${HOME}/arduino/lucciola |
− | cd ${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 | + | $ ln -s /usr/share/arduino/arscons/SConscruct ./ # vedi il readme in /usr/share/arduino/arscons/README.md.bz2 |
− | + | </div> | |
Per creare un file di test, utilizziamo il comando seguente: | Per creare un file di test, utilizziamo il comando seguente: | ||
− | <div style="background-color:#f1f1f1" | + | <div style="background-color:#f1f1f1"> |
− | + | $ cat >lucciola.ino <<EOF | |
− | $ cat >lucciola.ino <<EOF | + | // This is just a mockup sketch for test scons works |
− | // This is just a mockup sketch for test scons works | + | |
− | + | #define PIN_LED 13 | |
− | #define PIN_LED 13 | + | |
− | + | void setup(void) | |
− | void setup(void) | + | { |
− | { | + | pinMode(PIN_LED, OUTPUT); |
− | + | } | |
− | } | + | |
− | + | void loop(void) | |
− | void loop(void) | + | { |
− | { | + | digitalWrite(PIN_LED, HIGH); |
− | + | Serial.println("Acceso"); | |
− | + | delay(1000); | |
− | + | digitalWrite(PIN_LED, LOW); | |
− | + | Serial.println("Spento"); | |
− | + | delay(1000); | |
− | + | } | |
− | } | + | EOF |
− | EOF | + | </div> |
− | + | ||
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. | 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. | ||
Riga 104: | Riga 96: | ||
digitiamo i comandi: | digitiamo i comandi: | ||
− | <div style="background-color:#f1f1f1" | + | <div style="background-color:#f1f1f1"> |
− | $ scons upload | + | $ scons upload |
− | $ miniterm.py -b 115200 /dev/arduino | + | $ miniterm.py -b 115200 /dev/arduino |
− | + | </div> | |
E Allegria!!! | E Allegria!!! |
Versione delle 16:41, 18 nov 2013
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. Forse, per un principiante, è meglio evitare l'ide e attrezzarsi in riga di comando.
Su gentoo, si può integrare questo overlay artigianale per installare scons.
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:
La compilazione dovrebbe integrare i seguenti pacchetti:
dev-python/pyserial dev-embedded/avrdude dev-embedded/arduino app-vim/arduino-syntax
Scegliere opportunamente le use flag utili per le proprie necessità ( ftdi, in particolare).
Modificare opportunamente il file /etc/env.d/11arduino se non si utilizza arduino UNO.
Integrare, se neccessario, un regola di udev nella cartella /etc/udev/rules.d sull'esempio 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.
Inseriamo l'utente locale al gruppo uucp.</br> 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
</div>
Per creare un file di test, utilizziamo 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!!!