Turinys:

LDR naudojant „Thingsai Cloud“: 13 žingsnių
LDR naudojant „Thingsai Cloud“: 13 žingsnių

Video: LDR naudojant „Thingsai Cloud“: 13 žingsnių

Video: LDR naudojant „Thingsai Cloud“: 13 žingsnių
Video: How to Convert a Word Documents to PDF in iPhone (Without Third-Party Tools) 2024, Lapkritis
Anonim
LDR naudojant „Thingsai Cloud“
LDR naudojant „Thingsai Cloud“

Sveiki ….. Šiandien mes išmoksime išmatuoti šviesos intensyvumą ir paskelbti vertes į THINGSAI IOT debesų platformą naudojant ESP32.

Reikalavimai šiam projektui įgyvendinti yra

1. ESP32 plėtros valdyba (naudojau ESP32 DEVKIT V1)

2. LDR jutiklis

3. Trumpieji laidai

4. Sąskaita THINGSAI IOT PLATFORM

1 veiksmas: „THINGSIO“platformos kūrimas ir prisijungimas

THINGSIO platformos kūrimas ir prisijungimas
THINGSIO platformos kūrimas ir prisijungimas

Prisijunkite prie „THINGS AI“paskyros. Jei esate naujas, prisiregistruokite prie paskyros paspausdami registracijos mygtuką ir užpildykite visus kredencialus. Jūsų paskyra bus sukurta ir nuo tada galėsite dirbti debesies platformoje ir kurti savo pasirinktinį projektą

2 žingsnis: naujo projekto kūrimas

Kuriant naują projektą
Kuriant naują projektą

Prisijungę prie paskyros, norėdami sukurti projektą, tiesiog spustelėkite naują projektą ir nurodykite projekto pavadinimą.

3 veiksmas: sukurkite naują įrenginį

Naujo įrenginio kūrimas
Naujo įrenginio kūrimas

sukūrę projektą, kitas dalykas, kurį turite padaryti, yra sukurti naują įrenginį. Nurodykite įrenginio pavadinimą ir įveskite įrenginio ID rankiniu būdu arba sukurtą sistemą.

4 žingsnis: Įrenginio parametro nustatymas

Įrenginio parametro apibrėžimas
Įrenginio parametro apibrėžimas

Nurodykite įrenginio parametrą ir pasirinkite parametro tipą

5 veiksmas: atnaujinkite įrenginį

Įrenginio atnaujinimas
Įrenginio atnaujinimas

Pasirinkite parametrą ir atnaujinkite įrenginį

6 žingsnis: kodavimas

Kodavimas
Kodavimas

Iš pavyzdinių kodų pasirinkite esp32 kodą, nukopijuokite jį, tada įklijuokite jį į arduino IDE ir atlikite reikiamus pakeitimus pagal reikalavimą. Žemiau pateikiau kodą

#įtraukti #įtraukti

#įtraukti

int skaičius = 0, i, m, j, k;

int t; int outputpin = A0; // ds18b20

int sensorvalue;

//////////////////////////////////////////////////////////////////// VISI DEKLARACIJOS DĖMESIAMS ////// /////////////////////////

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

šeimininkas = devapi2.thethingscloud.com

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

const char* time_server = "baas.thethingscloud.com"; // tai yra laiko žymos konvertavimas

const int httpPort = 80;

const int httpsPort = 443;

const char* serveris = "api.thingsai.io"; // Serverio URL

char laiko žyma [10];

WiFiMulti WiFiMulti;

// Naudokite „WiFiClient“klasę, kad sukurtumėte TCP ryšius

„WiFiClient“klientas;

///////////////////////////////////////////////////- /////////////////////////////// int GiveMeTimestamp () {unsigned long timeout = millis (); // „WiFiClient“klientas;

tuo tarpu (client.available () == 0)

{

jei (milis () - skirtasis laikas> 50000)

{

client.stop (); grįžti 0;

}

}

o (client.available ())

{

Eilutės eilutė = client.readStringUntil ('\ r'); // indexOf () yra funkcija ieškoti smthng, ji grąžina -1, jei nerasta

int pos = line.indexOf ("\" laiko žyma / ""); // ieškokite "\" laiko žymos / "" nuo atsakymo pradžios ir nukopijuokite visus duomenis po to, tai bus jūsų laiko žyma

jei (poz> = 0)

{

int j = 0;

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

{

laiko žyma [j] = eilutė [pos + 12 + j];

}

}

}

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

negaliojanti sąranka ()

{

Serial.begin (115200);

vėlavimas (10);

// Pradedame prisijungdami prie „WiFi“tinklo

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

Serial.println ();

Serial.println ();

Serial.print („Palaukite„ WiFi “…“);

o (WiFiMulti.run ()! = WL_CONNECTED)

{

Serijinis atspaudas (".");

vėlavimas (500);

}

Serial.println ("");

Serial.println („WiFi prijungtas“);

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

vėlavimas (500);

}

tuštumos kilpa ()

{

int analogValue = analogRead (outputpin);

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

sensorvalue = analogRead (A0); // skaityti analoginį įvesties kaištį 0

sensorvalue = sensorvalue/100;

Serijinis atspaudas (jutiklio vertė, DEC); // spausdina perskaitytą vertę

Serial.print ("\ n"); // atspausdina tarpą tarp skaičių

vėlavimas (1000); // laukite 100 ms kito skaitymo

Serial.print ("prisijungimas prie"); Serial.println (priegloba); // apibrėžta aukštyn kojomis:- šeimininkas = devapi2.thethingscloud.com arba 139.59.26.117

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

Serial.println ("viduje gauti laiko žymę / n");

if (! client.connect (time_server, {grįžti; //*-*-*-*-*-*-*-*-*-*}

client.println ("GET/api/laiko žymė HTTP/1.1"); // Ką daro ši dalis, aš negavau client.println ("Priimančioji: baas.thethingscloud.com");

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

client.println („Paštininkas-žetonas: ea3c18c6-09ba-d049-ccf3-369a22a284b8“);

klientas.println ();

GiveMeTimestamp (); // ji iškvies funkciją, kuri gaus serverio laiko žymės atsakymą Serial.println ("gauta laiko žyma");

Serial.println (laiko žyma);

Serial.println ("viduje ThingsCloudPost");

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

PostValue = PostValue + ", \" dts / ":" + laiko žymė;

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

Serial.println (PostValue);

/ * sukurti „WiFiClientSecure“egzempliorių */ „WiFiClientSecure“klientą;

Serial.println („Prisijunkite prie serverio per 443 prievadą“);

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

{

Serial.println ("Nepavyko prisijungti!");

}

Kitas

{Serial.println ("Prisijungta prie serverio!"); / * sukurti HTTP užklausą */

client.println ( POST/devices/deviceData

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

ient.println ("Turinio tipas: programa/json");

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

client.println ("Autorizacija: BearereyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9. IjVhMzBkZDFkN2QwYjNhNGQzODkwYzQ4OSI.kaY6OMj5cYlWNqC2Pj5kvkvk5k client.print ("Turinio ilgis:");

client.println (PostValue.length ());

klientas.println ();

client.println („PostValue“); //////////////////////////////////////////////// Duomenų SKELBIMAS į debesį baigtas ir dabar gaukite atsakymo formos debesį serveris ///////////////////

Serial.print („Laukiama atsakymo“);

while (! client.available ()) {

vėlavimas (50); //

Serijinis atspaudas (".");

} / * jei yra duomenų, gaukite ir atsispausdinkite į terminalą * /

o (client.available ())

{

char c = client.read ();

Serial.write (c);

}

/ * jei serveris atjungtas, sustabdykite klientą */

jei (! client.connected ())

{

Serial.println ();

Serial.println („Serveris atjungtas“);

client.stop ();

}

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

vėlavimas (3000); }}

7 žingsnis: valdybos ir kom porto pasirinkimas

Valdybos ir kom porto pasirinkimas
Valdybos ir kom porto pasirinkimas

Iš įrankių pasirinkite lentą, tada pasirinkite „com“prievadą

8 žingsnis: grandinės jungtys

Grandinės jungtys
Grandinės jungtys
Grandinės jungtys
Grandinės jungtys
Grandinės jungtys
Grandinės jungtys

Kodavimas atliekamas, tada užmegzkite šiuos ryšius, kaip nurodyta toliau

JUNGTYS:

LDR jutiklio GND nuo esp32 iki GND

3V3 0f esp32 į LDR Vcc

Esp32 VP iki LDR A0

9 veiksmas: kompiliuokite ir įkelkite

Sudaryti ir įkelti
Sudaryti ir įkelti

surinkite ir įkelkite kodą į esp32, tada perskaitykite serijinio monitoriaus rodmenis. Tai parodytų tokį rezultatą

10 veiksmas: serijinis monitorius

Serijinis monitorius
Serijinis monitorius

Reikšmės gaunamos nuosekliajame monitoriuje ir tada siunčiamos į „THINGSAI IOT Cloud“platformą.

11 žingsnis: rodmenys

Skaitymai
Skaitymai

Tai rodo vertes, gautas iš esp32 plokštės.

12 žingsnis: Grafinis vaizdavimas

Grafinis vaizdavimas
Grafinis vaizdavimas

Tai yra grafinis gautų verčių atvaizdavimas. Tai pamokos pabaiga. Tikiuosi supratote. Ačiū

Rekomenduojamas: