Obsah:

Detektor pohybu pomocou platformy Cloud Iot Thingsai.io: 6 krokov
Detektor pohybu pomocou platformy Cloud Iot Thingsai.io: 6 krokov

Video: Detektor pohybu pomocou platformy Cloud Iot Thingsai.io: 6 krokov

Video: Detektor pohybu pomocou platformy Cloud Iot Thingsai.io: 6 krokov
Video: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, November
Anonim
Detektor pohybu pomocou cloudovej platformy Thingsai.io Iot
Detektor pohybu pomocou cloudovej platformy Thingsai.io Iot

V tomto tutoriáli vysvetlím detekciu pohybu pomocou senzora PIR a systému Esp32 spolu s cloudovou platformou IOT Thingai.io

Krok 1: Komponenty

Komponenty
Komponenty
Komponenty
Komponenty

HARDWAROVÉ KOMPONENTY;

1. Vývojová rada esp32

2. PIR senzor

3. Prepojovacie vodiče

SOFTVÉR:

1. Arduino IDE

2. Účet Thingsai.io

Krok 2: PRIPOJENIA

PRIPOJENIA
PRIPOJENIA

Pripojenia sú tiché jednoduché.

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

VCC ------------------- 3V3 na esp32

GND ------------------ GND na esp32

VÝSTUP ------------------- D22 na esp32

Krok 3: KÓDOVANIE

Vložte tento kód do svojho Arduino IDE s určitou aktualizáciou, váš snímač pohybu poskytne výstup bezchybne.

#zahrnúť

#zahrnúť

#zahrnúť

int počet = 0, i, m, j, k;

int t, t1, t2, t3;

int pin = 22;

////////////////////////////////////////////// VŠETKY VYHLÁSENIA ZA CLOUD ////// //////////////////////////

const char* host = "api.thingsai.io"; // ALEBO hostiteľ = devapi2.thethingscloud.com

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

const char* time_server = "baas.thethingscloud.com"; // toto má previesť časovú pečiatku

const int httpPort = 80;

const int httpsPort = 443;

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

časová pečiatka znakov [10];

WiFiMulti WiFiMulti;

// Na vytvorenie TCP spojení použite triedu WiFiClient

Klient WiFiClient;

///////////////////////////////////////////// VÝPOČET ČASOVÉHO HODNOTY //////// ///////////////////////////////////

int GiveMeTimestamp ()

{

nepodpísaný dlhý časový limit = milis ();

// klient WiFiClient;

while (client.available () == 0)

{

if (milis () - časový limit> 50 000)

{

client.stop ();

návrat 0;

}

}

while (client.available ())

{

Reťazec riadka = client.readStringUntil ('\ r'); // indexOf () je funkcia na vyhľadávanie niečoho, vráti hodnotu -1, ak sa nenájde

int pos = line.indexOf ("\" časová pečiatka / ""); // vyhľadajte "\" časovú pečiatku / "" od začiatku odpovede a skopírujte všetky údaje, potom to bude vaša časová pečiatka

ak (poz.> = 0)

{

int j = 0;

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

{

časová pečiatka [j] = riadok [pos + 12 + j];

}

}

}

}

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

neplatné nastavenie ()

{

Serial.begin (115200);

oneskorenie (10);

pinMode (pin, INPUT);

// Začneme pripojením k sieti WiFi

WiFiMulti.addAP („názov_ WiFi“, „Wifi_password“);

Serial.println ();

Serial.println ();

Serial.print („Počkajte na WiFi …“);

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

Serial.print (".");

oneskorenie (500);

}

Serial.println ("");

Serial.println ("WiFi pripojené");

Serial.println ("IP adresa:");

Serial.println (WiFi.localIP ());

oneskorenie (500);

}

prázdna slučka ()

{

int analogValue = analogRead (outputpin);

{

///////////////////////////////////////////// ODOSLAJTE DOTAZ A PRIJmite ODPOVEĎ //// /////////////////////

{

bool isDetected = digitalRead (pin);

ak (je Zistené) {

Serial.println ("Zistená prítomnosť");

}

oneskorenie (500);

}

Serial.print ("pripojenie k");

Serial.println (hostiteľ); // definované hore nohami:- host = devapi2.thethingscloud.com alebo 139.59.26.117

//////////////////////////////////////////// TIMESTAMP CODE SNIPPET //////////// /////////////////

Serial.println ("vnútri získať časovú pečiatku / n");

if (! client.connect (time_server, {

návrat; //*-*-*-*-*-*-*-*-*-*

}

client.println ("GET/api/timestamp HTTP/1.1"); // Čo robí táto časť, som nepochopil

client.println („Hostiteľ: baas.thethingscloud.com“);

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

client.println ("Poštár-Token: ea3c18c6-09ba-d049-ccf3-369a22a284b8");

client.println ();

GiveMeTimestamp (); // zavolá funkciu, ktorá získa odpoveď časovej pečiatky zo servera

Serial.println ("prijaté časové razítko");

Serial.println (časová pečiatka);

Serial.println ("inside ThingsCloudPost");

Reťazec PostValue = "{" device_id / ": 61121695839, \" slave_id / ": 2";

PostValue = PostValue + ", \" dts / ":" + časová pečiatka;

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

Serial.println (PostValue);

/ * vytvorte inštanciu WiFiClientSecure */

WiFiClientSecure klient;

Serial.println ("Pripojiť k serveru cez port 443");

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

Serial.println ("Pripojenie zlyhalo!");

} else {

Serial.println („Pripojené k serveru!“);

/ * vytvoriť požiadavku HTTP */

client.println ( POST/devices/deviceData

client.println ("Hostiteľ: api.thingsai.io");

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

client.println ("Typ obsahu: aplikácia/json");

client.println ("ovládanie vyrovnávacej pamäte: bez vyrovnávacej pamäte");

client.println ( Autorizácia: Nositeľ eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9. IjVhMzBkZDFkN2QwYjNhNGQzODkwYzQ4OSI.kaY6OMj5cYlWNqC2PNTkxs

client.print („Dĺžka obsahu:“);

client.println (PostValue.length ());

client.println ();

client.println (PostValue);

////////////////////////////////////// Uverejnenie údajov v cloude je dokončené a teraz získajte formulár odpovede v cloude server ////////////////////

Serial.print ("Čakanie na odpoveď");

while (! client.available ()) {

oneskorenie (50); //

Serial.print (".");

}

/ * ak sú údaje k dispozícii, prijmite ich a vytlačte na termináli */

while (client.available ()) {

char c = client.read ();

Serial.write (c);

}

/ * ak sa server odpojí, zastavte klienta */

if (! client.connected ()) {

Serial.println ();

Serial.println ("Server odpojený"); javascript:;

client.stop ();

}

}

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

oneskorenie (3000);

}

}

Krok 4: VÝSTUP

VÝKON
VÝKON

Toto je stĺpcový graf hodnôt načítaných zo senzora v cloudovej platforme thingsai, io,

Krok 5: Graf

Graf
Graf

Toto je grafické znázornenie hodnôt zo snímača. Z vyššie uvedeného grafu môžeme analyzovať aplikáciu senzora. Ďakujem

Odporúča: