INHOUDSOPGAWE:

Meting van nabyheid: 5 stappe
Meting van nabyheid: 5 stappe

Video: Meting van nabyheid: 5 stappe

Video: Meting van nabyheid: 5 stappe
Video: The Open Road | Critical Role: THE MIGHTY NEIN | Episode 5 2024, November
Anonim
Meting van nabyheid
Meting van nabyheid

In hierdie tutoriaal gaan ek verduidelik oor die meting van die nabyheid van 'n toestel en die publisering van die waardes in die Thingsai, io -wolkplatform deur gebruik te maak van saalsensor en esp32 -ontwikkelbord.

'N Hall -effek sensor is 'n toestel wat gebruik word om die grootte van 'n magnetiese veld te meet. Die uitgangsspanning daarvan is direk eweredig aan die magnetiese veldsterkte daardeur. Hall -effek sensors word gebruik vir nabyheidswaarneming, posisionering, spoedopsporing en stroomwaarnemingstoepassings.

Stap 1: KOMPONENTE

KOMPONENTE
KOMPONENTE
KOMPONENTE
KOMPONENTE
KOMPONENTE
KOMPONENTE

Hardeware komponente:

1. Hall Sensor

2. esp32 ontwikkelingsbord

3. Springdrade

Sagteware komponente:

1. Arduino IDE

2. ThingsIO. AI

Stap 2: AANSLUITINGS:

VERBINDINGS
VERBINDINGS

Hallsensor ---------------------- esp32

Uit ------------------------------ vp

Gnd ---------------------------- Gnd

Vcc ------------------------------ 3V3

Stap 3: KODERING:

#insluit

#insluit

#insluit

int telling = 0, i, m, j, k;

int meting;

int outputpin = A0; // ds18b20

/////////////////////////////////////////////////////

vir CLOUD ////////////////////////////////////

const char* host = "api.thingsai.io"; // OF gasheer =

devapi2.thethingscloud.com

const char* post_url = "/devices/deviceData"; // OF

/api/v2/thingscloud2/_table/data_ac

const char* time_server =

"baas.thethingscloud.com"; // dit is om die tydstempel om te skakel

const int httpPort = 80;

const int httpsPort = 443;

const char* bediener =

"api.thingsai.io"; // Bediener -URL

char tydstempel [10];

WiFiMulti WiFiMulti;

// Gebruik WiFiClient -klas om TCP -verbindings te skep

WiFiClient -kliënt;

/////////////////////////////////////// TYDSTEMPEL

BEREKENING funksie ///////////////////////////////////////////

int GiveMeTimestamp ()

{

ongeteken lank

time -out = millis ();

// WiFiClient -kliënt;

terwyl

(client.available () == 0)

{

as (millis () -

time -out> 50000)

{

client.stop ();

terugkeer 0;

}

}

terwyl (client.available ())

{

String line =

client.readStringUntil ('\ r'); // indexOf () is 'n funksie om na smthng te soek, dit gee -1 as dit nie gevind word nie

int pos =

line.indexOf ("\" tydstempel / ""); // soek na "\" tydstempel / "" vanaf die begin van die antwoord, en kopieer daarna alle data, dit is u tydstempel

as (pos> =

0)

{

int j = 0;vir (j = 0; j <10; j ++)

{tydstempel [j] = reël [pos + 12 + j];

}

}

}

}

////////////////////////////////////////////////////////////////////////////////////////////////////////

leemte opstelling ()

{Serial.begin (115200);

vertraging (10);

// Ons begin by

verbinding met 'n WiFi -netwerk

WiFiMulti.addAP ("wifi_name", "wifi_wagwoord");

Serial.println ();

Serial.println ();Serial.print ("Wag vir WiFi …");terwyl (WiFiMulti.run ()! = WL_CONNECTED) {Serial.print (".");

vertraging (500);

}Serial.println ("");Serial.println ("WiFi gekoppel");Serial.println ("IP -adres:");

Serial.println (WiFi.localIP ());

vertraging (500);

}

leemte lus ()

{

int analogValue =

analogRead (uitvoerpen);

{

////////////////////////////////////////// Stuur die navraag EN

ONTVANG DIE ANTWOORD /////////////////////////

int meting

= 0;

meting =

hallRead ();Serial.print ("Hallsensormeting:");Serial.println (meting);

vertraging (1000);Serial.print ("verbind met");Serial.println (gasheer); // gedefinieerde onderstebo:- gasheer = devapi2.thethingscloud.com of 139.59.26.117

/////////////////////////////////////

/////////////////////////

Serial.println ("binne kry tydstempel / n");

as

(! client.connect (time_server, {

terugkeer;

//*-*-*-*-*-*-*-*-*-*

}client.println ("GET/api/tydstempel HTTP/1.1"); // Wat hierdie deel doen, het ek nie gekry nieclient.println ("Gasheer: baas.thethingscloud.com");client.println ("Cache-beheer: geen cache");client.println ("Postman-Token: ea3c18c6-09ba-d049-ccf3-369a22a284b8");

client.println ();

GiveMeTimestamp (); // dit noem die funksie

wat die antwoord op die tydstempel van die bediener kry

Serial.println ("tydstempel ontvang");

Serial.println (tydstempel);Serial.println ("binne ThingsCloudPost");

String PostValue =

"{" device_id / ": 61121696007, \" slave_id / ": 2";

Postwaarde =

PostValue + ", \" dts / ":" + tydstempel;

Postwaarde =

PostValue +", \" data / ": {" proximity / ":" +meting +"}" +"}";Serial.println (PostValue);

/ * skep 'n instansie van WiFiClientSecure */

WiFiClientSecure -kliënt;Serial.println ("Koppel aan bediener via poort 443");

as

(! client.connect (bediener, 443)) {Serial.println ("Verbinding misluk!");

} anders {Serial.println ("gekoppel aan bediener!");

/* skep

versoek */

client.println ( POST

/toestelle/deviceData HTTP/1.1 ");client.println ("Gasheer: api.thingsai.io");//client.println("Connection: close ");client.println ("Inhoudstipe: toepassing/json");client.println ("cache-control: no-cache");

client.println ( Magtiging:

Draer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9. IjVhMzBkZDFkN2QwYjNhNGQzODkwYzQ4OSI.kaY6OMj5cYlWNqC2PNTkXs9Pky6_mtd;client.print ("Inhoudlengte:");client.println (PostValue.length ());

client.println ();client.println (PostValue);

//////////////////////////////////////////////////////////////////////////////////'//

wolk is klaar en kry nou die antwoordvorm wolkbediener ////////////////////

Serial.print ( Wag vir reaksie

);

terwyl

(! client.available ()) {

vertraging (50);

//Serial.print (".");

}

/* as data is

beskikbaar, ontvang dan en druk dit na Terminal */

terwyl

(client.available ()) {

char c =

client.read ();Reeks.skryf (c);

}

/ * as die bediener ontkoppel het, stop die kliënt */

as

(! client.connected ()) {Serial.println ();Serial.println ("Server ontkoppel");client.stop ();

}

}

Serial.println ( //////////////////////// END

///////////////////// );

vertraging (3000);

}}

Stap 4: RESULTAT:

UITSLAG
UITSLAG

Die waardes wat van die sensor gelees word, word suksesvol na die IOT -wolk gestuur en die grafiek word as nabyheid teenoor tyd geskep. Hiermee word die werking van die sensor geanaliseer en volgens die vereiste toepassingsgebiede gebruik.

Stap 5: Voltooi handleiding:

Dit is die volledige projek om die nabyheid van 'n toestel te meet met behulp van hall sensor esp32 en thingsai.io wolkplatform. Dankie

Aanbeveel: