Sadržaj:

LDR Korištenje Thingsai oblaka: 13 koraka
LDR Korištenje Thingsai oblaka: 13 koraka

Video: LDR Korištenje Thingsai oblaka: 13 koraka

Video: LDR Korištenje Thingsai oblaka: 13 koraka
Video: 80-90's Hollywood Actresses and Their Shocking Look In 2020 2024, Novembar
Anonim
LDR Korištenje Thingsai Clouda
LDR Korištenje Thingsai Clouda

HEJ….. danas ćemo naučiti o mjerenju intenziteta svjetlosti i postavljanju vrijednosti na THINGSAI IOT cloud platformu pomoću ESP32.

Uslovi za realizaciju ovog projekta su

1. Razvojna ploča ESP32 (koristio sam ESP32 DEVKIT V1)

2. LDR senzor

3. Žice za kratkospojnike

4. Račun u THINGSAI IOT PLATFORMI

Korak 1: Kreiranje i prijava na THINGSIO platformu

Kreiranje i prijava na THINGSIO platformu
Kreiranje i prijava na THINGSIO platformu

Prijavite se na THINGS AI račun. Ako ste novi, registrirajte se na račun pritiskom na gumb za registraciju i popunite sve vjerodajnice. Vaš račun će biti kreiran i od tada ćete moći raditi na cloud platformi i kreirati svoj prilagođeni projekt

Korak 2: Kreiranje novog projekta

Kreiranje novog projekta
Kreiranje novog projekta

Nakon prijavljivanja na račun, za kreiranje projekta samo kliknite na novi projekt, a zatim dajte naziv projektu.

Korak 3: Kreiranje novog uređaja

Kreiranje novog uređaja
Kreiranje novog uređaja

nakon kreiranja projekta, sljedeće što trebate učiniti je stvoriti novi uređaj. Dajte naziv uređaja i unesite ID uređaja ili ručno ili putem sistema.

Korak 4: Definiranje parametra uređaja

Definiranje parametra uređaja
Definiranje parametra uređaja

Dajte parametar uređaja, a zatim odaberite vrstu parametra

Korak 5: Ažuriranje uređaja

Ažuriranje uređaja
Ažuriranje uređaja

Odaberite parametar, a zatim ažurirajte uređaj

Korak 6: Kodiranje

Kodiranje
Kodiranje

Iz uzoraka kodova odaberite kod esp32, kopirajte ga, a zatim ga zalijepite u arduino IDE i unesite potrebne promjene prema zahtjevu. Dolje sam dao kôd

#include #include

#include

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

int t; int outputpin = A0; // ds18b20

int sensorvalue;

//////////////////////////////////////////// SVE IZJAVE za CLOUD ////// //////////////////////////

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

host = devapi2.thethingscloud.com

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

const char* time_server = "baas.thethingscloud.com"; // ovo služi za pretvaranje vremenske oznake

const int httpPort = 80;

const int httpsPort = 443;

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

char vremenska oznaka [10];

WiFiMulti WiFiMulti;

// Koristite klasu WiFiClient za kreiranje TCP veza

WiFiClient klijent;

/////////////////////////////////////////// TIMESTAMP CALCULATION funkcija //////// /////////////////////////////////// int GiveMeTimestamp () {unsigned long timeout = millis (); // WiFiClient klijent;

while (client.available () == 0)

{

if (millis () - timeout> 50000)

{

client.stop (); return 0;

}

}

while (client.available ())

{

Linija niza = client.readStringUntil ('\ r'); // indexOf () je funkcija za traženje smthng -a, vraća -1 ako nije pronađeno

int pos = line.indexOf ("\" vremenska oznaka / ""); // potražite "\" vremensku oznaku / "" od početka odgovora i kopirajte sve podatke nakon toga, to će biti vaša vremenska oznaka

ako (pos> = 0)

{

int j = 0;

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

{

vremenska oznaka [j] = linija [pos + 12 + j];

}

}

}

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

void setup ()

{

Serial.begin (115200);

kašnjenje (10);

// Počinjemo povezivanjem na WiFi mrežu

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

Serial.println ();

Serial.println ();

Serial.print ("Sačekajte WiFi …");

while (WiFiMulti.run ()! = WL_CONNECTED)

{

Serial.print (".");

kašnjenje (500);

}

Serial.println ("");

Serial.println ("WiFi povezan");

Serial.println ("IP adresa:"); Serial.println (WiFi.localIP ());

kašnjenje (500);

}

void loop ()

{

int analogValue = analogRead (outputpin);

{///////////////////////////////////////// POŠALJITE UPIT I PRIMITE ODGOVOR /// //////////////////////

sensorvalue = analogRead (A0); // očitavanje analognog ulaznog pina 0

senzorska vrijednost = osjetljiva vrijednost/100;

Serial.print (vrijednost senzora, DEC); // ispisuje pročitanu vrijednost

Serial.print ("\ n"); // ispisuje razmak između brojeva

kašnjenje (1000); // čekajte 100 ms na sljedeće čitanje

Serial.print ("povezivanje sa"); Serial.println (host); // gore definirano:- host = devapi2.thethingscloud.com ili 139.59.26.117

//////////////////////////////////////// TIMESTAMP KOD SNIPPET //////////// /////////////////

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

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

client.println ("GET/api/vremenska oznaka HTTP/1.1"); // Šta radi ovaj dio, nisam dobio client.println ("Domaćin: baas.thethingscloud.com");

client.println ("Cache-Control: no-cache");

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

client.println ();

GiveMeTimestamp (); // pozvat će funkciju koja će od servera dobiti odgovor vremenske oznake Serial.println ("vremenska oznaka primljena");

Serial.println (vremenska oznaka);

Serial.println ("unutar ThingsCloudPosta");

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

PostValue = PostValue + ", \" dts / ":" + vremenska oznaka;

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

Serial.println (PostValue);

/ * kreirajte instancu WiFiClientSecure */ WiFiClientSecure klijenta;

Serial.println ("Povežite se sa serverom preko porta 443");

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

{

Serial.println ("Veza nije uspjela!");

}

else

{Serial.println ("Povezano sa serverom!"); / * kreiraj HTTP zahtjev */

client.println ( POST/devices/deviceData

client.println ("Domaćin: api.thingsai.io"); //client.println("Connection: close "); cl

ient.println ("Vrsta sadržaja: aplikacija/json");

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

client.println ("Autorizacija: BearereyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9. IjVhMzBkZDFkN2QwYjNhNGQzODkwYzQ4OSI.kaY6OMj5cYlWNqC22j2c7c6c7c7c7c7c7c7c7c7c6c6c6c6c8c8cb8c2c2c2c2r2C8C2C1C1 client.print ("Content-Length:");

client.println (PostValue.length ());

client.println ();

client.println (PostValue); ////////////////////////////////////// POSTAVLJANJE podataka u oblak je završeno i sada preuzmite oblak za odgovor server ////////////////////

Serial.print ("Čekanje na odgovor");

while (! client.available ()) {{100} {101}

kašnjenje (50); //

Serial.print (".");

} / * ako su podaci dostupni, primite i ispišite na terminal * /

while (client.available ())

{

char c = client.read ();

Serial.write (c);

}

/ * ako je server isključen, zaustavite klijenta */

if (! client.connected ())

{

Serial.println ();

Serial.println ("Server je isključen");

client.stop ();

}

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

kašnjenje (3000); }}

Korak 7: Odabir ploče i Com porta

Izbor ploče i Com porta
Izbor ploče i Com porta

Od alata odaberite ploču, a zatim odaberite com port

Korak 8: Povezivanje kruga

Circuit Connections
Circuit Connections
Circuit Connections
Circuit Connections
Circuit Connections
Circuit Connections

Kodiranje se vrši, a zatim uspostavite sljedeće veze kao što je dolje navedeno

VEZE:

GND od esp32 do GND senzora LDR

3V3 0f esp32 na Vcc LDR -a

VP esp32 prema A0 LDR -a

Korak 9: Sastavite i otpremite

Sastavi i otpremi
Sastavi i otpremi

kompajlirajte i otpremite kôd u esp32, a zatim pročitajte očitanja sa serijskog monitora. To bi pokazalo rezultat poput ovoga

Korak 10: Serijski monitor

Serijski monitor
Serijski monitor

Vrijednosti se dobivaju na serijskom monitoru i zatim šalju na THINGSAI IOT Cloud platformu.

Korak 11: Čitanje

Čitanja
Čitanja

Ovo prikazuje vrijednosti dobivene s ploče esp32.

Korak 12: Grafičko predstavljanje

Grafički prikaz
Grafički prikaz

Ovo je grafički prikaz dobivenih vrijednosti. To je kraj vodiča. Nadam se da ste razumeli. Hvala ti

Preporučuje se: