Sadržaj:
- Korak 1: KOMPONENTE
- Korak 2: POVEZIVANJA:
- Korak 3: KODIRANJE:
- Korak 4: REZULTAT:
- Korak 5: Cijeli vodič:
Video: Mjerenje blizine: 5 koraka
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:07
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
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:
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:
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:
Raspberry Pi - TMD26721 Infracrveni digitalni detektor blizine Java Vodič: 4 koraka
Raspberry Pi-TMD26721 Infracrveni digitalni detektor blizine Java Tutorial: TMD26721 je infracrveni digitalni detektor blizine koji pruža potpuni sistem za otkrivanje blizine i logiku digitalnog sučelja u jednom 8-pinskom modulu za površinsko montiranje. Detekcija blizine uključuje poboljšani signal-šum i tačnost. Profesionalni
Visuino Kako se koristi induktivni senzor blizine: 7 koraka
Visuino Kako koristiti induktivni senzor blizine: U ovom vodiču koristit ćemo induktivni senzor blizine i LED diodu povezanu na Arduino UNO i Visuino za otkrivanje metalne blizine. Pogledajte demonstracijski video
Napravite senzor blizine s Magicbitom [Magicblocks]: 6 koraka
Napravite senzor blizine s Magicbitom [Magicblocks]: Ovaj vodič će vas naučiti da koristite Magicbit senzor blizine pomoću Magicblocks -a. Koristimo magicbit kao razvojnu ploču u ovom projektu koji se temelji na ESP32. Stoga se u ovom projektu može koristiti bilo koja razvojna ploča ESP32
Vazdušni klavir pomoću IC senzora blizine, zvučnika i Arduino Uno (nadograđeno/2. dio): 6 koraka
Zračni klavir pomoću IC senzora blizine, zvučnika i Arduino Uno (nadograđeno/dio 2): Ovo je nadograđena verzija prethodnog projekta zračnog klavira?. Ovdje koristim JBL zvučnik kao izlaz. Uključio sam i dugme osjetljivo na dodir za promjenu načina rada prema zahtjevima. Na primjer- način rada sa tvrdim basom, normalni način rada, visoki fr
Vazdušni klavir pomoću IC senzora blizine i Arduino Uno Atmega 328: 6 koraka (sa slikama)
Vazdušni klavir pomoću IC senzora blizine i Arduino Uno Atmega 328: Uobičajeno je da klavir radi o električnom ili mehaničkom radu na jednostavnom mehanizmu pritiskanja dugmeta. Ali evo zaokreta, mogli bismo jednostavno ukloniti potrebu za tipkama u klaviru pomoću nekih senzora. Infracrveni senzori blizine najbolje odgovaraju uzroku jer t