Innehållsförteckning:

LDR med Thingsai Cloud: 13 steg
LDR med Thingsai Cloud: 13 steg

Video: LDR med Thingsai Cloud: 13 steg

Video: LDR med Thingsai Cloud: 13 steg
Video: The Real Story of Paris Hilton | This Is Paris Official Documentary 2024, Juli
Anonim
LDR använder Thingsai Cloud
LDR använder Thingsai Cloud

HEJ … idag lär vi oss att mäta ljusintensiteten och lägga upp värdena i molnplattformen THINGSAI IOT med hjälp av ESP32.

Kraven för att göra detta projekt är

1. ESP32 Development Board (jag har använt ESP32 DEVKIT V1)

2. LDR -sensor

3. Bygeltrådar

4. Konto i THINGSAI IOT PLATFORM

Steg 1: Skapa och logga in på THINGSIO -plattformen

Skapa och logga in på THINGSIO -plattformen
Skapa och logga in på THINGSIO -plattformen

Logga in på THINGS AI -kontot. Om du är ny registrerar du dig på kontot genom att trycka på knappen Registrera och fyll i alla uppgifter. Ditt konto kommer att skapas och därefter kommer du att kunna arbeta på molnplattformen och skapa ditt anpassade projekt

Steg 2: Skapa nytt projekt

Skapar nytt projekt
Skapar nytt projekt

Efter att ha loggat in på kontot, för att skapa ett projekt, klicka bara på det nya projektet och ge sedan projektnamnet.

Steg 3: Skapa en ny enhet

Skapa en ny enhet
Skapa en ny enhet

När du har skapat projektet är nästa sak du behöver göra att skapa en ny enhet. Ge enhetsnamnet och ange enhets -ID antingen manuellt eller systemgenererat.

Steg 4: Definiera enhetsparameter

Definiera enhetsparameter
Definiera enhetsparameter

Ge enhetsparametern och välj sedan typ av parameter

Steg 5: Uppdatera enheten

Uppdaterar enheten
Uppdaterar enheten

Välj parametern och uppdatera sedan enheten

Steg 6: Kodning

Kodning
Kodning

Från provkoderna väljer du koden för esp32 kopiera den och klistrar in den i arduino IDE och gör nödvändiga ändringar enligt kravet. Jag har gett koden nedan

#inkludera #inkludera

#omfatta

int count = 0, i, m, j, k;

int t; int outputpin = A0; // ds18b20

int sensorvärde;

/////////////////////////////////////////////////////// ////////////////////////////

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

värd = devapi2.thethingscloud.com

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

const char* time_server = "baas.thethingscloud.com"; // detta är att konvertera tidsstämpel

const int httpPort = 80;

const int httpsPort = 443;

const char* server = "api.thingsai.io"; // Server -URL

rödstämpel [10];

WiFiMulti WiFiMulti;

// Använd WiFiClient -klass för att skapa TCP -anslutningar

WiFiClient -klient;

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

medan (client.available () == 0)

{

if (millis () - timeout> 50000)

{

client.stop (); returnera 0;

}

}

medan (client.available ())

{

String line = client.readStringUntil ('\ r'); // indexOf () är en funktion för att söka efter smthng, den returnerar -1 om den inte hittas

int pos = line.indexOf ("\" tidsstämpel / ""); // sök efter "\" tidsstämpel / "" från början av svaret och kopiera all data efter det, det blir din tidsstämpel

om (pos> = 0)

{

int j = 0;

för (j = 0; j <10; j ++)

{

tidsstämpel [j] = rad [pos + 12 + j];

}

}

}

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

void setup ()

{

Serial.begin (115200);

fördröjning (10);

// Vi börjar med att ansluta till ett WiFi -nätverk

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

Serial.println ();

Serial.println ();

Serial.print ("Vänta på WiFi …");

medan (WiFiMulti.run ()! = WL_CONNECTED)

{

Serial.print (".");

fördröjning (500);

}

Serial.println ("");

Serial.println ("WiFi ansluten");

Serial.println ("IP -adress:"); Serial.println (WiFi.localIP ());

fördröjning (500);

}

void loop ()

{

int analogValue = analogRead (outputpin);

{///////////////// ////////////////////////

sensorvärde = analogRead (A0); // läs analog ingångsstift 0

sensorvärde = sensorvärde/100;

Serial.print (sensorvärde, DEC); // skriver ut värdet läst

Serial.print ("\ n"); // skriver ut ett mellanslag mellan siffrorna

fördröjning (1000); // vänta 100 ms på nästa läsning

Serial.print ("ansluta till"); Serial.println (värd); // definierad uppåt:- host = devapi2.thethingscloud.com eller 139.59.26.117

///////////////////////////////////// /////////////////

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

if (! client.connect (time_server, { lämna tillbaka; //*-*-*-*-*-*-*-*-*-*}

client.println ("GET/api/tidsstämpel HTTP/1.1"); // Vad gör den här delen, jag fick inte client.println ("Host: baas.thethingscloud.com");

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

client.println ("Postman-Token: ea3c18c6-09ba-d049-ccf3-369a22a284b8");

client.println ();

GiveMeTimestamp (); // det kallar funktionen som kommer att få tidsstämpelns svar från servern Serial.println ("tidsstämpel mottagen");

Serial.println (tidsstämpel);

Serial.println ("inside ThingsCloudPost");

String PostValue = "{" device_id / ": 61121695844, \" slave_id / ": 2";

PostValue = PostValue + ", \" dts / ":" + tidsstämpel;

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

Serial.println (PostValue);

/ * skapa en instans av WiFiClientSecure */ WiFiClientSecure -klient;

Serial.println ("Anslut till servern via port 443");

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

{

Serial.println ("Anslutningen misslyckades!");

}

annan

{Serial.println ("Ansluten till servern!"); / * skapa HTTP -begäran */

client.println ( POST/devices/deviceData

client.println ("Värd: api.thingsai.io"); //client.println("Connection: close "); cl

ient.println ("Innehållstyp: applikation/json");

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

client.println ("Auktorisation: BearereyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9. IjVhMzBkZDFkN2QwYjNhNGQzODkwYzQ4OSI.kaY6OMj5cYlWNqC9PN5" client.print ("Content-Length:");

client.println (PostValue.length ());

client.println ();

client.println (PostValue); ///////////////////////////////////// server ////////////////////

Serial.print ("Väntar på svar");

medan (! client.available ()) {

fördröjning (50); //

Serial.print (".");

} / * om data finns tillgänglig, ta sedan emot och skriv ut till terminal * /

medan (client.available ())

{

char c = client.read ();

Serial.write (c);

}

/ * om servern kopplades bort, stoppa klienten */

om (! client.connected ())

{

Serial.println ();

Serial.println ("Server bortkopplad");

client.stop ();

}

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

fördröjning (3000); }}

Steg 7: Val av styrelse och komport

Urval av styrelse och komport
Urval av styrelse och komport

Välj kort från verktyget och välj sedan komporten

Steg 8: Kretsanslutningar

Kretsanslutningar
Kretsanslutningar
Kretsanslutningar
Kretsanslutningar
Kretsanslutningar
Kretsanslutningar

Kodningen görs och gör sedan följande anslutningar enligt nedan

ANSLUTNINGAR:

GND för esp32 till GND för LDR -sensorn

3V3 0f esp32 till Lcc: s Vcc

VP för esp32 till A0 i LDR

Steg 9: Kompilera och ladda upp

Kompilera och ladda upp
Kompilera och ladda upp

kompilera och ladda upp koden till esp32 och läs sedan avläsningarna från den seriella bildskärmen. Det skulle visa ett resultat något liknande detta

Steg 10: Seriell bildskärm

Seriell bildskärm
Seriell bildskärm

Värdena erhålls på den seriella bildskärmen och sedan skickas de till THINGSAI IOT Cloud -plattformen.

Steg 11: Avläsningar

Avläsningar
Avläsningar

Detta visar värdena som erhållits från esp32 -kortet.

Steg 12: Grafisk representation

Grafisk representation
Grafisk representation

Detta är den grafiska representationen av de erhållna värdena. Det är slutet på handledningen. Hoppas du har förstått. Tack

Rekommenderad: