Cómo controlar las salidas digitales con Arduino Cloud

Control de las salidas digitales mediante el panel de control de Arduino Cloud
12 de enero de 2022 por
Cómo controlar las salidas digitales con Arduino Cloud
Boot & Work Corp. S.L., Amil Shrivastava

Este tutorial explicará cómo controlar las salidas digitales de un PLC ESP32 de Industrial Shields con los widgets del panel de control de la nube de Arduino. Vamos a ir directamente al grano.

Como se ha mencionado en anteriores entradas del blog relacionadas, el IDE web de Arduino no tiene todas las características del IDE independiente y por ello, no se pueden añadir placas personalizadas al IDE web. Por lo tanto, vamos a configurar la nube y el dispositivo y copiar todos los bocetos creados automáticamente a nuestro IDE independiente. Sigue leyendo para ver cómo lo hacemos.

Pasos:

Una vez que crees una "cosa" para tu dispositivo, serás llevado a la página mostrada. Aquí, tienes que hacer dos cosas.


1) Haz clic en Añadir variable y busque "interruptor" en el menú desplegable. Puede que tengas que deseleccionar las etiquetas en el desplegable. Puedes ponerle el nombre que quieras.


2) Una vez creada la variable, puedes configurar la red. Tendrá que añadir el SSID y el PASSWORD de la red a la que desea conectarse y la clave secreta obtenida en éste tutorial.


En el editor web, verás cuatro pestañas: tienes que copiar el contenido de "main.ino". (Puede tener otro nombre para ti) y thingProperties.h a un nuevo proyecto de arduino en tu PC. También necesitarás el contenido del archivo Secret. 


A partir de aquí, es directo como un proyecto regular de Arduino donde se elige el PLC en la sección de la placa y el código. Los códigos se muestran a continuación:

main.ino

#include "thingProperties.h"
void setup() {
  pinMode(Q0_2, OUTPUT);
  // Initialize serial and wait for port to open:
  Serial.begin(9600);
  // This delay gives the chance to wait for a Serial Monitor without blocking if none is found
  delay(1500);
  // Defined in thingProperties.h
  initProperties();
  // Connect to Arduino IoT Cloud
  ArduinoCloud.begin(ArduinoIoTPreferredConnection);
  /*
     The following function allows you to obtain more information
     related to the state of network and IoT Cloud connection and errors
     the higher number the more granular information you’ll get.
     The default is 0 (only errors).
     Maximum is 4
  */
  setDebugMessageLevel(2);
  ArduinoCloud.printDebugInfo();
}
void loop() {
  ArduinoCloud.update();
  // Your code here
  onQ2Change();
}
/*
  Since Q2 is READ_WRITE variable, onQ2Change() is
  executed every time a new value is received from IoT Cloud.
*/
void onQ2Change()  { ///DIGITAL OUTPUT ON OFF SWITCH
  if (q2 == true) {
    digitalWrite(Q0_2, HIGH);
  }
  else {
    digitalWrite(Q0_2, LOW);
  }
  // Add your code here to act upon Q2 change
}

thingProperties.h

// Code generated by Arduino IoT Cloud, DO NOT EDIT.
#include <ArduinoIoTCloud.h>
#include <Arduino_ConnectionHandler.h>

const char THING_ID[]           = "07c3f5db-b24b-4619-8781-0ce4cc386f24";
const char DEVICE_LOGIN_NAME[]  = "9947c851-3bdb-4eff-84d7-401788196951";
const char SSID[]               = SECRET_SSID;    // Network SSID (name)
const char PASS[]               = SECRET_PASS;    // Network password (use for WPA, or use as key for WEP)
const char DEVICE_KEY[]  = SECRET_DEVICE_KEY;    // Secret device password
void onQ2Change();
CloudSwitch q2;
void initProperties(){
  ArduinoCloud.setBoardId(DEVICE_LOGIN_NAME);
  ArduinoCloud.setSecretDeviceKey(DEVICE_KEY);
  ArduinoCloud.setThingId(THING_ID);
  ArduinoCloud.addProperty(q2, READWRITE, ON_CHANGE, onQ2Change);
}
WiFiConnectionHandler ArduinoIoTPreferredConnection(SSID, PASS);

El cuadro de mandos

En esta sección, se mostrará un tablero muy simple con un solo interruptor de encendido y apagado para controlar el PLC. 

Vaya a la pestaña del tablero de mandos y haga clic en "BUILD DASHBOARD"


Haz clic en AÑADIR y selecciona el interruptor.


Aparecerá una ventana para editar la configuración. Aquí tienes que hacer clic en el botón de la Variable de Enlace.


Y luego vincular la variable que se creó en los pasos anteriores.



Después de esto, estamos listos. Lo único que tenemos que hacer es subir el código al PLC y asegurarnos de que se conecta a la wifi configurada. Puedes comprobar el estado de la conexión en el terminal serie.

Una vez hecho esto, puedes controlar la salida digital del PLC con el interruptor creado en el tablero de la nube de Arduino.

En el siguiente tutorial, veremos cómo podemos llevar los datos de un sensor a la nube y visualizarlos. 

 Introducción a Arduino Cloud

Buscar en nuestro blog

Cómo controlar las salidas digitales con Arduino Cloud
Boot & Work Corp. S.L., Amil Shrivastava 12 de enero de 2022
Compartir

¿Estás buscando tu Controlador Lógico Programable ideal?

Echa un vistazo a esta comparativa de producto de varios controladores industriales basados en Arduino.

Comparamos entradas, salidas, comunicaciones y otras especificaciones con las de los equipos de otras marcas destacadas.


Industrial PLC comparison >>>