Satura rādītājs:

Kustību detektors, izmantojot Thingsai.io Iot Cloud platformu: 6 soļi
Kustību detektors, izmantojot Thingsai.io Iot Cloud platformu: 6 soļi

Video: Kustību detektors, izmantojot Thingsai.io Iot Cloud platformu: 6 soļi

Video: Kustību detektors, izmantojot Thingsai.io Iot Cloud platformu: 6 soļi
Video: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, Novembris
Anonim
Kustību detektors, izmantojot Thingsai.io Iot Cloud platformu
Kustību detektors, izmantojot Thingsai.io Iot Cloud platformu

Šajā apmācībā es paskaidrošu par kustības noteikšanu, izmantojot PIR sensoru un Esp32 kopā ar IOT mākoņa platformu Thingai.io

1. darbība: sastāvdaļas

Sastāvdaļas
Sastāvdaļas
Sastāvdaļas
Sastāvdaļas

Aparatūras komponenti;

1. esp32 Attīstības padome

2. PIR sensors

3. Jumper vadi

PROGRAMMATŪRA:

1. Arduino IDE

2. Thingsai.io konts

2. darbība: SAVIENOJUMI

SAVIENOJUMI
SAVIENOJUMI

Savienojumi ir klusi vienkārši.

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

VCC ------------------- 3V3 uz esp32

GND ------------------ GND uz esp32

OUT ------------------- D22 uz esp32

3. darbība: kodēšana

Ielīmējiet šo kodu savā Arduino IDE, nedaudz atjauninot, jūsu kustības sensors nodrošinās izvadi nevainojami.

#iekļaut

#iekļaut

#iekļaut

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

int t, t1, t2, t3;

int pin = 22;

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

const char* saimnieks = "api.thingsai.io"; // VAI saimniekdators = 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 ()

{

neparakstīts ilgs taimauts = milis ();

// 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);

pinMode (pin, INPUT);

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

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

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);

{

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

{

bool isDetected = digitalRead (pin);

if (isDetected) {

Serial.println ("Noteikta klātbūtne");

}

kavēšanās (500);

}

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 atbildi uz laika zīmogu

Serial.println ("saņemts laika zīmogs");

Serial.println (laika zīmogs);

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

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

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

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

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!");

} vēl {

Serial.println ("Savienojums ar serveri!");

/ * izveidot HTTP pieprasījumu */

client.println ( POST/devices/deviceData

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

//klients.println ("Savienojums: aizvērt ");

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

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

client.println ( Autorizācija: nesējs eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9. IjVhMzBkZDFkN2QwYjNhNGQzODkwYzQ4OSI.kaY6OMj5cYlWNqs22k2kvk

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 ir pieejami dati, saņemiet un drukājiet uz termināli */

while (client.available ()) {

char c = klients.lasīt ();

Serial.write (c);

}

/ * ja serveris ir atvienots, apturiet klientu */

ja (! client.connected ()) {

Sērijas.println ();

Serial.println ("Atvienots serveris"); javascript:;

client.stop ();

}

}

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

kavēšanās (3000);

}

}

4. solis: IZEJA

Izeja
Izeja

Šī ir joslu diagramma, kurā attēlotas vērtības, kas nolasītas no sensora lietā, io mākoņa platformā,

5. solis: grafiks

Grafiks
Grafiks

Šis ir sensora vērtību grafiskais attēlojums. No iepriekš redzamās diagrammas mēs varam analizēt sensora pielietojumu. Paldies

Ieteicams: