Բովանդակություն:

LDR Thingsai Cloud- ի օգտագործմամբ. 13 քայլ
LDR Thingsai Cloud- ի օգտագործմամբ. 13 քայլ

Video: LDR Thingsai Cloud- ի օգտագործմամբ. 13 քայլ

Video: LDR Thingsai Cloud- ի օգտագործմամբ. 13 քայլ
Video: Subnet Mask - Explained 2024, Նոյեմբեր
Anonim
LDR ՝ օգտագործելով Thingsai Cloud- ը
LDR ՝ օգտագործելով Thingsai Cloud- ը

HEY…..այսօր մենք կսովորենք լույսի ինտենսիվությունը չափելու և արժեքները տեղադրելու THINGSAI IOT ամպային հարթակում ՝ օգտագործելով ESP32:

Այս նախագիծը կատարելու պահանջներն են

1. ESP32 զարգացման խորհուրդ (ես օգտագործել եմ ESP32 DEVKIT V1)

2. LDR սենսոր

3. Jumper լարերը

4. Հաշիվ THINGSAI IOT PLATFORM- ում

Քայլ 1. Ստեղծել և մուտք գործել THINGSIO հարթակ

Ստեղծել և մուտք գործել THINGSIO հարթակ
Ստեղծել և մուտք գործել THINGSIO հարթակ

Մուտք գործեք THINGS AI հաշիվ: Եթե դուք նորեկ եք, ապա գրանցվեք հաշվին `սեղմելով գրանցման կոճակը և լրացրեք բոլոր հավատարմագրերը: Ձեր հաշիվը կստեղծվի, և դրանից հետո դուք կկարողանաք աշխատել ամպային հարթակում և ստեղծել ձեր անհատական նախագիծը

Քայլ 2: Նոր նախագծի ստեղծում

Նոր նախագծի ստեղծում
Նոր նախագծի ստեղծում

Հաշիվ մուտք գործելուց հետո, նախագիծ ստեղծելու համար պարզապես կտտացրեք նոր նախագծի վրա, այնուհետև տվեք ծրագրի անունը:

Քայլ 3: Նոր սարքի ստեղծում

Ստեղծելով նոր սարք
Ստեղծելով նոր սարք

Նախագծի ստեղծումից հետո հաջորդ բանը, որ պետք է անեք, նոր սարքի ստեղծումն է: Տվեք սարքի անունը և մուտքագրեք սարքի ID- ն ՝ ձեռքով կամ ստեղծված համակարգով:

Քայլ 4: Սարքի պարամետրի սահմանում

Սարքի պարամետրի սահմանում
Սարքի պարամետրի սահմանում

Տվեք սարքի պարամետրը, ապա ընտրեք պարամետրի տեսակը

Քայլ 5: Սարքի թարմացում

Սարքի թարմացում
Սարքի թարմացում

Ընտրեք պարամետրը և ապա թարմացրեք սարքը

Քայլ 6: Կոդավորում

Կոդավորում
Կոդավորում

Նմուշի կոդերից ընտրեք esp32- ի կոդը պատճենեք այն, այնուհետև տեղադրեք arduino IDE- ում և կատարեք անհրաժեշտ փոփոխությունները ըստ պահանջի: Ես տվել եմ ներքևի ծածկագիրը

#ներառել #ներառել

#ներառում

int հաշվարկ = 0, i, m, j, k;

int t; int outputpin = A0; // ds18b20

int սենսորային արժեք;

///////////////////////////////////////// ԲՈԼՈՐ ՀԱՅՏԱՐԱՐՈԹՅՈՆՆԵՐԸ Ամպի համար ////// //////////////////////////

const char* host = "api.thingsai.io"; // ԿԱՄ

հյուրընկալող = devapi2.thethingscloud.com

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

const char* time_server = "baas.thethingscloud.com"; // սա ժամանակային դրոշմ փոխարկելու համար է

const int httpPort = 80;

const int httpsPort = 443;

const char* սերվեր = "api.thingsai.io"; // Սերվերի URL

char timestamp [10];

WiFiMulti WiFiMulti;

// Օգտագործեք WiFiClient դասը ՝ TCP կապեր ստեղծելու համար

WiFiClient հաճախորդ;

//////////////////////////////////////// TIMESTAMP ՀԱՇՎԱՐԿ գործառույթ ///////// //////////////////////////////// int GiveMeTimestamp () {unsigned long timeout = millis (); // WiFiClient հաճախորդ;

while (client.available () == 0)

{

if (millis () - timeout> 50000)

{

client.stop (); վերադարձ 0;

}

}

while (client.available ())

{

Լարային գիծ = client.readStringUntil ('\ r'); // indexOf () -ը smthng որոնելու գործառույթ է, այն չգտնվելու դեպքում վերադարձնում է -1

int pos = line.indexOf ("\" ժամանակային նշան / ""); // որոնման համար "\" timestamp / "" պատասխանների սկզբից ստացել և պատճենել բոլոր տվյալները դրանից հետո, դա կլինի քո ժամադրոշմը

եթե (pos> = 0)

{

int j = 0;

համար (j = 0; j <10; j ++)

{

ժամանակային կնիք [j] = տող [pos + 12 + j];

}

}

}

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

դատարկ կարգավորում ()

{

Serial.begin (115200);

ուշացում (10);

// Մենք սկսում ենք միանալով WiFi ցանցին

WiFiMulti.addAP («wifi», «pswrd»);

Serial.println ();

Serial.println ();

Serial.print («Սպասեք WiFi- ին …»);

իսկ (WiFiMulti.run ()! = WL_CONNECTED)

{

Serial.print (".");

ուշացում (500);

}

Serial.println ("");

Serial.println («WiFi միացված է»);

Serial.println ("IP հասցե` "); Serial.println (WiFi.localIP ());

ուշացում (500);

}

դատարկ շրջան ()

{

int analogValue = analogRead (ելքային փին);

{//////////////////////////////////////// Ո SԱՐԿԵԼ ՀԱՐUԸ ԵՎ ՊԱՏԱՍԽԱՆԵԼ ՊԱՏԱՍԽԱՆԸ /// /////////////////////

sensorvalue = analogRead (A0); // կարդալ անալոգային մուտքային փին 0

sensorvalue = sensorvalue/100;

Serial.print (sensorvalue, DEC); // տպում է կարդացված արժեքը

Serial.print ("\ n"); // տպում է տարածություն թվերի միջև

ուշացում (1000); // սպասեք 100 ms հաջորդ ընթերցմանը

Serial.print («միանալով»); Serial.println (հաղորդավար); // սահմանված է գլխիվայր.- հյուրընկալող = devapi2.thethingscloud.com կամ 139.59.26.117

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

Serial.println ("ներսում ստացեք ժամանակային նշան / n");

եթե (! client.connect (time_server, {վերադարձ; //*-*-*-*-*-*-*-*-*-*}

client.println ("GET/api/timestamp HTTP/1.1"); // Ինչ է անում այս հատվածը, ես չեմ ստացել client.println ("Հաղորդավար ՝ baas.thethingscloud.com");

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

client.println ("Փոստատար-նշան. ea3c18c6-09ba-d049-ccf3-369a22a284b8");

client.println ();

GiveMeTimestamp (); // այն կկանչի այն գործառույթը, որը կստանա ժամանակային նշանի պատասխանը սերվերից Serial.println («ստացվել է ժամանակային նշանը»);

Serial.println (ժամանակացույց);

Serial.println ("ThingsCloudPost- ի ներսում");

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

PostValue = PostValue + ", \" dts / ":" + ժամադրոշմ;

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

Serial.println (PostValue);

/ * ստեղծել WiFiClientSecure */ WiFiClientSecure հաճախորդի օրինակ;

Serial.println («Միացեք սերվերին 443 պորտի միջոցով»);

եթե (! client.connect (սերվեր, 443))

{

Serial.println («Կապը ձախողվեց»);

}

ուրիշ

{Serial.println ("Միացված է սերվերին"); / * ստեղծել HTTP հարցում */

client.println ( POST/devices/deviceData

client.println ("Հաղորդավար` api.thingsai.io "); //client.println("Կապ. փակիր "); cl

ient.println («Բովանդակության տեսակը ՝ ծրագիր/json»);

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

client.println ("թույլտվության BearereyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9. IjVhMzBkZDFkN2QwYjNhNGQzODkwYzQ4OSI.kaY6OMj5cYlWNqC2PNTkXs9PKy6_m9tdW5AG7ajfVlY"); client.print ("Բովանդակություն-երկարություն.");

client.println (PostValue.length ());

client.println ();

client.println (PostValue); /////////////////////////////////// ամպի վրա տվյալների տեղադրումը կատարված է, և այժմ ստացեք պատասխանի ձևը ամպ սերվեր ///////////////////

Serial.print («Սպասում ենք պատասխանին»);

իսկ (! client.available ()) {

ուշացում (50); //

Serial.print (".");

} / * եթե տվյալները հասանելի են, ստացեք և տպեք տերմինալում * /

while (client.available ())

{

char c = client.read ();

Սերիա. Գրել (գ);

}

/ * եթե սերվերն անջատված է, դադարեցրեք հաճախորդին */

եթե (! client.connected ())

{

Serial.println ();

Serial.println ("Սերվերն անջատված է");

client.stop ();

}

} Serial.println ("///////////////////// ՎԵՐ END /////////////////// /");

ուշացում (3000); }}

Քայլ 7. Խորհրդի և Com Port- ի ընտրություն

Խորհրդի և Com Port- ի ընտրություն
Խորհրդի և Com Port- ի ընտրություն

Գործիքներից ընտրեք տախտակը և այնուհետև ընտրեք com պորտը

Քայլ 8: Շղթայի միացումներ

Շղթայական միացումներ
Շղթայական միացումներ
Շղթայական միացումներ
Շղթայական միացումներ
Շղթայական միացումներ
Շղթայական միացումներ

Կոդավորումը կատարվում է, ապա կատարեք հետևյալ կապերը, ինչպես նշված է ստորև

ՄԻԱՈՄՆԵՐ.

GND- ի esp32- ից GND- ի LDR տվիչի

3V3 0f esp32 դեպի LDR- ի Vcc

Esp32- ի VP- ն LDR- ի A0- ին

Քայլ 9: Կազմել և վերբեռնել

Կազմել և վերբեռնել
Կազմել և վերբեռնել

կազմեք և վերբեռնեք կոդը esp32- ում, այնուհետև կարդացեք ընթերցումները սերիական մոնիտորից: Դա ցույց կտար արդյունք այսպիսի մի բան

Քայլ 10: Սերիական մոնիտոր

Սերիական մոնիտոր
Սերիական մոնիտոր

Արժեքները ստացվում են սերիական մոնիտորի վրա, այնուհետև դրանք ուղարկվում են THINGSAI IOT Cloud հարթակ:

Քայլ 11: Ընթերցումներ

Ընթերցումներ
Ընթերցումներ

Սա ցույց է տալիս esp32 տախտակից ստացված արժեքները:

Քայլ 12: Գրաֆիկական ներկայացում

Գրաֆիկական ներկայացում
Գրաֆիկական ներկայացում

Սա ստացված արժեքների գրաֆիկական ներկայացումն է: Դասընթացն ավարտվում է դրանով: Հուսով եմ հասկացաք: Շնորհակալություն

Խորհուրդ ենք տալիս: