Innehållsförteckning:
- Steg 1: KOMPONENTER
- Steg 2: ANSLUTNINGAR:
- Steg 3: KODNING:
- Steg 4: RESULTAT:
- Steg 5: Komplett handledning:
Video: Närhetsmätning: 5 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:44
I denna handledning kommer jag att förklara hur man mäter närheten till en enhet och publicerar värdena i Thingsai, io molnplattform med hjälp av hallsensor och esp32 utvecklingskort.
En Hall -effektsensor är en enhet som används för att mäta storleken på ett magnetfält. Dess utspänning är direkt proportionell mot magnetfältstyrkan genom den. Hall -effektsensorer används för närhetsavkänning, positionering, hastighetsdetektering och strömavkänning.
Steg 1: KOMPONENTER
Hårdvarukomponenter:
1. Hallsensor
2. esp32 utvecklingskort
3. Bygeltrådar
Programvarukomponenter:
1. Arduino IDE
2. ThingsIO. AI
Steg 2: ANSLUTNINGAR:
Hallsensor ---------------------- esp32
Aout ------------------------------ vp
Gnd ---------------------------- Gnd
Vcc ------------------------------ 3V3
Steg 3: KODNING:
#omfatta
#omfatta
#omfatta
int count = 0, i, m, j, k;
int mätning;
int outputpin = A0; // ds18b20
///////////////////////////////////////////////////////////////////////////////
för CLOUD ////////////////////////////////////
const char* host = "api.thingsai.io"; // ELLER värd =
devapi2.thethingscloud.com
const char* post_url = "/devices/deviceData"; // ELLER
/api/v2/thingscloud2/_table/data_ac
const char* time_server =
"baas.thethingscloud.com"; // detta är att konvertera tidsstämpel
const int httpPort = 80;
const int httpsPort = 443;
const char* server =
"api.thingsai.io"; // Server -URL
rödstämpel [10];
WiFiMulti WiFiMulti;
// Använd WiFiClient -klass för att skapa TCP -anslutningar
WiFiClient -klient;
/////////////////////////////////////// TIDSSTÄMPEL
BERÄKNING funktion ////////////////////////////////////////
int GiveMeTimestamp ()
{
osignerad lång
timeout = millis ();
// WiFiClient -klient;
medan
(client.available () == 0)
{
om (millis () -
timeout> 50000)
{
client.stop ();
returnera 0;
}
}
medan (client.available ())
{
Stränglinje =
client.readStringUntil ('\ r'); // indexOf () är en funktion för att söka efter smthng, den returnerar -1 om den inte hittas
int pos =
line.indexOf ("\" tidsstämpel / ""); // sök efter "\" tidsstämpel / "" från början av svaret och kopiera all data efter det, det blir din tidsstämpel
om (pos> =
0)
{
int j = 0;för (j = 0; j <10; j ++)
{tidsstämpel [j] = rad [pos + 12 + j];
}
}
}
}
////////////////////////////////////////////////////////////////////////////////////////////////////////
void setup ()
{Serial.begin (115200);
fördröjning (10);
// Vi börjar med
ansluta till ett WiFi -nätverk
WiFiMulti.addAP ("wifi_name", "wifi_password");
Serial.println ();
Serial.println ();Serial.print ("Vänta på WiFi …");medan (WiFiMulti.run ()! = WL_CONNECTED) {Serial.print (".");
fördröjning (500);
}Serial.println ("");Serial.println ("WiFi ansluten");Serial.println ("IP -adress:");
Serial.println (WiFi.localIP ());
fördröjning (500);
}
void loop ()
{
int analogValue =
analogRead (outputpin);
{
//////////////////////////////////////////// SKICKA FRÅGAN OCH
MOTTA SVARET /////////////////////////
int -mätning
= 0;
mätning =
hallRead ();Serial.print ("Hallsensormätning:");Serial.println (mätning);
fördröjning (1000);Serial.print ("ansluta till");Serial.println (värd); // definierad uppåt:- host = devapi2.thethingscloud.com eller 139.59.26.117
//////////////////////////////
/////////////////////////
Serial.println ("inside get timestamp / n");
om
(! client.connect (time_server, {
lämna tillbaka;
//*-*-*-*-*-*-*-*-*-*
}client.println ("GET/api/tidsstämpel HTTP/1.1"); // Vad gör den här delen, jag förstod inteclient.println ("Värd: baas.thethingscloud.com");client.println ("Cache-Control: no-cache");client.println ("Postman-Token: ea3c18c6-09ba-d049-ccf3-369a22a284b8");
client.println ();
GiveMeTimestamp (); // det kallar funktionen
som kommer att få tidsstämpelns svar från servern
Serial.println ("tidsstämpel mottagen");
Serial.println (tidsstämpel);Serial.println ("inside ThingsCloudPost");
String PostValue =
"{" device_id / ": 61121696007, \" slave_id / ": 2";
PostValue =
PostValue + ", \" dts / ":" + tidsstämpel;
PostValue =
PostValue +", \" data / ": {" proximity / ":" +mätning +"}" +"}";Serial.println (PostValue);
/ * skapa en instans av WiFiClientSecure */
WiFiClientSecure -klient;Serial.println ("Anslut till servern via port 443");
om
(! client.connect (server, 443)) {Serial.println ("Anslutningen misslyckades!");
} annat {Serial.println ("Ansluten till server!");
/* skapa
begär */
client.println ( POST
/devices/deviceData HTTP/1.1 ");client.println ("Värd: api.thingsai.io");//client.println("Connection: close ");client.println ("Innehållstyp: applikation/json");client.println ("cache-control: no-cache");
client.println ( Auktorisering:
Bärare eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9. IjVhMzBkZDFkN2QwYjNhNGQzODkwYzQ4OSI.kaY6OMj5cYlWNqC2PNTkXs9Pky6_mtd;client.print ("Content-Length:");client.println (PostValue.length ());
client.println ();client.println (PostValue);
///////////////////////////////////////
molnet är klart och få nu svarsformuläret molnserver ////////////////////
Serial.print ( Väntar på svar
);
medan
(! client.available ()) {
fördröjning (50);
//Serial.print (".");
}
/* om data är
tillgänglig, ta sedan emot och skriv ut till Terminal */
medan
(client.available ()) {
char c =
client.read ();Serial.write (c);
}
/ * om servern kopplades bort, stoppa klienten */
om
(! client.connected ()) {Serial.println ();Serial.println ("Server bortkopplad");client.stop ();
}
}
Serial.println ( ////////////////////////// ENDEN
///////////////////// );
fördröjning (3000);
}}
Steg 4: RESULTAT:
De värden som läses från sensorn skickas framgångsrikt till IOT -molnet och grafen skapas som närhet vs tid. Med detta analyseras sensorns funktion och används enligt de användningsområden som krävs.
Steg 5: Komplett handledning:
Detta är det fullständiga projektet för att mäta närheten till en enhet med hallsensor esp32 och thingsai.io molnplattform. Tack
Rekommenderad:
Arduino Car Reverse Parking Alert System - Steg för steg: 4 steg
Arduino Car Reverse Parking Alert System | Steg för steg: I det här projektet kommer jag att utforma en enkel Arduino Car Reverse Parking Sensor Circuit med Arduino UNO och HC-SR04 Ultrasonic Sensor. Detta Arduino -baserade bilomvändningsvarningssystem kan användas för autonom navigering, robotavstånd och andra
Steg för steg PC -byggnad: 9 steg
Steg för steg PC -byggnad: Tillbehör: Hårdvara: ModerkortCPU & CPU -kylarePSU (strömförsörjningsenhet) Lagring (HDD/SSD) RAMGPU (krävs inte) CaseTools: Skruvmejsel ESD -armband/mathermisk pasta med applikator
Tre högtalarkretsar -- Steg-för-steg handledning: 3 steg
Tre högtalarkretsar || Steg-för-steg-handledning: Högtalarkretsen förstärker ljudsignalerna som tas emot från miljön till MIC och skickar den till högtalaren varifrån förstärkt ljud produceras. Här visar jag dig tre olika sätt att göra denna högtalarkrets med:
Steg-för-steg-utbildning i robotik med ett kit: 6 steg
Steg-för-steg-utbildning i robotik med ett kit: Efter ganska många månader av att bygga min egen robot (se alla dessa), och efter att två gånger ha misslyckats med delar, bestämde jag mig för att ta ett steg tillbaka och tänka om min strategi och riktning. De flera månaders erfarenhet var ibland mycket givande och
Akustisk levitation med Arduino Uno Steg-för-steg (8-steg): 8 steg
Akustisk levitation med Arduino Uno Steg-för-steg (8-steg): ultraljudsgivare L298N Dc kvinnlig adapter strömförsörjning med en manlig DC-pin Arduino UNOBreadboardHur det fungerar: Först laddar du upp kod till Arduino Uno (det är en mikrokontroller utrustad med digital och analoga portar för att konvertera kod (C ++)