Sadržaj:
- Korak 1: Stvaranje i prijava na THINGSIO platformu
- Korak 2: Izrada novog projekta
- Korak 3: Stvaranje 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 prenesite
- Korak 10: Serijski monitor
- 11. korak: Čitanje
- Korak 12: Grafički prikaz
- Korak 13:
Video: LDR Korištenje Thingsai oblaka: 13 koraka
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:36
HEJ….. danas ćemo naučiti o mjerenju intenziteta svjetlosti i objavljivanju vrijednosti na oblačnoj platformi THINGSAI IOT pomoću ESP32.
Uvjeti za izradu 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: Stvaranje i prijava na THINGSIO platformu
Prijavite se na račun THINGS AI. Ako ste novi, registrirajte se na račun pritiskom na gumb za registraciju i ispunite sve vjerodajnice. Vaš će se račun stvoriti i od tada ćete moći raditi na cloud platformi i stvarati svoj prilagođeni projekt
Korak 2: Izrada novog projekta
Nakon prijave na račun, za stvaranje projekta samo kliknite na novi projekt, a zatim dajte naziv projektu.
Korak 3: Stvaranje novog uređaja
nakon stvaranja projekta sljedeće što trebate učiniti je stvoriti novi uređaj. Dajte naziv uređaja i unesite ID uređaja ručno ili generirano sustavom.
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 primjera 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
#uključi
int broj = 0, i, m, j, k;
int t; int outputpin = A0; // ds18b20
int vrijednost senzora;
//////////////////////////////////////////// SVE IZJAVE za OBLAK ////// //////////////////////////
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 je za pretvaranje vremenske oznake
const int httpPort = 80;
const int httpsPort = 443;
const char* server = "api.thingsai.io"; // URL poslužitelja
char vremenska oznaka [10];
WiFiMulti WiFiMulti;
// Koristite klasu WiFiClient za stvaranje TCP veza
WiFiClient klijent;
/////////////////////////////////////////// IZRAČUN TIMESTAMP funkcije //////// /////////////////////////////////// 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 "\" timestamp / "" 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] = redak [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 ("Prič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); // čitanje pin analognog ulaza 0
sensorvalue = osjetljiva vrijednost/100;
Serijski.ispis (vrijednost senzora, DEC); // ispisuje pročitanu vrijednost
Serial.print ("\ n"); // ispisuje razmak između brojeva
kašnjenje (1000); // pričekajte 100 ms za sljedeće čitanje
Serial.print ("povezivanje s"); Serial.println (host); // definirano na gore:- host = devapi2.thethingscloud.com ili 139.59.26.117
///////////////////////////////////////// TIMESTAMP CODE SNIPPET ////////// /////////////////
Serial.println ("unutar get vremenska oznaka / n");
if (! client.connect (time_server, {return; //*-*-*-*-*-*-*-*-*-*}
client.println ("GET/api/vremenska oznaka HTTP/1.1"); // Što ovaj dio radi, 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 dobiti odgovor vremenske oznake s poslužitelja 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);
/ * stvorite instancu klijenta WiFiClientSecure */ WiFiClientSecure;
Serial.println ("Povežite se sa poslužiteljem putem porta 443");
if (! client.connect (poslužitelj, 443))
{
Serial.println ("Veza nije uspjela!");
}
drugo
{Serial.println ("Povezano sa poslužiteljem!"); / * izradi 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.kaY6OMj5cYlWNqC22y2c7c7c7c7c7c7c7c7c7c6c6c6c8c6c8cb8c8cb8 client.print ("Content-Length:");
client.println (PostValue.length ());
client.println ();
client.println (PostValue); ////////////////////////////////////// POSTAVLJANJE podataka u oblak je dovršeno i sada preuzmite oblak obrasca za odgovor poslužitelj ////////////////////
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 poslužitelj isključen, zaustavite klijenta */
if (! client.connected ())
{
Serial.println ();
Serial.println ("Poslužitelj 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 napravite sljedeće veze kao što je dolje spomenuto
VEZE:
GND od esp32 do GND senzora LDR
3V3 0f esp32 do Vcc LDR -a
VP esp32 do A0 LDR -a
Korak 9: Sastavite i prenesite
sastavite i prenesite 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 platformu THINGSAI IOT Cloud.
11. korak: Čitanje
Ovo prikazuje vrijednosti dobivene s ploče esp32.
Korak 12: Grafički prikaz
Ovo je grafički prikaz dobivenih vrijednosti. To je kraj vodiča. Nadam se da ste razumjeli. Hvala vam
Preporučeni:
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 oblaka AskSensors: U ovoj uputi naučit ćemo kako nadzirati mjerenje temperature i vlažnosti pomoću ploče IOT-MCU/ESP-01-DHT11 i platforme AskSensors IoT .Za ovu aplikaciju biram modul IOT-MCU ESP-01-DHT11 jer
Kako pratiti ultrazvučnu udaljenost pomoću ESP8266 i oblaka AskSensors IoT: 5 koraka
Kako nadzirati ultrazvučnu udaljenost s ESP8266 i AskSensors IoT oblakom: Ova instrukcija prikazuje kako pratiti udaljenost od objekta pomoću ultrazvučnog senzora HC-SR04 i MCU-a čvora ESP8266 spojenog na oblak AskSensors IoT
Neopixel Ws2812 Rainbow LED sjaj s M5stick-C - Pokretanje Rainbow na Neopixelu Ws2812 Korištenje M5stack M5stick C Korištenje Arduino IDE -a: 5 koraka
Neopixel Ws2812 Rainbow LED sjaj s M5stick-C | Pokretanje Rainbow-a na Neopixelu Ws2812 Korištenje M5stack M5stick C Korištenje Arduino IDE-a: Zdravo dečki, 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 s 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. No češće se događa da se nešto ne dogodi pa ćete na kraju ponovno priključiti svoj IoT uređaj na IDE. Ili ste jednostavno dobili još ljudi koji pristupaju konfiguraciji
Nadgledanje oblaka Arduino bazena: 7 koraka (sa slikama)
Nadgledanje oblaka Arduino bazena za plivanje: Primarni cilj ovog projekta je korištenje Samsung ARTIK Clouda za praćenje pH i temperaturnih razina bazena. Komponente hardvera: Arduino MKR1000 ili Genuino MKR1000 Žice kratkospojnika (generički) SparkFun pH senzorski komplet 1 x otpornik 4,7