Taula de continguts:

Mesura de proximitat: 5 passos
Mesura de proximitat: 5 passos

Vídeo: Mesura de proximitat: 5 passos

Vídeo: Mesura de proximitat: 5 passos
Vídeo: Такие секреты уже все забыли, но их стоит знать! Полезные советы на все случаи жизни! 2024, De novembre
Anonim
Mesura de proximitat
Mesura de proximitat

En aquest tutorial explicaré la mesura de la proximitat d’un dispositiu i la publicació dels valors a la plataforma de núvol Thingsai, io mitjançant el sensor hall i la placa de desenvolupament esp32.

Un sensor d’efecte Hall és un dispositiu que s’utilitza per mesurar la magnitud d’un camp magnètic. La seva tensió de sortida és directament proporcional a la intensitat del camp magnètic a través d’ell. Els sensors d’efecte Hall s’utilitzen per a aplicacions de detecció de proximitat, posicionament, detecció de velocitat i detecció de corrent.

Pas 1: COMPONENTS

COMPONENTS
COMPONENTS
COMPONENTS
COMPONENTS
COMPONENTS
COMPONENTS

Components de maquinari:

1. Sensor Hall

2. placa de desenvolupament esp32

3. Cables de pont

Components del programari:

1. ID Arduino

2. CosesIO. AI

Pas 2: CONNEXIONS:

CONNEXIONS
CONNEXIONS

Sensor de sala ---------------------- esp32

Fora ------------------------------ vp

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

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

Pas 3: CODIFICACIÓ:

#incloure

#incloure

#incloure

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

mesurament int;

int outputpin = A0; // ds18b20

////////////////////////////////////////// TOTES LES DECLARACIONS

per 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 * servidor_horari =

"baas.thethingscloud.com"; // es tracta de convertir la marca de temps

const int httpPort = 80;

const int httpsPort = 443;

const char * servidor =

"api.thingsai.io"; // URL del servidor

marca de temps char [10];

WiFiMulti WiFiMulti;

// Utilitzeu la classe WiFiClient per crear connexions TCP

Client WiFiClient;

///////////////////////////////////////// TIMESTAMP

Funció CÀLCUL ///////////////////////////////////////////

int GiveMeTimestamp ()

{

sense signar llarg

timeout = millis ();

// Client WiFiClient;

mentre

(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 ("\" marca de temps / ""); // 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);

// Comencem per

connectar-se 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 Valor Analògic =

analogRead (sortida de sortida);

{

///////////////////////////////////////// ENVIAR LA CONSULTA I

REBREU LA RESPOSTA /////////////////////////

mesura int

= 0;

mesura =

hallRead ();Serial.print ("Mesura del sensor Hall:");Serial.println (mesura);

retard (1000);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");

si

(! client.connect (time_server, {

tornar;

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

}client.println ("GET / api / timestamp HTTP / 1.1"); // Què fa aquesta part, no ho he entèsclient.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");

Valor de la cadena =

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

PostValue =

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

PostValue =

PostValue + ", \" data / ": {" proximitat / ":" + mesura + "}" + "}";Serial.println (PostValue);

/ * creeu una instància de WiFiClientSecure * /

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

si

(! client.connect (servidor, 443)) {Serial.println ("La connexió ha fallat!");

} més {Serial.println ("Connectat al servidor!");

/ * crear

sol·licitud * /

client.println ( POST

/ devices / deviceData 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.println ( Autorització:

Portador eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9. IjVhMzBkZDFkN2QwYjNhNGQzODkwYzQ4OSI.kaY6OMj5cYlWNqC2PNTkXs9PKy6_m9td;client.print ("Longitud del contingut:");client.println (PostValue.length ());

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

//////////////////////////////////// PUBLICACIÓ de les dades al

el núvol està fet i ara obtingueu el formulari de resposta del servidor en núvol //////////////////

Serial.print ( S'està esperant la resposta

);

mentre

(! client.available ()) {

retard (50);

//Serial.print (".");

}

/ * si les dades són

disponible i després rebreu i imprimiu a Terminal * /

mentre

(client.available ()) {

char c =

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

}

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

si

(! client.connected ()) {Serial.println ();Serial.println ("Servidor desconnectat");client.stop ();

}

}

Serial.println ( //////////////////////// EL FINAL

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

retard (3000);

}}

Pas 4: RESULTAT:

RESULTAT
RESULTAT

Els valors que es llegeixen des del sensor s’envien amb èxit al núvol IOT i el gràfic es crea com a proximitat vs temps. Amb això, s'analitza el funcionament del sensor i s'utilitza segons les àrees d'aplicació requerides.

Pas 5: completar el tutorial:

Aquest és el projecte complet per mesurar la proximitat d’un dispositiu mitjançant l’ús del sensor de sala esp32 i la plataforma cloud Cloud Thingsai.io. Gràcies

Recomanat: