Sisukord:

Liikumisandur, kasutades Thingsai.io Iot pilvplatvormi: 6 sammu
Liikumisandur, kasutades Thingsai.io Iot pilvplatvormi: 6 sammu

Video: Liikumisandur, kasutades Thingsai.io Iot pilvplatvormi: 6 sammu

Video: Liikumisandur, kasutades Thingsai.io Iot pilvplatvormi: 6 sammu
Video: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, November
Anonim
Liikumisandur, kasutades Thingsai.io Iot pilvplatvormi
Liikumisandur, kasutades Thingsai.io Iot pilvplatvormi

Selles õpetuses selgitan liikumistuvastust, kasutades PIR -andurit ja Esp32 koos IOT pilvplatvormiga Thingai.io

Samm: komponendid

Komponendid
Komponendid
Komponendid
Komponendid

RIISTVARA KOMPONENDID;

1. esp32 Arendusamet

2. PIR -andur

3. Jumper Traadid

TARKVARA:

1. Arduino IDE

2. Thingsai.io konto

2. samm: ÜHENDUSED

ÜHENDUSED
ÜHENDUSED

Ühendused on vaikselt lihtsad.

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

VCC ------------------- 3V3 esp32-l

GND ------------------ GND esp32-s

OUT ------------------- D22 esp32-l

3. samm: KOODIMINE

Kleepige see kood mõne ajakohastamisega oma Arduino IDE -sse, teie liikumisandur annab väljundi veatult.

#kaasake

#kaasake

#kaasake

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

int t, t1, t2, t3;

int pin = 22;

/////////////////////////////////////////////////- /////////////////////////

const char* host = "api.thingsai.io"; // VÕI host = devapi2.thethingscloud.com

const char* post_url = "/devices/deviceData"; // VÕI/api/v2/thingscloud2/_table/data_ac

const char* time_server = "baas.thethingscloud.com"; // see on ajatempli teisendamiseks

const int httpPort = 80;

const int httpsPort = 443;

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

sümboli ajatempel [10];

WiFiMulti WiFiMulti;

// Kasutage WiFi -kliendi klassi TCP -ühenduste loomiseks

WiFiClient klient;

///////////////////////////////////////////////////////////////////// AJATAMPI ARVUTAMISE funktsioon //////// ////////////////////////////////

int GiveMeTimestamp ()

{

allkirjastamata pikk ajalõpp = millis ();

// WiFiClient klient;

samas (client.available () == 0)

{

kui (millis () - ajalõpp> 50000)

{

client.stop ();

tagasitulek 0;

}

}

samas (client.available ())

{

Stringirida = client.readStringUntil ('\ r'); // indexOf () on funktsioon smthng otsimiseks, tagastab -1, kui seda ei leita

int pos = line.indexOf ("\" ajatempel / ""); // otsi vastuse algusest "\" ajatempel / "" ja kopeeri pärast seda kõik andmed, see on sinu ajatempel

kui (pos> = 0)

{

int j = 0;

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

{

ajatempel [j] = rida [pos + 12 + j];

}

}

}

}

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

tühine seadistus ()

{

Seriaalne algus (115200);

viivitus (10);

pinMode (pin, INPUT);

// Alustame WiFi -võrguga ühenduse loomisest

WiFiMulti.addAP ("wifi_nimi", "Wifi_parool");

Serial.println ();

Serial.println ();

Serial.print ("Oota WiFi …");

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

Seeria.print (".");

viivitus (500);

}

Serial.println ("");

Serial.println ("WiFi ühendatud");

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

Serial.println (WiFi.localIP ());

viivitus (500);

}

tühine tsükkel ()

{

int analogValue = analogRead (outputpin);

{

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

{

bool isDetected = digitalRead (pin);

if (isDetected) {

Serial.println ("Kohalolek tuvastatud");

}

viivitus (500);

}

Serial.print ("ühenduse loomine");

Serial.println (host); // määratletud tagurpidi:- host = devapi2.thethingscloud.com või 139.59.26.117

///////////////////////////////////////////////////////////////// AJATAMPI KOODI SIPPET ////////// ///////////////

Serial.println ("inside get timestamp / n");

if (! client.connect (time_server, {

tagasipöördumine; //*-*-*-*-*-*-*-*-*-*

}

client.println ("GET/api/ajatempel HTTP/1.1"); // Mida see osa teeb, ma ei saanud aru

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

client.println ("Vahemälu kontroll: vahemälu puudub");

client.println ("Postimees-märk: ea3c18c6-09ba-d049-ccf3-369a22a284b8");

klient.println ();

GiveMeTimestamp (); // see kutsub funktsiooni, mis saab serverilt ajatempli vastuse

Serial.println ("ajatempel saadud");

Serial.println (ajatempel);

Serial.println ("sees ThingsCloudPost");

String PostValue = "{" seadme_id / ": 61121695839, \" orja_id / ": 2";

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

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

Serial.println (PostValue);

/ * looge WiFiClientSecure'i eksemplar */

WiFiClientSecure klient;

Serial.println ("Ühenda serveriga pordi 443 kaudu");

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

Serial.println ("Ühendus ebaõnnestus!");

} muud {

Serial.println ("Ühendatud serveriga!");

/ * loo HTTP päring */

client.println ( POST/seadmed/seadmeandmed

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

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

client.println ("Sisu tüüp: rakendus/json");

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

client.println ( Autoriseerimine: kandja eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9. IjVhMzBkZDFkN2QwYjNhNGQzODkwYzQ4OSI.kaY6OMj5cYlWNqs22k2k2kvk

client.print ("Sisu-pikkus:");

klient.println (PostValue.length ());

klient.println ();

klient.println (PostValue);

///////////////////////////////////////////////// Andmete postitamine pilve on tehtud ja nüüd saate vastusvormi pilv server ////////////////////

Serial.print ("Vastust oodates");

while (! client.available ()) {

viivitus (50); //

Seeria.print (".");

}

/ * kui andmed on saadaval, siis võtke vastu ja printige terminali */

while (client.available ()) {

char c = klient.lugemine ();

Serial.write (c);

}

/ * kui server on lahti ühendatud, peata klient */

if (! client.connected ()) {

Serial.println ();

Serial.println ("Server on lahti ühendatud"); javascript:;

client.stop ();

}

}

Serial.println ("////////////////////// LÕPP //////////////////// ");

viivitus (3000);

}

}

4. samm: VÄLJUND

VÄLJUND
VÄLJUND

See on tulpdiagramm asjade, io pilvplatvormi andurilt loetud väärtuste kohta,

Samm: graafik

Graafik
Graafik

See on anduri väärtuste graafiline esitus. Ülaltoodud graafiku põhjal saame analüüsida anduri rakendust. Aitäh

Soovitan: