Innholdsfortegnelse:

Bevegelsesdetektor som bruker Thingsai.io Iot Cloud Platform: 6 trinn
Bevegelsesdetektor som bruker Thingsai.io Iot Cloud Platform: 6 trinn

Video: Bevegelsesdetektor som bruker Thingsai.io Iot Cloud Platform: 6 trinn

Video: Bevegelsesdetektor som bruker Thingsai.io Iot Cloud Platform: 6 trinn
Video: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, November
Anonim
Bevegelsesdetektor som bruker Thingsai.io Iot Cloud Platform
Bevegelsesdetektor som bruker Thingsai.io Iot Cloud Platform

I denne opplæringen skal jeg forklare om bevegelsesdeteksjon ved å bruke en PIR -sensor og Esp32 sammen med en IOT -skyplattform Thingai.io

Trinn 1: Komponenter

Komponenter
Komponenter
Komponenter
Komponenter

MASKINKOMPONENTER;

1.esp32 Development Board

2. PIR -sensor

3. Jumper Wires

PROGRAMVARE:

1. Arduino IDE

2. Thingsai.io -konto

Trinn 2: TILKOBLINGER

TILKOBLINGER
TILKOBLINGER

Tilkoblingene er stille enkle.

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

VCC ------------------- 3V3 på esp32

GND ------------------ GND på esp32

UT ------------------- D22 på esp32

Trinn 3: KODING

Lim inn denne koden i din Arduino IDE med litt oppdatering, bevegelsessensoren gir utgangen feilfritt.

#inkludere

#inkludere

#inkludere

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

int t, t1, t2, t3;

int pin = 22;

/////////////////////////////////////////////////////////' ////////////////////////////

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

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

const char* time_server = "baas.thethingscloud.com"; // dette er å konvertere tidsstempel

const int httpPort = 80;

const int httpsPort = 443;

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

røye tidsstempel [10];

WiFiMulti WiFiMulti;

// Bruk WiFiClient -klassen til å opprette TCP -tilkoblinger

WiFiClient -klient;

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

int GiveMeTimestamp ()

{

usignert lang tidsavbrudd = millis ();

// WiFiClient -klient;

mens (client.available () == 0)

{

hvis (millis () - timeout> 50000)

{

client.stop ();

retur 0;

}

}

mens (client.available ())

{

String line = client.readStringUntil ('\ r'); // indexOf () er en funksjon for å søke etter smthng, den returnerer -1 hvis den ikke blir funnet

int pos = line.indexOf ("\" tidsstempel / ""); // søk etter "\" tidsstempel / "" fra begynnelsen av svaret, og kopier alle dataene etter det, det vil være ditt tidsstempel

hvis (pos> = 0)

{

int j = 0;

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

{

tidsstempel [j] = linje [pos + 12 + j];

}

}

}

}

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

ugyldig oppsett ()

{

Serial.begin (115200);

forsinkelse (10);

pinMode (pin, INPUT);

// Vi starter med å koble til et WiFi -nettverk

WiFiMulti.addAP ("wifi_name", "Wifi_password");

Serial.println ();

Serial.println ();

Serial.print ("Vent på WiFi …");

mens (WiFiMulti.run ()! = WL_CONNECTED) {

Serial.print (".");

forsinkelse (500);

}

Serial.println ("");

Serial.println ("WiFi tilkoblet");

Serial.println ("IP -adresse:");

Serial.println (WiFi.localIP ());

forsinkelse (500);

}

hulrom ()

{

int analogValue = analogRead (outputpin);

{

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

{

bool isDetected = digitalRead (pin);

hvis (isDetected) {

Serial.println ("Tilstedeværelse oppdaget");

}

forsinkelse (500);

}

Serial.print ("koble til");

Serial.println (vert); // definert oppside:- host = devapi2.thethingscloud.com eller 139.59.26.117

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

Serial.println ("inne få tidsstempel / n");

hvis (! client.connect (time_server, {

komme tilbake; //*-*-*-*-*-*-*-*-*-*

}

client.println ("GET/api/tidsstempel HTTP/1.1"); // Hva denne delen gjør, skjønte jeg ikke

client.println ("Vert: baas.thethingscloud.com");

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

client.println ("Postman-Token: ea3c18c6-09ba-d049-ccf3-369a22a284b8");

client.println ();

GiveMeTimestamp (); // det vil ringe funksjonen som vil få tidsstempelresponsen fra serveren

Serial.println ("tidsstempel mottatt");

Serial.println (tidsstempel);

Serial.println ("inside ThingsCloudPost");

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

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

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

Serial.println (PostValue);

/ * opprett en forekomst av WiFiClientSecure */

WiFiClientSecure -klient;

Serial.println ("Koble til server via port 443");

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

Serial.println ("Tilkoblingen mislyktes!");

} annet {

Serial.println ("Koblet til server!");

/ * opprett HTTP -forespørsel */

client.println ( POST/devices/deviceData

client.println ("Vert: api.thingsai.io");

//client.println("Connection: close ");

client.println ("Innholdstype: applikasjon/json");

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

client.println ( Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9. IjVhMzBkZDFkN2QwYjNhNGQzODkwYzQ4OSI.kaY6OMj5cYlWNqC2PTYX9J5YyJ9J5WyQs9y5y9y9y9c9y9c9y9c9p5x9y9c9y9c9p5c9p5g9c5p5g5b5bc5p5bc5p6c5p6p6p6p6p6p6p6p6p6p5g59c5pfb59c5g5b5b5b059b5b5b5b5b5b5b5b059b5b5b5b5b059b5b5b5b5b5b05fb05fb05b05b05b057b5b5b5b5b5b05fb05d05

client.print ("Content-Length:");

client.println (PostValue.length ());

client.println ();

client.println (PostValue);

/////////////////////////////////// server ////////////////////

Serial.print ("Venter på svar");

mens (! client.available ()) {

forsinkelse (50); //

Serial.print (".");

}

/ * hvis data er tilgjengelig, motta og skriv ut til Terminal */

while (client.available ()) {

char c = client.read ();

Serial.write (c);

}

/ * hvis serveren koblet fra, stopp klienten */

hvis (! client.connected ()) {

Serial.println ();

Serial.println ("Server frakoblet"); javascript:;

client.stop ();

}

}

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

forsinkelse (3000);

}

}

Trinn 4: UTGANG

PRODUKSJON
PRODUKSJON

Dette er stolpediagramrepresentasjonen av verdiene som er lest fra sensoren i thingsai, io cloud -plattformen,

Trinn 5: Graf

Kurve
Kurve

Dette er den grafiske fremstillingen av verdiene fra sensoren. Fra grafen ovenfor kan vi analysere anvendelsen av sensoren. Takk skal du ha

Anbefalt: