Innholdsfortegnelse:

Nærhetsmåling: 5 trinn
Nærhetsmåling: 5 trinn

Video: Nærhetsmåling: 5 trinn

Video: Nærhetsmåling: 5 trinn
Video: Трактористы (комедия, реж. Иван Пырьев, 1939 г.) 2024, Juli
Anonim
Nærhetsmåling
Nærhetsmåling

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

KOMPONENTER
KOMPONENTER
KOMPONENTER
KOMPONENTER
KOMPONENTER
KOMPONENTER

Maskinvarekomponenter:

1. Hallsensor

2. esp32 utviklingstavle

3. Hoppetråder

Programvarekomponenter:

1. Arduino IDE

2. ThingsIO. AI

Trinn 2: TILKOBLINGER:

TILKOBLINGER
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:

RESULTAT
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: