Cuprins:

Măsurarea proximității: 5 pași
Măsurarea proximității: 5 pași

Video: Măsurarea proximității: 5 pași

Video: Măsurarea proximității: 5 pași
Video: Zorii Statelor Unite ale Americii: Asediul Yorktown. 2024, Noiembrie
Anonim
Măsurarea proximității
Măsurarea proximității

În acest tutorial voi explica despre măsurarea proximității unui dispozitiv și publicarea valorilor în platforma de cloud Thingsai, io folosind senzorul de hol și placa de dezvoltare esp32.

Un senzor de efect Hall este un dispozitiv care este utilizat pentru a măsura magnitudinea unui câmp magnetic. Tensiunea sa de ieșire este direct proporțională cu intensitatea câmpului magnetic prin ea. Senzorii de efect Hall sunt utilizați pentru aplicații de detectare a proximității, poziționare, detectare a vitezei și detectare a curentului.

Pasul 1: COMPONENTE

COMPONENTE
COMPONENTE
COMPONENTE
COMPONENTE
COMPONENTE
COMPONENTE

Componente hardware:

1. Senzor Hall

2. placa de dezvoltare esp32

3. Firele jumperului

Componente software:

1. IDE Arduino

2. LucruriIO. AI

Pasul 2: CONEXIUNI:

CONEXIUNI
CONEXIUNI

Senzor Hall ---------------------- esp32

În afară de ------------------------------ vp

Gnd ----------------------------- Gnd

Vcc ------------------------------ 3V3

Pasul 3: CODIFICARE:

#include

#include

#include

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

măsurare int;

int outputpin = A0; // ds18b20

////////////////////////////////////////// TOATE DECLARAȚIILE

pentru CLOUD ////////////////////////////////

const char * host = "api.thingsai.io"; // SAU gazdă =

devapi2.thethingscloud.com

const char * post_url = "/ devices / deviceData"; // SAU

/ api / v2 / thingscloud2 / _table / data_ac

const char * time_server =

„baas.thethingscloud.com”; // aceasta este pentru a converti marca de timp

const int httpPort = 80;

const int httpsPort = 443;

const char * server =

"api.thingsai.io"; // Adresa URL a serverului

timestamp char [10];

WiFiMulti WiFiMulti;

// Utilizați clasa WiFiClient pentru a crea conexiuni TCP

Client WiFiClient;

/////////////////////////////////////// TIMESTAMP-UL

Funcția CALCUL // /////////////////////////////////////////

int GiveMeTimestamp ()

{

nesemnat mult

timeout = milis ();

// client WiFiClient;

in timp ce

(client.available () == 0)

{

if (milis () -

expirare> 50000)

{

client.stop ();

retur 0;

}

}

while (client.available ())

{

Linia șirului =

client.readStringUntil ('\ r'); // indexOf () este o funcție pentru a căuta smthng, returnează -1 dacă nu este găsit

int pos =

line.indexOf ("\" timestamp / ""); // căutați "\" timestamp / "" de la începutul răspunsului și copiați toate datele după aceea, va fi marca dvs. de timp

if (pos> =

0)

{

int j = 0;pentru (j = 0; j <10; j ++)

{timestamp [j] = line [pos + 12 + j];

}

}

}

}

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

configurare nulă ()

{Serial.begin (115200);

întârziere (10);

// Începem prin

conectarea la o rețea WiFi

WiFiMulti.addAP ("wifi_name", "parolă_wifi");

Serial.println ();

Serial.println ();Serial.print („Așteptați WiFi …”);while (WiFiMulti.run ()! = WL_CONNECTED) {Serial.print (".");

întârziere (500);

}Serial.println ("");Serial.println ("WiFi conectat");Serial.println ("adresa IP:");

Serial.println (WiFi.localIP ());

întârziere (500);

}

bucla nulă ()

{

int analogValue =

analogRead (ieșire);

{

///////////////////////////////////////// TRIMITE CERERE ȘI

PRIMI RĂSPUNSUL /////////////////////////

măsurare int

= 0;

măsurare =

hallRead ();Serial.print ("Măsurarea senzorului Hall:");Serial.println (măsurare);

întârziere (1000);Serial.print („conectarea la”);Serial.println (gazdă); // definită invers: - host = devapi2.thethingscloud.com sau 139.59.26.117

/////////////////////////////////////// COD TIMESTAMP SNIPPET

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

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

dacă

(! client.connect (time_server, {

întoarcere;

//*-*-*-*-*-*-*-*-*-*

}client.println ("GET / api / timestamp HTTP / 1.1"); // Ce face această parte, nu am primitclient.println („Gazdă: baas.thethingscloud.com”);client.println ("Cache-Control: no-cache");client.println ("Postman-Token: ea3c18c6-09ba-d049-ccf3-369a22a284b8");

client.println ();

GiveMeTimestamp (); // va apela funcția

care va primi răspunsul de timestamp de la server

Serial.println ("timestamp primit");

Serial.println (timestamp);Serial.println („în interiorul ThingsCloudPost”);

String PostValue =

"{" device_id / ": 61121696007, \" slave_id / ": 2";

PostValue =

PostValue + ", \" dts / ":" + timestamp;

PostValue =

PostValue + ", \" data / ": {" prossimitate / ":" + măsurare + "}" + "}";Serial.println (PostValue);

/ * creați o instanță WiFiClientSecure * /

Client WiFiClientSecure;Serial.println („Conectare la server prin portul 443”);

dacă

(! client.connect (server, 443)) {Serial.println ("Conexiunea a eșuat!");

} altceva {Serial.println ("Conectat la server!");

/ * creați

cerere */

client.println ( POST

/ devices / deviceData HTTP / 1.1 ");client.println ("Gazdă: api.thingsai.io");//client.println("Connection: close ");client.println ("Content-Type: application / json");client.println ("cache-control: no-cache");

client.println ( Autorizație:

Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9. IjVhMzBkZDFkN2QwYjNhNGQzODkwYzQ4OSI.kaY6OMj5cYlWNqC2PNTkXs9PKy6_m9td;client.print („Lungime conținut:”);client.println (PostValue.length ());

client.println ();client.println (PostValue);

//////////////////////////////////// PUBLICAREA datelor pe

cloud este gata și acum obțineți formularul de răspuns server cloud //////////////////

Serial.print („Se așteaptă răspunsul

);

in timp ce

(! client.available ()) {

întârziere (50);

//Serial.print (".");

}

/ * dacă datele sunt

disponibil apoi primiți și tipăriți la Terminal * /

in timp ce

(client.available ()) {

char c =

client.read ();Serial.write (c);

}

/ * dacă serverul s-a deconectat, opriți clientul * /

dacă

(! client.connected ()) {Serial.println ();Serial.println („Server deconectat”);client.stop ();

}

}

Serial.println ( //////////////////////// SFÂRȘITUL

///////////////////// );

întârziere (3000);

}}

Pasul 4: REZULTAT:

REZULTAT
REZULTAT

Valorile care sunt citite de la senzor sunt trimise cu succes în cloud IOT și graficul este creat ca proximitate vs timp. Cu aceasta, funcționarea senzorului este analizată și utilizată în funcție de domeniile de aplicare necesare.

Pasul 5: Tutorial complet:

Acesta este proiectul complet pentru măsurarea proximității unui dispozitiv utilizând senzorul de hală esp32 și platforma cloud thingsai.io. Mulțumesc

Recomandat: