Tartalomjegyzék:

LDR a Thingsai Cloud használatával: 13 lépés
LDR a Thingsai Cloud használatával: 13 lépés

Videó: LDR a Thingsai Cloud használatával: 13 lépés

Videó: LDR a Thingsai Cloud használatával: 13 lépés
Videó: LDR Using Thinsio,ai Iot cloud platform and Esp32 2024, Lehet
Anonim
LDR a Thingsai Cloud használatával
LDR a Thingsai Cloud használatával

Hé….. ma megtanuljuk a fényintenzitás mérését és az értékek közzétételét a THINGSAI IOT felhőplatformon az ESP32 használatával.

Ennek a projektnek a követelményei a következők

1. ESP32 Fejlesztőtábla (ESP32 DEVKIT V1 -et használtam)

2. LDR érzékelő

3. Jumper vezetékek

4. Számla THINGSAI IOT PLATFORM -ban

1. lépés: Létrehozás és bejelentkezés a THINGSIO platformra

A THINGSIO platform létrehozása és bejelentkezése
A THINGSIO platform létrehozása és bejelentkezése

Jelentkezzen be a THINGS AI fiókba. Ha új vagy, regisztrálj a fiókba a regisztráció gomb megnyomásával, és töltsd ki az összes hitelesítő adatot. Fiókja létrejön, és ettől kezdve dolgozhat a felhő platformon, és létrehozhatja egyéni projektjét

2. lépés: Új projekt létrehozása

Új projekt létrehozása
Új projekt létrehozása

Miután bejelentkezett a fiókba, egy projekt létrehozásához kattintson az új projektre, majd adja meg a projekt nevét.

3. lépés: Új eszköz létrehozása

Új eszköz létrehozása
Új eszköz létrehozása

a projekt létrehozása után a következő dolog, amit létre kell hoznia, egy új eszköz létrehozása. Adja meg az eszköz nevét, és írja be az eszközazonosítót manuálisan vagy a rendszer által létrehozott módon.

4. lépés: Az eszközparaméter meghatározása

Eszközparaméter meghatározása
Eszközparaméter meghatározása

Adja meg az eszközparamétert, majd válassza ki a paraméter típusát

5. lépés: Az eszköz frissítése

A készülék frissítése
A készülék frissítése

Válassza ki a paramétert, majd frissítse az eszközt

6. lépés: Kódolás

Kódolás
Kódolás

A mintakódok közül válassza ki az esp32 kódját, majd másolja be, majd illessze be az arduino IDE -be, és hajtsa végre a szükséges módosításokat. Az alábbi kódot megadtam

#befoglalni #befoglalni

#befoglalni

int szám = 0, i, m, j, k;

int t; int outputpin = A0; // ds18b20

int szenzorérték;

////////////////////////////////////////////////////- /////////////////////////

const char* host = "api.thingsai.io"; VAGY

host = devapi2.thethingscloud.com

const char* post_url = "/devices/deviceData"; // VAGY/api/v2/thingscloud2/_table/data_ac

const char* time_server = "baas.thethingscloud.com"; // ez az időbélyeg konvertálása

const int httpPort = 80;

const int httpsPort = 443;

const char* szerver = "api.thingsai.io"; // Szerver URL -címe

char időbélyeg [10];

WiFiMulti WiFiMulti;

// A WiFiClient osztály használata TCP kapcsolatok létrehozásához

WiFiClient kliens;

///////////////////////////////////////////////////////////////- /////////////////////////////// int GiveMeTimestamp () {unsigned long timeout = millis (); // WiFiClient kliens;

míg (client.available () == 0)

{

if (millis () - timeout> 50000)

{

client.stop (); visszatérés 0;

}

}

míg (client.available ())

{

Karakterlánc = ügyfél.readStringUntil ('\ r'); // Az indexOf () az smthng keresésére szolgáló funkció, -1 -et ad vissza, ha nem találja

int pos = line.indexOf ("\" időbélyeg / ""); // keresse a "\" időbélyeg / "" kifejezést a válasz elejétől, majd másolja le az összes adatot, ez lesz az Ön időbélyege

ha (pos> = 0)

{

int j = 0;

mert (j = 0; j <10; j ++)

{

időbélyeg [j] = sor [pos + 12 + j];

}

}

}

} ////////////////////////////////////////////////////////////////////////////////////////////////////////

üres beállítás ()

{

Sorozat.kezdet (115200);

késleltetés (10);

// Kezdjük azzal, hogy csatlakozunk egy WiFi hálózathoz

WiFiMulti.addAP ("wifi", "pswrd");

Sorozat.println ();

Sorozat.println ();

Serial.print ("Wait for WiFi …");

míg (WiFiMulti.run ()! = WL_CONNECTED)

{

Soros.nyomtatás (".");

késleltetés (500);

}

Serial.println ("");

Serial.println ("WiFi csatlakoztatva");

Serial.println ("IP -cím:"); Serial.println (WiFi.localIP ());

késleltetés (500);

}

üres hurok ()

{

int analogValue = analogRead (outputpin);

{///////////////////////////////////////////////////////////////////////////////////////- /////////////////////

sensorvalue = analogRead (A0); // az analóg bemeneti pin 0 olvasása

sensorvalue = sensorvalue/100;

Soros.nyomat (érzékelőérték, DEC); // kinyomtatja az olvasott értéket

Serial.print ("\ n"); // szóközt nyomtat a számok között

késleltetés (1000); // várjon 100 ms -ot a következő olvasásra

Serial.print ("csatlakozás"); Serial.println (gazdagép); // definiált fejjel:- host = devapi2.thethingscloud.com vagy 139.59.26.117

//////////////////////////////////////////////////////TIMESTAMP CODE SNIPPET ///////////////

Serial.println ("inside get timestamp / n");

if (! client.connect (time_server, { Visszatérés; //*-*-*-*-*-*-*-*-*-*}

client.println ("GET/api/időbélyeg HTTP/1.1"); // Mit csinál ez a rész, azt nem kaptam client.println ("Host: baas.thethingscloud.com");

client.println ("Cache-Control: no-cache");

client.println ("Postás-jelző: ea3c18c6-09ba-d049-ccf3-369a22a284b8");

client.println ();

GiveMeTimestamp (); // meghívja a függvényt, amely az időbélyeg -választ kapja a szervertől Serial.println ("időbélyeg megkapva");

Serial.println (időbélyeg);

Serial.println ("belül ThingsCloudPost");

Karakterlánc PostValue = "{" device_id / ": 61121695844, \" slave_id / ": 2";

PostValue = PostValue + ", \" dts / ":" + időbélyeg;

PostValue = PostValue +", \" data / ": {" INTENSITY / ":" +\ sensorvalue +"}" +"}";

Serial.println (PostValue);

/ * hozzon létre egy példányt a WiFiClientSecure */ WiFiClientSecure kliensből;

Serial.println ("Csatlakozás a szerverhez a 443 -as porton keresztül");

if (! client.connect (szerver, 443))

{

Serial.println ("A kapcsolat nem sikerült!");

}

más

{Serial.println ("Csatlakoztatva a szerverhez!"); / * HTTP kérés létrehozása */

client.println ( POST/devices/deviceData

client.println ("Gazdagép: api.thingsai.io"); //client.println("Connection: close "); cl

ient.println ("Tartalom-típus: application/json");

client.println ("cache-control: no-cache");

client.println ("Jogosultság: BearereyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9. IjVhMzBkZDFkN2QwYjNhNGQzODkwYzQ4OSI.kaY6OMj5cYlWNqC2P2jkvt5 client.print ("Content-Length:");

client.println (PostValue.length ());

client.println ();

client.println (PostValue); //////////////////////////////////////////////// Az adatok közzététele a felhőbe megtörtént, és most megkapja a válaszfelvételi űrlapot szerver//////////////////

Serial.print ("Válaszra vár");

while (! client.available ()) {

késleltetés (50); //

Soros.nyomtatás (".");

} / * ha rendelkezésre állnak adatok, akkor fogadja és nyomtassa ki a terminálra * /

míg (client.available ())

{

char c = kliens.olvasás ();

Soros.írás (c);

}

/ * ha a szerver megszakadt, állítsa le az ügyfelet */

ha (! client.connected ())

{

Sorozat.println ();

Serial.println ("A kiszolgáló leválasztva");

client.stop ();

}

} Serial.println ("////////////////////// A VÉG /////////////////// /");

késleltetés (3000); }}

7. lépés: Az alaplap és a Com port kiválasztása

A tábla és a Com port kiválasztása
A tábla és a Com port kiválasztása

Az eszközök közül válassza ki a táblát, majd válassza ki a com portot

8. lépés: Áramköri csatlakozások

Áramköri kapcsolatok
Áramköri kapcsolatok
Áramköri kapcsolatok
Áramköri kapcsolatok
Áramköri kapcsolatok
Áramköri kapcsolatok

A kódolás megtörténik, majd kövesse az alábbi kapcsolatokat az alábbiak szerint

KAPCSOLATOK:

GND az esp32 -től GND -ig az LDR érzékelőből

3V3 0f esp32 az LDR Vcc -jéhez

Esp32 VP az LDR A0 -jához

9. lépés: Fordítás és feltöltés

Fordítás és feltöltés
Fordítás és feltöltés

fordítsa le és töltse fel a kódot az esp32 -be, majd olvassa le a soros monitoron leolvasott értékeket. Ez valami hasonló eredményt mutatna

10. lépés: Soros monitor

Soros monitor
Soros monitor

Az értékeket a soros monitoron szerezzük be, majd elküldjük a THINGSAI IOT Cloud platformra.

11. lépés: Olvasmányok

Olvasmányok
Olvasmányok

Ez az esp32 tábláról kapott értékeket mutatja.

12. lépés: Grafikus ábrázolás

Grafikus ábrázolás
Grafikus ábrázolás

Ez a kapott értékek grafikus ábrázolása. Ezzel vége az oktatóanyagnak. Remélem megértette. Köszönöm

Ajánlott: