Indholdsfortegnelse:
- Trin 1: KOMPONENTER
- Trin 2: TILSLUTNINGER:
- Trin 3: KODING:
- Trin 4: RESULTAT:
- Trin 5: Komplet selvstudium:
Video: Nærhedsmåling: 5 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:28
I denne vejledning vil jeg forklare om måling af en enheds nærhed og offentliggøre værdierne i Thingsai, io cloud -platformen ved hjælp af hall -sensor og esp32 -udviklingstavle.
En Hall -effektføler er en enhed, der bruges til at måle størrelsen af et magnetfelt. Dens udgangsspænding er direkte proportional med magnetfeltstyrken gennem den. Hall -effekt sensorer bruges til nærhedsføling, positionering, hastighedsregistrering og aktuelle sensing applikationer.
Trin 1: KOMPONENTER
Hardware -komponenter:
1. Hall Sensor
2. esp32 udviklingstavle
3. Jumper -ledninger
Softwarekomponenter:
1. Arduino IDE
2. ThingsIO. AI
Trin 2: TILSLUTNINGER:
Hall sensor ---------------------- esp32
Ude ------------------------------ vp
Gnd ---------------------------- Gnd
Vcc ------------------------------ 3V3
Trin 3: KODING:
#omfatte
#omfatte
#omfatte
int count = 0, i, m, j, k;
int måling;
int outputpin = A0; // ds18b20
///////////////////////////////////////////////////////////////////////////////////
til CLOUD ////////////////////////////////////
const char* host = "api.thingsai.io"; // ELLER vært =
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 at konvertere tidsstempel
const int httpPort = 80;
const int httpsPort = 443;
const char* server =
"api.thingsai.io"; // Server -URL
kulstempel [10];
WiFiMulti WiFiMulti;
// Brug WiFiClient -klasse til at oprette TCP -forbindelser
WiFiClient -klient;
/////////////////////////////////////// TIDSSTEMPEL
BEREGNINGsfunktion ///////////////////////////////////////////
int GiveMeTimestamp ()
{
usigneret lang
timeout = millis ();
// WiFiClient -klient;
mens
(client.available () == 0)
{
hvis (millis () -
timeout> 50000)
{
client.stop ();
returnere 0;
}
}
mens (client.available ())
{
Strenglinje =
client.readStringUntil ('\ r'); // indexOf () er en funktion til at søge efter smthng, den returnerer -1, hvis den ikke findes
int pos =
line.indexOf ("\" tidsstempel / ""); // søg efter "\" tidsstempel / "" fra svarets begyndelse fik og kopier alle data efter det, det er dit tidsstempel
hvis (pos> =
0)
{
int j = 0;for (j = 0; j <10; j ++)
{tidsstempel [j] = linje [pos + 12 + j];
}
}
}
}
////////////////////////////////////////////////////////////////////////////////////////////////////////
ugyldig opsætning ()
{Serial.begin (115200);
forsinkelse (10);
// Vi starter med
forbindelse til et WiFi -netværk
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 tilsluttet");Serial.println ("IP -adresse:");
Serial.println (WiFi.localIP ());
forsinkelse (500);
}
hulrum ()
{
int analogValue =
analogRead (outputpin);
{
////////////////////
MODTAG SVARET /////////////////////////
int måling
= 0;
måling =
hallRead ();Serial.print ("Hallsensormåling:");Serial.println (måling);
forsinkelse (1000);Serial.print ("forbindelse til");Serial.println (vært); // defineret upside:- host = devapi2.thethingscloud.com eller 139.59.26.117
///////////////////////////////////////////// TIMESTAMP CODE SNIPPET
/////////////////////////
Serial.println ("inde få tidsstempel / n");
hvis
(! client.connect (time_server, {
Vend tilbage;
//*-*-*-*-*-*-*-*-*-*
}client.println ("GET/api/tidsstempel HTTP/1.1"); // Hvad denne del laver, forstod jeg ikkeclient.println ("Host: baas.thethingscloud.com");client.println ("Cache-kontrol: ingen cache");client.println ("Postbud-Token: ea3c18c6-09ba-d049-ccf3-369a22a284b8");
client.println ();
GiveMeTimestamp (); // det kalder funktionen
som vil få tidsstempelresponsen fra serveren
Serial.println ("tidsstempel modtaget");
Serial.println (tidsstempel);Serial.println ("inde i ThingsCloudPost");
String PostValue =
"{" device_id / ": 61121696007, \" slave_id / ": 2";
PostValue =
PostValue + ", \" dts / ":" + tidsstempel;
PostValue =
PostValue +", \" data / ": {" proximity / ":" +måling +"}" +"}";Serial.println (PostValue);
/ * opret en forekomst af WiFiClientSecure */
WiFiClientSecure klient;Serial.println ("Opret forbindelse til server via port 443");
hvis
(! client.connect (server, 443)) {Serial.println ("Forbindelsen mislykkedes!");
} andet {Serial.println ("Tilsluttet server!");
/* opret
anmodning */
client.println ( POST
/devices/deviceData HTTP/1.1 ");client.println ("Host: api.thingsai.io");//client.println("Forbindelse: luk ");client.println ("Indholdstype: applikation/json");client.println ("cache-control: no-cache");
client.println ( Autorisation:
Bærer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9. IjVhMzBkZDFkN2QwYjNhNGQzODkwYzQ4OSI.kaY6OMj5cYlWNqC2PNTkXs9Pky6_mtd;client.print ("Indholdslængde:");client.println (PostValue.length ());
client.println ();client.println (PostValue);
/////////////////////////////////////////////'
skyen er færdig, og få nu svarformularen cloud server ////////////////////
Serial.print ( Venter på svar
);
mens
(! client.available ()) {
forsinkelse (50);
//Serial.print (".");
}
/* hvis data er
tilgængelig og derefter modtage og udskrive til Terminal */
mens
(client.available ()) {
char c =
client.read ();Serial.write (c);
}
/ * hvis serveren blev afbrudt, stop klienten */
hvis
(! client.connected ()) {Serial.println ();Serial.println ("Server afbrudt");client.stop ();
}
}
Serial.println ( ////////////////////////// ENDEN
///////////////////// );
forsinkelse (3000);
}}
Trin 4: RESULTAT:
De værdier, der læses fra sensoren, sendes med succes til IOT -skyen, og grafen oprettes som nærhed vs tid. Hermed analyseres og bruges sensorens funktion i henhold til de krævede anvendelsesområder.
Trin 5: Komplet selvstudium:
Dette er det komplette projekt til måling af en enheds nærhed ved hjælp af hall sensor esp32 og thingsai.io cloud platform. tak skal du have
Anbefalede:
Arduino bil omvendt parkering alarmsystem - Trin for trin: 4 trin
Arduino bil omvendt parkering alarmsystem. Trin for trin: I dette projekt vil jeg designe en simpel Arduino bil omvendt parkeringssensorkreds ved hjælp af Arduino UNO og HC-SR04 ultralydssensor. Dette Arduino -baserede bilomvendt alarmsystem kan bruges til en autonom navigation, robotafstand og andre rækkevidde
Trin for trin pc -bygning: 9 trin
Trin for trin PC Building: Supplies: Hardware: MotherboardCPU & CPU -køler PSU (strømforsyningsenhed) Opbevaring (HDD/SSD) RAMGPU (ikke påkrævet) CaseTools: Skruetrækker ESD -armbånd/mathermal pasta m/applikator
Tre højttalerkredsløb -- Trin-for-trin vejledning: 3 trin
Tre højttalerkredsløb || Trin-for-trin vejledning: Højttalerkredsløb styrker lydsignalerne, der modtages fra miljøet til MIC og sender det til højttaleren, hvorfra forstærket lyd produceres. Her vil jeg vise dig tre forskellige måder at lave dette højttalerkredsløb på:
Trin-for-trin uddannelse i robotik med et sæt: 6 trin
Trin-for-trin uddannelse i robotteknologi med et kit: Efter ganske få måneder med at bygge min egen robot (se alle disse), og efter at jeg to gange havde dele mislykkedes, besluttede jeg at tage et skridt tilbage og tænke min strategi og retning. De flere måneders erfaring var til tider meget givende, og
Akustisk levitation med Arduino Uno trin for trin (8 trin): 8 trin
Akustisk levitation med Arduino Uno Step-by Step (8-trin): ultralyds lydtransducere L298N Dc kvindelig adapter strømforsyning med en han-DC-pin Arduino UNOBreadboard Sådan fungerer det: Først uploader du kode til Arduino Uno (det er en mikrokontroller udstyret med digital og analoge porte til konvertering af kode (C ++)