Innholdsfortegnelse:
- Trinn 1: KOMPONENTER
- Trinn 2: TILKOBLINGER:
- Trinn 3: KODING:
- Trinn 4: RESULTAT:
- Trinn 5: Fullfør opplæringen:
Video: Nærhetsmåling: 5 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:23
I denne opplæringen skal jeg forklare hvordan du måler nærheten til en enhet og publiserer verdiene i Thingsai, io -skyplattformen ved å bruke hallsensor og esp32 utviklingstavle.
En Hall -effektsensor er en enhet som brukes til å måle størrelsen på et magnetfelt. Utgangsspenningen er direkte proporsjonal med magnetfeltstyrken gjennom den. Hall -effektsensorer brukes til nærhetsmåling, posisjonering, hastighetsdeteksjon og gjeldende registreringsapplikasjoner.
Trinn 1: KOMPONENTER
Maskinvarekomponenter:
1. Hallsensor
2. esp32 utviklingstavle
3. Hoppetråder
Programvarekomponenter:
1. Arduino IDE
2. ThingsIO. AI
Trinn 2: TILKOBLINGER:
Hall sensor ---------------------- esp32
Ute ------------------------------ vp
Gnd ---------------------------- Gnd
Vcc ------------------------------ 3V3
Trinn 3: KODING:
#inkludere
#inkludere
#inkludere
int count = 0, i, m, j, k;
int måling;
int outputpin = A0; // ds18b20
////////////////////////////////////////////////////////////'/
for CLOUD ////////////////////////////////////
const char* host = "api.thingsai.io"; // ELLER vert =
devapi2.thethingscloud.com
const char* post_url = "/devices/deviceData"; // ELLER
/api/v2/thingscloud2/_table/data_ac
const char* time_server =
"baas.thethingscloud.com"; // dette er å konvertere tidsstempel
const int httpPort = 80;
const int httpsPort = 443;
const char* server =
"api.thingsai.io"; // Server -URL
røye tidsstempel [10];
WiFiMulti WiFiMulti;
// Bruk WiFiClient -klassen til å opprette TCP -tilkoblinger
WiFiClient -klient;
////////////////////////////////////////////////
KALKULERINGSFUNKSJON /////////////////////////////////////////
int GiveMeTimestamp ()
{
usignert lang
timeout = millis ();
// WiFiClient -klient;
samtidig som
(client.available () == 0)
{
hvis (millis () -
tidsavbrudd> 50000)
{
client.stop ();
retur 0;
}
}
mens (client.available ())
{
String line =
client.readStringUntil ('\ r'); // indexOf () er en funksjon for å søke etter smthng, den returnerer -1 hvis den ikke blir funnet
int pos =
line.indexOf ("\" tidsstempel / ""); // søk etter "\" tidsstempel / "" fra begynnelsen av svaret, og kopier alle dataene etter det, det vil være ditt tidsstempel
hvis (pos> =
0)
{
int j = 0;for (j = 0; j <10; j ++)
{tidsstempel [j] = linje [pos + 12 + j];
}
}
}
}
////////////////////////////////////////////////////////////////////////////////////////////////////////
ugyldig oppsett ()
{Serial.begin (115200);
forsinkelse (10);
// Vi starter med
tilkobling til et WiFi -nettverk
WiFiMulti.addAP ("wifi_name", "wifi_password");
Serial.println ();
Serial.println ();Serial.print ("Vent på WiFi …");mens (WiFiMulti.run ()! = WL_CONNECTED) {Serial.print (".");
forsinkelse (500);
}Serial.println ("");Serial.println ("WiFi tilkoblet");Serial.println ("IP -adresse:");
Serial.println (WiFi.localIP ());
forsinkelse (500);
}
hulrom ()
{
int analogValue =
analogRead (outputpin);
{
///////////////////
Motta svaret /////////////////////////
int måling
= 0;
måling =
hallRead ();Serial.print ("Hallsensormåling:");Serial.println (måling);
forsinkelse (1000);Serial.print ("koble til");Serial.println (vert); // definert oppside:- host = devapi2.thethingscloud.com eller 139.59.26.117
/////////////////////////////////
/////////////////////////
Serial.println ("inne få tidsstempel / n");
hvis
(! client.connect (time_server, {
komme tilbake;
//*-*-*-*-*-*-*-*-*-*
}client.println ("GET/api/tidsstempel HTTP/1.1"); // Hva denne delen gjør, skjønte jeg ikkeclient.println ("Vert: baas.thethingscloud.com");client.println ("Cache-Control: no-cache");client.println ("Postman-Token: ea3c18c6-09ba-d049-ccf3-369a22a284b8");
client.println ();
GiveMeTimestamp (); // det vil kalle funksjonen
som vil få tidsstempelresponsen fra serveren
Serial.println ("tidsstempel mottatt");
Serial.println (tidsstempel);Serial.println ("inside ThingsCloudPost");
String PostValue =
"{" device_id / ": 61121696007, \" slave_id / ": 2";
PostValue =
PostValue + ", \" dts / ":" + tidsstempel;
PostValue =
PostValue +", \" data / ": {" proximity / ":" +måling +"}" +"}";Serial.println (PostValue);
/ * opprett en forekomst av WiFiClientSecure */
WiFiClientSecure -klient;Serial.println ("Koble til server via port 443");
hvis
(! client.connect (server, 443)) {Serial.println ("Tilkoblingen mislyktes!");
} annet {Serial.println ("Koblet til server!");
/* opprett
be om */
client.println ( POST
/devices/deviceData HTTP/1.1 ");client.println ("Vert: api.thingsai.io");//client.println("Connection: close ");client.println ("Innholdstype: applikasjon/json");client.println ("cache-control: no-cache");
client.println ( Autorisasjon:
Bærer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9. IjVhMzBkZDFkN2QwYjNhNGQzODkwYzQ4OSI.kaY6OMj5cYlWNqC2PNTkXs9Pky6_mtd;client.print ("Content-Length:");client.println (PostValue.length ());
client.println ();client.println (PostValue);
///////////////////////////////////////////////////////
skyen er ferdig og nå får du svarskjemaet skyserver ////////////////////
Serial.print ( Venter på svar
);
samtidig som
(! client.available ()) {
forsinkelse (50);
//Serial.print (".");
}
/* hvis data er
tilgjengelig og motta og skriv ut til Terminal */
samtidig som
(client.available ()) {
røyke c =
client.read ();Serial.write (c);
}
/ * hvis serveren koblet fra, stopp klienten */
hvis
(! client.connected ()) {Serial.println ();Serial.println ("Server frakoblet");client.stop ();
}
}
Serial.println ( ////////////////////////// ENDEN
///////////////////// );
forsinkelse (3000);
}}
Trinn 4: RESULTAT:
Verdiene som leses fra sensoren blir sendt til IOT -skyen, og grafen blir opprettet som nærhet vs tid. Med dette analyseres og brukes sensorens arbeid i henhold til de nødvendige bruksområdene.
Trinn 5: Fullfør opplæringen:
Dette er det komplette prosjektet for å måle nærheten til en enhet ved å bruke hall sensor esp32 og thingsai.io cloud platform. Takk skal du ha
Anbefalt:
Arduino bilvarslingssystem for omvendt parkering - Trinn for trinn: 4 trinn
Arduino Car Reverse Parking Alert System | Trinn for trinn: I dette prosjektet skal jeg designe en enkel Arduino Car Reverse Parking Sensor Circuit ved hjelp av Arduino UNO og HC-SR04 Ultrasonic Sensor. Dette Arduino -baserte bilreverseringssystemet kan brukes til autonom navigasjon, robotavstand og andre områder
Trinn for trinn PC -bygging: 9 trinn
Steg for trinn PC -bygging: Rekvisita: Maskinvare: HovedkortCPU & CPU -kjøler PSU (strømforsyningsenhet) Lagring (HDD/SSD) RAMGPU (ikke nødvendig) CaseTools: Skrutrekker ESD -armbånd/mathermal pasta m/applikator
Tre høyttalerkretser -- Trinn-for-trinn opplæring: 3 trinn
Tre høyttalerkretser || Trinn-for-trinn opplæring: Høyttalerkretsen styrker lydsignalene som mottas fra miljøet til MIC og sender den til høyttaleren der forsterket lyd produseres. Her vil jeg vise deg tre forskjellige måter å lage denne høyttalerkretsen på:
RC -sporet robot ved hjelp av Arduino - Trinn for trinn: 3 trinn
RC -sporet robot ved bruk av Arduino - Steg for trinn: Hei folkens, jeg er tilbake med et annet kult Robot -chassis fra BangGood. Håper du har gått gjennom våre tidligere prosjekter - Spinel Crux V1 - Gesture Controlled Robot, Spinel Crux L2 - Arduino Pick and Place Robot with Robotic Arms og The Badland Braw
Hvordan lage et nettsted (en trinn-for-trinn-guide): 4 trinn
Hvordan lage et nettsted (en trinn-for-trinn-guide): I denne veiledningen vil jeg vise deg hvordan de fleste webutviklere bygger nettstedene sine og hvordan du kan unngå dyre nettstedbyggere som ofte er for begrenset til et større nettsted. hjelpe deg med å unngå noen feil som jeg gjorde da jeg begynte