Përmbajtje:

Matja e Përmbajtjes së Lagështisë së Tokës duke përdorur Esp32 dhe Platformën Thingsio.ai: 6 hapa
Matja e Përmbajtjes së Lagështisë së Tokës duke përdorur Esp32 dhe Platformën Thingsio.ai: 6 hapa

Video: Matja e Përmbajtjes së Lagështisë së Tokës duke përdorur Esp32 dhe Platformën Thingsio.ai: 6 hapa

Video: Matja e Përmbajtjes së Lagështisë së Tokës duke përdorur Esp32 dhe Platformën Thingsio.ai: 6 hapa
Video: Gjeografia 10 Filara Mesimi 2 3 ELEMENTËT E HARTAVE DHE KLASIFIKIMI I TYRE 2024, Qershor
Anonim
Matja e Përmbajtjes së Lagështisë së Tokës duke përdorur Esp32 dhe Platformën Thingsio.ai
Matja e Përmbajtjes së Lagështisë së Tokës duke përdorur Esp32 dhe Platformën Thingsio.ai

Në këtë tutorial do të shpjegoj në lidhje me leximin e përmbajtjes së lagështisë në tokë duke përdorur esp32 dhe më pas dërgimin e vlerave në platformën cloud thingso.ai IoT.

Hapi 1: PMPRBRSIT

PMPRBRSIT
PMPRBRSIT
PMPRBRSIT
PMPRBRSIT

Komponentët e harduerit:

1. bordi i zhvillimit esp32

2. Sensori i tokës

3. Telat Jumper

Softuer:

1. Arduino IDE

2. Thingsio.ai

Hapi 2: LIDHJET

LIDHJET
LIDHJET

Sensori i Lagështisë së Tokës ---------------------- Bordi esp32

KQV ------------------------------------------ 3V3

GND -------------------------------------- GND

A0 ---------------------------------------- VP

Hapi 3: KODIMI:

#përfshi

#përfshi

#përfshi

int numërimi = 0, i, m, j, k;

int t;

int sensor_pin = A0;

vlera int;

//////////////////////////////////////// GJITHA DEKLARATAT

për CLOUD ///////////////////////////////

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

devapi2.thethingscloud.com

const char* post_url = "/devices/deviceData"; // OSE

/api/v2/thingscloud2/_table/data_ac

const char* serveri i kohës =

"baas.thethingscloud.com"; // kjo është për të konvertuar vulën kohore

const int httpPort = 80;

const int httpsPort = 443;

const char* server =

"api.thingsai.io"; // URL e serverit

vula e kohës char [10];

WiFiMulti WiFiMulti;

// Përdorni klasën WiFiClient për të krijuar lidhje TCP

Klienti WiFiClient;

//////////////////////////////////////// TIMESTAMP

Funksioni i llogaritjes ////////////////////////////////////////

int GiveMeTimestamp ()

{

pa firmosur gjatë

timeout = millis ();

// klienti WiFiClient;

derisa

(klienti i disponueshëm () == 0)

{

nëse (milis () -

timeout> 50000)

{

client.stop ();

kthimi 0;

}

}

ndërsa (klienti i disponueshëm ())

{

Linja e vargut =

client.readStringUntil ('\ r'); // indexOf () është një funksion për të kërkuar smthng, ai kthen -1 nëse nuk gjendet

int pos =

line.indexOf ("\" afati kohor / ""); // kërko për "\" timestamp / "" që nga fillimi i përgjigjes mori dhe kopjo të gjitha të dhënat pas kësaj, do të jetë vula juaj kohore

nëse (pos> =

0)

{

int j = 0;për (j = 0; j <10; j ++)

{vula kohore [j] = rreshti [pos + 12 + j];

}

}

}

}

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

void setup ()

{Serial.fillo (115200);Serial.println ("Leximi nga Sensori …");

vonesa (2000);

// Fillojmë nga

lidhja me një rrjet WiFi

WiFiMulti.addAP ("Emri Wifi", "Wifi_Password");

Serial.println ();

Serial.println ();Serial.print ("Prisni për WiFi …");ndërsa (WiFiMulti.run ()! = WL_CONNECTED) {Serial.print (".");

vonesë (500);

}Serial.println ("");Serial.println ("WiFi i lidhur");

Serial.println ( IP

adresë: );Serial.println (WiFi.localIP ());

vonesë (500);

}

lak void ()

{

{

//////////////////////////////////////// DENDRGUAR PYETJEN DHE

MERRNI PESRGJIGJEN ///////////////////////

vlera =

analogRead (sensor_pin);

// vlera =

hartë (vlera, 550, 0, 0, 100);Serial.print ("Mositure:");Serial.print (vlera);Serial.println ("%");vonesa (1000);Serial.print ("lidh me");Serial.println (host); // e përcaktuar me kokë:- host = devapi2.thethingscloud.com ose 139.59.26.117

/////////////////////////////////////// TIMESTAMP KODI SNIPPET

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

Serial.println ("brenda merrni vulën kohore / n");

nëse

(! client.connect (server_ kohor, {

kthim;

//*-*-*-*-*-*-*-*-*-*

}client.println ("GET/api/timestamp HTTP/1.1"); // Çfarë bën kjo pjesë, nuk e kuptovaclient.println ("Pritësi: baas.thethingscloud.com");client.println ("Cache-Control: pa-cache");client.println ("Postier-Token: ea3c18c6-09ba-d049-ccf3-369a22a284b8");

klient.println ();

GiveMeTimestamp ();

// do të thërrasë funksionin i cili do të marrë përgjigjen e afatit kohor nga serveri

Serial.println ("vula kohore e marrë");

Serial.println (vula kohore);Serial.println ("brenda ThingsCloudPost");

String PostValue =

"{" device_id / ": 61121695918, \" slave_id / ": 2";

Vlera Postare =

PostValue + ", \" dts / ":" + vula kohore;

Vlera Postare =

PostValue +", \" data / ": {" MOIST / ":" +vlera +"}" +"}";Serial.println (PostValue);

/ * krijoni një shembull të WiFiClientSecure */

Klient WiFiClientSecure;Serial.println ("Lidhu me serverin përmes portit 443");

nëse

(! client.connect (server, 443)) {Serial.println ("Lidhja dështoi!");

} tjetër {Serial.println ("I lidhur me serverin!");

/* krijoni

kërkesë */client.println ("POST/pajisje/pajisjeData HTTP/1.1");client.println ("Pritësi: api.thingsai.io");//client.println("Lidhja: mbyll ");client.println ("Lloji i përmbajtjes: aplikacion/json");

client.println ( cache-control:

pa cache ");client.println ("autorizimit Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9. IjVhMzBkZDFkN2QwYjNhNGQzODkwYzQ4OSI.kaY6OMj5cYlWNqC2PNTkXs9PKy6_m9tdW5AG7ajfVlY");client.print ("Përmbajtja-Gjatësia:");

client.println (PostValue.length ());klient.println ();client.println (PostValue);

/////////////////////////////////// POSTIMI i të dhënave në

cloud është përfunduar dhe tani merrni përgjigjen nga serveri cloud //////////////////

Serial.print ( Në pritje të përgjigjes

);

derisa

(! client.available ()) {

vonesë (50);

//Serial.print (".");

}

/* nëse të dhënat janë

e disponueshme pastaj merrni dhe printoni në Terminal */

derisa

(client.available ()) {

char c = client.read ();Serial.shkruani (c);

}

/* nëse

serveri u shkëput, ndaloni klientin */

nëse

(! client.connected ()) {Serial.println ();Serial.println ("Serveri u shkëput");

client.stop ();

}

}

Serial.println ( ////////////////////// FUNDI

///////////////////// );

vonesë (3000);

}

}

Hapi 4: dalje:

Dalje
Dalje

Tregohet dalja e kodit.

Hapi 5: Grafiku

GRAFI
GRAFI

Ky është paraqitja grafike e vlerave të cilat lexohen nga sensori.

Hapi 6:

Këtu keni videon e plotë të projektit. Faleminderit.

Recommended: