WiFi y BLE
Los PLC basados en Arduino con WiFi y BLE incorporan un ESP32 como placa secundaria, que aporta al PLC las opciones de comunicación WiFi y BLE.
WiFi y BLE es una comunicación opcional. Solo pueden usarla los PLC M-Duino y Ardbox con la placa de comunicación adicional.
Hardware
Las funciones WiFi y BLE las aporta al PLC un módulo ESP32 adicional, que se comunica con la placa Arduino principal del PLC mediante Serial TTL. Para usar WiFi y BLE, hay que programar por separado la placa Arduino y el ESP32.
Cada placa tiene su propio puerto y conector, así que necesitarás:
- Un cable USB tipo B a USB, para programar el PLC. El puerto USB tipo B está en la zona superior del PLC.
- Un cable micro USB tipo B a USB, para programar la placa WiFi y BLE. El puerto micro USB está en el lado izquierdo del PLC.
Recuerda alimentar correctamente el PLC con una fuente de alimentación de 12-24V.
Software
Como hay que cargar un programa en el Arduino y otro en el ESP32, asegúrate de tener instalada la última versión de los paquetes de placas correspondientes. Para ello, ve a Tools > Board > Boards Manager y busca industrialshields-avr e industrialshields-esp32. También necesitarás nuestra librería arduino-SimpleComm , que se usa en los ejemplos.
Para la parte de software se necesitan dos programas distintos, uno para el Arduino y otro para el ESP32. Sigue estos pasos para programar ambos, tanto para WiFi como para BLE.
WiFi
- Selecciona tu Board en Tools > Board > Industrial Shields AVR Boards, ya sea M-Duino o Ardbox.
- Selecciona tu Model en Tools > Model
- Selecciona el puerto que usas en Tools > Port.
- Descarga el siguiente código y cárgalo en el Arduino. El ejemplo usa las librerías WifiModule y SimpleComm para acceder al puerto serie de la comunicación interna entre el PLC y el módulo WiFi.
Código Arduino
- Selecciona la Board en Tools > Board > Industrial Shields ESP32 Boards > WiFi Module
- Selecciona el puerto que usas en Tools > Port.
- Descarga el siguiente código y cárgalo en el ESP32. Este código recibe el paquete creado antes en el código Arduino, usando Serial2 como puerto de comunicación.
Código del módulo WiFi ESP32
BLE
- Selecciona tu Board en Tools > Board > Industrial Shields AVR Boards, ya sea M-Duino o Ardbox.
- Selecciona tu Model en Tools > Model
- Selecciona el puerto que usas en Tools > Port.
- Descarga el siguiente código y cárgalo en el Arduino. El ejemplo usa las librerías WifiModule y SimpleComm para acceder al puerto serie de la comunicación interna entre el PLC y el módulo WiFi.
Código Arduino
Este código enciende secuencialmente los LED del PLC, de Q0_0 a Q0_5, cada segundo. Mientras tanto, el PLC imprime los mensajes recibidos por BLE. El ejemplo es un juego sencillo que consiste en comprobar el LED Q0_3 cada vez que se recibe el mensaje STOP: si el LED está en HIGH, ganas.
- Selecciona la Board en Tools > Board > Industrial Shields ESP32 Boards > WiFi Module
- Selecciona el puerto que usas en Tools > Port.
- Descarga el siguiente código y cárgalo en el Arduino. El ejemplo usa la librería SimpleComm de Industrial Shields, que permite que las placas se comuniquen entre sí.
Código del módulo BLE ESP32
Este código crea un dispositivo Bluetooth llamado ESP32test para que puedas conectarte a él con tu móvil. Cada vez que se recibe un mensaje por Bluetooth, el mensaje se guarda en la variable message y después se envía a la placa Arduino mediante SimpleComm.
App Serial Bluetooth
Para enviar mensajes por Bluetooth desde el móvil al PLC puedes usar la app Serial Bluetooth Terminal, disponible en la tienda de aplicaciones. Una vez instalada la aplicación Bluetooth Terminal en el móvil, establece una conexión con el dispositivo Bluetooth llamado ESP32test, que es el nombre que toma el PLC con los programas de ejemplo. Para conectarte, ve a Menu (three horizontal lines) > Devices > ESP32test y pulsa el botón Connect en la parte superior de la pantalla.
Una vez establecida la conexión con el PLC, ya puedes empezar a enviar mensajes desde el terminal de la aplicación. Los mensajes azules son los enviados y los verdes, los recibidos.

No hay comentarios por ahora.