Arduino/usiamo scons su gentoo

Da PNLUG.
Versione del 9 mar 2014 alle 22:29 di Cloc3 (Discussione | contributi) (aggiustamento per utenti non gentoo)

<< Arduino

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!!!

<< Arduino