Orodha ya maudhui:

LDR Kutumia Wingu la Thingsai: Hatua 13
LDR Kutumia Wingu la Thingsai: Hatua 13

Video: LDR Kutumia Wingu la Thingsai: Hatua 13

Video: LDR Kutumia Wingu la Thingsai: Hatua 13
Video: 8 Tips to Make Your Long Distance Relationship Last 2024, Julai
Anonim
LDR Kutumia Wingu la Thingsai
LDR Kutumia Wingu la Thingsai

HEY…. leo tutajifunza juu ya kupima ukubwa wa nuru na kuweka maadili kwenye jukwaa la wingu la THINGSAI IOT kwa kutumia ESP32.

Mahitaji ya kufanya mradi huu ni

1. Bodi ya Maendeleo ya ESP32 (Nimetumia ESP32 DEVKIT V1)

2. Sensor ya LDR

3. waya za jumper

4. Akaunti katika THINGSAI IOT PLATFORM

Hatua ya 1: Kuunda na Kuingia kwenye Jukwaa la THINGSIO

Kuunda na Kuingia kwenye Jukwaa la THINGSIO
Kuunda na Kuingia kwenye Jukwaa la THINGSIO

Ingia kwenye akaunti ya MAMBO AI. Ikiwa wewe ni mpya basi jiandikishe kwa akaunti kwa kubonyeza kitufe cha usajili na ujaze hati zote. Akaunti yako itaundwa na kutoka hapo utaweza kufanya kazi kwenye jukwaa la wingu na kuunda mradi wako wa kawaida

Hatua ya 2: Kuunda Mradi Mpya

Kuunda Mradi Mpya
Kuunda Mradi Mpya

Baada ya kuingia kwenye akaunti, kuunda mradi bonyeza tu kwenye mradi mpya na kisha upe jina la mradi.

Hatua ya 3: Kuunda Kifaa kipya

Kuunda Kifaa kipya
Kuunda Kifaa kipya

baada ya kuunda mradi jambo linalofuata unapaswa kuunda kifaa kipya Toa jina la kifaa na weka kitambulisho cha kifaa iwe kwa mikono au mfumo uliotengenezwa.

Hatua ya 4: Kufafanua Kigezo cha Kifaa

Kufafanua Kigezo cha Kifaa
Kufafanua Kigezo cha Kifaa

Toa kigezo cha kifaa kisha uchague aina ya parameta

Hatua ya 5: Kusasisha Kifaa

Kusasisha Kifaa
Kusasisha Kifaa

Chagua parameter na kisha usasishe kifaa

Hatua ya 6: Usimbuaji

Kuandika
Kuandika

Kutoka kwa nambari za sampuli chagua nambari ya esp32 nakili kisha ibandike kwenye IDE ya arduino na ufanye mabadiliko muhimu kulingana na mahitaji. Nimewapa nambari hapa chini

#jumuisha #jumuisha

# pamoja

hesabu = 0, i, m, j, k;

int t; pato la ndani = A0; // ds18b20

int sensorvalue;

/////////////////////////////////////////// MATANGAZO YOTE YA WINGA /////// //////////////////////////

const char * mwenyeji = "api.thingsai.io"; // AU

mwenyeji = devapi2.thethingscloud.com

const char * post_url = "/ vifaa / DataData ya kifaa"; // AU / api / v2 / thingscloud2 / _table / data_ac

const char * time_server = "baas.thethingscloud.com"; // hii ni kubadilisha muhuri wa muda

const int httpPort = 80;

const int httpsPort = 443;

const char * server = "api.thingsai.io"; // URL ya seva

ch timestamp [10];

WiFiMulti WiFiMulti;

// Tumia darasa la Wateja wa WiFi kuunda unganisho la TCP

Mteja wa Wateja wa WiFi;

///////////////////////////////////////// TIMESTAMP HESABU kazi ////////// ///////////////////////////////// int GiveMeTimestamp () {unsigned longoutout = millis (); // Mteja wa Wateja wa WiFi;

wakati (mteja anapatikana () == 0)

{

ikiwa (millis () - muda wa kumaliza> 50000)

{

mteja.acha (); kurudi 0;

}

}

wakati (mteja anapatikana ())

{

Mstari wa kamba = mteja.readStringUntil ('\ r'); // indexOf () ni funtion ya kutafuta smthng, inarudi -1 ikiwa haipatikani

int pos = line.indexOf ("\" timestamp / ""); // tafuta "\" timestamp / "" kutoka mwanzo wa jibu lilipata na kunakili data zote baada ya hapo, itakuwa alama yako ya muda

ikiwa (pos> = 0)

{

int j = 0;

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

{

timestamp [j] = mstari [pos + 12 + j];

}

}

}

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

kuanzisha batili ()

{

Serial. Kuanza (115200);

kuchelewesha (10);

// Tunaanza kwa kuungana na mtandao wa WiFi

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

Serial.println ();

Serial.println ();

Serial.print ("Subiri kwa WiFi…");

wakati (WiFiMulti.run ()! = WL_CONNECTED)

{

Printa ya serial (".");

kuchelewesha (500);

}

Serial.println ("");

Serial.println ("WiFi imeunganishwa");

Serial.println ("Anwani ya IP:"); Serial.println (WiFi.localIP ());

kuchelewesha (500);

}

kitanzi batili ()

{

int analogValue = AnalogRead (pato la pini);

{///////////////////////////////////////// TUMA SWALI NA UPOKEE MAJIBU /// //////////////////////

sensorvalue = AnalogSoma (A0); // soma pini ya pembejeo ya analog 0

sensorvalue = sensavalue / 100;

Printa ya serial (sensorerue, DEC); // chapa thamani iliyosomwa

Serial.print ("\ n"); // chapa nafasi kati ya nambari

kuchelewesha (1000); // subiri 100ms kwa usomaji unaofuata

Serial.print ("kuunganisha kwa"); Serial.println (mwenyeji); // imefafanuliwa kichwa: - mwenyeji = devapi2.thethingscloud.com au 139.59.26.117

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

Serial.println ("ndani pata muhuri wa muda / n");

ikiwa (! mteja.connect (time_server, {kurudi; // * - * - * - * - * - * - * - * - * - *}

mteja.println ("GET / api / timestamp HTTP / 1.1"); // Je! Sehemu hii inafanya nini, sikupata mteja.println ("Jeshi: baas.thethingscloud.com");

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

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

mteja.println ();

NipeTimestamp (); // itaita kazi ambayo itapata majibu ya muhuri wa muda kutoka kwa seva Serial.println ("timestamp imepokea");

Serial.println (timestamp);

Serial.println ("ndani ya ThingsCloudPost");

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

PostValue = PostValue + ", \" dts / ":" + muhuri wa muda;

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

Serial.println (PostValue);

/ * tengeneza mfano wa mteja wa WiFiClientSecure * / WiFiClientSecure;

Serial.println ("Unganisha kwenye seva kupitia bandari 443");

ikiwa (! mteja.connect (seva, 443))

{

Serial.println ("Uunganisho umeshindwa!");

}

mwingine

{Serial.println ("Imeunganishwa na seva!"); / * tengeneza ombi la HTTP * /

mteja.println ("POST / vifaa / kifaaData HTTP / 1.1");

mteja.println ("Jeshi: api.thingsai.io"); //client.println ("Uunganisho: funga"); cl

ient.println ("Aina ya Maudhui: programu / json");

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

mteja. alama ya mteja ("Urefu wa Yaliyomo:");

mteja.println (PostValue.length ());

mteja.println ();

mteja.println (PostValue); //////////////////////////////////// KUWEKA data kwenye wingu kumalizika na sasa pata wingu la fomu ya majibu seva ///////////////////

Serial.print ("Kusubiri majibu");

wakati (! mteja anapatikana ()) {

kuchelewesha (50); //

Printa ya serial (".");

} / * ikiwa data inapatikana basi pokea na uchapishe kwenye Kituo * /

wakati (mteja anapatikana ())

{

char c = mteja.soma ();

Serial.write (c);

}

/ * ikiwa seva imetengwa, simamisha mteja * /

ikiwa (! mteja. imeunganishwa ())

{

Serial.println ();

Serial.println ("Seva imekatika");

mteja.acha ();

}

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

kuchelewesha (3000); }}

Hatua ya 7: Uchaguzi wa Bodi na Com Port

Uchaguzi wa Bodi na Com Port
Uchaguzi wa Bodi na Com Port

Kutoka kwa zana chagua bodi kisha uchague bandari ya com

Hatua ya 8: Uunganisho wa Mzunguko

Uunganisho wa Mzunguko
Uunganisho wa Mzunguko
Uunganisho wa Mzunguko
Uunganisho wa Mzunguko
Uunganisho wa Mzunguko
Uunganisho wa Mzunguko

Uwekaji wa maandishi hufanywa kisha fanya viunganisho vifuatavyo kama ilivyoelezwa hapo chini

Viunganisho:

GND ya esp32 hadi GND ya sensa ya LDR

3V3 0f esp32 kwa Vcc ya LDR

VP ya esp32 kwa A0 ya LDR

Hatua ya 9: Kusanya na Pakia

Jumuisha na Pakia
Jumuisha na Pakia

kukusanya na kupakia nambari kwenye esp32 na kisha soma usomaji kutoka kwa mfuatiliaji wa serial. Hiyo ingeonyesha matokeo kama hii

Hatua ya 10: Monitor Monitor

Ufuatiliaji wa serial
Ufuatiliaji wa serial

Maadili hupatikana kwenye mfuatiliaji wa serial na kisha hutumwa kwenye jukwaa la Wingu la THINGSAI IOT.

Hatua ya 11: Usomaji

Usomaji
Usomaji

Hii inaonyesha maadili yaliyopatikana kutoka kwa bodi ya esp32.

Hatua ya 12: Uwakilishi wa Picha

Uwakilishi wa picha
Uwakilishi wa picha

Huu ndio uwakilishi wa kielelezo wa maadili yaliyopatikana. Hiyo ni mwisho wa mafunzo. Natumahi umeelewa. Asante

Ilipendekeza: