Sadržaj:

Mjerenje blizine: 5 koraka
Mjerenje blizine: 5 koraka

Video: Mjerenje blizine: 5 koraka

Video: Mjerenje blizine: 5 koraka
Video: ✅Усиление WiFi. 5 способов доступных каждому. 2024, Juli
Anonim
Mjerenje blizine
Mjerenje blizine

U ovom vodiču ću objasniti mjerenje blizine uređaja i objavljivanje vrijednosti na Thingsai, io cloud platformi pomoću Hall senzora i razvojne ploče esp32.

Hall -ov senzor je uređaj koji se koristi za mjerenje veličine magnetskog polja. Njegov izlazni napon je direktno proporcionalan jačini magnetskog polja kroz njega. Senzori Hall efekta koriste se za primjenu senzora blizine, pozicioniranja, detekcije brzine i trenutnog mjerenja.

Korak 1: KOMPONENTE

KOMPONENTE
KOMPONENTE
KOMPONENTE
KOMPONENTE
KOMPONENTE
KOMPONENTE

Hardverske komponente:

1. Hall senzor

2. razvojna ploča esp32

3. Žice za kratkospojnike

Softverske komponente:

1. Arduino IDE

2. StvariIO. AI

Korak 2: POVEZIVANJA:

VEZE
VEZE

Hall senzor ---------------------- esp32

Aout ------------------------------ vp

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

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

Korak 3: KODIRANJE:

#include

#include

#include

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

int mjerenje;

int outputpin = A0; // ds18b20

//////////////////////////////////////////// SVE IZJAVE

za CLOUD ////////////////////////////////

const char* host = "api.thingsai.io"; // ILI host =

devapi2.thethingscloud.com

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

/api/v2/thingscloud2/_table/data_ac

const char* time_server =

"baas.thethingscloud.com"; // ovo služi za pretvaranje vremenske oznake

const int httpPort = 80;

const int httpsPort = 443;

const char* server =

"api.thingsai.io"; // URL servera

char vremenska oznaka [10];

WiFiMulti WiFiMulti;

// Koristite klasu WiFiClient za kreiranje TCP veza

WiFiClient klijent;

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

CALCULATION funkcija ///////////////////////////////////////////

int GiveMeTimestamp ()

{

bez potpisa dugo

timeout = millis ();

// WiFiClient klijent;

dok

(client.available () == 0)

{

if (millis () -

istek> 50000)

{

client.stop ();

return 0;

}

}

while (client.available ())

{

Linija niza =

client.readStringUntil ('\ r'); // indexOf () je funkcija za traženje smthng -a, vraća -1 ako nije pronađeno

int pos =

line.indexOf ("\" vremenska oznaka / ""); // potražite "\" vremensku oznaku / "" od početka odgovora i kopirajte sve podatke nakon toga, to će biti vaša vremenska oznaka

ako (pos> =

0)

{

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

{vremenska oznaka [j] = linija [pos + 12 + j];

}

}

}

}

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

void setup ()

{Serial.begin (115200);

kašnjenje (10);

// Počinjemo s

povezivanje na WiFi mrežu

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

Serial.println ();

Serial.println ();Serial.print ("Sačekajte WiFi …");while (WiFiMulti.run ()! = WL_CONNECTED) {Serial.print (".");

kašnjenje (500);

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

Serial.println (WiFi.localIP ());

kašnjenje (500);

}

void loop ()

{

int analognaVrijednost =

analogRead (outputpin);

{

/////////////////////////////////////////// POŠALJITE UPIT I

PRIMITE ODGOVOR /////////////////////////

int mjerenje

= 0;

mjerenje =

hallRead ();Serial.print ("Merenje Hall senzora:");Serial.println (mjerenje);

kašnjenje (1000);Serial.print ("povezivanje sa");Serial.println (host); // gore definirano:- host = devapi2.thethingscloud.com ili 139.59.26.117

///////////////////////////////////////// TIMESTAMP KOD SNIPPET

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

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

ako

(! client.connect (time_server, {

return;

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

}client.println ("GET/api/vremenska oznaka HTTP/1.1"); // Šta ovaj dio radi, nisam shvatioclient.println ("Domaćin: baas.thethingscloud.com");client.println ("Cache-Control: no-cache");client.println ("Token poštara: ea3c18c6-09ba-d049-ccf3-369a22a284b8");

client.println ();

GiveMeTimestamp (); // pozvat će funkciju

koji će od servera dobiti odgovor vremenske oznake

Serial.println ("primljena vremenska oznaka");

Serial.println (vremenska oznaka);Serial.println ("unutar ThingsCloudPosta");

Niz PostValue =

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

PostValue =

PostValue + ", \" dts / ":" + vremenska oznaka;

PostValue =

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

/ * kreirajte instancu WiFiClientSecure */

WiFiClientSecure klijent;Serial.println ("Povežite se sa serverom preko porta 443");

ako

(! client.connect (server, 443)) {Serial.println ("Veza nije uspjela!");

} else {Serial.println ("Povezano sa serverom!");

/* kreirajte

zahtjev */

client.println ( POST

/devices/deviceData HTTP/1.1 ");client.println ("Domaćin: api.thingsai.io");//client.println("Connection: close ");client.println ("Vrsta sadržaja: aplikacija/json");client.println ("cache-control: no-cache");

client.println ( Autorizacija:

Nosilac eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9. IjVhMzBkZDFkN2QwYjNhNGQzODkwYzQ4OSI.kaY6OMj5cYlWNqC2PNTkXs9PKy6_m9jclient.print ("Content-Length:");client.println (PostValue.length ());

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

//////////////////////////////////// POSTAVLJANJE podataka na

oblak je gotov i sada dobijete obrazac za odgovor oblačni server ////////////////////

Serial.print ( Čeka se odgovor

);

dok

(! client.available ()) {

kašnjenje (50);

//Serial.print (".");

}

/* ako su podaci

dostupno, zatim primite i ispišite na terminalu */

dok

(client.available ()) {

char c =

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

}

/ * ako je server isključen, zaustavite klijenta */

ako

(! client.connected ()) {Serial.println ();Serial.println ("Server je isključen");client.stop ();

}

}

Serial.println ( ////////////////////////// KRAJ

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

kašnjenje (3000);

}}

Korak 4: REZULTAT:

REZULTAT
REZULTAT

Vrijednosti koje se očitavaju sa senzora uspješno se šalju u IOT oblak i grafikon se stvara kao blizina prema vremenu. Ovim se rad senzora analizira i koristi u skladu sa potrebnim područjima primjene.

Korak 5: Cijeli vodič:

Ovo je kompletan projekt za mjerenje blizine uređaja pomoću Hall senzora esp32 i cloudsai.io platforme. Hvala ti

Preporučuje se: