Tabla de contenido:
- Paso 1: Crear e iniciar sesión en la plataforma THINGSIO
- Paso 2: Creación de un nuevo proyecto
- Paso 3: creación de un nuevo dispositivo
- Paso 4: Definición de los parámetros del dispositivo
- Paso 5: actualización del dispositivo
- Paso 6: codificación
- Paso 7: Selección de placa y puerto de comunicaciones
- Paso 8: Conexiones del circuito
- Paso 9: compila y carga
- Paso 10: Monitor en serie
- Paso 11: lecturas
- Paso 12: Representación gráfica
- Paso 13:
Video: LDR usando Thingsai Cloud: 13 pasos
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:43
HEY … hoy vamos a aprender a medir la intensidad de la luz y publicar los valores en la plataforma en la nube THINGSAI IOT mediante el uso de ESP32.
Los requisitos para realizar este proyecto son
1. Placa de desarrollo ESP32 (he usado ESP32 DEVKIT V1)
2. Sensor LDR
3. Cables de puente
4. Cuenta en la PLATAFORMA THINGSAI IOT
Paso 1: Crear e iniciar sesión en la plataforma THINGSIO
Inicie sesión en la cuenta de THINGS AI. Si es nuevo, regístrese en la cuenta presionando el botón de registro y complete todas las credenciales. Se creará tu cuenta y desde entonces podrás trabajar en la plataforma en la nube y crear tu proyecto personalizado
Paso 2: Creación de un nuevo proyecto
Después de iniciar sesión en la cuenta, para crear un proyecto, simplemente haga clic en el nuevo proyecto y luego dé el nombre del proyecto.
Paso 3: creación de un nuevo dispositivo
Después de crear el proyecto, lo siguiente que debe hacer es crear un nuevo dispositivo. Ingrese el nombre del dispositivo e ingrese la ID del dispositivo, ya sea manualmente o generada por el sistema.
Paso 4: Definición de los parámetros del dispositivo
Dar el parámetro del dispositivo y luego seleccionar el tipo de parámetro
Paso 5: actualización del dispositivo
Seleccione el parámetro y luego actualice el dispositivo
Paso 6: codificación
De los códigos de muestra, seleccione el código de esp32, cópielo y luego péguelo en el IDE de arduino y realice los cambios necesarios de acuerdo con el requisito. He dado el código a continuación
#incluir #incluir
#incluir
int cuenta = 0, i, m, j, k;
int t; int outputpin = A0; // ds18b20
int sensorvalue;
//////////////////////////////////////// TODAS LAS DECLARACIONES para NUBE ////// //////////////////////////
const char * host = "api.thingsai.io"; // O
host = devapi2.thethingscloud.com
const char * post_url = "/ devices / deviceData"; // O / api / v2 / thingscloud2 / _table / data_ac
const char * time_server = "baas.thethingscloud.com"; // esto es para convertir la marca de tiempo
const int httpPort = 80;
const int httpsPort = 443;
const char * server = "api.thingsai.io"; // URL del servidor
marca de tiempo char [10];
WiFiMulti WiFiMulti;
// Usa la clase WiFiClient para crear conexiones TCP
Cliente WiFiClient;
/////////////////////////////////////// Función de CÁLCULO DE TIMESTAMP //////// /////////////////////////////// int GiveMeTimestamp () {tiempo de espera largo sin firmar = millis (); // Cliente WiFiClient;
while (cliente disponible () == 0)
{
if (millis () - tiempo de espera> 50000)
{
client.stop (); return 0;
}
}
while (cliente disponible ())
{
Línea de cadena = client.readStringUntil ('\ r'); // indexOf () es una función para buscar smthng, devuelve -1 si no se encuentra
int pos = line.indexOf ("\" marca de tiempo / ""); // busca "\" marca de tiempo / "" desde el principio de la respuesta obtenida y copia todos los datos después de eso, será tu marca de tiempo
si (pos> = 0)
{
int j = 0;
para (j = 0; j <10; j ++)
{
marca de tiempo [j] = línea [pos + 12 + j];
}
}
}
} ////////////////////////////////////////////////////////////////////////////////////////////////////////
configuración vacía ()
{
Serial.begin (115200);
retraso (10);
// Empezamos por conectarnos a una red WiFi
WiFiMulti.addAP ("wifi", "pswrd");
Serial.println ();
Serial.println ();
Serial.print ("Esperar WiFi …");
mientras (WiFiMulti.run ()! = WL_CONNECTED)
{
Serial.print (".");
retraso (500);
}
Serial.println ("");
Serial.println ("WiFi conectado");
Serial.println ("dirección IP:"); Serial.println (WiFi.localIP ());
retraso (500);
}
bucle vacío ()
{
int analogValue = analogRead (salida);
{/////////////////////////////////////// ENVIAR LA CONSULTA Y RECIBIR LA RESPUESTA /// //////////////////////
sensorvalue = analogRead (A0); // leer el pin 0 de la entrada analógica
sensorvalue = sensorvalue / 100;
Serial.print (sensorvalue, DEC); // imprime el valor leído
Serial.print ("\ n"); // imprime un espacio entre los números
retraso (1000); // espera 100ms para la siguiente lectura
Serial.print ("conectando a"); Serial.println (host); // definido al alza: - host = devapi2.thethingscloud.com o 139.59.26.117
///////////////////////////////////// SNIPPET DE CÓDIGO DE HORA DE HORA ////////// ///////////////
Serial.println ("dentro de obtener marca de tiempo / n");
if (! client.connect (time_server, { regreso; // * - * - * - * - * - * - * - * - * - *}
client.println ("GET / api / timestamp HTTP / 1.1"); // ¿Qué hace esta parte? No obtuve client.println ("Host: baas.thethingscloud.com");
client.println ("Cache-Control: no-cache");
client.println ("Ficha del cartero: ea3c18c6-09ba-d049-ccf3-369a22a284b8");
cliente.println ();
GiveMeTimestamp (); // llamará a la función que obtendrá la respuesta de la marca de tiempo del servidor Serial.println ("marca de tiempo recibida");
Serial.println (marca de tiempo);
Serial.println ("dentro de ThingsCloudPost");
String PostValue = "{" id_dispositivo / ": 61121695844, \" id_esclavo / ": 2";
PostValue = PostValue + ", \" dts / ":" + marca de tiempo;
PostValue = PostValue + ", \" datos / ": {" INTENSIDAD / ":" + / sensorvalue + "}" + "}";
Serial.println (PostValue);
/ * crear una instancia del cliente WiFiClientSecure * / WiFiClientSecure;
Serial.println ("Conectarse al servidor a través del puerto 443");
si (! client.connect (servidor, 443))
{
Serial.println ("¡Conexión fallida!");
}
demás
{Serial.println ("¡Conectado al servidor!"); / * crear solicitud HTTP * /
client.println ("POST / dispositivos / deviceData HTTP / 1.1");
client.println ("Host: api.thingsai.io"); //client.println("Connection: close "); cl
ient.println ("Tipo de contenido: aplicación / json");
client.println ("control de caché: sin caché");
client.println ("Autorización: BearereyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9. IjVhMzBkZDFkN2QwYjNhNGQzODkwYzQ4OSI.kaY6OMj5cYlWNqC2JFTkX7") client.print ("Content-Length:");
client.println (PostValue.length ());
cliente.println ();
client.println (PostValue); //////////////////////////////////// LA PUBLICACIÓN de los datos en la nube está lista y ahora obtiene el formulario de respuesta en la nube. servidor//////////////////
Serial.print ("Esperando respuesta");
while (! client.available ()) {
retraso (50); //
Serial.print (".");
} / * si hay datos disponibles, recibirlos e imprimirlos en la terminal * /
while (cliente disponible ())
{
char c = cliente.read ();
Serial.write (c);
}
/ * si el servidor se desconectó, detenga el cliente * /
si (! client.connected ())
{
Serial.println ();
Serial.println ("Servidor desconectado");
client.stop ();
}
} Serial.println ("////////////////////// EL FIN ////////////////////// / ");
retraso (3000); }}
Paso 7: Selección de placa y puerto de comunicaciones
De las herramientas, seleccione la placa y luego seleccione el puerto com
Paso 8: Conexiones del circuito
La codificación se realiza y luego realiza las siguientes conexiones como se menciona a continuación
CONEXIONES:
GND de esp32 a GND del sensor LDR
3V3 0f esp32 al Vcc del LDR
VP de esp32 a la A0 de la LDR
Paso 9: compila y carga
compile y cargue el código en el esp32 y luego lea las lecturas del monitor serial. Eso mostraría un resultado como este
Paso 10: Monitor en serie
Los valores se obtienen en el monitor serial y luego se envían a la plataforma THINGSAI IOT Cloud.
Paso 11: lecturas
Esto muestra los valores obtenidos de la placa esp32.
Paso 12: Representación gráfica
Esta es la representación gráfica de los valores obtenidos. Ese es el final del tutorial. Espero que lo hayas entendido. Gracias
Recomendado:
Monitoreo de temperatura y humedad usando el ESP-01 y DHT y AskSensors Cloud: 8 pasos
Monitoreo de temperatura y humedad usando el ESP-01 y DHT y AskSensors Cloud: En este instructivo, aprenderemos cómo monitorear las mediciones de temperatura y humedad usando la placa IOT-MCU / ESP-01-DHT11 y la plataforma AskSensors IoT .Estoy eligiendo el módulo IOT-MCU ESP-01-DHT11 para esta aplicación porque
Control llevado en todo el mundo usando Internet usando Arduino: 4 pasos
Control dirigido en todo el mundo usando Internet usando Arduino: Hola, soy Rithik. Vamos a hacer un led controlado por internet usando tu teléfono. Vamos a usar software como Arduino IDE y Blynk. Es simple y si lo lograste puedes controlar tantos componentes electrónicos como quieras Cosas que necesitamos: Hardware:
Detector de movimiento con la plataforma en la nube Thingsai.io Iot: 6 pasos
Detector de movimiento usando Thingsai.io Iot Cloud Platform: En este tutorial voy a explicar sobre la detección de movimiento usando un sensor PIR y Esp32 junto con una plataforma IOT en la nube Thingai.io
Cómo hacer un circuito de luz nocturna automático simple usando LDR: 4 pasos
Cómo hacer un circuito de luz nocturna automático simple usando LDR: Hola amigos, hoy les mostraré cómo hacer un circuito de luz nocturna automático simple usando un LDR (resistencia que depende de la luz) y un mosfet, así que siga adelante y en los siguientes pasos, lo hará encontrar el diagrama del circuito de luz nocturna automática y t
Monitoreo de la calidad del agua usando MKR1000 y ARTIK Cloud: 13 pasos (con imágenes)
Monitoreo de la calidad del agua usando MKR1000 y ARTIK Cloud: Introducción El objetivo principal de este proyecto es usar MKR1000 y Samsung ARTIK Cloud para monitorear los niveles de pH y temperatura de las piscinas. Usaremos el sensor de temperatura y el pH o el sensor de potencia de hidrógeno para medir el alcalinidad a