En este artículo aprenderemos a configurar la extensión PlatformIO para VSCode y así programar un PLC ESP32. Esta extensión ofrece en VSCode una interfaz cómoda para gestionar proyectos.
Antes de empezar, ten en cuenta que cualquier versión de las placas anterior a la 2.1.6 NO es compatible con PlatformIO.
1. Instalación de PlatformIO IDE en Visual Studio Code
Primero necesitamos tener instalado Visual Studio Code. Si no lo tienes, puedes empezar por aquí:
https://code.visualstudio.com/download
Una vez instalado, instalamos la extensión PlatformIO. Busca "PlatformIO IDE" en la pestaña de extensiones de VSCode, pulsa Instalar y espera a que termine. Es posible que VSCode te pida reiniciar la aplicación para que la extensión se actualice correctamente.
2. Crear un proyecto nuevo
Sigue los pasos del siguiente enlace:
https://docs.platformio.org/en/latest/integration/ide/vscode.html#quick-start
Puedes elegir la placa que quieras, ya que después la cambiaremos manualmente.
3. Configuración del proyecto
3.1. Editar platformio.ini
Copiamos el código siguiente en platformio.ini. Es lo mínimo que necesitamos.
[env]
platform_packages=
framework-industrialshields-esp32@https://apps.industrialshields.com/main/arduino/boards/industrialshields-boards-esp32-X.X.X.tar.bz2
[env:board]
platform = https://github.com/Industrial-Shields/platform-industrialshields-esp32.git
board = esp32plc_57aar
custom_version = 3 ; or 1 custom_click1 = None ; or GPRS custom_click2 = None ; or GPRS
framework = arduino
3.1.1. Elegir los platform packages
Hay que editar el enlace de la variable platform_packages con la versión de placa que usemos. Podemos consultar todos los paquetes disponibles en el siguiente enlace:
https://apps.industrialshields.com/main/arduino/boards/
Recuerda: debe ser la versión 2.1.6 o superior.
3.1.2. Elegir la placa
Edita la variable board con la placa que usemos. Podemos consultar todas las placas compatibles en el siguiente enlace:
https://github.com/Industrial-Shields/platform-industrialshields-esp32/tree/main/boards
3.1.3. Cambiar los build flags
La variable build_flags llama al archivo Python que añadimos antes. Es un comando de shell que ejecuta ese archivo, en el que podemos añadir algunas variables.
- custom_version: un entero que indica la versión del PLC ESP32. Puede ser 3 o 1. Lo habitual es la versión 3; solo en muy pocos casos usarás la 1.
- custom_click1 y custom_click2: una cadena que indica los clicks usados en la placa. Si no se usa un click, debe ponerse a "None".
Con esto, el proyecto queda configurado y listo para programar.
4. Ejecutar ejemplos
En el repositorio de GitHub hay disponible un conjunto de ejemplos:
https://github.com/Industrial-Shields/platform-industrialshields-esp32/tree/main/examples
4.1. Posibles problemas
99-platformio-udev.rules
Si usas Linux, es posible que VSCode avise de que faltan las reglas udev. Para descargarlas, escribe el siguiente comando en tu terminal:
$ curl -fsSL https://raw.githubusercontent.com/platformio/platformio-core/develop/platformio/assets/system/99-platformio-udev.rules | sudo tee /etc/udev/rules.d/99-platformio-udev.rules
Más información sobre 99-platformio-udev.rules