Sadržaj:

Mjerenje blizine: 5 koraka
Mjerenje blizine: 5 koraka

Video: Mjerenje blizine: 5 koraka

Video: Mjerenje blizine: 5 koraka
Video: ✅Усиление WiFi. 5 способов доступных каждому. 2024, Srpanj
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 izravno je proporcionalan jakosti magnetskog polja kroz njega. Senzori Hall efekta koriste se za primjenu senzora blizine, pozicioniranja, otkrivanja brzine i mjerenja struje.

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

Izlaz ------------------------------ vp

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

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

Korak 3: KODIRANJE:

#uključi

#uključi

#uključi

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* poslužitelj_vremena =

"baas.thethingscloud.com"; // ovo je za pretvaranje vremenske oznake

const int httpPort = 80;

const int httpsPort = 443;

const char* poslužitelj =

"api.thingsai.io"; // URL poslužitelja

char vremenska oznaka [10];

WiFiMulti WiFiMulti;

// Koristite klasu WiFiClient za stvaranje TCP veza

WiFiClient klijent;

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

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

int GiveMeTimestamp ()

{

bez potpisa dugo

timeout = millis ();

// WiFiClient klijent;

dok

(client.available () == 0)

{

ako (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 "\" timestamp / "" 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] = redak [pos + 12 + j];

}

}

}

}

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

void setup ()

{Serial.begin (115200);

kašnjenje (10);

// Počinjemo s

povezivanje s WiFi mrežom

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

Serial.println ();

Serial.println ();Serial.print ("Pričekajte WiFi …");while (WiFiMulti.run ()! = WL_CONNECTED) {{100} {101}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 ("Mjerenje Hall senzora:");Serial.println (mjerenje);

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

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

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

Serial.println ("unutar get vremenska oznaka / n");

ako

(! client.connect (time_server, {

povratak;

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

}client.println ("GET/api/vremenska oznaka HTTP/1.1"); // Što 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 poslužitelja 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";

PostVrijednost =

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

PostVrijednost =

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

/ * stvorite instancu WiFiClientSecure */

WiFiClientSecure klijent;Serial.println ("Povežite se sa poslužiteljem putem porta 443");

ako

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

} else {Serial.println ("Povezano sa poslužiteljem!");

/* stvoriti

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:

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

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

////////////////////////////////////// OBJAVLJIVANJE podataka na

oblak je gotov i sada dobijte odgovor na poslužitelju u oblaku //////////////////

Serial.print ( Čeka se odgovor

);

dok

(! client.available ()) {

kašnjenje (50);

//Serial.print (".");

}

/* ako su podaci

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

dok

(client.available ()) {

char c =

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

}

/ * ako je poslužitelj isključen, zaustavite klijenta */

ako

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

}

}

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

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

kašnjenje (3000);

}}

Korak 4: REZULTAT:

PROIZLAZITI
PROIZLAZITI

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

Korak 5: Cijeli vodič:

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

Preporučeni: