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, Srpanj
Anonim
LDR Korištenje Thingsai Clouda
LDR Korištenje Thingsai Clouda

HEJ….. danas ćemo naučiti o mjerenju intenziteta svjetlosti i objavljivanju vrijednosti na oblačnoj platformi THINGSAI IOT pomoću ESP32.

Uvjeti za izradu 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: Stvaranje i prijava na THINGSIO platformu

Izrada i prijava na THINGSIO platformu
Izrada i prijava na THINGSIO platformu

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

Korak 2: Izrada novog projekta

Izrada novog projekta
Izrada novog projekta

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

Korak 3: Stvaranje novog uređaja

Stvaranje novog uređaja
Stvaranje novog uređaja

nakon stvaranja projekta sljedeće što trebate učiniti je stvoriti novi uređaj. Dajte naziv uređaja i unesite ID uređaja ručno ili generirano sustavom.

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 primjera 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

#uključi

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

int t; int outputpin = A0; // ds18b20

int vrijednost senzora;

//////////////////////////////////////////// SVE IZJAVE za OBLAK ////// //////////////////////////

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 je za pretvaranje vremenske oznake

const int httpPort = 80;

const int httpsPort = 443;

const char* server = "api.thingsai.io"; // URL poslužitelja

char vremenska oznaka [10];

WiFiMulti WiFiMulti;

// Koristite klasu WiFiClient za stvaranje TCP veza

WiFiClient klijent;

/////////////////////////////////////////// IZRAČUN TIMESTAMP funkcije //////// /////////////////////////////////// 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 "\" timestamp / "" 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] = redak [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 ("Prič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); // čitanje pin analognog ulaza 0

sensorvalue = osjetljiva vrijednost/100;

Serijski.ispis (vrijednost senzora, DEC); // ispisuje pročitanu vrijednost

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

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

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

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

Serial.println ("unutar get vremenska oznaka / n");

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

client.println ("GET/api/vremenska oznaka HTTP/1.1"); // Što ovaj dio radi, 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 dobiti odgovor vremenske oznake s poslužitelja 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);

/ * stvorite instancu klijenta WiFiClientSecure */ WiFiClientSecure;

Serial.println ("Povežite se sa poslužiteljem putem porta 443");

if (! client.connect (poslužitelj, 443))

{

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

}

drugo

{Serial.println ("Povezano sa poslužiteljem!"); / * izradi 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.kaY6OMj5cYlWNqC22y2c7c7c7c7c7c7c7c7c7c6c6c6c8c6c8cb8c8cb8 client.print ("Content-Length:");

client.println (PostValue.length ());

client.println ();

client.println (PostValue); ////////////////////////////////////// POSTAVLJANJE podataka u oblak je dovršeno i sada preuzmite oblak obrasca za odgovor poslužitelj ////////////////////

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 poslužitelj isključen, zaustavite klijenta */

if (! client.connected ())

{

Serial.println ();

Serial.println ("Poslužitelj 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

Priključci kruga
Priključci kruga
Priključci kruga
Priključci kruga
Priključci kruga
Priključci kruga

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

VEZE:

GND od esp32 do GND senzora LDR

3V3 0f esp32 do Vcc LDR -a

VP esp32 do A0 LDR -a

Korak 9: Sastavite i prenesite

Sastavi i učitaj
Sastavi i učitaj

sastavite i prenesite 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 platformu THINGSAI IOT Cloud.

11. korak: Čitanje

Čitanja
Čitanja

Ovo prikazuje vrijednosti dobivene s ploče esp32.

Korak 12: Grafički prikaz

Grafički prikaz
Grafički prikaz

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

Preporučeni: