Sadržaj:
- Korak 1: Kreiranje i prijava na THINGSIO platformu
- Korak 2: Kreiranje novog projekta
- Korak 3: Kreiranje novog uređaja
- Korak 4: Definiranje parametra uređaja
- Korak 5: Ažuriranje uređaja
- Korak 6: Kodiranje
- Korak 7: Odabir ploče i Com porta
- Korak 8: Povezivanje kruga
- Korak 9: Sastavite i otpremite
- Korak 10: Serijski monitor
- Korak 11: Čitanje
- Korak 12: Grafičko predstavljanje
- Korak 13:
Video: LDR Korištenje Thingsai oblaka: 13 koraka
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:07
HEJ….. danas ćemo naučiti o mjerenju intenziteta svjetlosti i postavljanju vrijednosti na THINGSAI IOT cloud platformu pomoću ESP32.
Uslovi za realizaciju ovog projekta su
1. Razvojna ploča ESP32 (koristio sam ESP32 DEVKIT V1)
2. LDR senzor
3. Žice za kratkospojnike
4. Račun u THINGSAI IOT PLATFORMI
Korak 1: Kreiranje i prijava na THINGSIO platformu
Prijavite se na THINGS AI račun. Ako ste novi, registrirajte se na račun pritiskom na gumb za registraciju i popunite sve vjerodajnice. Vaš račun će biti kreiran i od tada ćete moći raditi na cloud platformi i kreirati svoj prilagođeni projekt
Korak 2: Kreiranje novog projekta
Nakon prijavljivanja na račun, za kreiranje projekta samo kliknite na novi projekt, a zatim dajte naziv projektu.
Korak 3: Kreiranje novog uređaja
nakon kreiranja projekta, sljedeće što trebate učiniti je stvoriti novi uređaj. Dajte naziv uređaja i unesite ID uređaja ili ručno ili putem sistema.
Korak 4: Definiranje parametra uređaja
Dajte parametar uređaja, a zatim odaberite vrstu parametra
Korak 5: Ažuriranje uređaja
Odaberite parametar, a zatim ažurirajte uređaj
Korak 6: Kodiranje
Iz uzoraka kodova odaberite kod esp32, kopirajte ga, a zatim ga zalijepite u arduino IDE i unesite potrebne promjene prema zahtjevu. Dolje sam dao kôd
#include #include
#include
int broj = 0, i, m, j, k;
int t; int outputpin = A0; // ds18b20
int sensorvalue;
//////////////////////////////////////////// SVE IZJAVE za CLOUD ////// //////////////////////////
const char* host = "api.thingsai.io"; // ILI
host = devapi2.thethingscloud.com
const char* post_url = "/devices/deviceData"; // ILI/api/v2/thingscloud2/_table/data_ac
const char* time_server = "baas.thethingscloud.com"; // ovo služi za pretvaranje vremenske oznake
const int httpPort = 80;
const int httpsPort = 443;
const char* server = "api.thingsai.io"; // URL servera
char vremenska oznaka [10];
WiFiMulti WiFiMulti;
// Koristite klasu WiFiClient za kreiranje TCP veza
WiFiClient klijent;
/////////////////////////////////////////// TIMESTAMP CALCULATION funkcija //////// /////////////////////////////////// int GiveMeTimestamp () {unsigned long timeout = millis (); // WiFiClient klijent;
while (client.available () == 0)
{
if (millis () - timeout> 50000)
{
client.stop (); return 0;
}
}
while (client.available ())
{
Linija niza = client.readStringUntil ('\ r'); // indexOf () je funkcija za traženje smthng -a, vraća -1 ako nije pronađeno
int pos = line.indexOf ("\" vremenska oznaka / ""); // potražite "\" vremensku oznaku / "" od početka odgovora i kopirajte sve podatke nakon toga, to će biti vaša vremenska oznaka
ako (pos> = 0)
{
int j = 0;
za (j = 0; j <10; j ++)
{
vremenska oznaka [j] = linija [pos + 12 + j];
}
}
}
} ////////////////////////////////////////////////////////////////////////////////////////////////////////
void setup ()
{
Serial.begin (115200);
kašnjenje (10);
// Počinjemo povezivanjem na WiFi mrežu
WiFiMulti.addAP ("wifi", "pswrd");
Serial.println ();
Serial.println ();
Serial.print ("Sačekajte WiFi …");
while (WiFiMulti.run ()! = WL_CONNECTED)
{
Serial.print (".");
kašnjenje (500);
}
Serial.println ("");
Serial.println ("WiFi povezan");
Serial.println ("IP adresa:"); Serial.println (WiFi.localIP ());
kašnjenje (500);
}
void loop ()
{
int analogValue = analogRead (outputpin);
{///////////////////////////////////////// POŠALJITE UPIT I PRIMITE ODGOVOR /// //////////////////////
sensorvalue = analogRead (A0); // očitavanje analognog ulaznog pina 0
senzorska vrijednost = osjetljiva vrijednost/100;
Serial.print (vrijednost senzora, DEC); // ispisuje pročitanu vrijednost
Serial.print ("\ n"); // ispisuje razmak između brojeva
kašnjenje (1000); // čekajte 100 ms na sljedeće čitanje
Serial.print ("povezivanje sa"); Serial.println (host); // gore definirano:- host = devapi2.thethingscloud.com ili 139.59.26.117
//////////////////////////////////////// TIMESTAMP KOD SNIPPET //////////// /////////////////
Serial.println ("unutra get timestamp / n");
if (! client.connect (time_server, {return; //*-*-*-*-*-*-*-*-*-*}
client.println ("GET/api/vremenska oznaka HTTP/1.1"); // Šta radi ovaj dio, nisam dobio client.println ("Domaćin: baas.thethingscloud.com");
client.println ("Cache-Control: no-cache");
client.println ("Token poštara: ea3c18c6-09ba-d049-ccf3-369a22a284b8");
client.println ();
GiveMeTimestamp (); // pozvat će funkciju koja će od servera dobiti odgovor vremenske oznake Serial.println ("vremenska oznaka primljena");
Serial.println (vremenska oznaka);
Serial.println ("unutar ThingsCloudPosta");
String PostValue = "{" device_id / ": 61121695844, \" slave_id / ": 2";
PostValue = PostValue + ", \" dts / ":" + vremenska oznaka;
PostValue = PostValue +", \" data / ": {" INTENSITY / ":" +\ sensorvalue +"}" +"}";
Serial.println (PostValue);
/ * kreirajte instancu WiFiClientSecure */ WiFiClientSecure klijenta;
Serial.println ("Povežite se sa serverom preko porta 443");
if (! client.connect (server, 443))
{
Serial.println ("Veza nije uspjela!");
}
else
{Serial.println ("Povezano sa serverom!"); / * kreiraj HTTP zahtjev */
client.println ( POST/devices/deviceData
client.println ("Domaćin: api.thingsai.io"); //client.println("Connection: close "); cl
ient.println ("Vrsta sadržaja: aplikacija/json");
client.println ("cache-control: no-cache");
client.println ("Autorizacija: BearereyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9. IjVhMzBkZDFkN2QwYjNhNGQzODkwYzQ4OSI.kaY6OMj5cYlWNqC22j2c7c6c7c7c7c7c7c7c7c7c6c6c6c6c8c8cb8c2c2c2c2r2C8C2C1C1 client.print ("Content-Length:");
client.println (PostValue.length ());
client.println ();
client.println (PostValue); ////////////////////////////////////// POSTAVLJANJE podataka u oblak je završeno i sada preuzmite oblak za odgovor server ////////////////////
Serial.print ("Čekanje na odgovor");
while (! client.available ()) {{100} {101}
kašnjenje (50); //
Serial.print (".");
} / * ako su podaci dostupni, primite i ispišite na terminal * /
while (client.available ())
{
char c = client.read ();
Serial.write (c);
}
/ * ako je server isključen, zaustavite klijenta */
if (! client.connected ())
{
Serial.println ();
Serial.println ("Server je isključen");
client.stop ();
}
} Serial.println ("////////////////////////// KRAJ ////////////////////// /");
kašnjenje (3000); }}
Korak 7: Odabir ploče i Com porta
Od alata odaberite ploču, a zatim odaberite com port
Korak 8: Povezivanje kruga
Kodiranje se vrši, a zatim uspostavite sljedeće veze kao što je dolje navedeno
VEZE:
GND od esp32 do GND senzora LDR
3V3 0f esp32 na Vcc LDR -a
VP esp32 prema A0 LDR -a
Korak 9: Sastavite i otpremite
kompajlirajte i otpremite kôd u esp32, a zatim pročitajte očitanja sa serijskog monitora. To bi pokazalo rezultat poput ovoga
Korak 10: Serijski monitor
Vrijednosti se dobivaju na serijskom monitoru i zatim šalju na THINGSAI IOT Cloud platformu.
Korak 11: Čitanje
Ovo prikazuje vrijednosti dobivene s ploče esp32.
Korak 12: Grafičko predstavljanje
Ovo je grafički prikaz dobivenih vrijednosti. To je kraj vodiča. Nadam se da ste razumeli. Hvala ti
Preporučuje se:
Nadzor temperature i vlažnosti pomoću ESP-01 & DHT i oblaka AskSensors: 8 koraka
Nadzor temperature i vlažnosti pomoću ESP-01 & DHT i AskSensors Cloud-a: U ovom uputstvu naučit ćemo kako nadzirati mjerenje temperature i vlažnosti pomoću IOT-MCU/ESP-01-DHT11 ploče i AskSensors IoT platforme .Za ovu aplikaciju biram IOT-MCU ESP-01-DHT11 modul jer
Kako nadzirati ultrazvučnu udaljenost pomoću ESP8266 i AskSensors IoT oblaka: 5 koraka
Kako nadzirati ultrazvučnu udaljenost pomoću ESP8266 i AskSensors IoT Cloud-a: Ova instrukcija prikazuje kako nadzirati udaljenost od objekta pomoću ultrazvučnog HC-SR04 senzora i MCU-a čvora ESP8266 spojenog na AskSensors IoT oblak
Neopixel Ws2812 Rainbow LED sjaj sa M5stick-C - Pokretanje Rainbow -a na Neopixelu Ws2812 Korištenje M5stack M5stick C Korištenje Arduino IDE -a: 5 koraka
Neopixel Ws2812 Rainbow LED sjaj sa M5stick-C | Pokretanje Rainbow-a na Neopixel Ws2812 Korištenje M5stack M5stick C Korištenje Arduino IDE-a: Zdravo momci u ovim uputama naučit ćemo kako koristiti neopixel ws2812 LED diode ili LED traku ili LED matricu ili LED prsten s razvojnom pločom m5stack m5stick-C s Arduino IDE-om, a mi ćemo napraviti dugin uzorak sa njim
Učitajte svoju Arduino/ESP konfiguracijsku web stranicu iz oblaka: 7 koraka
Učitajte svoju Arduino/ESP konfiguracijsku web stranicu iz oblaka: Prilikom stvaranja Arduino/ESP (ESP8266/ESP32) projekta, sve možete jednostavno kodirati. Ali češće se događa da se nešto pojavi i na kraju ćete ponovo priključiti svoj IoT uređaj na IDE. Ili ste jednostavno dobili više ljudi koji pristupaju konfiguraciji
Nadgledanje oblaka Arduino bazena: 7 koraka (sa slikama)
Nadgledanje oblaka Arduino bazena: Primarni cilj ovog projekta je korištenje Samsung ARTIK Clouda za praćenje pH i temperaturnih nivoa bazena. Komponente hardvera: Arduino MKR1000 ili Genuino MKR1000 Žice kratkospojnika (generički) SparkFun pH senzorski komplet 1 x otpornik 4,7