Inhaltsverzeichnis:
- Schritt 1: KOMPONENTEN:
- Schritt 2: BLOCKDIAGRAMM-DARSTELLUNG VON Esp32
- Schritt 3: CODIERUNG:
- Schritt 4: AUSGABE:
- Schritt 5: GRAFIK:
- Schritt 6:
Video: Temperaturmessung mit Esp32 und Thingsio.ai-Plattform - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:19
In diesem Tutorial werde ich erklären, wie man die Temperatur in der Umgebung misst, indem man den eingebauten Temperatursensor verwendet, der in der ESP32-Entwicklungsplatine vorhanden ist. esp32 hat viele eingebaute Sensoren wie den Hallsensor, der als Näherungssensor, Berührungssensor und Temperatursensor verwendet wird. In diesem Tutorial werden wir über den Temperatursensor diskutieren.
Schritt 1: KOMPONENTEN:
Hardware:
1.esp32-Entwicklungsboard
Software:
1. Arduino-IDE
2. Thingsio.ai
Schritt 2: BLOCKDIAGRAMM-DARSTELLUNG VON Esp32
Schritt 3: CODIERUNG:
#enthalten
#enthalten
#enthalten
#enthalten
#enthalten
#ifdef _cplusplus
extern "C" {
#endif
uint8_t temprature_sens_read();
//uint8_t g_phyFuns;
#ifdef _cplusplus
}
#endif
int count = 0, i, m, j, k;
int t, t1, t2, t3;
int Ausgabepin = A0; // ds18b20
/////////////////////////////////////// ALLE ERKLÄRUNGEN
für CLOUD //////////////////////////////
const char* host = "api.thingsai.io"; // ODER-Host =
devapi2.thethingscloud.com
const char* post_url = "/devices/deviceData"; //
ODER /api/v2/thingscloud2/_table/data_ac
const char* time_server =
"baas.thethingscloud.com"; // dies ist zum Konvertieren des Zeitstempels
const int httpPort = 80;
const int httpsPort = 443;
const char* server =
"api.thingsai.io"; // Server-URL
char-Zeitstempel[10];
WiFiMulti WiFiMulti;
// Verwenden Sie die WiFiClient-Klasse, um TCP-Verbindungen zu erstellen
WiFiClient-Client;
////////////////////////////////////// TIMESTAMP
BERECHNUNGS-Funktion //////////////////////////////////////
int GiveMeTimestamp()
{
lange nicht signiert
Zeitüberschreitung = Millis();
// WiFiClient-Client;
während
(client.verfügbar() == 0)
{
if (millis() -
Zeitüberschreitung > 50000)
{
client.stop();
0 zurückgeben;
}
}
while (client.verfügbar())
{
Schnurlinie =
client.readStringUntil('\r'); //indexOf() ist eine Funktion, um nach smthng zu suchen, es gibt -1 zurück, wenn es nicht gefunden wird
int pos =
line.indexOf("\"Zeitstempel\""); // suche nach "\"timestamp\"" vom Anfang der erhaltenen Antwort und kopiere alle Daten danach, es wird dein Zeitstempel sein
wenn (pos >=
0)
{
intj = 0;für(j=0;j<10;j++)
{Zeitstempel[j] = Zeile[pos + 12 + j];
}
}
}
}
////////////////////////////////////////////////////////////////////////////////////////////////////////
Void-Setup ()
{Serial.begin(115200);
Verzögerung(10);
tzset();
// Wir beginnen mit
Verbindung mit einem WLAN-NetzwerkWiFiMulti.addAP("dlink_DWR-113", "madhukar66");
Serial.println();
Serial.println();Serial.print("Warten Sie auf WLAN…");while(WiFiMulti.run() != WL_CONNECTED) {Serial.print(".");
Verzögerung (500);
}Serial.println("");Serial.println ("WiFi verbunden");Serial.println("IP-Adresse:");Serial.println (WiFi.localIP());
Verzögerung (500);
}
uint8_t temp_farenheit;
float temp_celsius;
char strftime_buf[64];
time_t jetzt = 0;
struct tm timeinfo;
char-buf[256];
Leere Schleife ()
{
// int analogValue =
analogRead (Ausgangspin);
{
////////////////////////////////////// ANFRAGE SENDEN UND
ANTWORT ERHALTEN ///////////////////////
//
t1=(analogValue/1024,0) *5000;
//
Serial.print("temp:");
// Serial.println (t1);
/
/t2=(t1/10);
//
Serial.print("celc:");
//
Serial.println (t2);
/
/t3=((t2 *
9)/5 + 32);
//
Serial.print ("fhrn: ");
//
Serial.println (t3); //brechen;localtime_r(&jetzt, &timeinfo);strftime(strftime_buf, sizeof(strftime_buf), "%c", &timeinfo);sprintf(buf, "Scanstart %02d:%02d:%02d ", timeinfo.tm_hour, timeinfo.tm_min, timeinfo.tm_sec);
Seriendruck
(buf);
temp_farenheit=
tempratur_sens_read();
temp_celsius = (temp_farenheit - 32) / 1,8;Serial.print ("Temp onBoard");Serial.print (temp_farenheit);Serial.print ("°F");Serial.print (temp_celsius);Serial.println("°C");
Verzögerung (1000);
jetzt++;
Serial.print( verbinden
zu );Serial.println (Host); // oben definiert: - host = devapi2.thethingscloud.com oder 139.59.26.117
//////////////////////////////////// TIMESTAMP CODE SNIPPET
/////////////////////////
Serial.println("innerhalb Zeitstempel abrufen\n");
wenn
(!client.connect(Zeitserver, {
Rückkehr;
//*-*-*-*-*-*-*-*-*-*
}client.println("GET /api/timestamp HTTP/1.1"); // Was macht dieser Teil, ich habe es nicht verstanden?client.println("Host: baas.thethingscloud.com");client.println("Cache-Steuerung: kein Cache");client.println("Postman-Token: ea3c18c6-09ba-d049-ccf3-369a22a284b8");
client.println();
GiveMeTimestamp(); //es ruft die
Funktion, die die Zeitstempelantwort vom Server erhält
Serial.println ("Zeitstempel erhalten");
Serial.println (Zeitstempel);Serial.println ("innerhalb von ThingsCloudPost");
String PostValue =
"{"device_id\": 61121695920, \"slave_id\": 2";
PostValue =
PostValue + ", \"dts\":" +Zeitstempel;
PostValue =
PostValue +", \"data\":{"TEMP\":" + temp_farenheit +"}"+"}";Serial.println (PostValue);
/* eine Instanz von WiFiClientSecure erstellen */
WiFiClientSecure-Client;Serial.println("Verbindung zum Server über Port 443 herstellen");
wenn
(!client.connect(server, 443)){Serial.println ("Verbindung fehlgeschlagen!");
} anders {Serial.println("Mit Server verbunden!");
/* HTTP erstellen
Anfrage */client.println("POST /devices/deviceData HTTP/1.1");client.println("Host: api.thingsai.io");//client.println("Verbindung: schließen");client.println("Inhaltstyp: Anwendung/json");client.println("Cache-Steuerung: kein Cache");client.println("Berechtigung: Inhaber eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9. IjVhMzBkZDFkN2QwYjNhNGQzODkwYzQ4OSI.kaY6OMj5cYlWNqC2PNTykXs9ajP);client.print("Inhaltslänge: ");client.println(PostValue.length());client.println();client.println (PostWert);
//////////////////////////////////POSTEN die Daten auf die
cloud ist fertig und erhalte jetzt das Antwortformular cloud server //////////////////
Serial.print( Warten
für Antwort );
während
(!client.verfügbar()){
Verzögerung (50);
//Serial.print(".");
}
/* wenn Daten. sind
verfügbar, dann empfangen und an Terminal drucken */
während
(client.verfügbar()) {
Zeichen c =
client.read();Serial.write (c);
}
/* wenn die
Server getrennt, Client stoppen */
wenn
(!client.connected()) {Serial.println();Serial.println("Server getrennt");
client.stop();
}
}
Serial.println( ////////////////////// DAS ENDE
///////////////////// );
Verzögerung (3000);
}
}
Schritt 4: AUSGABE:
Hier ist die Ausgabe der vom Sensor gelesenen Temperaturwerte.
Schritt 5: GRAFIK:
Die grafische Darstellung der vom Onboard-Temperatursensor gelesenen Werte.
Empfohlen:
Heimwerken -- Einen Spinnenroboter herstellen, der mit einem Smartphone mit Arduino Uno gesteuert werden kann – wikiHow
Heimwerken || Wie man einen Spider-Roboter herstellt, der mit einem Smartphone mit Arduino Uno gesteuert werden kann: Während man einen Spider-Roboter baut, kann man so viele Dinge über Robotik lernen. Wie die Herstellung von Robotern ist sowohl unterhaltsam als auch herausfordernd. In diesem Video zeigen wir Ihnen, wie Sie einen Spider-Roboter bauen, den wir mit unserem Smartphone (Androi
Bewegungsaktivierte Cosplay Wings mit Circuit Playground Express - Teil 1: 7 Schritte (mit Bildern)
Bewegungsaktivierte Cosplay-Flügel mit Circuit Playground Express - Teil 1: Dies ist Teil 1 eines zweiteiligen Projekts, in dem ich Ihnen meinen Prozess zur Herstellung eines Paars automatisierter Feenflügel zeige. Der erste Teil des Projekts ist der Mechanik der Flügel, und der zweite Teil macht es tragbar und fügt die Flügel hinzu
Raspberry Pi mit Node.js mit der Cloud verbinden – wikiHow
So verbinden Sie Raspberry Pi mit Node.js mit der Cloud: Dieses Tutorial ist nützlich für alle, die einen Raspberry Pi mit Node.js mit der Cloud, insbesondere mit der AskSensors IoT-Plattform, verbinden möchten. Sie haben keinen Raspberry Pi? Wenn Sie derzeit keinen Raspberry Pi besitzen, empfehle ich Ihnen, sich einen Raspberry Pi zuzulegen
DIY Circuit Activity Board mit Büroklammern - HERSTELLER - STEM: 3 Schritte (mit Bildern)
DIY Circuit Activity Board mit Büroklammern | HERSTELLER | STEM: Mit diesem Projekt können Sie den Weg des elektrischen Stroms ändern, um durch verschiedene Sensoren zu laufen. Mit diesem Design können Sie zwischen dem Aufleuchten einer blauen LED oder dem Aktivieren eines Summers wechseln. Sie haben auch die Wahl, einen lichtabhängigen Widerstand mit
Beginnen Sie mit Light Painting (kein Photoshop): 5 Schritte (mit Bildern)
Beginnend mit Light Painting (kein Photoshop): Ich habe vor kurzem eine neue Kamera gekauft und einige ihrer Funktionen untersucht, als ich im Internet auf Light Painting oder Langzeitbelichtung gestoßen bin. Die meisten von uns werden die Grundform des Lightpaintings mit einem Foto in einer Stadt mit einer Straße gesehen haben