Obsah:
- Krok 1: KOMPONENTY
- Krok 2: PRIPOJENIA:
- Krok 3: KÓDOVANIE:
- Krok 4: VÝSLEDOK:
- Krok 5: Kompletný návod:
Video: Meranie blízkosti: 5 krokov
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:58
V tomto tutoriáli vysvetlím meranie blízkosti zariadenia a publikovanie hodnôt na cloudovú platformu Thingsai, io pomocou Hallovho senzora a vývojovej dosky esp32.
Senzor s Hallovým efektom je zariadenie, ktoré sa používa na meranie veľkosti magnetického poľa. Jeho výstupné napätie je priamo úmerné jeho sile. Senzory s Hallovým efektom sa používajú na aplikácie snímania blízkosti, polohy, detekcie rýchlosti a snímania prúdu.
Krok 1: KOMPONENTY
Hardvérové komponenty:
1. Hallov senzor
2. vývojová doska esp32
3. prepojovacie vodiče
Softvérové súčasti:
1. Arduino IDE
2. VeciIO. AI
Krok 2: PRIPOJENIA:
Hallov senzor ---------------------- esp32
Aout ------------------------------ vp
Gnd ----------------------------- Gnd
Vcc ------------------------------ 3V3
Krok 3: KÓDOVANIE:
#zahrnúť
#zahrnúť
#zahrnúť
int počet = 0, i, m, j, k;
int meranie;
int outputpin = A0; // ds18b20
////////////////////////////////////////////// VŠETKY VYHLÁSENIA
pre CLOUD ////////////////////////////////////
const char* host = "api.thingsai.io"; // ALEBO hostiteľ =
devapi2.thethingscloud.com
const char* post_url = "/devices/deviceData"; // ALEBO
/api/v2/thingscloud2/_table/data_ac
const char* time_server =
"baas.thethingscloud.com"; // toto má previesť časovú pečiatku
const int httpPort = 80;
const int httpsPort = 443;
const char* server =
"api.thingsai.io"; // Adresa URL servera
časová pečiatka znakov [10];
WiFiMulti WiFiMulti;
// Na vytvorenie TCP spojení použite triedu WiFiClient
Klient WiFiClient;
/////////////////////////////////////// ČASOVÁ ZNAČKA
Funkcia VÝPOČET /////////////////////////////////////////////
int GiveMeTimestamp ()
{
bez znamienka
časový limit = milis ();
// klient WiFiClient;
kým
(client.available () == 0)
{
ak (milis () -
časový limit> 50 000)
{
client.stop ();
návrat 0;
}
}
while (client.available ())
{
Reťazec reťazca =
client.readStringUntil ('\ r'); // indexOf () je funkcia na vyhľadávanie niečoho, vráti hodnotu -1, ak sa nenájde
int pos =
line.indexOf ("\" časová pečiatka / ""); // vyhľadajte "\" časovú pečiatku / "" od začiatku odpovede a skopírujte všetky údaje, potom to bude vaša časová pečiatka
ak (poz> =
0)
{
int j = 0;pre (j = 0; j <10; j ++)
{časová pečiatka [j] = riadok [pos + 12 + j];
}
}
}
}
////////////////////////////////////////////////////////////////////////////////////////////////////////
neplatné nastavenie ()
{Serial.begin (115200);
oneskorenie (10);
// Začíname od
pripojenie k sieti WiFi
WiFiMulti.addAP („názov_ WiFi“, "wifi_password");
Serial.println ();
Serial.println ();Serial.print („Počkajte na WiFi …“);while (WiFiMulti.run ()! = WL_CONNECTED) {Serial.print (".");
oneskorenie (500);
}Serial.println ("");Serial.println ("WiFi pripojené");Serial.println ("IP adresa:");
Serial.println (WiFi.localIP ());
oneskorenie (500);
}
prázdna slučka ()
{
int analogValue =
analogRead (výstupný kolík);
{
///////////////////////////////////////////// ODOSLAJTE DOTAZ A
ZÍSKAJTE ODPOVEĎ /////////////////////////////
int meranie
= 0;
meranie =
hallRead ();Serial.print ("Meranie Hallovým senzorom:");Serial.println (meranie);
oneskorenie (1000);Serial.print ("pripojenie k");Serial.println (hostiteľ); // definované hore nohami:- host = devapi2.thethingscloud.com alebo 139.59.26.117
/////////////////////////////////////////// TIMESTAMP CODE SNIPPET
/////////////////////////
Serial.println ("vnútri získať časovú pečiatku / n");
keby
(! client.connect (server_času, {
návrat;
//*-*-*-*-*-*-*-*-*-*
}client.println ("GET/api/timestamp HTTP/1.1"); // Čo robí táto časť, som nepochopilclient.println („Hostiteľ: baas.thethingscloud.com“);client.println ("Cache-Control: no-cache");client.println ("Poštár-Token: ea3c18c6-09ba-d049-ccf3-369a22a284b8");
client.println ();
GiveMeTimestamp (); // to bude volať funkciu
ktorý získa odpoveď časovej pečiatky zo servera
Serial.println ("prijaté časové razítko");
Serial.println (časová pečiatka);Serial.println ("inside ThingsCloudPost");
Reťazec PostValue =
"{" device_id / ": 61121696007, \" slave_id / ": 2";
PostValue =
PostValue + ", \" dts / ":" + časová pečiatka;
PostValue =
PostValue +", \" údaje / ": {" blízkosť / ":" +meranie +"}" +"}";Serial.println (PostValue);
/ * vytvorte inštanciu WiFiClientSecure */
WiFiClientSecure klient;Serial.println ("Pripojiť k serveru cez port 443");
keby
(! client.connect (server, 443)) {Serial.println ("Pripojenie zlyhalo!");
} else {Serial.println („Pripojené k serveru!“);
/* vytvoriť
žiadosť */
client.println („POST
/devices/deviceData HTTP/1.1 ");client.println ("Hostiteľ: api.thingsai.io");//client.println("Connection: close ");client.println ("Typ obsahu: aplikácia/json");client.println ("ovládanie vyrovnávacej pamäte: bez vyrovnávacej pamäte");
client.println („Autorizácia:
Nositeľ eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9. IjVhMzBkZDFkN2QwYjNhNGQzODkwYzQ4OSI.kaY6OMj5cYlWNqC2PNTkXs9PKy6_mclient.print („Dĺžka obsahu:“);client.println (PostValue.length ());
client.println ();client.println (PostValue);
////////////////////////////////////// ZADÁVANIE údajov na
cloud je hotový a teraz získajte formulár odpovede cloud server //////////////////////
Serial.print („Čaká sa na odpoveď
);
kým
(! client.available ()) {
oneskorenie (50);
//Serial.print (".");
}
/* ak sú údaje
k dispozícii, potom prijmite a vytlačte na terminál */
kým
(client.available ()) {
znak c =
client.read ();Serial.write (c);
}
/ * ak sa server odpojí, zastavte klienta */
keby
(! client.connected ()) {Serial.println ();Serial.println ("Server odpojený");client.stop ();
}
}
Serial.println ( ////////////////////////// KONIEC
///////////////////// );
oneskorenie (3000);
}}
Krok 4: VÝSLEDOK:
Hodnoty načítané zo senzora sa úspešne odosielajú do cloudu IOT a graf sa vytvára ako blízkosť voči času. S týmto sa činnosť senzora analyzuje a používa podľa požadovaných oblastí použitia.
Krok 5: Kompletný návod:
Toto je kompletný projekt na meranie blízkosti zariadenia pomocou Hallovho senzora esp32 a cloudovej platformy thingsai.io. Ďakujem
Odporúča:
Meranie rýchlosti motora pomocou Arduina: 6 krokov
Meranie rýchlosti motora pomocou Arduina: Je ťažké merať otáčky motora ??? Nemyslím si to. Tu je jedno jednoduché riešenie. Dokáže to iba jeden IR senzor a Arduino vo vašej súprave. V tomto príspevku uvediem jednoduchý návod, ako vysvetliť meranie otáčok akéhokoľvek motora pomocou infračerveného senzora a A
Meranie času (hodiny na meranie pásky): 5 krokov (s obrázkami)
Meranie času (hodiny na meranie pásky): Pre tento projekt sme (Alex Fiel a Anna Lynton) vzali každodenný merací nástroj a urobili z neho hodiny! Pôvodný plán bol motorizovať existujúci zvinovací meter. Pri tom sme sa rozhodli, že bude jednoduchšie vytvoriť si vlastnú škrupinu,
Meranie teploty: 7 krokov
Meranie teploty: هو قياس درجه الحراره باستخدام الكاميرا االحراريه
Skenujte objekty v blízkosti a vytvorte 3D model pomocou ARDUINO: 5 krokov (s obrázkami)
Skenujte objekty v blízkosti a vytvorte 3D model pomocou ARDUINO: Tento projekt je špecifický použitím ultrazvukového senzora HC-SR04 na skenovanie blízkych predmetov. Na výrobu 3D modelu je potrebné zamiesť senzor v kolmom smere. Arduino môžete naprogramovať tak, aby spustilo poplach, keď senzor detekuje predmet
Veľmi jednoduchý detektor blízkosti: 9 krokov
Veľmi jednoduchý bezdotykový detektor: Šialenci z dielne, modeloví železničiari, robotici alebo hostitelia mačiek si obľúbia univerzálnosť infračerveného bezdotykového detektora Sharp IS471. Má veľkosť tranzistora, pracuje v rozsahu 4–16 voltov a dokáže detekovať objekty vzdialené asi 4 až 9 palcov od