0% encontró este documento útil (0 votos)
224 vistas

Guia PlatformIO Arduino ESP

Este documento presenta PlatformIO, un plugin para Visual Studio Code que mejora la experiencia de programar proyectos de Arduino. Explica cómo instalar PlatformIO y Visual Studio Code, y describe la estructura de directorios generada por PlatformIO para los proyectos. También cubre cómo crear un nuevo proyecto, instalar librerías, y compilar y cargar programas en placas compatibles como Arduino y ESP. El objetivo es proporcionar un entorno de programación más potente y cómodo que el IDE de Arduino para proyectos tanto pequeños como más ambiciosos.
Derechos de autor
© © All Rights Reserved
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
224 vistas

Guia PlatformIO Arduino ESP

Este documento presenta PlatformIO, un plugin para Visual Studio Code que mejora la experiencia de programar proyectos de Arduino. Explica cómo instalar PlatformIO y Visual Studio Code, y describe la estructura de directorios generada por PlatformIO para los proyectos. También cubre cómo crear un nuevo proyecto, instalar librerías, y compilar y cargar programas en placas compatibles como Arduino y ESP. El objetivo es proporcionar un entorno de programación más potente y cómodo que el IDE de Arduino para proyectos tanto pequeños como más ambiciosos.
Derechos de autor
© © All Rights Reserved
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 9

Guía de instalación de PlatformIO para

programar Arduino y ESP


Oscar Gonzalez

www.BricoGeek.com

Antes de nada, quiero darte las gracias por apuntarte a la lista de correo. Estoy seguro que
encontrarás mucha información útil. Pero antes, empecemos con una pregunta:

¿Has programado alguna vez con Arduino?

Si alguna vez has utilizado el IDE de Arduino para programar algo, sobre todo si estás
empezando, enseguida has visto que es como un dolor de huevos.

A ver, no estoy diciendo que el IDE de Arduino sea más malo que una diarrea con tos.

Nada de eso.

Lo que digo es que el IDE de Arduino te permite escribir unas pocas líneas de código y cargar el
programa en tu placa, pero en cuanto el programa se vuelve un poco grande o necesita más
archivos que uno, es demasiado básico y al final te complica la vida.

Te voy a poner un ejemplo,

Imagínate que tienes que lavar 2 o 3 platos. No pasa nada por meterlos en el fregadero y
lavarlos a mano. Es simple, efectivo y funciona.

Ahora bien, si después del cumpleaños de tu abuela donde hiciste la comilona para 15
personas, nietos, cuñado, hijos, perros y gatos incluidos, si te encuentras con una montaña de
platos que parece la cordillera de los pirineos, quizás usar el fregadero no sea la mejor opción.

Se puede hacer, sí, pero no es la mejor opción. Lo que hace es complicarte la vida.

Lo mismo usar un lavavajillas sea mucho más conveniente en este caso.

En programación, cuando haces tus proyectos con Arduino, pasa exactamente lo mismo. El
entorno de programación lo es todo.

En esta guía te mostraré cómo puedes mejorar radicalmente la experiencia de programar tu


proyecto con Arduino usando PlatformIO.

Créeme cuando te digo que será una experiencia mucho más cómoda, podrás hacer más cosas
y todo será mucho más fácil.

Cuando termines esta guía, tendrás un potente entorno de programación como la gente, tanto
para proyectos pequeños, como para tus proyectos más ambiciosos.

Pero primero, veamos de dónde sale eso de PlatformIO y en qué consiste. Más adelante
veremos en detalle la instalación y la configuración.
¿Qué es PlatformIO?
PlatformIO es un IDE abierto de programación para C/C++, orientado al hardware. ¿Qué es una
IDE? Son las siglas del acrónimo en inglés de Integrated Development Environment, en español
es un conjunto de herramientas para desarrollo (programación) generalmente agrupadas en
una misma interfaz gráfica.

Bueno, esto es lo que dice Google, pero no le hagas mucho caso.

Lo primero que debes saber es que PlatormIO no es un entorno de programación en sí mismo


(IDE), sino que es un plugin (una extensión) de otro entorno llamado Visual Studio Code.

Visual Studio Code es un IDE de programación gratuito de Microsoft muy popular sobre todo
en programación web. Lo interesante de Visual Studio Code, es que puedes extender sus
funcionalidades con extensiones (plugins), como PlatformIO, para hacer otras cosas.

En nuestro caso, no queremos programar una web o un script en Python, lo que queremos es
programar placas Arduino y ESP. Para eso necesitaremos primero descargar e instalar Visual
Studio Code desde la web oficial

Esto lo haremos desde esta dirección: HTTPS://CODE .VISUALSTUDIO .COM/DOWNLOAD

El programa es compatible actualmente con Windows, Linux y Mac. Debes seleccionar el que
necesites según tu sistema operativo.

Creo que no hace falta que te explique cómo instalar un programa en Windows, y si usas Linux,
creo que tampoco. Los de Mac, si eso ya tal.

Una vez instalado, lo iniciamos y encontrarás una pantalla muy similar a ésta:
Instalación de PlatformIO
Ahora vamos a instalar la extensión PlaformIO dentro de Visual Studio Code. Para eso debemos
ir a la sección “Extensions”:

Una vez ahí, veremos un buscador de extensiones (también puedes utilizar CTRL + Shift + X).
Desde aquí podemos instalar lo que queramos, así que vamos a buscar “platformio”. Lo podrás
identificar por la cara de un marciano. Hay quien dice que es una hormiga.

Yo digo que es un marciano.

Pulsamos sobre “Install” y esperamos que termine. Debería tardar un par de minutos si tienes
un PC normal como la gente y no una cafetera. Ten en cuenta que es posible que tengas que
cerrar y volver a abrir Visual Studio Code, aunque normalmente se te mostrará un mensaje
para hacerlo de forma automática una vez finalizado.

Crear un nuevo proyecto en PlatformIO


Ahora ya tenemos esto controlado y podrás comprobar que tienes el icono del marciano en el
menú de la izquierda. Que sí, que es un marciano.

Para crear un nuevo proyecto, son tres clics.

1. Pulsar el marciano (con cuidado que no se enfade)


2. Open para abrir la extensión de PlatformIO
3. New proyect para crear un nuevo proyecto.
Verás una ventana como esta:

Por supuesto, tendrás que indicar un nombre para tu proyecto. Sé creativo, no pongas “test”,
“prueba1” ni “asdf”. Échale ganas hombre.

Ahora viene lo bueno, por que en donde pone “Board” podrás seleccionar más de 1500 placas
compatibles. Hay de todo, desde el Arduino UNO de toda la vida hasta prácticamente todas las
placas de Adafruit, Sparkfun, M5Stack y por supuesto tanto los ESP8266 como ESP32.

Es importante que selecciones el modelo exacto de la placa que vas a utilizar ya que PlatformIO
configurará el entorno para que puedas utilizarlo.

En Framework dejaremos la opción “Arduino” marcada y pulsamos “Finish”.

En este ejemplo, voy a seleccionar el M5Stack Core2.

¿Porqué?

Pues porque lo del Arduino UNO ya está muy visto y cuando pruebes esa maravilla de M5Stack,
estoy seguro de que no vas a querer otra cosa. Aunque tú puedes usar la que quieras.

Una vez hecho y después de unos segundos, podremos ver el árbol de archivos que ha creado
automáticamente. Parece mucho follón, pero no te asustes ya que todo tiene su lógica y ahora
veremos para qué es cada uno de los directorios.
Estructura de directorios de PlatformIO
Madre mía la que hemos liado. Ahora verás un árbol con varios directorios que seguramente te
preguntes de donde han salido, para qué valen y porqué el número 42 representa el sentido de
la vida, el universo y todo lo demás.

Sobre lo del 42 te lo explico otro día, ahora veamos paso a paso, qué es cada directorio y para
qué sirve. Además, veremos por dónde hay que empezar.

Para no tornar esta guía en un infierno de explicaciones, mejor te voy a decir lo que puedes
tocar y no que no. Queremos programar nuestra placa, no estamos haciendo una ingeniería.

• .pio: Aquí se guarda todos los ficheros específicos de la placa que hemos seleccionado.
Normalmente no tienes que ir aquí para nada.
• .vscode: Metralla diversa con varios archivos internos de configuración del entorno de
programación. No toques aquí.
• include: Aquí se guardan los ficheros de cabecera de las diferentes librerías.
• lib: Aquí se van a guardar las librerías que instales para tu proyecto. Más delante
veremos que es muy cojonuda la forma en la que lo gestiona y muy importante.
• src: Aquí se guardan los ficheros de código de tu proyecto. El fichero principal siempre
es main.cpp y se crea por defecto junto al proyecto.
• test: Pasa de esto. Es de loosers.
• .gitignore: Dado que el entorno soporta versionado con Git, se incluye un fichero de
excepción. Si no sabes lo que es git no pasa nada. Deja eso ahí donde está.
• platformio.ini: Este es el fichero de configuración de tu proyecto para la placa que has
seleccionado. Se genera solo, pero a veces se pueden hacer algunos ajustes aquí.
Ahora que sabes para qué es cada cosa, puedes abrir el fichero main.cpp y ver el código por
defecto que genera PlatformIO que seguro te suena:

Como siempre, tenemos la función Setup() y la función Loop() donde colocaremos nuestros
código. También añade una función de ejemplo y puedes borrarla si te estorba.

Para poder compilar y enviar el programa a nuestra placa, verá que en la parte inferior unos
iconos para tal efecto:

Verás también un terminal de estado con todos los posibles mensajes que pueda haber. Esto es
muy similar a como lo hace el IDE de Arduino, así que no creo que tengas problema aquí.

Es probable que tu proyecto necesite alguna librería y para eso el sistema que utiliza
PlatformIO es sorprendentemente práctico y lo veremos a continuación.

Cómo instalar librerías en mi proyecto


La gestión de librería en PlatformIO es diferente a como lo venía haciendo el IDE de Arduino.
Antes había que descargar archivos ZIP de sabe Dios donde y meterlos con un nombre exacto
en sabe Dios qué carpeta. Pero aquí no es así.
PlatformIO tiene un gestor de librerías, que viene siendo como un gestor de paquetes de toda
la vida. Lo que hace es que, mediante un buscador, puedes encontrar casi cualquier librería que
necesites y la instala dentro del proyecto. Además, lleva el control de versiones de la librería.

Eso quiere decir que si tu proyecto utiliza una determinada librería en su versión 1.0, el
proyecto tendrá embutida esa librería, con esa versión. Y si compartes tu proyecto, quién lo
abra ya tendrá todo lo necesario para compilar y utilizar tu proyecto. No tendrá que andar
buscando las librerías necesarias.

Esto es una forma muy eficiente y cómoda de gestionar las dependencias del proyecto.

Imagina que tu proyecto necesita la librería FastLED. Para poder instalarla, abrimos la página de
inicio de PlatformIO (el marciano!) y pulsamos el icono de “Libraries”.

Desde ahí y mediante el buscador, puedes instalar todo lo que necesites.

Una vez localiza la librería, tan sencillo como pulsar “Add to Project” y quedará instalada.
Conclusiones finales
Como has podido ver, es un entorno de programación que ofrece muchas ventajas. Tanto en
comodidad a la hora de programar, como para la gestión de librerías entre otras muchas cosas.

Especialmente si están empezando a programar, o bien estás cansado de dar vueltas con otros
entornos de programación, PlatformIO es una alternativa sencilla y potente que te permitirá
llevar tu s proyectos al siguiente nivel (y sin dolores de cabeza).

Además, también tienes muchos plugins de sintaxis, iconos y muchos más, que pueden
mejorar aún más la experiencia cuando lo usas habitualmente.

Ahora te toca explorar y por supuesto crear muchos proyectos con este fantástico entorno de
programación.

Y ya que estás aquí…


¿Te ha servidor de ayuda esta guía? Espero que sí.

Si has descargado este documento de algún sitio, me parece estupendo. Recuerda que puedes
apuntarte a mi lista de email donde descubrirás muchas ideas y proyectos. Además, te puedes
quitar cuando quieras y con un solo clic.

Aunque normalmente la gran mayoría se queda porque cuento todo tipo de trucos e ideas muy
útiles para crear tus proyectos.

Si conoces a alguien que también le pueda ayudar esta guía, te dejo abajo el enlace a la lista de
correo para que también se pueda apuntar:

https://lab.bricogeek.com/newsletter

También podría gustarte