Sisukord:

LDR Thingsai pilve abil: 13 sammu
LDR Thingsai pilve abil: 13 sammu

Video: LDR Thingsai pilve abil: 13 sammu

Video: LDR Thingsai pilve abil: 13 sammu
Video: АСМР 🏆🔥[Гарри Поттер и Кубок огня] [Глава 30-37] Чтение шепотом 📚 ASMR whisper [Harry Potter] 2024, Juuli
Anonim
LDR, kasutades Thingsai pilve
LDR, kasutades Thingsai pilve

HEI….. täna õpime valguse intensiivsuse mõõtmist ja väärtuste postitamist pilveplatvormile THINGSAI IOT ESP32 abil.

Nõuded selle projekti teostamiseks on

1. ESP32 arendusnõukogu (olen kasutanud ESP32 DEVKIT V1)

2. LDR -andur

3. Jumper Traadid

4. Konto THINGSAI IOT PLATFORMis

Samm: THINGSIO platvormi loomine ja sisse logimine

THINGSIO platvormi loomine ja sisse logimine
THINGSIO platvormi loomine ja sisse logimine

Logige sisse THINGS AI kontole. Kui olete uus, registreeruge kontole, vajutades registreerimisnuppu ja täitke kõik volikirjad. Teie konto luuakse ja seejärel saate pilveplatvormil töötada ning oma kohandatud projekti luua

2. samm: uue projekti loomine

Uue projekti loomine
Uue projekti loomine

Pärast kontole sisselogimist klõpsake projekti loomiseks lihtsalt uuel projektil ja andke seejärel projekti nimi.

Samm: uue seadme loomine

Uue seadme loomine
Uue seadme loomine

pärast projekti loomist peate järgmise seadme looma. Andke seadme nimi ja sisestage seadme ID kas käsitsi või loodud süsteemiga.

4. samm: seadme parameetri määramine

Seadme parameetri määramine
Seadme parameetri määramine

Andke seadme parameeter ja seejärel valige parameetri tüüp

Samm: seadme värskendamine

Seadme värskendamine
Seadme värskendamine

Valige parameeter ja seejärel värskendage seadet

6. samm: kodeerimine

Kodeerimine
Kodeerimine

Näidiskoodide hulgast valige esp32 kood, kopeerige see ja kleepige see seejärel arduino IDE -sse ning tehke vajalikud muudatused vastavalt nõuetele. Andsin allpool oleva koodi

#kaasama #kaasama

#kaasake

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

int t; int väljundpin = A0; // ds18b20

int sensorvalue;

/////////////////////////////////////////////////- /////////////////////////

const char* host = "api.thingsai.io"; // VÕI

host = devapi2.thethingscloud.com

const char* post_url = "/devices/deviceData"; // VÕI/api/v2/thingscloud2/_table/data_ac

const char* time_server = "baas.thethingscloud.com"; // see on ajatempli teisendamiseks

const int httpPort = 80;

const int httpsPort = 443;

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

sümboli ajatempel [10];

WiFiMulti WiFiMulti;

// Kasutage WiFi -kliendi klassi TCP -ühenduste loomiseks

WiFiClient klient;

///////////////////////////////////////////////////////////////////// AJATAMPI ARVUTAMISE funktsioon //////// /////////////////////////////// int GiveMeTimestamp () {unsigned long timeout = millis (); // WiFiClient klient;

samas (client.available () == 0)

{

kui (millis () - ajalõpp> 50000)

{

client.stop (); tagasitulek 0;

}

}

samas (client.available ())

{

Stringirida = client.readStringUntil ('\ r'); // indexOf () on funktsioon smthng otsimiseks, tagastab -1, kui seda ei leita

int pos = line.indexOf ("\" ajatempel / ""); // otsi vastuse algusest "\" ajatempel / "" ja kopeeri pärast seda kõik andmed, see on sinu ajatempel

kui (pos> = 0)

{

int j = 0;

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

{

ajatempel [j] = rida [pos + 12 + j];

}

}

}

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

tühine seadistus ()

{

Seriaalne algus (115200);

viivitus (10);

// Alustame WiFi -võrguga ühenduse loomisest

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

Serial.println ();

Serial.println ();

Serial.print ("Oota WiFi …");

samas (WiFiMulti.run ()! = WL_CONNECTED)

{

Seeria.print (".");

viivitus (500);

}

Serial.println ("");

Serial.println ("WiFi ühendatud");

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

viivitus (500);

}

tühine tsükkel ()

{

int analogValue = analogRead (outputpin);

{///////////////////////////////////////////////////// SAADA KÜSIMUST JA VASTA VASTUS /// /////////////////////

sensorvalue = analogRead (A0); // loe analoogsisendi pin 0

sensorvalue = sensorvalue/100;

Serial.print (sensorvalue, DEC); // prindib loetud väärtuse

Serial.print ("\ n"); // prindib tühiku numbrite vahele

viivitus (1000); // oodake järgmist lugemist 100 ms

Serial.print ("ühenduse loomine"); Serial.println (host); // määratletud tagurpidi:- host = devapi2.thethingscloud.com või 139.59.26.117

///////////////////////////////////////////////////////////////// AJATAMPI KOODI SIPPET ////////// ///////////////

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

if (! client.connect (time_server, {tagasipöördumine; //*-*-*-*-*-*-*-*-*-*}

client.println ("GET/api/ajatempel HTTP/1.1"); // Mida see osa teeb, ma ei saanud klienti.println ("Host: baas.thethingscloud.com");

client.println ("Vahemälu kontroll: vahemälu puudub");

client.println ("Postimees-märk: ea3c18c6-09ba-d049-ccf3-369a22a284b8");

klient.println ();

GiveMeTimestamp (); // see kutsub funktsiooni, mis saab serverilt ajatempli vastuse Serial.println ("ajatempel saadud");

Serial.println (ajatempel);

Serial.println ("sees ThingsCloudPost");

String PostValue = "{" seadme_id / ": 61121695844, \" orja_id / ": 2";

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

PostValue = PostValue +", \" andmed / ": {" INTENTSUS / ":" +\ sensorvalue +"}" +"}";

Serial.println (PostValue);

/ * luua eksemplar WiFiClientSecure */ WiFiClientSecure klient;

Serial.println ("Ühenda serveriga pordi 443 kaudu");

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

{

Serial.println ("Ühendus ebaõnnestus!");

}

muidu

{Serial.println ("Ühendatud serveriga!"); / * loo HTTP päring */

client.println ( POST/seadmed/seadmeandmed

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

ient.println ("Sisu tüüp: rakendus/json");

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

client.println ("Autoriseerimine: BearereyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9. IjVhMzBkZDFkN2QwYjNhNGQzODkwYzQ4OSI.kaY6OMj5cYlWNqC2P2jkvk5kvk client.print ("Sisu-pikkus:");

klient.println (PostValue.length ());

klient.println ();

klient.println (PostValue); ///////////////////////////////////////////////// Andmete postitamine pilve on tehtud ja nüüd saate vastusvormi pilv server ////////////////////

Serial.print ("Vastust oodates");

while (! client.available ()) {

viivitus (50); //

Seeria.print (".");

} / * kui andmed on saadaval, siis võtke vastu ja printige terminali * /

samas (client.available ())

{

char c = klient.lugemine ();

Serial.write (c);

}

/ * kui server on lahti ühendatud, peata klient */

kui (! klient.ühendatud ())

{

Serial.println ();

Serial.println ("Server on lahti ühendatud");

client.stop ();

}

} Serial.println ("////////////////////// LÕPP /////////////////// /");

viivitus (3000); }}

7. samm: juhatuse ja Com -pordi valik

Juhatuse ja Com Porti valik
Juhatuse ja Com Porti valik

Tööriistadest valige tahvel ja seejärel com -port

8. samm: vooluahela ühendused

Vooluahela ühendused
Vooluahela ühendused
Vooluahela ühendused
Vooluahela ühendused
Vooluahela ühendused
Vooluahela ühendused

Kodeerimine toimub, seejärel tehke järgmised ühendused, nagu allpool mainitud

ÜHENDUSED:

GND esp32 kuni GND LDR andurilt

3V3 0f esp32 LDR -i Vcc -le

Esp32 VP LDR -i A0 -le

9. samm: kompileerimine ja üleslaadimine

Kompileerige ja laadige üles
Kompileerige ja laadige üles

kompileerige ja laadige kood esp32 -sse ning seejärel lugege jadamonitorilt näidud. See näitaks midagi sellist

Samm 10: jadamonitor

Seeriamonitor
Seeriamonitor

Väärtused saadakse jadamonitorilt ja seejärel saadetakse need THINGSAI IOT Cloud platvormile.

Samm 11: Näidud

Näidud
Näidud

See näitab esp32 plaadilt saadud väärtusi.

12. samm: graafiline esitus

Graafiline esitus
Graafiline esitus

See on saadud väärtuste graafiline esitus. See on õpetuse lõpp. Loodetavasti said aru. Aitäh

Soovitan: