Qué es Arduino CLI y cómo aprovecharlo en tus proyectos

  • Arduino CLI permite gestionar placas y librerías desde la línea de comandos.
  • Es fácil de integrar en editores de texto como Vim o VSCode.
  • Automatiza la creación, compilación y subida de código a placas Arduino.

Qué es Arduino CLI

Arduino CLI es una herramienta que ha revolucionado la manera de trabajar con placas Arduino desde la línea de comandos. Desde su lanzamiento, ha marcado un antes y un después, permitiendo a desarrolladores e ingenieros gestionar proyectos con extrema flexibilidad y personalización, sin necesidad de depender de entornos de desarrollo integrados tradicionales. La importancia de Arduino CLI radica en que no solo agiliza el desarrollo, sino que también ofrece compatibilidad multiplataforma.

Por tanto, la CLI de Arduino no solo es útil, sino que en muchos casos, representa una solución potente para quienes buscan integrar sus herramientas de desarrollo en scripts automatizados o trabajar en sistemas embebidos con arquitecturas ARM, como las Raspberry Pi. Además, gracias a la versatilidad que ofrece, se ha convertido en una parte fundamental del ecosistema Arduino. Hoy exploraremos a fondo todas sus características, cómo instalarla y lo que puedes hacer con ella.

¿Qué es Arduino CLI? Una introducción técnica

Arduino CLI herramienta técnica

Arduino Command Line Interface (CLI) es una aplicación de línea de comandos que permite a los usuarios compilar, cargar y gestionar programas para cualquier placa Arduino sin necesidad de abrir el IDE gráfico. Esta herramienta es especialmente útil para aquellos que prefieren trabajar desde la terminal o que buscan automatizar tareas.

Arduino CLI está diseñado para ser escalable y permite realizar gran parte de las tareas que normalmente haríamos desde el IDE de Arduino, pero con la ventaja de integrarlo en scripts o pipelines. Con comandos simples se pueden instalar dependencias, gestionar bibliotecas, y realizar otras tareas fundamentales para el desarrollo de proyectos. Además, su compatibilidad con JSON facilita la integración con otros programas y herramientas de terceros.

Instalación de Arduino CLI

Para comenzar a utilizar Arduino CLI, el primer paso es instalarlo en tu sistema. La buena noticia es que está disponible para múltiples plataformas como Windows, macOS y distribuciones Linux, incluidas aquellas que corren en arquitecturas ARM, como la ya mencionada Raspberry Pi.

Dependiendo de tu sistema operativo, existen varias formas de instalar Arduino CLI. En las distribuciones basadas en Arch Linux, por ejemplo, se puede instalar directamente desde los repositorios ejecutando:

pacman -S arduino-cli

En otros sistemas, se puede obtener el binario desde el repositorio oficial de GitHub y seguir las instrucciones de instalación correspondientes.

Configuración inicial

Una vez instalada, el siguiente paso es la configuración inicial. Esto se hace a través de un archivo «yaml» que actuará como el centro de configuración de todas las operaciones de Arduino CLI. Este archivo puede crearse con el siguiente comando:

arduino-cli config init

Este comando generará el archivo correspondiente en el directorio /home/usuario/.arduino15/arduino-cli.yaml, el cual contendrá la información clave que Arduino CLI necesita para funcionar correctamente.

Añadir y gestionar placas

Uno de los aspectos más útiles de Arduino CLI es la facilidad con la que puedes gestionar las placas conectadas a tu equipo. Si tienes una placa conectada, el siguiente comando te permitirá listar las placas disponibles:

arduino-cli board list

Este comando mostrará información relevante sobre todas las placas conectadas, como el puerto y el nombre identificador. Sin embargo, puede que algunas veces la placa esté conectada pero no sea reconocida correctamente, mostrando un mensaje de tipo «Unknown».

Para solucionar esto, puedes usar el comando board listall para ver todas las placas compatibles y su correspondiente FQBN (Fully Qualified Board Name). Si la placa que deseas utilizar requiere una instalación adicional de «cores», como es el caso de algunas placas ESP32, puedes hacerlo con el siguiente comando:

arduino-cli core install esp32:esp32

Creación de proyectos con Arduino CLI

Arduino CLI permite crear nuevos proyectos de forma sencilla utilizando el comando sketch. Para iniciar un nuevo proyecto, ejecuta el siguiente comando:

arduino-cli sketch new nombre_proyecto

Esto creará una nueva carpeta con el nombre de tu proyecto y un archivo .ino en su interior. Este archivo será el que deberás editar para añadir tu código específico. Una vez tengas listo tu código, puedes compilarlo usando el siguiente comando:

arduino-cli compile --fqbn esp32:esp32:esp32cam

Este comando compilará el código utilizando la placa que especifiques con el parámetro –fqbn. Si todo está bien, se generará el archivo binario listo para ser subido a tu placa.

Subida del código a la placa

Una vez compilado el código, el siguiente paso es subirlo a la placa. Arduino CLI facilita este proceso con un simple comando:

arduino-cli upload -p /dev/ttyACM0 --fqbn esp32:esp32:esp32cam

Este comando subirá el código a la placa conectada al puerto especificado. En este caso, se está utilizando una placa ESP32 y el puerto USB /dev/ttyACM0.

Subida de código a placa con Arduino CLI

Integración con editores de texto

Arduino CLI no solo funciona desde la línea de comandos, sino que puede integrarse dentro de varios editores de texto y entornos de desarrollo. Esto permite a los desarrolladores utilizar sus herramientas favoritas mientras aprovechan las capacidades de Arduino CLI.

Por ejemplo, puedes integrar Arduino CLI con Vim utilizando un gestor de plugins como vim-plug. Una vez instalado el gestor de plugins, tan solo tendrás que añadir el siguiente código a tu archivo .vimrc:

Plug 'vim-arduino'

Una vez hecho esto, podrás realizar acciones como seleccionar la placa, el programador y el puerto, además de compilar y subir código, todo directamente desde Vim. Otros editores como VSCode también ofrecen integración con Arduino CLI mediante extensiones, lo que permite una experiencia de desarrollo más fluida y visual.

Automatización y scripts en proyectos IoT

Uno de los grandes beneficios de Arduino CLI es su capacidad para integrarse en scripts automatizados, lo que resulta particularmente útil en proyectos IoT. Por ejemplo, es posible utilizar Arduino CLI junto con NodeJS para sistematizar todo el proceso de construcción y despliegue de aplicaciones IoT.

Con simples comandos como arduino-cli board attach y arduino-cli core install, puedes automatizar procesos repetitivos que, de otro modo, requerirían una intervención manual. Esto es especialmente ventajoso cuando se trabaja con múltiples dispositivos o placas, como en el caso de proyectos basados en ESP32 o ESP8266.

Además, Arduino CLI proporciona comandos para gestionar librerías e instalar dependencias. Esto es extremadamente útil cuando se trabaja en proyectos complejos con múltiples dependencias. De este modo, puedes instalar librerías rápidamente (e.g., arduino-cli lib install WiFi101) o buscar librerías relacionadas con un tema específico utilizando el comando lib search.

Arduino CLI es, sin lugar a dudas, una herramienta imprescindible para quienes trabajan en proyectos avanzados de Arduino. Su capacidad para integrarse en diferentes flujos de trabajo, su compatibilidad con una amplia gama de editores y su flexibilidad para automatizar tareas hacen que su uso sea casi obligatorio para cualquier desarrollador avanzado o entusiasta del IoT que busque aumentar su productividad.

  • Arduino CLI permite gestionar placas y librerías desde la línea de comandos.
  • Es fácil de integrar en editores de texto como Vim o VSCode.
  • Automatiza la creación, compilación y subida de código a placas Arduino.

Sé el primero en comentar

Deja tu comentario

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

*

*

  1. Responsable de los datos: Miguel Ángel Gatón
  2. Finalidad de los datos: Controlar el SPAM, gestión de comentarios.
  3. Legitimación: Tu consentimiento
  4. Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal.
  5. Almacenamiento de los datos: Base de datos alojada en Occentus Networks (UE)
  6. Derechos: En cualquier momento puedes limitar, recuperar y borrar tu información.