- ¿Qué es PlatformIO?
- Configuración de PlatformIO para Arduino Uno
- Programando Arduino UNO usando el IDE PlatformIO
- Programación de la placa STM32 utilizando PlatformIO IDE
El desarrollo en Arduino y Arduino IDE siempre ha sido fácil y divertido con su sencilla interfaz de usuario. El IDE de Arduino es un entorno de desarrollo de código abierto y de uso gratuito con todas las características como escribir, compilar y cargar el código en las placas Arduino. Está basado en Java y se ejecuta en los principales sistemas operativos como Windows, OS X y Linux. Pero con toda su simplicidad y gran comunidad, no tiene algunas características que un desarrollador experimentado necesitará para un desarrollo rápido que pueda reducir el período de desarrollo. Hay muchos entornos de desarrollo disponibles para Arduino, pero todos tienen algunas ventajas y desventajas. Hoy, comenzaremos con el entorno de desarrollo PlatformIO, que es fácil de usar y tiene características adicionales en comparación con el entorno Arduino.
¿Qué es PlatformIO?
PlatformIO es un ecosistema de código abierto basado en Python para el desarrollo de IoT y un IDE multiplataforma con un depurador unificado que se ejecuta en Windows, Mac y Linux. PlatformIO viene con un administrador de biblioteca para plataformas como Arduino o compatibilidad con MBED junto con pruebas unitarias y actualizaciones de firmware. PlatformIO es compatible con una serie de plataformas, marcos, placas como Arduino, ESP32, ESP8266 y viene con varios ejemplos y bibliotecas. Es independiente de la plataforma en la que se está ejecutando y solo requiere Python instalado en la computadora.
Ventajas de PlatformIO
PlatformIO presenta un desarrollo rápido con sus características como C / C ++ Code Completion y Smart Code Linter para un rápido desarrollo profesional que no está en el IDE de Arduino. Además de esto, PlatformIO ofrece el soporte del tema con colores oscuros y claros para el desarrollo en cualquier momento. También viene con Navegación de Código Inteligente y Formato de Código. Las características principales incluyen el sistema de compilación multiplataforma, el administrador de bibliotecas, el monitor de puerto serie, etc.
El depurador unificado con soporte para múltiples arquitecturas y plataformas de desarrollo permite depurar múltiples placas integradas con configuración cero. El depurador unificado de PlatformIO tiene características como puntos de interrupción condicionales, expresiones y puntos de observación, visor de memoria y reinicio en caliente de una sesión de depuración activa. El PlatformIO Core está escrito en Python 2.7 y funciona en Windows, macOS, Linux, FreeBSD e incluso computadoras del tamaño de una tarjeta de crédito basadas en ARM como Raspberry Pi, BeagleBone, CubieBoard, Samsung ARTIK, etc. Aparte de esto, PlatformIO tiene File Explorer que ayuda organizar los archivos cuando el proyecto crece a un cierto nivel y la organización se vuelve necesaria.
Configuración de PlatformIO para Arduino Uno
Usar PlatformIO es muy simple y requiere pocos pasos para comenzar. PlatformIO requiere que Python esté instalado en la computadora ya que, como se explicó anteriormente, el núcleo de PlatformIO se escribió en Python 2.7. Tenga en cuenta que PlatformIO no es compatible con Python 3, por lo que se recomienda instalar la versión Python 2 y luego continuar con la configuración de PlatformIO IDE. PlatformIO es un IDE y además proporciona paquetes oficiales (complementos, extensiones) para los IDE y editores de texto más populares.
Hoy instalaremos PlatformIO en un editor de texto como Atom y Visual Studio Code. En la documentación oficial de Platform IDE se indica que PlatformIO IDE para VS Code (Visual Studio Code) ofrece un mejor rendimiento del sistema, y los usuarios han encontrado más fácil comenzar. Así que configuraremos PlatformIO en Visual Studio Code. VS Code es un conocido editor de texto con varias extensiones que nos permiten desarrollar en diferentes lenguajes de programación.
Comencemos a configurar PlatformIO para comenzar a desarrollar código en Arduino UNO. Hay pasos involucrados que se explican a continuación:
- Primero instale Visual Studio Code desde su sitio web oficial. Los pasos de instalación de Visual Studio Code no se explicarán aquí, pero puede encontrarlo en el sitio web de VS Code. Hay pasos generales involucrados como instalar cualquier otro software en el sistema operativo Windows.
- El código de Visual Studio tendrá el siguiente aspecto cuando se haya instalado correctamente.
- El siguiente paso incluye la instalación de PlatformIO usando VS Code Extensions. Para esto, debe ir al ícono de Extensiones en la esquina superior izquierda del Código VS. No es cuadrada Icono del rectángulo que es el 5 º icono en la esquina superior izquierda. Simplemente haga clic en eso y aparecerá un cuadro de búsqueda justo al lado donde puede encontrar muchas extensiones para diferentes lenguajes de programación como C / C ++, C #, Python, PHP, Go, JavaScript, TypeScript y Node.js, etc.
- Busque "PlatformIO" en el cuadro de búsqueda de la extensión y verá el icono de PlatformIO con el nombre y la descripción. Simplemente haga clic en él e instálelo. La instalación de cadenas de herramientas y otras dependencias puede llevar algún tiempo. Las dependencias incluyen el entorno C / C ++, ya que el desarrollo de Arduino se realiza principalmente en C / C ++.
- Cuando se complete la instalación, verá la siguiente interfaz. La interfaz incluye toda la navegación necesaria, como la creación de un nuevo proyecto, la importación de un proyecto Arduino, un proyecto abierto, ejemplos de proyectos, etc. Se recomienda reiniciar el editor de código VS después de la instalación de PlatformIO.
Esto finaliza los pasos de instalación de PlatformIO. Ahora PlatformIO está instalado y listo para usar. Al igual que Arduino IDE, comenzaremos con el Programa Blink e intentaremos cargar el Programa Blink en Arduino UNO.
Programando Arduino UNO usando el IDE PlatformIO
La interfaz PlatformIO se explicará simultáneamente mientras se programa Arduino UNO. Aquí estamos programando Arduino para que parpadee el LED usando PlatformIO. Lo mismo se puede hacer usando Arduino IDE. Siga los pasos a continuación para crear un nuevo proyecto para el LED parpadeante.
- Seleccione la pestaña "Nuevo proyecto" en el menú de acceso rápido.
- Nombra el proyecto (aquí es 'Blink'). Busque y seleccione la placa que es Arduino UNO. Dado que estamos trabajando en el marco de Arduino, el marco seleccionado será Arduino. Después de completar todos los detalles, haga clic en Finalizar.
- El proyecto comenzará a crearse mediante la recopilación de recursos y otras dependencias.
- Cuando el proyecto se haya creado correctamente, recibirá el mensaje "El proyecto se ha inicializado correctamente" con todos los detalles completos.
- Para abrir el proyecto creado, simplemente desplácese hacia abajo en el menú de inicio de PlatformIO y verá toda la lista de los proyectos creados desde el principio. En la esquina derecha del proyecto creado, haga clic en 'Abrir' para abrir el proyecto y comenzar a editar.
- Cuando se abre el proyecto, inicialmente se verá como si estuviera oculto, pero no se preocupe, PlatformIO tiene una función de explorador de archivos donde se encontrarán todos los archivos del proyecto actual. Simplemente vaya a la esquina superior izquierda y abra 'Sin título (Lugar de trabajo)'. Al hacer clic en él, todos los archivos aparecerán como menú desplegable. Para encontrar el editor de texto para editar el 'Código', seleccione 'src' y abra 'main.cpp'. El modo de editor de texto aparecerá en la pantalla de inicio al abrir una nueva pestaña. Aquí puede escribir todos los códigos del proyecto actual en curso.
- Simplemente escriba el código intermitente para Arduino UNO. Tenga en cuenta que PlatformIO no tiene el acceso predeterminado a las bibliotecas de Arduino, por lo que cada vez que escriba el código para Arduino, incluya siempre la biblioteca de Arduino, es decir, "#include" al comienzo del programa.
- El siguiente paso sería compilar y cargar el código. Para hacerlo, veamos las funciones proporcionadas por PlatformIO. Además, PlatformIO selecciona el puerto COM por defecto. Pero también puede cambiar el puerto si no es el puerto COM deseado. El cambio de puerto COM se explicará más adelante en este tutorial. PlatformIO tiene funciones como construir, cargar, cargar a dispositivo remoto, limpiar, probar, ejecutar tarea, monitor en serie, nueva terminal. Todas las funciones se pueden encontrar en la esquina inferior izquierda del Editor. Cuando coloque el cursor sobre los iconos, se mostrarán las funciones.
- Para construir el boceto, haga clic en 'Construir' y para cargar el boceto, haga clic en el icono 'Cargar'. Cuando finalice la carga, podrá ver el tiempo necesario para cargar con todos los demás detalles y un mensaje que dice "Éxito". El código se cargó correctamente y podrá ver el parpadeo del LED en la placa Arduino.
Para seleccionar o cambiar cualquier puerto COM, simplemente vaya a la pantalla de inicio de PlatformIO y luego vaya a Dispositivos, aquí puede ver todos los dispositivos disponibles conectados. Seleccione el puerto COM apropiado y siga el mismo procedimiento para cargar el boceto.
Programación de la placa STM32 utilizando PlatformIO IDE
La programación de la placa STM32 tendrá pasos exactamente similares a los de la programación de Arduino UNO explicados anteriormente. La diferencia estará en seleccionar la placa para STM32 al abrir un nuevo proyecto para STM32. Lo bueno de PlatformIO es que no necesita ningún paquete externo para que ninguna placa se descargue por separado, descarga automáticamente todos los paquetes y nos facilita la selección de una placa e ir al editor. Usaremos JLink / JTAG / STLink / Serial Programmer externo para cargar el boceto en STM32. STM32 también se puede programar con Arduino IDE. Continúe con los siguientes pasos para programarlo con PlatformIO.
- Simplemente nombre el proyecto (aquí es 'Blink STM32'). Luego seleccione la placa para STM32, es decir, ' BluePill F103C8 (Generic) '. Luego seleccione Framework como Arduino. Haga clic en Finalizar y espere un tiempo, ya que inicialmente tomará tiempo descargar los paquetes y las dependencias para la placa STM32.
- Una vez configurado, el tiempo de creación del próximo proyecto será menor que el primero. Ahora simplemente vaya a Sin título (Espacio de trabajo) -> src -> main.cpp en el explorador de archivos de la izquierda.
- Ahora los próximos pasos serán importantes, ya que es necesario decidir qué programador debemos usar para programar la placa STM32. Hay muchos programadores disponibles, como JTAG, STLink, JLink, Serial, etc. Todos funcionarán, pero es necesario configurar el archivo o la página de configuración 'platformio.ini'.
- En este proyecto, estamos utilizando el programador en serie CP210x USB a UART Bridge. Ya hemos hecho la programación de la placa STM32F103C8 usando el puerto USB, o la mayoría de los pasos se tomarán solo desde allí. Puede visitar el enlace y encontrar más información al respecto.
- En primer lugar, conecte el programador en serie a la placa STM32 con la siguiente asignación de pines y conéctelo a la PC.
Programador USB a Serie |
Tablero STM32 |
5V |
5V |
Gnd |
Gnd |
Rx |
A9 |
Tx |
A10 |
- Ahora vaya al explorador de proyectos y abra la página 'platformio.ini' y cambie la declaración como se muestra en la imagen. El upload_protocol le dirá qué programador debe usar (STLink, JLink, Serial, etc.). El upload_port selecciona el puerto COM. Puede encontrarlo yendo a 'Dispositivos' en la página de inicio. Cambie el puerto COM de acuerdo con su puerto COM.
- Vaya a 'main.cpp' y cambie el programa al programa Blink . Ahora simplemente cargue el programa y mostrará el mensaje de éxito y el tiempo que tomó cargarlo. Ahora el LED comenzará a parpadear conectado al pin PC13 de la placa STM32.
Esto finaliza el tutorial completo sobre la programación de Arduino UNO y la placa STM32 usando PlatformIO. Si tiene dificultades al seguir los pasos, escriba a nuestro foro o comente a continuación.