Indholdsfortegnelse:

LDR Brug af Thingsai Cloud: 13 trin
LDR Brug af Thingsai Cloud: 13 trin

Video: LDR Brug af Thingsai Cloud: 13 trin

Video: LDR Brug af Thingsai Cloud: 13 trin
Video: Surviving a Black Hole | Uncovering Hidden UAP Data with Avi Loeb 2024, Juli
Anonim
LDR Brug af Thingsai Cloud
LDR Brug af Thingsai Cloud

HEY….. i dag lærer vi om måling af lysets intensitet og postering af værdierne i THINGSAI IOT -cloudplatformen ved hjælp af ESP32.

Kravene til dette projekt er

1. ESP32 Development Board (jeg har brugt ESP32 DEVKIT V1)

2. LDR -sensor

3. Jumper Wires

4. Konto i THINGSAI IOT PLATFORM

Trin 1: Oprettelse og logning på THINGSIO -platformen

Oprettelse og logning på THINGSIO -platformen
Oprettelse og logning på THINGSIO -platformen

Log ind på THINGS AI -kontoen. Hvis du er ny, skal du registrere dig på kontoen ved at trykke på knappen Registrer og udfylde alle legitimationsoplysninger. Din konto vil blive oprettet, og derefter vil du kunne arbejde på cloudplatformen og oprette dit tilpassede projekt

Trin 2: Oprettelse af nyt projekt

Oprettelse af nyt projekt
Oprettelse af nyt projekt

Efter at have logget ind på kontoen, for at oprette et projekt, skal du bare klikke på det nye projekt og derefter give projektet navn.

Trin 3: Oprettelse af en ny enhed

Oprettelse af en ny enhed
Oprettelse af en ny enhed

efter oprettelse af projektet er det næste, du skal gøre, at oprette en ny enhed. Giv enhedsnavnet, og indtast enheds -id'et enten manuelt eller systemgenereret.

Trin 4: Definering af enhedsparameter

Definere enhedsparameter
Definere enhedsparameter

Giv enhedsparameteren, og vælg derefter typen af parameter

Trin 5: Opdatering af enheden

Opdatering af enheden
Opdatering af enheden

Vælg parameteren, og opdater derefter enheden

Trin 6: Kodning

Kodning
Kodning

Fra prøvekoderne skal du vælge koden til esp32 kopiere den og derefter indsætte den i arduino IDE og foretage de nødvendige ændringer i henhold til kravet. Jeg har givet koden herunder

#include #include

#omfatte

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

int t; int outputpin = A0; // ds18b20

int sensorværdi;

//////////////////////////////////////////////////' ////////////////////////////

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

vært = devapi2.thethingscloud.com

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

const char* time_server = "baas.thethingscloud.com"; // dette er at konvertere tidsstempel

const int httpPort = 80;

const int httpsPort = 443;

const char* server = "api.thingsai.io"; // Server -URL

kulstempel [10];

WiFiMulti WiFiMulti;

// Brug WiFiClient -klasse til at oprette TCP -forbindelser

WiFiClient -klient;

/////////////////////////////////////////////// TIMESTAMP CALCULATION function //////// ////////////////////////////////////////// int GiveMeTimestamp () {unsigned long timeout = millis (); // WiFiClient -klient;

mens (client.available () == 0)

{

hvis (millis () - timeout> 50000)

{

client.stop (); returnere 0;

}

}

mens (client.available ())

{

String line = client.readStringUntil ('\ r'); // indexOf () er en funktion til at søge efter smthng, den returnerer -1, hvis den ikke findes

int pos = line.indexOf ("\" tidsstempel / ""); // søg efter "\" tidsstempel / "" fra svarets begyndelse fik og kopier alle data efter det, det er dit tidsstempel

hvis (pos> = 0)

{

int j = 0;

for (j = 0; j <10; j ++)

{

tidsstempel [j] = linje [pos + 12 + j];

}

}

}

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

ugyldig opsætning ()

{

Serial.begin (115200);

forsinkelse (10);

// Vi starter med at oprette forbindelse til et WiFi -netværk

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

Serial.println ();

Serial.println ();

Serial.print ("Vent på WiFi …");

mens (WiFiMulti.run ()! = WL_CONNECTED)

{

Serial.print (".");

forsinkelse (500);

}

Serial.println ("");

Serial.println ("WiFi tilsluttet");

Serial.println ("IP -adresse:"); Serial.println (WiFi.localIP ());

forsinkelse (500);

}

hulrum ()

{

int analogValue = analogRead (outputpin);

{///////////////// ////////////////////////

sensorværdi = analogRead (A0); // læs analog input pin 0

sensorværdi = sensorværdi/100;

Serial.print (sensorværdi, DEC); // udskriver værdien læst

Serial.print ("\ n"); // udskriver et mellemrum mellem tallene

forsinkelse (1000); // vent 100 ms til næste læsning

Serial.print ("forbindelse til"); Serial.println (vært); // defineret upside:- host = devapi2.thethingscloud.com eller 139.59.26.117

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

Serial.println ("inde få tidsstempel / n");

hvis (! client.connect (time_server, { Vend tilbage; //*-*-*-*-*-*-*-*-*-*}

client.println ("GET/api/tidsstempel HTTP/1.1"); // Hvad gør denne del, jeg fik ikke client.println ("Host: baas.thethingscloud.com");

client.println ("Cache-kontrol: ingen cache");

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

client.println ();

GiveMeTimestamp (); // den kalder funktionen, der får tidsstempelresponsen fra serveren Serial.println ("tidsstempel modtaget");

Serial.println (tidsstempel);

Serial.println ("inde i ThingsCloudPost");

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

PostValue = PostValue + ", \" dts / ":" + tidsstempel;

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

Serial.println (PostValue);

/ * opret en forekomst af WiFiClientSecure */ WiFiClientSecure -klient;

Serial.println ("Opret forbindelse til server via port 443");

hvis (! client.connect (server, 443))

{

Serial.println ("Forbindelsen mislykkedes!");

}

andet

{Serial.println ("Tilsluttet server!"); / * opret HTTP -anmodning */

client.println ( POST/devices/deviceData

client.println ("Host: api.thingsai.io"); //client.println("Forbindelse: luk "); cl

ient.println ("Indholdstype: applikation/json");

client.println ("cache-control: no-cache");

client.println ("Godkendelse: BearereyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9. IjVhMzBkZDFkN2QwYjNhNGQzODkwYzQ4OSI.kaY6OMj5cYlWNqC2PNy" 9Y5Y9J7J5JyJ9J5JyJ9J5JyJ9y9y9y9j9y9j9j9j9j9j5j9j5j9j5j9j9j9j7j9xJ2JyJ9Kj9j9yyyyyyyyyyyyJNJJJJJJJg client.print ("Indholdslængde:");

client.println (PostValue.length ());

client.println ();

client.println (PostValue); //////////////////////////////////////// PLACERING af data på skyen er udført, og få nu svarformularen cloud server //////////////////////

Serial.print ("Venter på svar");

mens (! client.available ()) {

forsinkelse (50); //

Serial.print (".");

} / * hvis data er tilgængelige, derefter modtage og udskrive til Terminal * /

mens (client.available ())

{

char c = client.read ();

Serial.write (c);

}

/ * hvis serveren blev afbrudt, stop klienten */

hvis (! client.connected ())

{

Serial.println ();

Serial.println ("Server afbrudt");

client.stop ();

}

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

forsinkelse (3000); }}

Trin 7: Valg af board og Com Port

Valg af tavle og Com Port
Valg af tavle og Com Port

Vælg værktøjstavlen fra værktøjer, og vælg derefter com -porten

Trin 8: Kredsløbstilslutninger

Kredsløbstilslutninger
Kredsløbstilslutninger
Kredsløbstilslutninger
Kredsløbstilslutninger
Kredsløbstilslutninger
Kredsløbstilslutninger

Kodning udføres, og lav derefter følgende forbindelser som nævnt nedenfor

TILSLUTNINGER:

GND på esp32 til GND for LDR -sensoren

3V3 0f esp32 til Vcc i LDR

VP for esp32 til A0 i LDR

Trin 9: Kompiler og upload

Kompiler og upload
Kompiler og upload

kompilere og uploade koden til esp32 og derefter læse aflæsningerne fra den serielle skærm. Det ville vise et resultat sådan noget

Trin 10: Seriel skærm

Seriel skærm
Seriel skærm

Værdierne opnås på den serielle skærm, og derefter sendes de til THINGSAI IOT Cloud -platformen.

Trin 11: Aflæsninger

Aflæsninger
Aflæsninger

Dette viser de værdier, der er opnået fra esp32 -kortet.

Trin 12: Grafisk repræsentation

Grafisk repræsentation
Grafisk repræsentation

Dette er den grafiske fremstilling af de opnåede værdier. Det er slutningen på selvstudiet. Håber du har forstået. Tak skal du have

Anbefalede: