Inhoudsopgave:
- Stap 1: COMPONENTEN
- Stap 2: AANSLUITINGEN:
- Stap 3: CODEREN:
- Stap 4: RESULTAAT:
- Stap 5: Voltooi zelfstudie:
Video: Nabijheidsmeting: 5 stappen
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:17
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
Hardware onderdelen:
1. Zaalsensor
2. esp32-ontwikkelbord
3. Doorverbindingsdraden
Softwarecomponenten:
1. Arduino-IDE
2. DingenIO. AI
Stap 2: 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:
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:
Game Design in Flick in 5 stappen: 5 stappen
Game-ontwerp in Flick in 5 stappen: Flick is een heel eenvoudige manier om een game te maken, vooral zoiets als een puzzel, visuele roman of avonturengame
Gezichtsdetectie op Raspberry Pi 4B in 3 stappen: 3 stappen
Gezichtsdetectie op Raspberry Pi 4B in 3 stappen: In deze Instructable gaan we gezichtsdetectie uitvoeren op Raspberry Pi 4 met Shunya O/S met behulp van de Shunyaface-bibliotheek. Shunyaface is een bibliotheek voor gezichtsherkenning/detectie. Het project streeft naar de hoogste detectie- en herkenningssnelheid met
Doe-het-zelfspiegel in eenvoudige stappen (met LED-stripverlichting): 4 stappen
DIY make-upspiegel in eenvoudige stappen (met behulp van LED-stripverlichting): In dit bericht heb ik een doe-het-zelfspiegel gemaakt met behulp van de LED-strips. Het is echt gaaf en je moet ze ook proberen
Hoe plug-ins in WordPress te installeren in 3 stappen: 3 stappen
Hoe plug-ins in WordPress te installeren in 3 stappen: In deze tutorial laat ik je de essentiële stappen zien om de WordPress-plug-in op je website te installeren. In principe kunt u plug-ins op twee verschillende manieren installeren. De eerste methode is via ftp of via cpanel. Maar ik zal het niet opsommen, want het is echt compl
Akoestische levitatie met Arduino Uno stap voor stap (8 stappen): 8 stappen
Akoestische levitatie met Arduino Uno Stap voor stap (8-stappen): ultrasone geluidstransducers L298N Vrouwelijke DC-adapter voeding met een mannelijke DC-pin Arduino UNOBreadboardHoe dit werkt: eerst upload je code naar Arduino Uno (het is een microcontroller uitgerust met digitale en analoge poorten om code te converteren (C++)