Se non si è troppo convinti del limitante (pur utilissimo) IDE di Arduino, una valida alternativa per scrivere codice .pde o .ino utilizzando Emacs:
Una rapida guida alla configurazione e alla compilazione.
1) Scaricare arduino-mode.el da:
https://github.com/bookest/arduino-mode2) Copiare il file arduino-mode.el nella cartella di sistema di Emacs:
$ cp arduino-mode.el ~/.emacs.d/3) Modificare il file
~/.emacs
aggiungendo le seguenti righe:
(add-to-list 'load-path "~/.emacs.d/")
(load "arduino-mode.el")
4) Scaricare il makefile e il parse delle boards e copiarli rispettivamente nella directory che contiene i progetti di arduino (o nella directory dove è installato l'IDE di Arduino) e nei bin di sistema:
$ wget http://mjo.tc/atelier/2009/02/acli/arduino-mk_0.8.tar.gz
$ tar xzvf arduino-mk_0.8.tar.gz
$ cp arduino-mk-0.8/Arduino.mk /path/arduino/stuff/Arduino.mk
$ cp arduino-mk-0.8/ard-parse-boards /usr/local/bin
5) Modificare il file Arduino.mk
sostituendo la riga:
do $$STTYF /dev/tty >/dev/null 2>/dev/null && break ; \
con
do $$STTYF $(ARD_PORT) >/dev/null 2>/dev/null && break ; \
6) Creare un Makefile nella cartella contenente i file .ino da compilare contenente le seguenti righe:
ARDUINO_DIR = /path/installazione/arduino
PARSE_BOARD = /usr/local/bin/ard-parse-boards
BOARD_TAG = uno
ARDUINO_PORT = /dev/ttyACM0
ARDUINO_LIBS =
AVR_TOOLS_PATH = /usr/bin
AVRDUDE_CONF = /etc/avrdude.conf
include ~/path/arduino/stuff/Arduino.mk
Modificare le variabili in base al proprio sistema (in particolare la
ARDUINO_PORT
).Infine, per compilare utilizzare il comando make (da shell o da Emacs):
$ make arduino_project.ino
per trasferire il codice compilato sulla board Arduino:
$ make upload
Per inviare input alla porta seriale (in questo esempio la /dev/ttyACM0) attraverso la shell:
$ echo valore > /dev/ttyACM0
Per leggere dalla porta seriale:
$ tail -f /dev/ttyACM0
[Fonti: http://emacswiki.org/emacs/ArduinoSupport
http://mjo.tc/atelier/2009/02/arduino-cli.html
http://arduino.cc/playground/Linux/Udev]