Taula de continguts:
- Pas 1: creació i inici de sessió a la plataforma THINGSIO
- Pas 2: creació d'un nou projecte
- Pas 3: crear un dispositiu nou
- Pas 4: definició del paràmetre del dispositiu
- Pas 5: actualització del dispositiu
- Pas 6: Codificació
- Pas 7: Selecció de la junta i del port Com
- Pas 8: connexions de circuits
- Pas 9: Compileu i pengeu
- Pas 10: Monitor de sèrie
- Pas 11: lectures
- Pas 12: Representació gràfica
- Pas 13:
Vídeo: LDR amb Thingsai Cloud: 13 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:14
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
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
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
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
Indiqueu el paràmetre del dispositiu i, a continuació, seleccioneu el tipus de paràmetre
Pas 5: actualització del dispositiu
Seleccioneu el paràmetre i actualitzeu el dispositiu
Pas 6: 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
De les eines, seleccioneu el tauler i, a continuació, seleccioneu el port de com
Pas 8: 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
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
Els valors s’obtenen al monitor sèrie i després s’envien a la plataforma de núvol THINGSAI IOT.
Pas 11: lectures
Això mostra els valors obtinguts de la placa esp32.
Pas 12: 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:
JOC DINO AMB LDR: 5 passos
DINO GAME USING LDR: Dinosaur Game, també conegut com T-Rex Game i Dino Runner, és un joc de navegador integrat al navegador web Google Chrome. El joc va ser creat per Sebastien Gabriel el 2014 i es pot accedir prement la barra espaiadora quan estigui fora de línia a Google Chrome
Domòtica amb relé de control de temperatura LDR amb sensor tàctil NodeMCU: 16 passos
Domòtica amb relé de control de temperatura LDR amb sensor tàctil NodeMCU: en els meus passats projectes de NodeMCU, he controlat dos electrodomèstics des de l'aplicació Blynk. He rebut molts comentaris i missatges per actualitzar el projecte amb control manual i afegir més funcions. Així que he dissenyat aquest Smart Home Extension Box. En aquest IoT
Circuit del sensor de foscor a la placa de pa + detector de longitud amb LDR: 6 passos
Circuit del sensor de foscor a la placa de pa + Detector de longitud amb LDR: en aquest tutorial us ensenyaré a fer un simple Light & Circuit de detecció de foscor amb un transistor i amp; un LDR.Aquest circuit es pot utilitzar per encendre o apagar automàticament llums o aparells afegint un relé a la sortida. També podeu rep
Circuit intermitent LED amb LDR: 6 passos
Circuit intermitent LED amb LDR: Introducció: Hola nois, avui en aquest article debatrem sobre la manera de fer un circuit intermitent LED amb LDR. Així, sens dubte, canviarà la velocitat de parpelleig amb la potència de les espelmes LDR. Per tant, sovint és un circuit excel·lent per a un aficionat
Detector de moviment mitjançant Thingsai.io Iot Cloud Platform: 6 passos
Detector de moviment amb Thingsai.io Iot Cloud Platform: en aquest tutorial explicaré la detecció de moviment mitjançant un sensor PIR i Esp32 juntament amb una plataforma cloud IOT Thingai.io