Programar Arduino desde la linea de comandos, fácil y rápido

Esta vez os voy a contar como programar un Arduino sin todas las molestias que nos causa el tener que usar el entorno gráfico del IDE oficial. Bueno, para mi es una molestia el tener que cargar un entorno gráfico, y un entorno de programación que no aporta nada a una simple linea de comandos de toda la vida. Además si tienes que programar por SSH, a través de una linea lenta, es todavía peor.

Vamos allá.

La herramienta que vamos a usar se llama INO, se trata de unos scripts que nos permitirán inicializar un proyecto, compilarlo, subirlo al Arduino y mostrar una consola serial si la necesitamos.

En el sitio web del proyecto podéis encontrar la información más detallada. En mi caso la instalación bajo Ubuntu es bastante sencilla:

apt-get install git python-setuptools python-configobj python-jinja2 python-serial picocom
git clone git://github.com/amperka/ino.git
cd ino
make install
Con la primera linea instalamos los prerrequisitos de INO y el programa picocom, que es el que usará para conectar de forma serial con Arduino para mostrar la consola. Con la segunda nos bajamos la última versión disponible en el repositorio. Con las dos siguientes lo compilamos e instalamos.
Es posible que necesitéis instalar el paquete build-essential si no tenéis instaladas las herramientas de desarrollo.

Una vez que lo tenemos todo ejecutamos el script:

jose@titanio:~$ ino -h 
usage: ino [-h] {build,clean,init,list-models,preproc,serial,upload} ...

Ino is a command-line toolkit for working with Arduino hardware.

It is intended to replace Arduino IDE UI for those who prefer to work in
terminal or want to integrate Arduino development in a 3rd party IDE.

Ino can build sketches, libraries, upload firmwares, establish
serial-communication. For this it is split in a bunch of subcommands, like git
or mercurial do. The full list is provided below. You may run any of them with
--help to get further help. E.g.:

    ino build --help

positional arguments:
  {build,clean,init,list-models,preproc,serial,upload}
    build               Build firmware from the current directory project
    clean               Remove intermediate compilation files completely
    init                Setup a new project in the current directory
    list-models         List supported Arduino board models
    preproc             Transform a sketch file into valid C++ source
    serial              Open a serial monitor
    upload              Upload built firmware to the device

optional arguments:
  -h, --help            show this help message and exit
Para crear un proyecto, creamos una carpeta vacía con mkdir proyecto1, y dentro de ella ejecutamos ino init para crear la estructura básica del proyecto, modificamos el fichero sketch.ino de la carpeta src, añadimos las librerías que consideremos oportunas a la carpeta lib y compilamos con ino build. Si todo ha ido bien podremos subir el programa con ino upload y ver la consola con ino serial.

Fácil ¿verdad?

 

Actualización 25/04/2014: Si al instalar todos los paquetes, compilar e instalar ino os da un mensaje relacionado con el paquete glob2, lo podéis instalar fácilmente con easy_install glob2.

3 comentarios

Añadir un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.