Arduino Cloud y sensor de temperatura

18 de enero de 2022 por
Arduino Cloud y sensor de temperatura
Boot & Work Corp. S.L., Amil Shrivastava

En la serie de tutoriales sobre la conexión de la nube de Arduino con el PLC de Industrial shields, este tutorial cubre el uso de un sensor de temperatura con un PLC de industrial shields ESP32 y la visualización de su lectura en el Dashboard de la nube de Arduino. 

Requisito previo

Se recomienda pasar por las siguientes entradas del blog antes de probar este, son un requisito previo a este blog:

Introducción a Arduino Cloud

Cómo controlar las salidas digitales con Arduino Cloud

Sensor de temperatura y humedad DHT22 / AM2302


Una vez que hayas registrado tu dispositivo en la nube, creado una "cosa" y las variables, tendrás que copiar el código en el IDE de Arduino de escritorio, ya que el IDE web no tiene actualmente la función de añadir una placa personalizada.

También tienes que asegurarte de que has copiado los detalles de la red. 

A continuación encontrarás los códigos:

InshieldsTnH.ino

#include "thingProperties.h"
#include "DHT.h"
#define DHTPIN 2
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);

void setup() {
  // 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);
  Serial.println("Temp and Humidity readings");
  // 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();
  dht.begin();
}
void loop() {
  ArduinoCloud.update();
  // Your code here
  onHumidityChange();
  delay(2000);
}

/*
  Since Humidity is READ_WRITE variable, onHumidityChange() is
  executed every time a new value is received from IoT Cloud.
*/
void onHumidityChange()  {
  temp = dht.readHumidity();
  // Read temperature as Celsius (the default)
  humidity = dht.readTemperature();
  // Check if any reads failed and exit early (to try again).
  if (isnan(humidity) || isnan(temp)) {
    Serial.println(F("Failed to read from DHT sensor!"));
    return;
  }
 
  Serial.print(F("Humidity: "));
  Serial.print(humidity);
  Serial.print(F("%  Temperature: "));
  Serial.print(temp);
  Serial.print(F("°C "));
   // Add your code here to act upon Humidity change
}


thingsProperty.h

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

const char THING_ID[]           = "dc7dc375-53a2-4fa0-9fff-9f9109d2b1ea";
const char DEVICE_LOGIN_NAME[]  = "9947c851-3bdb-4eff-84d7-401788196951";
const char SSID[]               = "Your-SSID";    // Network SSID (name)
const char PASS[]               = "PASSWORD";    // Network password (use for WPA, or use as key for WEP)
const char DEVICE_KEY[]  = "YOUR DEVICE_KEY";    // Secret device password
void onHumidityChange();
CloudTemperatureSensor temp;
CloudRelativeHumidity humidity;
void initProperties(){
  ArduinoCloud.setBoardId(DEVICE_LOGIN_NAME);
  ArduinoCloud.setSecretDeviceKey(DEVICE_KEY);
  ArduinoCloud.setThingId(THING_ID);
  ArduinoCloud.addProperty(temp, READ, 15 * SECONDS, NULL);
  ArduinoCloud.addProperty(humidity, READWRITE, 15 * SECONDS, onHumidityChange);
}
WiFiConnectionHandler ArduinoIoTPreferredConnection(SSID, PASS);

Panel de control de Arduino

Para esta entrada del blog, vamos a visualizar los datos de temperatura y humedad del PLC ESP32 con la ayuda del widget de gráficos en el dashboard de Arduino. Los pasos iniciales para preparar el dashboard son los mismos que se mencionan en Cómo controlar las salidas digitales con Arduino Cloud post del blog.

Para inicializar el widget del gráfico hay que seguir los siguientes pasos:

Selecciona el gráfico en el menú desplegable como se muestra

Chart from the drop down menu
Haga clic en la variable de enlace

Lincked variable - Arduino Cloud and Temperature sensor

Elije una de las variables de temperatura o humedad para conectar con su gráfico


Una vez vinculado, tu gráfico debería estar listo. 

Repite los pasos para la segunda variable.

Si tu PLC está transmitiendo los datos, los gráficos deberían mostrarte algunos datos. 

Charts should be showing you some data

Y eso es todo, has visualizado con éxito tus datos de temperatura y humedad en el tablero de la nube de Arduino.

Buscar en nuestro blog

Arduino Cloud y sensor de temperatura
Boot & Work Corp. S.L., Amil Shrivastava 18 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 >>>