Obsah:

LDR pomocou Thingsai Cloud: 13 krokov
LDR pomocou Thingsai Cloud: 13 krokov

Video: LDR pomocou Thingsai Cloud: 13 krokov

Video: LDR pomocou Thingsai Cloud: 13 krokov
Video: Network Topologies (Star, Bus, Ring, Mesh, Ad hoc, Infrastructure, & Wireless Mesh Topology) 2024, November
Anonim
LDR pomocou cloudu Thingsai
LDR pomocou cloudu Thingsai

AHOJ … … dnes sa naučíme merať intenzitu svetla a odosielať hodnoty na cloudovú platformu THINGSAI IOT pomocou ESP32.

Požiadavky na tento projekt sú

1. Vývojová doska ESP32 (použil som ESP32 DEVKIT V1)

2. LDR snímač

3. Prepojovacie vodiče

4. Účet v IOT PLATFORME THINGSAI

Krok 1: Vytvorenie a prihlásenie sa na platforme THINGSIO

Vytvorenie a prihlásenie sa na platforme THINGSIO
Vytvorenie a prihlásenie sa na platforme THINGSIO

Prihláste sa do účtu THINGS AI. Ak ste nový, zaregistrujte sa na účet stlačením tlačidla zaregistrovať a vyplňte všetky poverenia. Váš účet bude vytvorený a od tej doby budete môcť pracovať na cloudovej platforme a vytvárať si vlastný projekt

Krok 2: Vytvorenie nového projektu

Vytvorenie nového projektu
Vytvorenie nového projektu

Po prihlásení do účtu vytvorte projekt kliknutím na nový projekt a jeho názvom.

Krok 3: Vytvorenie nového zariadenia

Vytvorenie nového zariadenia
Vytvorenie nového zariadenia

po vytvorení projektu musíte vytvoriť nové zariadenie. Zadajte názov zariadenia a zadajte ID zariadenia buď ručne, alebo vygenerované systémom.

Krok 4: Definovanie parametra zariadenia

Definovanie parametra zariadenia
Definovanie parametra zariadenia

Zadajte parameter zariadenia a potom vyberte typ parametra

Krok 5: Aktualizácia zariadenia

Aktualizácia zariadenia
Aktualizácia zariadenia

Vyberte parameter a potom aktualizujte zariadenie

Krok 6: Kódovanie

Kódovanie
Kódovanie

Zo vzorových kódov vyberte kód esp32, skopírujte ho a potom ho vložte do arduino IDE a vykonajte potrebné zmeny podľa požiadavky. Kód som uviedol nižšie

#include #include

#zahrnúť

int počet = 0, i, m, j, k;

int t; int outputpin = A0; // ds18b20

int hodnota senzora;

////////////////////////////////////////////// VŠETKY VYHLÁSENIA ZA CLOUD ////// //////////////////////////

const char* host = "api.thingsai.io"; // ALEBO

hostiteľ = devapi2.thethingscloud.com

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

const char* time_server = "baas.thethingscloud.com"; // toto má previesť časovú pečiatku

const int httpPort = 80;

const int httpsPort = 443;

const char* server = "api.thingsai.io"; // Adresa URL servera

časová pečiatka znakov [10];

WiFiMulti WiFiMulti;

// Na vytvorenie TCP spojení použite triedu WiFiClient

Klient WiFiClient;

///////////////////////////////////////////// VÝPOČET ČASOVÉHO HODNOTY //////// /////////////////////////////////// int GiveMeTimestamp () {unsigned long timeout = millis (); // klient WiFiClient;

while (client.available () == 0)

{

if (milis () - časový limit> 50 000)

{

client.stop (); návrat 0;

}

}

while (client.available ())

{

Reťazec riadka = client.readStringUntil ('\ r'); // indexOf () je funkcia na vyhľadávanie niečoho, vráti hodnotu -1, ak sa nenájde

int pos = line.indexOf ("\" časová pečiatka / ""); // vyhľadajte "\" časovú pečiatku / "" od začiatku odpovede a skopírujte všetky údaje, potom to bude vaša časová pečiatka

ak (poz.> = 0)

{

int j = 0;

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

{

časová pečiatka [j] = riadok [pos + 12 + j];

}

}

}

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

neplatné nastavenie ()

{

Serial.begin (115200);

oneskorenie (10);

// Začneme pripojením k sieti WiFi

WiFiMulti.addAP („wifi“, „pswrd“);

Serial.println ();

Serial.println ();

Serial.print („Počkajte na WiFi …“);

while (WiFiMulti.run ()! = WL_CONNECTED)

{

Serial.print (".");

oneskorenie (500);

}

Serial.println ("");

Serial.println ("WiFi pripojené");

Serial.println ("IP adresa:"); Serial.println (WiFi.localIP ());

oneskorenie (500);

}

prázdna slučka ()

{

int analogValue = analogRead (outputpin);

{///////////////////////////////////////////// ODOSLAJTE DOTAZ A PRIJmite ODPOVEĎ /// //////////////////////

hodnota senzora = analogRead (A0); // prečítajte analógový vstupný kolík 0

sensorvalue = hodnota senzora/100;

Serial.print (hodnota senzora, DEC); // vytlačí prečítanú hodnotu

Serial.print ("\ n"); // vytlačí medzeru medzi číslami

oneskorenie (1000); // počkajte 100 ms na ďalšie čítanie

Serial.print ("pripojenie k"); Serial.println (hostiteľ); // definované hore nohami:- host = devapi2.thethingscloud.com alebo 139.59.26.117

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

Serial.println ("vnútri získať časovú pečiatku / n");

if (! client.connect (time_server, {návrat; //*-*-*-*-*-*-*-*-*-*}

client.println ("GET/api/timestamp HTTP/1.1"); // Čo robí táto časť, nedostal som client.println ("Hostiteľ: baas.thethingscloud.com");

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

client.println ("Poštár-Token: ea3c18c6-09ba-d049-ccf3-369a22a284b8");

client.println ();

GiveMeTimestamp (); // zavolá funkciu, ktorá získa odpoveď časovej pečiatky zo servera Serial.println ("časová pečiatka prijatá");

Serial.println (časová pečiatka);

Serial.println ("inside ThingsCloudPost");

Reťazec PostValue = "{" device_id / ": 61121695844, \" slave_id / ": 2";

PostValue = PostValue + ", \" dts / ":" + časová pečiatka;

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

Serial.println (PostValue);

/ * vytvorte inštanciu WiFiClientSecure */ WiFiClientSecure klienta;

Serial.println ("Pripojiť k serveru cez port 443");

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

{

Serial.println ("Pripojenie zlyhalo!");

}

inak

{Serial.println ("Pripojené k serveru!"); / * vytvoriť požiadavku HTTP */

client.println ( POST/devices/deviceData

client.println ("Hostiteľ: api.thingsai.io"); //client.println("Connection: close "); kl

ient.println ("Typ obsahu: aplikácia/json");

client.println ("ovládanie vyrovnávacej pamäte: bez vyrovnávacej pamäte");

client.println ( Autorizácia: BearereyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9. IjVhMzBkZDFkN2QwYjNhNGQzODkwYzQ4OSI.kaY6OMj5cYlWNqC2PNTkXs client.print („Dĺžka obsahu:“);

client.println (PostValue.length ());

client.println ();

client.println (PostValue); ////////////////////////////////////// Uverejnenie údajov v cloude je dokončené a teraz získajte formulár odpovede v cloude server ////////////////////

Serial.print ("Čakanie na odpoveď");

while (! client.available ()) {

oneskorenie (50); //

Serial.print (".");

} / * ak sú údaje k dispozícii, prijmite ich a vytlačte na termináli * /

while (client.available ())

{

char c = client.read ();

Serial.write (c);

}

/ * ak sa server odpojí, zastavte klienta */

if (! client.connected ())

{

Serial.println ();

Serial.println ("Server odpojený");

client.stop ();

}

} Serial.println ("////////////////////////// KONEC ////////////////////////// /");

oneskorenie (3000); }}

Krok 7: Výber palubného a komunikačného portu

Výber palubného a komunikačného portu
Výber palubného a komunikačného portu

Z nástrojov vyberte dosku a potom vyberte port com

Krok 8: Pripojenie obvodu

Pripojenie obvodov
Pripojenie obvodov
Pripojenie obvodov
Pripojenie obvodov
Pripojenie obvodov
Pripojenie obvodov

Kódovanie sa vykoná a potom vykonajte nasledujúce pripojenia, ako je uvedené nižšie

PRIPOJENIA:

GND esp32 až GND senzora LDR

3V3 0f esp32 do Vcc LDR

VP esp32 do A0 LDR

Krok 9: Zostavte a nahrajte

Skompilovať a nahrať
Skompilovať a nahrať

skompilovať a nahrať kód do esp32 a potom prečítať údaje zo sériového monitora. To by ukazovalo výsledok niečo také

Krok 10: Sériový monitor

Sériový monitor
Sériový monitor

Hodnoty sa získajú na sériovom monitore a potom sa odošlú do cloudovej platformy THINGSAI IOT.

Krok 11: Čítania

Čítania
Čítania

Tu sú uvedené hodnoty získané z dosky esp32.

Krok 12: Grafická reprezentácia

Grafické znázornenie
Grafické znázornenie

Toto je grafické znázornenie získaných hodnôt. To je koniec tutoriálu. Dúfam, že ste pochopili Ďakujem

Odporúča: