Inhoudsopgave:

Nabijheidsmeting: 5 stappen
Nabijheidsmeting: 5 stappen

Video: Nabijheidsmeting: 5 stappen

Video: Nabijheidsmeting: 5 stappen
Video: ОПАСНЫЕ ГОСТИ 👮 #shorts 2024, Juli-
Anonim
Nabijheidsmeting
Nabijheidsmeting

In deze tutorial ga ik uitleggen over het meten van de nabijheid van een apparaat en het publiceren van de waarden in het Thingsai, io cloudplatform met behulp van hall-sensor en esp32-ontwikkelbord.

Een Hall-effectsensor is een apparaat dat wordt gebruikt om de grootte van een magnetisch veld te meten. De uitgangsspanning is recht evenredig met de magnetische veldsterkte erdoorheen. Hall-effectsensoren worden gebruikt voor naderingsdetectie, positionering, snelheidsdetectie en stroomdetectietoepassingen.

Stap 1: COMPONENTEN

COMPONENTEN
COMPONENTEN
COMPONENTEN
COMPONENTEN
COMPONENTEN
COMPONENTEN

Hardware onderdelen:

1. Zaalsensor

2. esp32-ontwikkelbord

3. Doorverbindingsdraden

Softwarecomponenten:

1. Arduino-IDE

2. DingenIO. AI

Stap 2: AANSLUITINGEN:

AANSLUITINGEN
AANSLUITINGEN

Hall-sensor ----------------------esp32

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

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

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

Stap 3: CODEREN:

#erbij betrekken

#erbij betrekken

#erbij betrekken

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

int meting;

int outputpin = A0;//ds18b20

///////////////////////////////////////// ALLE VERKLARINGEN

voor CLOUD //////////////////////////////

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

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 de tijdstempel te converteren

const int httpPort = 80;

const int httpsPort = 443;

const char* server =

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

char tijdstempel [10];

WiFiMulti WiFiMulti;

// Gebruik de WiFiClient-klasse om TCP-verbindingen te maken

WiFiClient-client;

//////////////////////////////////////// TIJDSSTEMPEL

BEREKENING functie///////////////////////////////////////

int GiveMeTimestamp()

{

niet ondertekend lang

time-out = millis();

// WiFiClient-client;

terwijl

(klant.beschikbaar() == 0)

{

als (millis() -

time-out > 50000)

{

klant.stop();

retourneer 0;

}

}

terwijl (client.available())

{

String lijn =

client.readStringUntil('\r'); //indexOf() is een functie om te zoeken naar smthng, het retourneert -1 indien niet gevonden

int pos =

line.indexOf("\"tijdstempel\""); // zoek naar "\"timestamp\"" vanaf het begin van het antwoord kreeg en kopieer daarna alle gegevens, dit is uw tijdstempel

als (pos >=

0)

{

intj = 0;voor(j=0;j<10;j++)

{tijdstempel [j] = regel [pos + 12 + j];

}

}

}

}

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

ongeldige setup()

{Serieel.begin(115200);

vertraging(10);

// We beginnen met

verbinding maken met een wifi-netwerk

WiFiMulti.addAP("wifi_name", "wifi wachtwoord");

Serieel.println();

Serieel.println();Serial.print("Wacht op wifi… ");while(WiFiMulti.run() != WL_CONNECTED) {Serieel.print(".");

vertraging (500);

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

Serial.println(WiFi.localIP());

vertraging (500);

}

lege lus()

{

int analoge waarde =

analoog lezen (uitvoerpin);

{

/////////////////////////////////////// VERZENDEN DE QUERY EN

ONTVANG HET ANTWOORD///////////////////////

int meting

= 0;

meting =

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

vertraging (1000);Serial.print("verbinden met ");Serieel.println(host); // gedefinieerde bovenkant: - host = devapi2.thethingscloud.com of 139.59.26.117

///////////////////////////////////// TIJDSTEMPEL CODESNIPPET

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

Serial.println("inside get timestamp\n");

indien

(!client.connect(time_server, {

opbrengst;

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

}client.println ("GET /api/timestamp HTTP/1.1"); // Wat doet dit deel, ik heb het niet begrepenclient.println("Host: baas.thethingscloud.com");client.println("Cache-Control: no-cache");client.println ("Postbode-token: ea3c18c6-09ba-d049-ccf3-369a22a284b8");

klant.println();

GeefMeTijdstempel(); // het zal de functie aanroepen

die de tijdstempelreactie van de server krijgt

Serial.println("tijdstempel ontvangen");

Serial.println (tijdstempel);Serial.println ("inside ThingsCloudPost");

Tekenreeks PostWaarde =

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

Postwaarde =

PostValue + ", \"dts\":" +tijdstempel;

Postwaarde =

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

/* maak een instantie van WiFiClientSecure */

WiFiClientSecure-client;Serial.println("Verbind met server via poort 443");

indien

(!client.connect(server, 443)){Serial.println("Verbinding mislukt!");

} anders {Serial.println("Verbonden met server!");

/* maak

verzoek */

client.println( POST

/devices/deviceData HTTP/1.1");client.println("Host: api.thingsai.io");//client.println ("Verbinding: sluiten");client.println ("Inhoudstype: applicatie/json");client.println("cache-control: no-cache");

client.println( Autorisatie:

Drager eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9. IjVhMzBkZDFkN2QwYjNhNGQzODkwYzQ4OSI.kaY6OMj5cYlWNqC2PNTkXs9PKy6Y7jfdl");client.print ("Inhoudslengte: ");client.println(PostValue.length());

klant.println();cliënt.println(PostValue);

//////////////////////////////////POST de gegevens op de

cloud is klaar en ontvang nu het antwoordformulier cloud server//////////////////

Serial.print( Wachten op antwoord

);

terwijl

(!client.beschikbaar()){

vertraging (50);

//Serieel.print(".");

}

/* als gegevens zijn

beschikbaar, ontvang en print naar Terminal */

terwijl

(klant.beschikbaar()) {

char c =

klant.lezen();Serieel.schrijven(c);

}

/* als de server de verbinding heeft verbroken, stop de client */

indien

(!client.verbonden()) {Serieel.println();Serial.println ("Server verbroken");klant.stop();

}

}

Serial.println( ////////////////////// HET EINDE

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

vertraging (3000);

}}

Stap 4: RESULTAAT:

RESULTAAT
RESULTAAT

De waarden die van de sensor worden gelezen, worden met succes naar de IOT-cloud verzonden en de grafiek wordt gemaakt als nabijheid versus tijd. Hiermee wordt de werking van de sensor geanalyseerd en gebruikt volgens de vereiste toepassingsgebieden.

Stap 5: Voltooi zelfstudie:

Dit is het complete project voor het meten van de nabijheid van een apparaat met behulp van hall-sensor esp32 en thingsai.io cloudplatform. Bedankt

Aanbevolen: