Përmbajtje:

Detektori i Lëvizjes Duke Përdorur Thingsai.io Iot Cloud Platform: 6 Hapa
Detektori i Lëvizjes Duke Përdorur Thingsai.io Iot Cloud Platform: 6 Hapa

Video: Detektori i Lëvizjes Duke Përdorur Thingsai.io Iot Cloud Platform: 6 Hapa

Video: Detektori i Lëvizjes Duke Përdorur Thingsai.io Iot Cloud Platform: 6 Hapa
Video: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, Nëntor
Anonim
Detektor i lëvizjes duke përdorur Platformën Cloud të Thingsai.io Iot
Detektor i lëvizjes duke përdorur Platformën Cloud të Thingsai.io Iot

Në këtë tutorial do të shpjegoj për zbulimin e lëvizjes duke përdorur një sensor PIR dhe Esp32 së bashku me një platformë cloud IOT Thingai.io

Hapi 1: Përbërësit

Komponentët
Komponentët
Komponentët
Komponentët

P CORBRSIT HARDWARE;

1.esp32 Bordi i Zhvillimit

2. Sensori PIR

3. Telat Jumper

SOFTUER:

1. Arduino IDE

2. Llogaria Thingsai.io

Hapi 2: LIDHJET

LIDHJET
LIDHJET

Lidhjet janë të qeta të thjeshta.

PINA PIR ------------ PINS ESP32

KQV ------------------- 3V3 në esp32

GND ------------------ GND në esp32

JASHT ------------------- D22 në esp32

Hapi 3: KODIMI

Ngjiteni këtë kod në Arduino IDE tuaj me një përditësim, sensori juaj i Lëvizjes do të japë daljen në mënyrë të përsosur.

#përfshi

#përfshi

#përfshi

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

int t, t1, t2, t3;

int pin = 22;

///////////////////////////////////////// T ALL GJITH DEKLARATATA P CLR ROUN ////// //////////////////////////

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

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

const char* time_server = "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;

//////////////////////////////////////// Funksioni i KALIMIT TIMESTAMP ///////// /////////////////////////////////

int GiveMeTimestamp ()

{

timeout i panënshkruar i gjatë = millis ();

// klienti WiFiClient;

ndërsa (client.available () == 0)

{

nëse (millis () - timeout> 50000)

{

client.stop ();

kthimi 0;

}

}

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

{

String line = 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.filloj (115200);

vonesa (10);

pinMode (pin, INPUT);

// Fillojmë duke u lidhur me një rrjet WiFi

WiFiMulti.addAP ("emri wifi", "fjalëkalimi Wifi");

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 ("Adresa IP:");

Serial.println (WiFi.localIP ());

vonesë (500);

}

lak void ()

{

int analogValue = analogRead (outputpin);

{

/////////////////////////////////////// Dërgo pyetjen dhe marrjen e përgjigjes //// /////////////////////

{

bool isDetected = digitalRead (pin);

nëse (është Zbuluar) {

Serial.println ("Prezenca u zbulua");

}

vonesë (500);

}

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_ kohë, {

kthim; //*-*-*-*-*-*-*-*-*-*-*

}

client.println ("GET/api/timestamp HTTP/1.1"); // Çfarë bën kjo pjesë, nuk e kuptova

client.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 / ": 61121695839, \" slave_id / ": 2";

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

PostValue = PostValue +", \" data / ": {" PIR / ":" +pin +"}" +"}";

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 një kërkesë HTTP */

client.println ( POST/pajisje/pajisjeData

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ë bërë dhe tani merrni formularin e përgjigjes cloud server ////////////////////

Serial.print ("Në pritje të përgjigjes");

ndërsa (! client.available ()) {

vonesë (50); //

Serial.print (".");

}

/ * nëse të dhënat janë të disponueshme, merrni dhe printoni në Terminal */

ndërsa (client.available ()) {

char c = client.read ();

Serial.shkruani (c);

}

/ * nëse serveri është shkëputur, ndaloni klientin */

nëse (! client.connected ()) {

Serial.println ();

Serial.println ("Serveri u shkëput"); javascript:;

client.stop ();

}

}

Serial.println ("////////////////////// FUNDI ///////////////////// ");

vonesë (3000);

}

}

Hapi 4: dalje

Dalje
Dalje

Ky është paraqitja e grafikut me shirita të vlerave të lexuara nga sensori në platformën cloud things, io,

Hapi 5: Grafikoni

Grafik
Grafik

Ky është paraqitja grafike e vlerave nga sensori. Nga grafiku i mësipërm mund të analizojmë aplikimin e sensorit. Faleminderit

Recommended: