PlatformIO
Instalación
Hay 2 formas de trabajar con PlatformIO:
- PlatformIO IDE, que se integra con editores como VS-Codium.
- PlatformIO Core (CLI)
Para instalar cualquiera de ellas, sigue los pasos correspondientes.
En esta documentación usamos VS Codium, una versión de código abierto y sin telemetría de VS Code. Ofrece las mismas funciones potentes sin preocupaciones de privacidad de datos ni de licencias. Aun así, este tutorial también se puede seguir con VS Code.
- Asegúrate de tener VS Codium instalado correctamente. Si no lo tienes, puedes descargarlo desde su web: https://vscodium.com/.
- Descarga la extensión C/C++ de Microsoft para tu sistema operativo (usa el botón Download Extension de la columna derecha de la página).
- Instálala en VS Codium desde Extensions en la barra izquierda > ... > Install from VSIX... y elige el archivo descargado.
- Siguiendo el mismo procedimiento, descarga e instala la extensión PlatformIO IDE .
- Solo en Linux: instala las reglas udev para las placas y dispositivos compatibles con PlatformIO: 99-platformio-udev.rules

- Instala PlatformIO Core según la documentación oficial: Script de instalación.
- Para acceder a PlatformIO Core fuera de PlatformIO IDE (por ejemplo, desde un emulador de terminal), instala los comandos de shell.
- Solo en Linux: instala las reglas udev para las placas y dispositivos compatibles con PlatformIO: 99-platformio-udev.rules
Crear un proyecto
Este tutorial te presenta los conceptos básicos de PlatformIO IDE y muestra cómo crear un proyecto sencillo para un PLC Arduino de Industrial Shields.
- Abre VS Codium y pulsa PlatformIO: Home en la barra inferior. Después haz clic en New Project, elige un nombre y selecciona cualquier placa, ya que la configuraremos manualmente más adelante.
- Modifica el archivo "platformio.ini" para que tenga el siguiente contenido:
[env]
platform_packages = framework-industrialshields-avr@https://apps.industrialshields.com/main/arduino/boards/industrialshields-boards-avr-1.1.42.tar.bz2
[env:board]
platform = https://github.com/Industrial-Shields/platform-industrialshields-avr.git
board = mduinoplc_21+
framework=arduino - En el mismo archivo, modifica los siguientes campos según tu PLC:
- Platform_packages: este enlace apunta al repositorio donde alojamos nuestro paquete de placas. Fíjate en que al final del enlace aparece la versión, "1.1.42". Es la primera versión disponible compatible con PlatformIO. Las versiones posteriores se pueden encontrar aquí.
- Board: el modelo de PLC que se usa. Puedes ver todas las opciones disponibles en nuestro GitHub.
- Platform_packages: este enlace apunta al repositorio donde alojamos nuestro paquete de placas. Fíjate en que al final del enlace aparece la versión, "1.1.42". Es la primera versión disponible compatible con PlatformIO. Las versiones posteriores se pueden encontrar aquí.
- Modifica el archivo main.cpp de la carpeta src , donde se encuentra el programa principal. Por ejemplo, para alternar el valor de una salida digital:
#include <Arduino.h>
#if defined(PIN_R1)
#define OUTPUT_PIN R1
#elif defined(PIN_R0_1)
#define OUTPUT_PIN R0_1
#elif defined(PIN_Q0_1)
#define OUTPUT_PIN Q0_1
#endif
void setup() {
pinMode(OUTPUT_PIN, OUTPUT);
Serial.begin(115200);
Serial.println("Hello World");
}
void loop() {
digitalWrite(OUTPUT_PIN, HIGH);
delay(1000);
digitalWrite(OUTPUT_PIN, LOW);
delay(1000);
} - En la barra inferior están los botones Build y Upload de PlatformIO, que sirven para compilar el código y programar el PLC, respectivamente. Pulsa el botón Upload y PlatformIO detectará automáticamente la placa conectada y la programará. Si lo necesitas, también hay un botón Set upload port para definir manualmente el puerto del dispositivo que se usa.

- Ve al directorio donde quieras ubicar tu proyecto, por ejemplo: "/home/user/Documents/PlatformIO/Projects/Example", y ejecuta el siguiente comando:
pio project init
- Ahora que ya tienes un proyecto de PlatformIO, vamos a configurarlo para un PLC M-Duino. Abre el archivo "platformio.ini" y modifícalo para que tenga el siguiente contenido:
[env]
platform_packages = framework-industrialshields-avr@https://apps.industrialshields.com/main/arduino/boards/industrialshields-boards-avr-1.1.42.tar.bz2
[env:board]
platform = https://github.com/Industrial-Shields/platform-industrialshields-avr.git
board = mduinoplc_21+
framework=arduino - Este ejemplo sirve para un M-Duino 21+, pero puedes adaptarlo para usar otras placas o versiones del paquete:
- Platform_packages: este enlace apunta al repositorio donde alojamos nuestro paquete de placas. Fíjate en que al final del enlace aparece la versión, "1.1.42". Es la primera versión disponible compatible con PlatformIO. Las versiones posteriores se pueden encontrar aquí.
- Board: el modelo de PLC que se usa. Puedes ver todas las opciones disponibles en nuestro GitHub.
- Platform_packages: este enlace apunta al repositorio donde alojamos nuestro paquete de placas. Fíjate en que al final del enlace aparece la versión, "1.1.42". Es la primera versión disponible compatible con PlatformIO. Las versiones posteriores se pueden encontrar aquí.
- Modifica el archivo main.cpp de la carpeta src , donde se encuentra el programa principal. Por ejemplo, para alternar el valor de una salida digital:
#include <Arduino.h>
#if defined(PIN_R1)
#define OUTPUT_PIN R1
#elif defined(PIN_R0_1)
#define OUTPUT_PIN R0_1
#elif defined(PIN_Q0_1)
#define OUTPUT_PIN Q0_1
#endif
void setup() {
pinMode(OUTPUT_PIN, OUTPUT);
Serial.begin(115200);
Serial.println("Hello World");
}
void loop() {
digitalWrite(OUTPUT_PIN, HIGH);
delay(1000);
digitalWrite(OUTPUT_PIN, LOW);
delay(1000);
} - Compila y carga el proyecto en el PLC con el siguiente comando. Ten en cuenta que puedes indicar el puerto manualmente con la opción --upload-port:
pio run --target upload --upload-port /dev/ttyACM0
Para más información sobre PlatformIO, consulta la documentación oficial.
Calificación
0
0
No hay comentarios por ahora.
Unirse a este curso
para ser el primero en comentar.