Sisukord:
- Samm: THINGSIO platvormi loomine ja sisse logimine
- 2. samm: uue projekti loomine
- Samm: uue seadme loomine
- 4. samm: seadme parameetri määramine
- Samm: seadme värskendamine
- 6. samm: kodeerimine
- 7. samm: juhatuse ja Com -pordi valik
- 8. samm: vooluahela ühendused
- 9. samm: kompileerimine ja üleslaadimine
- Samm 10: jadamonitor
- Samm 11: Näidud
- 12. samm: graafiline esitus
- 13. samm:
Video: LDR Thingsai pilve abil: 13 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:48
HEI….. täna õpime valguse intensiivsuse mõõtmist ja väärtuste postitamist pilveplatvormile THINGSAI IOT ESP32 abil.
Nõuded selle projekti teostamiseks on
1. ESP32 arendusnõukogu (olen kasutanud ESP32 DEVKIT V1)
2. LDR -andur
3. Jumper Traadid
4. Konto THINGSAI IOT PLATFORMis
Samm: THINGSIO platvormi loomine ja sisse logimine
Logige sisse THINGS AI kontole. Kui olete uus, registreeruge kontole, vajutades registreerimisnuppu ja täitke kõik volikirjad. Teie konto luuakse ja seejärel saate pilveplatvormil töötada ning oma kohandatud projekti luua
2. samm: uue projekti loomine
Pärast kontole sisselogimist klõpsake projekti loomiseks lihtsalt uuel projektil ja andke seejärel projekti nimi.
Samm: uue seadme loomine
pärast projekti loomist peate järgmise seadme looma. Andke seadme nimi ja sisestage seadme ID kas käsitsi või loodud süsteemiga.
4. samm: seadme parameetri määramine
Andke seadme parameeter ja seejärel valige parameetri tüüp
Samm: seadme värskendamine
Valige parameeter ja seejärel värskendage seadet
6. samm: kodeerimine
Näidiskoodide hulgast valige esp32 kood, kopeerige see ja kleepige see seejärel arduino IDE -sse ning tehke vajalikud muudatused vastavalt nõuetele. Andsin allpool oleva koodi
#kaasama #kaasama
#kaasake
int arv = 0, i, m, j, k;
int t; int väljundpin = A0; // ds18b20
int sensorvalue;
/////////////////////////////////////////////////- /////////////////////////
const char* host = "api.thingsai.io"; // VÕI
host = devapi2.thethingscloud.com
const char* post_url = "/devices/deviceData"; // VÕI/api/v2/thingscloud2/_table/data_ac
const char* time_server = "baas.thethingscloud.com"; // see on ajatempli teisendamiseks
const int httpPort = 80;
const int httpsPort = 443;
const char* server = "api.thingsai.io"; // Serveri URL
sümboli ajatempel [10];
WiFiMulti WiFiMulti;
// Kasutage WiFi -kliendi klassi TCP -ühenduste loomiseks
WiFiClient klient;
///////////////////////////////////////////////////////////////////// AJATAMPI ARVUTAMISE funktsioon //////// /////////////////////////////// int GiveMeTimestamp () {unsigned long timeout = millis (); // WiFiClient klient;
samas (client.available () == 0)
{
kui (millis () - ajalõpp> 50000)
{
client.stop (); tagasitulek 0;
}
}
samas (client.available ())
{
Stringirida = client.readStringUntil ('\ r'); // indexOf () on funktsioon smthng otsimiseks, tagastab -1, kui seda ei leita
int pos = line.indexOf ("\" ajatempel / ""); // otsi vastuse algusest "\" ajatempel / "" ja kopeeri pärast seda kõik andmed, see on sinu ajatempel
kui (pos> = 0)
{
int j = 0;
jaoks (j = 0; j <10; j ++)
{
ajatempel [j] = rida [pos + 12 + j];
}
}
}
} ////////////////////////////////////////////////////////////////////////////////////////////////////////
tühine seadistus ()
{
Seriaalne algus (115200);
viivitus (10);
// Alustame WiFi -võrguga ühenduse loomisest
WiFiMulti.addAP ("wifi", "pswrd");
Serial.println ();
Serial.println ();
Serial.print ("Oota WiFi …");
samas (WiFiMulti.run ()! = WL_CONNECTED)
{
Seeria.print (".");
viivitus (500);
}
Serial.println ("");
Serial.println ("WiFi ühendatud");
Serial.println ("IP -aadress:"); Serial.println (WiFi.localIP ());
viivitus (500);
}
tühine tsükkel ()
{
int analogValue = analogRead (outputpin);
{///////////////////////////////////////////////////// SAADA KÜSIMUST JA VASTA VASTUS /// /////////////////////
sensorvalue = analogRead (A0); // loe analoogsisendi pin 0
sensorvalue = sensorvalue/100;
Serial.print (sensorvalue, DEC); // prindib loetud väärtuse
Serial.print ("\ n"); // prindib tühiku numbrite vahele
viivitus (1000); // oodake järgmist lugemist 100 ms
Serial.print ("ühenduse loomine"); Serial.println (host); // määratletud tagurpidi:- host = devapi2.thethingscloud.com või 139.59.26.117
///////////////////////////////////////////////////////////////// AJATAMPI KOODI SIPPET ////////// ///////////////
Serial.println ("inside get timestamp / n");
if (! client.connect (time_server, {tagasipöördumine; //*-*-*-*-*-*-*-*-*-*}
client.println ("GET/api/ajatempel HTTP/1.1"); // Mida see osa teeb, ma ei saanud klienti.println ("Host: baas.thethingscloud.com");
client.println ("Vahemälu kontroll: vahemälu puudub");
client.println ("Postimees-märk: ea3c18c6-09ba-d049-ccf3-369a22a284b8");
klient.println ();
GiveMeTimestamp (); // see kutsub funktsiooni, mis saab serverilt ajatempli vastuse Serial.println ("ajatempel saadud");
Serial.println (ajatempel);
Serial.println ("sees ThingsCloudPost");
String PostValue = "{" seadme_id / ": 61121695844, \" orja_id / ": 2";
PostValue = PostValue + ", \" dts / ":" + ajatempel;
PostValue = PostValue +", \" andmed / ": {" INTENTSUS / ":" +\ sensorvalue +"}" +"}";
Serial.println (PostValue);
/ * luua eksemplar WiFiClientSecure */ WiFiClientSecure klient;
Serial.println ("Ühenda serveriga pordi 443 kaudu");
if (! client.connect (server, 443))
{
Serial.println ("Ühendus ebaõnnestus!");
}
muidu
{Serial.println ("Ühendatud serveriga!"); / * loo HTTP päring */
client.println ( POST/seadmed/seadmeandmed
client.println ("Host: api.thingsai.io"); //client.println("Connection: close "); cl
ient.println ("Sisu tüüp: rakendus/json");
client.println ("cache-control: no-cache");
client.println ("Autoriseerimine: BearereyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9. IjVhMzBkZDFkN2QwYjNhNGQzODkwYzQ4OSI.kaY6OMj5cYlWNqC2P2jkvk5kvk client.print ("Sisu-pikkus:");
klient.println (PostValue.length ());
klient.println ();
klient.println (PostValue); ///////////////////////////////////////////////// Andmete postitamine pilve on tehtud ja nüüd saate vastusvormi pilv server ////////////////////
Serial.print ("Vastust oodates");
while (! client.available ()) {
viivitus (50); //
Seeria.print (".");
} / * kui andmed on saadaval, siis võtke vastu ja printige terminali * /
samas (client.available ())
{
char c = klient.lugemine ();
Serial.write (c);
}
/ * kui server on lahti ühendatud, peata klient */
kui (! klient.ühendatud ())
{
Serial.println ();
Serial.println ("Server on lahti ühendatud");
client.stop ();
}
} Serial.println ("////////////////////// LÕPP /////////////////// /");
viivitus (3000); }}
7. samm: juhatuse ja Com -pordi valik
Tööriistadest valige tahvel ja seejärel com -port
8. samm: vooluahela ühendused
Kodeerimine toimub, seejärel tehke järgmised ühendused, nagu allpool mainitud
ÜHENDUSED:
GND esp32 kuni GND LDR andurilt
3V3 0f esp32 LDR -i Vcc -le
Esp32 VP LDR -i A0 -le
9. samm: kompileerimine ja üleslaadimine
kompileerige ja laadige kood esp32 -sse ning seejärel lugege jadamonitorilt näidud. See näitaks midagi sellist
Samm 10: jadamonitor
Väärtused saadakse jadamonitorilt ja seejärel saadetakse need THINGSAI IOT Cloud platvormile.
Samm 11: Näidud
See näitab esp32 plaadilt saadud väärtusi.
12. samm: graafiline esitus
See on saadud väärtuste graafiline esitus. See on õpetuse lõpp. Loodetavasti said aru. Aitäh
Soovitan:
Kuidas andmeid Arduino Ethernetiga pilve saata: 8 sammu
Kuidas andmeid Arduino Ethernetiga pilve saata: see juhend annab teile teada, kuidas oma andmeid AskSensors IoT platvormil Arduino Ethernet Shieldi abil avaldada. Etherneti kilp võimaldab teie Arduinoil hõlpsasti pilvega ühendust saada, Interneti -ühenduse kaudu andmeid saata ja vastu võtta. Mida me
Sisseehitatud IoT õhukvaliteedi anduri ehitamine Pilve pole vaja: 10 sammu
Sisseehitatud IoT õhukvaliteedi anduri ehitamine ei vaja pilve: sise- või välisõhu kvaliteet sõltub paljudest saasteallikatest ja ka ilmast. See seade salvestab 2 anduri kiibi abil mõned tavalised ja mõned kõige huvitavamad parameetrid. Temperatuur Niiskus Rõhk Orgaaniline gaas Mikro
ESP32 andmete avaldamine Interneti -pilve NTP ajatempliga: 5 sammu
ESP32 andmete avaldamine koos NTP ajatempliga IoT Cloudi: Paljudes rakendustes peavad kasutajad saatma oma andmed koos koormusega saadetavate väärtuste kohaliku ajatempliga AskSensors IoT pilve. Ajatempli vorming on UNIX Epoch time: jaanuarist möödunud millisekundite arv
Kella tegemine M5stick C abil Arduino IDE abil RTC reaalajas kell M5stack M5stick-C abil: 4 sammu
Kella tegemine M5stick C abil, kasutades Arduino IDE | RTC reaalajas kell koos M5stack M5stick-C-ga: Tere, selles juhendis olevad poisid, me õpime, kuidas Arduino IDE abil kella m5stick-C arendusplaadiga teha. Nii kuvab m5stick kuupäeva, kellaaja ja amp; kuunädal ekraanil
Arduino basseini pilve jälgimine: 7 sammu (piltidega)
Arduino basseini pilvede jälgimine: selle projekti peamine eesmärk on kasutada Samsung ARTIK Cloudi basseinide pH ja temperatuuri taseme jälgimiseks. Riistvarakomponendid: Arduino MKR1000 või Genuino MKR1000 hüppajajuhtmed (üldine) SparkFuni pH -anduri komplekt 1 x takisti 4.7