Arduino/usiamo scons su gentoo: differenze tra le versioni
m (aggiustamento grafico) |
(aggiustamento per utenti non gentoo) |
||
| Riga 1: | Riga 1: | ||
[[Arduino|<< Arduino]] | [[Arduino|<< Arduino]] | ||
<div style="text-align:justify"> | <div style="text-align:justify"> | ||
| + | A dirla tutta, arscons è comodo anche se non usate gentoo.<br> | ||
Per usare Arduino serve precompilare il software su un computer esterno, perché non è disponibile un compilatore integrato. | 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. | 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. | ||
| − | + | Un ottimo strumento per programmare Arduino in linea di comando, evitando le ide degli sviluppatori esperti, è senza dubbio [https://github.com/suapapa/arscons arscons].<br> | |
| + | 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.<br> | ||
Copiare il seguente file sul percorso: /etc/layman/overlays/arduPn.xml<br/> | Copiare il seguente file sul percorso: /etc/layman/overlays/arduPn.xml<br/> | ||
(serve app-portage/layman ) | (serve app-portage/layman ) | ||
Versione delle 22:29, 9 mar 2014
A dirla tutta, arscons è comodo anche se non usate gentoo.
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.
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!!!