Taula de continguts:

LDR amb Thingsai Cloud: 13 passos
LDR amb Thingsai Cloud: 13 passos

Vídeo: LDR amb Thingsai Cloud: 13 passos

Vídeo: LDR amb Thingsai Cloud: 13 passos
Vídeo: How Use Stable Diffusion, SDXL, ControlNet, LoRAs For FREE Without A GPU On Kaggle Like Google Colab 2024, Desembre
Anonim
LDR amb Thingsai Cloud
LDR amb Thingsai Cloud

HOLA …..avui aprendrem a mesurar la intensitat de la llum i publicar els valors a la plataforma de núvol THINGSAI IOT mitjançant ESP32.

Els requisits per fer aquest projecte són

1. Taula de desenvolupament ESP32 (he utilitzat ESP32 DEVKIT V1)

2. Sensor LDR

3. Cables de pont

4. Compte a la plataforma THINGSAI IOT

Pas 1: creació i inici de sessió a la plataforma THINGSIO

Creació i inici de sessió a la plataforma THINGSIO
Creació i inici de sessió a la plataforma THINGSIO

Inicieu la sessió al compte de THINGS AI. Si sou nou, registreu-vos al compte prement el botó de registre i empleneu totes les credencials. Es crearà el vostre compte i, a partir de llavors, podreu treballar a la plataforma del núvol i crear el vostre projecte personalitzat

Pas 2: creació d'un nou projecte

S'està creant un nou projecte
S'està creant un nou projecte

Després d'iniciar la sessió al compte, per crear un projecte, feu clic al nou projecte i, a continuació, doneu-li el nom.

Pas 3: crear un dispositiu nou

Creació d’un dispositiu nou
Creació d’un dispositiu nou

després de crear el projecte, el següent que heu de fer és crear un dispositiu nou. Doneu el nom del dispositiu i introduïu l'identificador del dispositiu manualment o bé el sistema es genera.

Pas 4: definició del paràmetre del dispositiu

Definició del paràmetre del dispositiu
Definició del paràmetre del dispositiu

Indiqueu el paràmetre del dispositiu i, a continuació, seleccioneu el tipus de paràmetre

Pas 5: actualització del dispositiu

S'està actualitzant el dispositiu
S'està actualitzant el dispositiu

Seleccioneu el paràmetre i actualitzeu el dispositiu

Pas 6: Codificació

Codificació
Codificació

Dels exemples de codis, seleccioneu el codi d'esp32, copieu-lo i, a continuació, enganxeu-lo a l'IDE arduino i feu els canvis necessaris segons el requisit. He donat el codi següent

#include #include

#incloure

int count = 0, i, m, j, k;

int t; int outputpin = A0; // ds18b20

int sensorvalue;

////////////////////////////////////////// TOTES LES DECLARACIONS de CLOUD ////// //////////////////////////

const char * host = "api.thingsai.io"; // OR

host = devapi2.thethingscloud.com

const char * post_url = "/ devices / deviceData"; // OR / api / v2 / thingscloud2 / _table / data_ac

const char * time_server = "baas.thethingscloud.com"; // es tracta de convertir la marca de temps

const int httpPort = 80;

const int httpsPort = 443;

const char * server = "api.thingsai.io"; // URL del servidor

marca de temps char [10];

WiFiMulti WiFiMulti;

// Utilitzeu la classe WiFiClient per crear connexions TCP

Client WiFiClient;

///////////////////////////////////////// Funció CALCULACIÓ TIMESTAMP //////// /////////////////////////////// int GiveMeTimestamp () {unsigned long timeout = millis (); // Client WiFiClient;

while (client.available () == 0)

{

if (millis () - temps d'espera> 50000)

{

client.stop (); retorn 0;

}

}

while (client.available ())

{

Línia de cadena = client.readStringUntil ('\ r'); // indexOf () és una funció per buscar smthng, torna -1 si no es troba

int pos = line.indexOf ("\" timestamp / ""); // cerqueu "\" marca de temps / "" des del començament de la resposta i copieu totes les dades després, serà la vostra marca de temps

si (pos> = 0)

{

int j = 0;

per a (j = 0; j <10; j ++)

{

marca de temps [j] = línia [pos + 12 + j];

}

}

}

} ////////////////////////////////////////////////////////////////////////////////////////////////////////

configuració nul·la ()

{

Serial.begin (115200);

retard (10);

// Comencem connectant-nos a una xarxa WiFi

WiFiMulti.addAP ("wifi", "pswrd");

Serial.println ();

Serial.println ();

Serial.print ("Espereu WiFi …");

while (WiFiMulti.run ()! = WL_CONNECTED)

{

Serial.print (".");

retard (500);

}

Serial.println ("");

Serial.println ("WiFi connectat");

Serial.println ("adreça IP:"); Serial.println (WiFi.localIP ());

retard (500);

}

bucle buit ()

{

int ValorAnalògic = analògicLlegir (pin de sortida);

{/////////////////////////////////////// ENVIAR LA CONSULTA I REBRE LA RESPOSTA /// //////////////////////

sensorvalue = analogRead (A0); // llegiu el pin 0 d’entrada analògica

sensorvalue = sensorvalue / 100;

Serial.print (sensorvalue, DEC); // imprimeix el valor llegit

Serial.print ("\ n"); // imprimeix un espai entre els nombres

retard (1000); // espereu 100 ms per a la propera lectura

Serial.print ("connectar-se a"); Serial.println (amfitrió); // definit al revés: - host = devapi2.thethingscloud.com o 139.59.26.117

///////////////////////////////////// TIMESTAMP CODE SNIPPET ////////// ///////////////

Serial.println ("inside get timestamp / n");

if (! client.connect (time_server, {tornar; // * - * - * - * - * - * - * - * - * - *}

client.println ("GET / api / timestamp HTTP / 1.1"); // Què fa aquesta part, no he obtingut client.println ("Amfitrió: baas.thethingscloud.com");

client.println ("Control de memòria cau: sense memòria cau");

client.println ("Token Postman: ea3c18c6-09ba-d049-ccf3-369a22a284b8");

client.println ();

GiveMeTimestamp (); // cridarà a la funció que obtindrà la resposta de marca de temps del servidor Serial.println ("marca de temps rebuda");

Serial.println (marca de temps);

Serial.println ("dins de ThingsCloudPost");

String PostValue = "{" device_id / ": 61121695844, \" slave_id / ": 2";

PostValue = PostValue + ", \" dts / ":" + marca de temps;

PostValue = PostValue + ", \" data / ": {" INTENSITY / ":" + / sensorvalue + "}" + "}";

Serial.println (PostValue);

/ * creeu una instància del client WiFiClientSecure * / WiFiClientSecure;

Serial.println ("Connectar-se al servidor mitjançant el port 443");

if (! client.connect (servidor, 443))

{

Serial.println ("La connexió ha fallat!");

}

en cas contrari

{Serial.println ("Connectat al servidor!"); / * crea una sol·licitud HTTP * /

client.println ("POST / dispositius / dispositiuData HTTP / 1.1");

client.println ("Amfitrió: api.thingsai.io"); //client.println("Connection: close "); cl

ient.println ("Tipus de contingut: aplicació / json");

client.println ("control de memòria cau: sense memòria cau");

client. client.print ("Longitud del contingut:");

client.println (PostValue.length ());

client.println ();

client.println (PostValue); //////////////////////////////////// PUBLICACIÓ de les dades al núvol ja està i obtingueu el formulari de resposta núvol servidor //////////////////

Serial.print ("S'està esperant la resposta");

while (! client.available ()) {

retard (50); //

Serial.print (".");

} / * si hi ha dades disponibles, rebeu-les i imprimiu-les a la terminal * /

while (client.available ())

{

char c = client.read ();

Serial.write (c);

}

/ * si el servidor es desconnecta, atureu el client * /

if (! client.connected ())

{

Serial.println ();

Serial.println ("Servidor desconnectat");

client.stop ();

}

} Serial.println ("////////////////////// THE END //////////////////// / ");

retard (3000); }}

Pas 7: Selecció de la junta i del port Com

Selecció de Junta i Port Com
Selecció de Junta i Port Com

De les eines, seleccioneu el tauler i, a continuació, seleccioneu el port de com

Pas 8: connexions de circuits

Connexions de circuits
Connexions de circuits
Connexions de circuits
Connexions de circuits
Connexions de circuits
Connexions de circuits

La codificació es realitza i, a continuació, feu les connexions següents, tal com s'esmenta a continuació

CONNEXIONS:

GND d'esp32 a GND del sensor LDR

3V3 0f esp32 al Vcc del LDR

VP d'esp32 a l'A0 de la LDR

Pas 9: Compileu i pengeu

Compila i penja
Compila i penja

compileu i pengeu el codi a l’esp32 i, a continuació, llegiu les lectures des del monitor sèrie. Això mostraria un resultat semblant

Pas 10: Monitor de sèrie

Monitor de sèrie
Monitor de sèrie

Els valors s’obtenen al monitor sèrie i després s’envien a la plataforma de núvol THINGSAI IOT.

Pas 11: lectures

Lectures
Lectures

Això mostra els valors obtinguts de la placa esp32.

Pas 12: Representació gràfica

Representació gràfica
Representació gràfica

Aquesta és la representació gràfica dels valors obtinguts. Aquest és el final del tutorial. Espero que ho hagueu entès. Gràcies

Recomanat: