Taula de continguts:

Detector de moviment mitjançant Thingsai.io Iot Cloud Platform: 6 passos
Detector de moviment mitjançant Thingsai.io Iot Cloud Platform: 6 passos

Vídeo: Detector de moviment mitjançant Thingsai.io Iot Cloud Platform: 6 passos

Vídeo: Detector de moviment mitjançant Thingsai.io Iot Cloud Platform: 6 passos
Vídeo: Power On: The Story of Xbox | Chapter 6: TV…Or Not TV 2024, De novembre
Anonim
Detector de moviment mitjançant la plataforma Cloud Cloud Things
Detector de moviment mitjançant la plataforma Cloud Cloud Things

En aquest tutorial explicaré la detecció de moviment mitjançant un sensor PIR i Esp32 juntament amb una plataforma de núvols IOT Thingai.io

Pas 1: components

Components
Components
Components
Components

COMPONENTS DE HARDWARE;

1. Esp32 Board de desenvolupament

2. Sensor PIR

3. Cables de pont

PROGRAMARI:

1. ID Arduino

2. Compte Thingsai.io

Pas 2: CONNEXIONS

CONNEXIONS
CONNEXIONS

Les connexions són senzilles i tranquil·les.

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

VCC ------------------- 3V3 a esp32

GND ------------------ GND a esp32

OUT ------------------- D22 a esp32

Pas 3: CODIFICACIÓ

Enganxeu aquest codi al vostre IDE Arduino amb una certa actualització, el sensor de moviment proporcionarà la sortida perfectament.

#incloure

#incloure

#incloure

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

int t, t1, t2, t3;

int pin = 22;

////////////////////////////////////////// TOTES LES DECLARACIONS de CLOUD ////// //////////////////////////

const char * host = "api.thingsai.io"; // O amfitrió = devapi2.thethingscloud.com

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

const char * time_server = "baas.thethingscloud.com"; // es tracta de convertir la marca de temps

const int httpPort = 80;

const int httpsPort = 443;

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

marca de temps char [10];

WiFiMulti WiFiMulti;

// Utilitzeu la classe WiFiClient per crear connexions TCP

Client WiFiClient;

/////////////////////////////////////// Funció CALCULACIÓ TIMESTAMP //////// /////////////////////////////////

int GiveMeTimestamp ()

{

temps llarg sense signar = millis ();

// Client WiFiClient;

while (client.available () == 0)

{

if (millis () - temps d'espera> 50000)

{

client.stop ();

retorn 0;

}

}

while (client.available ())

{

Línia de cadena = client.readStringUntil ('\ r'); // indexOf () és una funció per buscar smthng, torna -1 si no es troba

int pos = line.indexOf ("\" timestamp / ""); // cerqueu "\" marca de temps / "" des del començament de la resposta i copieu totes les dades després, serà la vostra marca de temps

si (pos> = 0)

{

int j = 0;

per a (j = 0; j <10; j ++)

{

marca de temps [j] = línia [pos + 12 + j];

}

}

}

}

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

configuració nul·la ()

{

Serial.begin (115200);

retard (10);

pinMode (pin, INPUT);

// Comencem connectant-nos a una xarxa WiFi

WiFiMulti.addAP ("nom_wifi", "contrasenya_Wifi");

Serial.println ();

Serial.println ();

Serial.print ("Espereu WiFi …");

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

Serial.print (".");

retard (500);

}

Serial.println ("");

Serial.println ("WiFi connectat");

Serial.println ("adreça IP:");

Serial.println (WiFi.localIP ());

retard (500);

}

bucle buit ()

{

int ValorAnalògic = analògicLlegir (pin de sortida);

{

/////////////////////////////////////// ENVIAR LA CONSULTA I REBRE LA RESPOSTA //// ///////////////////

{

bool isDetected = DigitalRead (pin);

if (isDetected) {

Serial.println ("Presència detectada");

}

retard (500);

}

Serial.print ("connectar-se a");

Serial.println (amfitrió); // definit al revés: - host = devapi2.thethingscloud.com o 139.59.26.117

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

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

if (! client.connect (time_server, {

tornar; // * - * - * - * - * - * - * - * - * - *

}

client.println ("GET / api / timestamp HTTP / 1.1"); // Què fa aquesta part, no ho he entès

client.println ("Amfitrió: baas.thethingscloud.com");

client.println ("Control de memòria cau: sense memòria cau");

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

client.println ();

GiveMeTimestamp (); // cridarà la funció que obtindrà la resposta de marca de temps del servidor

Serial.println ("marca de temps rebuda");

Serial.println (marca de temps);

Serial.println ("dins de ThingsCloudPost");

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

PostValue = PostValue + ", \" dts / ":" + marca de temps;

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

Serial.println (PostValue);

/ * creeu una instància de WiFiClientSecure * /

Client WiFiClientSecure;

Serial.println ("Connectar-se al servidor mitjançant el port 443");

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

Serial.println ("La connexió ha fallat!");

} més {

Serial.println ("Connectat al servidor!");

/ * crea una sol·licitud HTTP * /

client.println ("POST / dispositius / dispositiuData HTTP / 1.1");

client.println ("Amfitrió: api.thingsai.io");

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

client.println ("Tipus de contingut: aplicació / json");

client.println ("control de memòria cau: sense memòria cau");

client.

client.print ("Longitud del contingut:");

client.println (PostValue.length ());

client.println ();

client.println (PostValue);

//////////////////////////////////// PUBLICACIÓ de les dades al núvol ja està i obtingueu el formulari de resposta núvol servidor //////////////////

Serial.print ("S'està esperant la resposta");

while (! client.available ()) {

retard (50); //

Serial.print (".");

}

/ * si hi ha dades disponibles, rebeu i imprimiu a la terminal * /

while (client.available ()) {

char c = client.read ();

Serial.write (c);

}

/ * si el servidor es desconnecta, atureu el client * /

if (! client.connected ()) {

Serial.println ();

Serial.println ("Servidor desconnectat"); javascript:;

client.stop ();

}

}

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

retard (3000);

}

}

Pas 4: SORTIDA

SORTIDA
SORTIDA

Aquesta és la representació de gràfics de barres dels valors llegits des del sensor a la plataforma de núvol Thingsai, io,

Pas 5: gràfic

Gràfic
Gràfic

Aquesta és la representació gràfica dels valors del sensor. A partir del gràfic anterior podem analitzar l’aplicació del sensor. Gràcies

Recomanat: