Satura rādītājs:

LDR, izmantojot Thingsai Cloud: 13 soļi
LDR, izmantojot Thingsai Cloud: 13 soļi

Video: LDR, izmantojot Thingsai Cloud: 13 soļi

Video: LDR, izmantojot Thingsai Cloud: 13 soļi
Video: How to Connect Raspberry Pi with Particle Cloud for IoT Applications 2024, Jūlijs
Anonim
LDR, izmantojot Thingsai Cloud
LDR, izmantojot Thingsai Cloud

HEY….. šodien mēs uzzināsim par gaismas intensitātes mērīšanu un vērtību ievietošanu THINGSAI IOT mākoņu platformā, izmantojot ESP32.

Prasības šī projekta īstenošanai ir

1. ESP32 attīstības padome (esmu izmantojis ESP32 DEVKIT V1)

2. LDR sensors

3. Jumper vadi

4. Konts THINGSAI IOT PLATFORM

1. darbība. THINGSIO platformas izveide un pieteikšanās

THINGSIO platformas izveide un pieteikšanās
THINGSIO platformas izveide un pieteikšanās

Piesakieties THINGS AI kontā. Ja esat jauns, reģistrējieties kontā, nospiežot reģistrācijas pogu un aizpildiet visus akreditācijas datus. Jūsu konts tiks izveidots, un no šī brīža jūs varēsit strādāt pie mākoņa platformas un izveidot savu pielāgoto projektu

2. darbība: jauna projekta izveide

Jauna projekta veidošana
Jauna projekta veidošana

Pēc pieteikšanās kontā, lai izveidotu projektu, vienkārši noklikšķiniet uz jaunā projekta un pēc tam norādiet projekta nosaukumu.

3. darbība: jaunas ierīces izveide

Jaunas ierīces izveide
Jaunas ierīces izveide

pēc projekta izveidošanas nākamā lieta, kas jums jādara, ir izveidot jaunu ierīci. Piešķiriet ierīces nosaukumu un ievadiet ierīces ID manuāli vai sistēmas ģenerētu.

4. darbība. Ierīces parametru definēšana

Ierīces parametra noteikšana
Ierīces parametra noteikšana

Piešķiriet ierīces parametru un pēc tam izvēlieties parametra veidu

5. darbība: ierīces atjaunināšana

Ierīces atjaunināšana
Ierīces atjaunināšana

Izvēlieties parametru un pēc tam atjauniniet ierīci

6. darbība: kodēšana

Kodēšana
Kodēšana

No paraugu kodiem atlasiet esp32 kodu, nokopējiet to un pēc tam ielīmējiet to arduino IDE un veiciet nepieciešamās izmaiņas atbilstoši prasībām. Tālāk esmu norādījis kodu

#iekļaut #iekļaut

#iekļaut

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

int t; int outputpin = A0; // ds18b20

int sensora vērtība;

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////

const char* saimnieks = "api.thingsai.io"; // VAI

saimnieks = devapi2.thethingscloud.com

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

const char* time_server = "baas.thethingscloud.com"; // tas ir laika zīmoga konvertēšana

const int httpPort = 80;

const int httpsPort = 443;

const char* serveris = "api.thingsai.io"; // Servera URL

simbolu laika zīmogs [10];

WiFiMulti WiFiMulti;

// Izmantojiet WiFiClient klasi, lai izveidotu TCP savienojumus

WiFiClient klients;

/////////////////////////////////////- /////////////////////////////// int GiveMeTimestamp () {unsigned long timeout = millis (); // WiFiClient klients;

kamēr (client.available () == 0)

{

ja (milis () - noildze> 50000)

{

client.stop (); atgriezties 0;

}

}

kamēr (client.available ())

{

String line = client.readStringUntil ('\ r'); // indexOf () ir funkcija smthng meklēšanai, tā atgriež -1, ja tā netiek atrasta

int pos = line.indexOf ("\" laika zīmogs / ""); // no atbildes sākuma meklējiet "\" timestamp / "" un pēc tam nokopējiet visus datus, tas būs jūsu laika zīmogs

ja (poz> = 0)

{

int j = 0;

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

{

laika zīmogs [j] = līnija [pos + 12 + j];

}

}

}

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

anulēts iestatījums ()

{

Serial.begin (115200);

kavēšanās (10);

// Mēs sākam, izveidojot savienojumu ar WiFi tīklu

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

Sērijas.println ();

Sērijas.println ();

Serial.print ("Pagaidiet WiFi …");

kamēr (WiFiMulti.run ()! = WL_CONNECTED)

{

Sērijas nospiedums (".");

kavēšanās (500);

}

Serial.println ("");

Serial.println ("savienots WiFi");

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

kavēšanās (500);

}

tukša cilpa ()

{

int analogValue = analogRead (outputpin);

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

sensora vērtība = analogRead (A0); // lasīt analogās ievades tapu 0

sensora vērtība = sensora vērtība/100;

Sērijas nospiedums (sensora vērtība, DEC); // izdrukā nolasīto vērtību

Serial.print ("\ n"); // izdrukā atstarpi starp cipariem

kavēšanās (1000); // gaidiet 100 ms uz nākamo lasījumu

Serial.print ("savienojums ar"); Serial.println (resursdators); // definēts otrādi:- resursdators = devapi2.thethingscloud.com vai 139.59.26.117

////////////////////////////////////////////////////////////////// LAIKAZĪMES KODA SNIPPETS ////////// ////////////////

Serial.println ("iekšā iegūt laika zīmogu / n");

ja (! client.connect (time_server, {atgriešanās; //*-*-*-*-*-*-*-*-*-*}

client.println ("GET/api/timestamp HTTP/1.1"); // Ko dara šī daļa, es nesaņēmu client.println ("Saimnieks: baas.thethingscloud.com");

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

client.println ("Pastnieks-marķieris: ea3c18c6-09ba-d049-ccf3-369a22a284b8");

klients.println ();

GiveMeTimestamp (); // tas izsauks funkciju, kas no servera saņems atbildes uz laikspiedolu Serial.println ("saņemts laika zīmogs");

Serial.println (laika zīmogs);

Serial.println ("iekšā ThingsCloudPost");

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

PostValue = PostValue + ", \" dts / ":" + laika zīmogs;

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

Serial.println (PostValue);

/ * izveidot WiFiClientSecure gadījumu */ WiFiClientSecure klients;

Serial.println ("Savienojuma izveide ar serveri, izmantojot portu 443");

ja (! client.connect (serveris, 443))

{

Serial.println ("Savienojums neizdevās!");

}

citādi

{Serial.println ("Savienots ar serveri!"); / * izveidot HTTP pieprasījumu */

client.println ( POST/devices/deviceData

client.println ("Saimnieks: api.thingsai.io"); //klients.println ("Savienojums: aizvērt "); cl

ient.println ("Satura tips: lietojumprogramma/json");

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

client.println ("Autorizācija: BearereyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9. IjVhMzBkZDFkN2QwYjNhNGQzODkwYzQ4OSI.kaY6OMj5cYlWNqC2P2jkvkvk client.print ("Content-Length:");

client.println (PostValue.length ());

klients.println ();

client.println (PostValue); /////////////////////////////////////////////////?Hl=lv&hl=lv datu ievietošana mākonī ir pabeigta un tagad saņem atbildes mākoni serveris ////////////////////

Serial.print ("Gaida atbildi");

kamēr (! client.available ()) {

kavēšanās (50); //

Sērijas nospiedums (".");

} / * ja dati ir pieejami, saņemiet un drukājiet uz termināli * /

kamēr (client.available ())

{

char c = klients.lasīt ();

Serial.write (c);

}

/ * ja serveris ir atvienots, apturiet klientu */

ja (! client.connected ())

{

Sērijas.println ();

Serial.println ("Serveris atvienots");

client.stop ();

}

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

kavēšanās (3000); }}

7. solis: valdes un Com porta izvēle

Valdes un Com porta izvēle
Valdes un Com porta izvēle

No rīkiem atlasiet dēli un pēc tam atlasiet com portu

8. darbība: ķēdes savienojumi

Ķēdes savienojumi
Ķēdes savienojumi
Ķēdes savienojumi
Ķēdes savienojumi
Ķēdes savienojumi
Ķēdes savienojumi

Kodēšana tiek veikta, pēc tam izveidojiet šādus savienojumus, kā minēts zemāk

SAVIENOJUMI:

GND no esp32 līdz GND no LDR sensora

3V3 0f esp32 uz LDR Vcc

Esp32 VP līdz LDR A0

9. darbība: apkopojiet un augšupielādējiet

Apkopot un augšupielādēt
Apkopot un augšupielādēt

apkopojiet un augšupielādējiet kodu esp32 un pēc tam izlasiet seriālā monitora rādījumus. Tas parādītu kaut ko līdzīgu rezultātam

10. darbība: sērijas monitors

Sērijas monitors
Sērijas monitors

Vērtības tiek iegūtas sērijveida monitorā un pēc tam tiek nosūtītas uz THINGSAI IOT Cloud platformu.

11. solis: nolasījumi

Lasījumi
Lasījumi

Tas parāda vērtības, kas iegūtas no esp32 plates.

12. solis: grafiskā attēlošana

Grafiskais attēlojums
Grafiskais attēlojums

Šis ir iegūto vērtību grafiskais attēlojums. Tas ir apmācības beigas. Ceru, ka sapratāt. Paldies

Ieteicams: