Inhaltsverzeichnis:
- Schritt 1: Erstellen und Anmelden bei der THINGSIO-Plattform
- Schritt 2: Neues Projekt erstellen
- Schritt 3: Erstellen eines neuen Geräts
- Schritt 4: Geräteparameter definieren
- Schritt 5: Aktualisieren des Geräts
- Schritt 6: Codierung
- Schritt 7: Auswahl von Board und Com-Port
- Schritt 8: Stromkreisverbindungen
- Schritt 9: Kompilieren und hochladen
- Schritt 10: Serieller Monitor
- Schritt 11: Messwerte
- Schritt 12: Grafische Darstellung
- Schritt 13:
Video: LDR mit Thingsai Cloud - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:19
HEY…..heute werden wir lernen, die Lichtintensität zu messen und die Werte mit ESP32 in die THINGSAI IOT Cloud-Plattform zu posten.
Die Voraussetzungen für dieses Projekt sind
1. ESP32-Entwicklungsboard (ich habe ESP32 DEVKIT V1 verwendet)
2. LDR-Sensor
3. Überbrückungsdrähte
4. Konto auf der THINGSAI IOT-PLATTFORM
Schritt 1: Erstellen und Anmelden bei der THINGSIO-Plattform
Melden Sie sich beim THINGS AI-Konto an. Wenn Sie neu sind, registrieren Sie sich für das Konto, indem Sie auf die Schaltfläche Registrieren klicken und alle Anmeldeinformationen ausfüllen. Ihr Konto wird erstellt und von da an können Sie auf der Cloud-Plattform arbeiten und Ihr benutzerdefiniertes Projekt erstellen
Schritt 2: Neues Projekt erstellen
Nachdem Sie sich beim Konto angemeldet haben, klicken Sie zum Erstellen eines Projekts einfach auf das neue Projekt und geben Sie dann den Projektnamen ein.
Schritt 3: Erstellen eines neuen Geräts
Nach dem Anlegen des Projekts müssen Sie als nächstes ein neues Gerät erstellen. Geben Sie den Gerätenamen und die Geräte-ID entweder manuell oder systemgeneriert ein.
Schritt 4: Geräteparameter definieren
Geben Sie den Geräteparameter ein und wählen Sie dann die Art des Parameters
Schritt 5: Aktualisieren des Geräts
Wählen Sie den Parameter aus und aktualisieren Sie dann das Gerät
Schritt 6: Codierung
Wählen Sie aus den Beispielcodes den Code von esp32 aus, kopieren Sie ihn und fügen Sie ihn dann in die Arduino-IDE ein und nehmen Sie die erforderlichen Änderungen gemäß den Anforderungen vor. Ich habe den Code unten angegeben
#einschließen #einschließen
#enthalten
int count = 0, i, m, j, k;
int t; int Ausgabepin = A0; // ds18b20
int Sensorwert;
/////////////////////////////////////// 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;
////////////////////////////////////// Funktion ZEITSTEMPELBERECHNUNG ///////// /////////////////////////////// int GiveMeTimestamp () { unsigned long timeout = millis (); // WiFiClient-Client;
while (client.verfügbar() == 0)
{
if (millis() - Zeitüberschreitung > 50000)
{
client.stop(); 0 zurückgeben;
}
}
while (client.verfügbar())
{
String line = 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);
// Wir beginnen mit der Verbindung mit einem WiFi-Netzwerk
WiFiMulti.addAP("wifi", "pswrd");
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);
}
Leere Schleife ()
{
int analogValue = analogRead (Ausgangspin);
{ ////////////////////////////////////// ANFRAGE SENDEN UND ANTWORT ERHALTEN/// ////////////////////
Sensorwert = analogRead(A0); // Analogeingang Pin 0 lesen
Sensorwert = Sensorwert/100;
Serial.print (Sensorwert, DEC); // gibt den gelesenen Wert aus
Serial.print("\n"); // gibt ein Leerzeichen zwischen den Zahlen aus
Verzögerung (1000); // warte 100ms auf den nächsten Messwert
Serial.print ("Verbindung zu"); Serial.println (Host); // oben definiert: - host = devapi2.thethingscloud.com oder 139.59.26.117
//////////////////////////////////// TIMESTAMP CODE SNIPPET ////////// ///////////////
Serial.println("innerhalb Zeitstempel abrufen\n");
if (!client.connect(time_server, { Rückkehr; //*-*-*-*-*-*-*-*-*-* }
client.println("GET /api/timestamp HTTP/1.1"); //Was macht dieser Teil, ich habe 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 auf, die die Zeitstempelantwort vom Server Serial.println erhält ("timestamp receieved");
Serial.println (Zeitstempel);
Serial.println ("innerhalb von ThingsCloudPost");
String PostValue = "{"device_id\": 61121695844, \"slave_id\": 2";
PostValue = PostValue + ", \"dts\":" +Zeitstempel;
PostValue = PostValue +", \"data\":{"INTENSITY\":" + \sensorvalue +"}"+"}";
Serial.println (PostValue);
/* eine Instanz von WiFiClientSecure erstellen */ WiFiClientSecure-Client;
Serial.println("Verbindung zum Server über Port 443 herstellen");
if (!client.connect(server, 443))
{
Serial.println ("Verbindung fehlgeschlagen!");
}
anders
{ Serial.println ("Mit Server verbunden!"); /* HTTP-Anfrage erstellen */
client.println( POST /devices/deviceData
client.println("Host: api.thingsai.io"); //client.println("Verbindung: schließen"); cl
ient.println("Inhaltstyp: Anwendung/json");
client.println("Cache-Steuerung: kein Cache");
client.println("Autorisierung: BearereyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9. IjVhMzBkZDFkN2QwYjNhNGQzODkwYzQ4OSI.kaY6OMj5cYlWNqC2PNTkXs9jPKy); client.print("Inhaltslänge: ");
client.println(PostValue.length());
client.println();
client.println (PostWert); /////////////////////////////////POSTING der Daten in die Cloud ist abgeschlossen und jetzt erhalten Sie das Antwortformular cloud Server//////////////////
Serial.print ("Warten auf Antwort");
while (!client.verfügbar()){
Verzögerung (50); //
Serial.print(".");
} /* wenn Daten verfügbar sind, dann empfangen und an Terminal drucken */
while (client.verfügbar())
{
char c = client.read();
Serial.write (c);
}
/* Wenn der Server getrennt wurde, stoppen Sie den Client */
if (!client.connected())
{
Serial.println();
Serial.println("Server getrennt");
client.stop();
}
} Serial.println("///////////////////// DAS ENDE /////////////////// /");
Verzögerung (3000); } }
Schritt 7: Auswahl von Board und Com-Port
Wählen Sie aus den Tools das Board und dann den Com-Port aus
Schritt 8: Stromkreisverbindungen
Die Codierung ist abgeschlossen, dann stellen Sie die folgenden Verbindungen wie unten erwähnt her
ANSCHLÜSSE:
GND von esp32 zu GND des LDR-Sensors
3V3 0f esp32 zum Vcc des LDR
VP von esp32 zum A0 des LDR
Schritt 9: Kompilieren und hochladen
Kompilieren und laden Sie den Code in den esp32 und lesen Sie dann die Messwerte vom seriellen Monitor. Das würde ein Ergebnis wie dieses zeigen
Schritt 10: Serieller Monitor
Die Werte werden auf dem seriellen Monitor abgerufen und dann an die THINGSAI IOT Cloud-Plattform gesendet.
Schritt 11: Messwerte
Dies zeigt die von der esp32-Platine erhaltenen Werte.
Schritt 12: Grafische Darstellung
Dies ist die grafische Darstellung der erhaltenen Werte. Das ist das Ende des Tutorials. Hoffe du hast es verstanden. Danke schön
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
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
So verbinden Sie einen ESP32 mit der IoT-Cloud: 8 Schritte
So verbinden Sie einen ESP32 mit der IoT-Cloud: Diese Anleitung enthält eine Reihe von Artikeln zum Anschließen von Hardware wie Arduino und ESP8266 an die Cloud. Ich werde Ihnen erklären, wie Sie Ihren ESP32-Chip mit dem AskSensors IoT-Dienst mit der Cloud verbinden. Warum ESP32?Nach dem großen Erfolg
So veröffentlichen Sie ESP32-Daten mit NTP-Zeitstempel in der IoT-Cloud – wikiHow
So veröffentlichen Sie ESP32-Daten mit NTP-Zeitstempel in der IoT-Cloud: In vielen Anwendungen müssen Benutzer ihre Daten zusammen mit dem lokalen Zeitstempel der in der Nutzlast zu sendenden Werte an die AskSensors-IoT-Cloud senden. Das Zeitstempelformat ist die Zeit der UNIX-Epoche: die Anzahl der Millisekunden, die seit Januar
Bodenfeuchtesensor und ESP8266 mit der AskSensors IoT Cloud verbinden – wikiHow
So verbinden Sie Bodenfeuchtigkeitssensor und ESP8266 mit der AskSensors IoT Cloud: Diese Anleitung zeigt Ihnen, wie Sie Ihren Bodenfeuchtigkeitssensor und ESP8266 mit der IoT-Cloud verbinden. Für dieses Projekt verwenden wir ein Knoten MCU ESP8266 WiFi-Modul und einen Bodenfeuchtigkeitssensor das misst den volumetrischen Inhalt des Wassers in der so