Inhoudsopgave:
- Stap 1: Aanmaken en inloggen op het THINGSIO-platform
- Stap 2: Nieuw project maken
- Stap 3: Een nieuw apparaat maken
- Stap 4: Apparaatparameter definiëren
- Stap 5: Het apparaat bijwerken
- Stap 6: Coderen
- Stap 7: Selectie van bord en Com-poort
- Stap 8: Circuitverbindingen
- Stap 9: compileren en uploaden
- Stap 10: Seriële monitor
- Stap 11: Lezingen
- Stap 12: Grafische weergave
- Stap 13:
Video: LDR Thingsai Cloud gebruiken: 13 stappen
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:17
HEY … vandaag gaan we leren over het meten van de intensiteit van licht en het plaatsen van de waarden in het THINGSAI IOT-cloudplatform met behulp van ESP32.
De vereisten om dit project te doen zijn:
1. ESP32 Development Board (ik heb ESP32 DEVKIT V1) gebruikt
2. LDR-sensor
3. Doorverbindingsdraden
4. Account in THINGSAI IOT-PLATFORM
Stap 1: Aanmaken en inloggen op het THINGSIO-platform
Log in op het THINGS AI-account. Als u nieuw bent, registreer u dan op het account door op de registerknop te drukken en vul alle inloggegevens in. Uw account wordt aangemaakt en vanaf dat moment kunt u op het cloudplatform werken en uw aangepaste project maken
Stap 2: Nieuw project maken
Nadat u bent ingelogd op het account, klikt u op het nieuwe project en geeft u de projectnaam op om een project aan te maken.
Stap 3: Een nieuw apparaat maken
na het maken van het project is het volgende dat u hoeft te doen een nieuw apparaat maken. Geef de apparaatnaam op en voer de apparaat-ID handmatig of door het systeem gegenereerd in.
Stap 4: Apparaatparameter definiëren
Geef de apparaatparameter op en selecteer vervolgens het type parameter
Stap 5: Het apparaat bijwerken
Selecteer de parameter en update vervolgens het apparaat
Stap 6: Coderen
Selecteer uit de voorbeeldcodes de code van esp32, kopieer deze en plak deze in de arduino IDE en breng de nodige wijzigingen aan volgens de vereisten. Ik heb onderstaande code gegeven
#include #include
#erbij betrekken
int telling=0, i, m, j, k;
int t; int outputpin = A0;//ds18b20
int sensorwaarde;
//////////////////////////////////////// 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;
/////////////////////////////////////// TIMESTAMP BEREKENING functie//////// /////////////////////////////// int GiveMeTimestamp() { unsigned long timeout = millis(); // WiFiClient-client;
while (client.available() == 0)
{
if (millis() - time-out > 50000)
{
klant.stop(); retourneer 0;
}
}
terwijl (client.available())
{
String line = 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 door verbinding te maken met een wifi-netwerk
WiFiMulti.addAP("wifi", "pswrd");
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 analogValue = analogRead (outputpin);
{ /////////////////////////////////////// STUUR DE QUERY EN ONTVANG DE ANTWOORD/// ////////////////////
sensorwaarde = analoog lezen (A0); // lees analoge ingangspin 0
sensorwaarde=sensorwaarde/100;
Serial.print (sensorwaarde, DEC); // drukt de gelezen waarde af
Serieel.print(" \n"); // drukt een spatie af tussen de cijfers
vertraging (1000); // wacht 100 ms op de volgende meting
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");
if (!client.connect(time_server, { opbrengst; //*-*-*-*-*-*-*-*-*-* }
client.println ("GET /api/timestamp HTTP/1.1"); //Wat doet dit deel, ik heb client.println niet gekregen ("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 het tijdstempelantwoord van de server krijgt Serial.println("timestamp receieved");
Serial.println (tijdstempel);
Serial.println ("inside ThingsCloudPost");
String PostValue = "{"device_id\": 61121695844, \"slave_id\": 2";
PostValue = PostValue + ", \"dts\":" +tijdstempel;
PostValue = PostValue +", \"data\":{"INTENSITY\":" + \sensorvalue +"}"+"}";
Serial.println(PostValue);
/* maak een instantie van WiFiClientSecure */ WiFiClientSecure-client;
Serial.println("Verbind met server via poort 443");
if (!client.connect(server, 443))
{
Serial.println("Verbinding mislukt!");
}
anders
{ Serial.println("Verbonden met server!"); /* HTTP-verzoek maken */
client.println( POST /devices/deviceData
client.println("Host: api.thingsai.io"); //client.println ("Verbinding: sluiten"); cl
ient.println ("Inhoudstype: applicatie/json");
client.println("cache-control: no-cache");
client.println("Autorisatie: BearereyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9. IjVhMzBkZDFkN2QwYjNhNGQzODkwYzQ4OSI.kaY6OMj5cYlWNqC2PNTk5"); client.print ("Inhoudslengte: ");
client.println(PostValue.length());
klant.println();
cliënt.println(PostValue); //////////////////////////////////Het plaatsen van de gegevens in de cloud is voltooid en ontvang nu het reactieformulier cloud server//////////////////
Serial.print("Wachten op antwoord ");
while (!client.available()){
vertraging (50); //
Serieel.print(".");
} /* als er gegevens beschikbaar zijn, ontvangen en afdrukken naar Terminal */
terwijl (client.available())
{
char c = cliënt.lezen();
Serieel.schrijven(c);
}
/* als de server de verbinding heeft verbroken, stop de client */
if (!client.connected())
{
Serieel.println();
Serial.println ("Server verbroken");
klant.stop();
}
} Serial.println("////////////////////// HET EINDE //////////////////// /");
vertraging (3000); } }
Stap 7: Selectie van bord en Com-poort
Selecteer in tools het bord en selecteer vervolgens de com-poort
Stap 8: Circuitverbindingen
De codering is voltooid en maak vervolgens de volgende verbindingen zoals hieronder vermeld:
AANSLUITINGEN:
GND van esp32 naar GND van de LDR-sensor
3V3 0f esp32 naar de Vcc van de LDR
VP van esp32 naar de A0 van de LDR
Stap 9: compileren en uploaden
compileer en upload de code naar de esp32 en lees vervolgens de metingen van de seriële monitor. Dat zou een resultaat als dit laten zien
Stap 10: Seriële monitor
De waarden worden verkregen op de seriële monitor en vervolgens verzonden naar het THINGSAI IOT Cloud-platform.
Stap 11: Lezingen
Dit toont de waarden die zijn verkregen van het esp32-bord.
Stap 12: Grafische weergave
Dit is de grafische weergave van de verkregen waarden. Dat is het einde van de tutorial. Ik hoop dat je het hebt begrepen. Bedankt
Aanbevolen:
Hoe de GPIO-pinnen en Avrdude van een Raspberry Pi te gebruiken om DIMP 2 of DA PIMP te Bit-bang-programma te gebruiken 2: 9 stappen
Hoe de GPIO-pinnen van een Raspberry Pi en Avrdude te gebruiken voor Bit-bang-programma DIMP 2 of DA PIMP 2: Dit zijn stapsgewijze instructies voor het gebruik van een Raspberry Pi en het gratis open-source commando avrdude to bit-bang -programmeer een DIMP 2 of DA PIMP 2. Ik neem aan dat je bekend bent met je Raspberry Pi en de LINUX-opdrachtregel. Je hoeft niet
Bewegingsdetector met behulp van Thingsai.io Iot Cloud Platform - Ajarnpa
Bewegingsdetector met behulp van Thingsai.io Iot Cloud Platform: in deze tutorial ga ik uitleggen over bewegingsdetectie met behulp van een PIR-sensor en Esp32 samen met een IOT-cloudplatform Thingai.io
Mac Terminal gebruiken en toetsfuncties gebruiken: 4 stappen
Mac Terminal gebruiken en toetsfuncties gebruiken: We laten u zien hoe u de MAC Terminal opent. We zullen u ook enkele functies binnen de Terminal laten zien, zoals ifconfig, mappen wijzigen, toegang tot bestanden en arp. Met Ifconfig kunt u uw IP-adres en uw MAC-advertentie controleren
Orange Pi gebruiken zonder monitor door SSH en VNC-server te gebruiken - Ajarnpa
Gebruik Orange Pi zonder monitor door SSH en VNC-server te gebruiken: Orange Pi is als een minicomputer. Het heeft alle basispoorten die een normale computer heeft.Zoals HDMIUSBEthernetIT heeft een aantal speciale speciale poorten ZoalsUSB OTGGPIO-headersSD-kaartsleufParallelle camerapoortAls u orange pi wilt bedienen, moet u o
Hoe de Wiimote als computermuis te gebruiken Kaarsen als sensor gebruiken!! - Ajarnpa
De Wiimote als computermuis gebruiken Kaarsen als sensor gebruiken!!: Deze gids laat je zien hoe je je Wii-afstandsbediening (Wiimote) op je pc aansluit en als muis gebruikt