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

IoT- ը դյուրին դարձավ. Հեռակա եղանակի տվյալների գրավում. Ուլտրամանուշակագույն և օդի ջերմաստիճան և խոնավություն ՝ 7 քայլ
IoT- ը դյուրին դարձավ. Հեռակա եղանակի տվյալների գրավում. Ուլտրամանուշակագույն և օդի ջերմաստիճան և խոնավություն ՝ 7 քայլ

Video: IoT- ը դյուրին դարձավ. Հեռակա եղանակի տվյալների գրավում. Ուլտրամանուշակագույն և օդի ջերմաստիճան և խոնավություն ՝ 7 քայլ

Video: IoT- ը դյուրին դարձավ. Հեռակա եղանակի տվյալների գրավում. Ուլտրամանուշակագույն և օդի ջերմաստիճան և խոնավություն ՝ 7 քայլ
Video: Օրացույց. 30-ը Մարտի.Ռոբերտ Քոչարյանը դարձավ ՀՀ նախագահ 2024, Հուլիսի
Anonim
IoT- ն դյուրին դարձավ. Հեռակա եղանակի տվյալների գրավում. Ուլտրամանուշակագույն և օդի ջերմաստիճան և խոնավություն
IoT- ն դյուրին դարձավ. Հեռակա եղանակի տվյալների գրավում. Ուլտրամանուշակագույն և օդի ջերմաստիճան և խոնավություն

Այս ձեռնարկի վրա մենք կլսենք հեռավոր տվյալները որպես ուլտրամանուշակագույն (ուլտրամանուշակագույն ճառագայթում), օդի ջերմաստիճանը և խոնավությունը: Այդ տվյալները շատ կարևոր կլինեն և կօգտագործվեն ապագա ամբողջական Եղանակային կայանում:

Բլոկային դիագրամը ցույց է տալիս, թե ինչ կստանանք վերջում:

Պատկեր
Պատկեր

Քայլ 1: BoM - նյութի հաշիվ

NodeMCU (ESP8266-12E) - 9.00 ԱՄՆ դոլար

Խոնավության և ջերմաստիճանի տվիչ (DHT22) - 10,00 ԱՄՆ դոլար

Ուլտրամանուշակագույն ցուցիչ - 4.00 ԱՄՆ դոլար

OLED ԱՄՆ դոլար 12.00

Հացաթուղթ - 1,00 ԱՄՆ դոլար

Քայլ 2. Անալոգային ուլտրամանուշակագույն ցուցիչ

Անալոգային ուլտրամանուշակագույն սենսոր
Անալոգային ուլտրամանուշակագույն սենսոր
Անալոգային ուլտրամանուշակագույն սենսոր
Անալոգային ուլտրամանուշակագույն սենսոր
Անալոգային ուլտրամանուշակագույն սենսոր
Անալոգային ուլտրամանուշակագույն սենսոր

Այս ուլտրամանուշակագույն սենսորն առաջացնում է անալոգային ելք `համաչափ ուլտրամանուշակագույն ճառագայթման, որը գտնվում է լուսազգայուն սպեկտրում: Այն օգտագործում է ուլտրամանուշակագույն ֆոտոդիոդ (հիմնված է Գալիումի նիտրիդի վրա), որը կարող է հայտնաբերել 240-370 նմ լույսի տիրույթը (որը ծածկում է UVB և UVA սպեկտրի մեծ մասը): Ֆոտոդիոդից ազդանշանի մակարդակը շատ փոքր է `նանո-ամպերի մակարդակում, ուստի մոդուլը ներկառուցել է գործառնական ուժեղացուցիչ` ազդանշանը ավելի ընթեռնելի վոլտ մակարդակի (0-ից 1 Վ) հզորացնելու համար:

Սենսորը և op-amp- ը կարող են սնուցվել ՝ VCC- ն միացնելով 3.3VDC (կամ 5VDC), իսկ GND- ին ՝ հոսանքի գրունտին: Անալոգային ազդանշանը կարելի է ստանալ OUT կապից:

Դրա ելքը կլինի միլիվոլտ և կարդացվելու է մեր NodeMCU- ի անալոգային մուտքի միջոցով: Կարդալուց հետո մենք պետք է այն «փոխարկենք» (կամ «քարտեզագրենք»), որպեսզի արժեքները ավելի լավ մշակվեն ծածկագրով: Մենք կարող ենք դա անել readSensorUV () գործառույթով:

/ * Կարդացեք ուլտրամանուշակագույն սենսոր mV- ով և զանգահարեք ուլտրամանուշակագույն ինդեքսի հաշվարկ */

void readSensorUV () {բայթ numOfReadings = 5; dataSensorUV = 0; համար (int i = 0; i <numOfReadings; i ++) {dataSensorUV+= analogRead (sensorUVPin); ուշացում (200); } dataSensorUV /= numOfReadings; dataSensorUV = (dataSensorUV * (3.3 / 1023.0)) * 1000; Serial.println (dataSensorUV); indexCalculate (); }

Ուլտրամանուշակագույն ճառագայթման տվյալները ստանալուց հետո մենք կարող ենք հեշտությամբ հաշվարկել ուլտրամանուշակագույն ճառագայթման ինդեքսը, ինչպես սահմանված է վերը նշված աղյուսակում: IndexCalculate () գործառույթը դա կանի մեզ համար.

/ * Ուլտրամանուշակագույն ինդեքսի հաշվարկ */

դատարկ indexCalculate () {if (dataSensorUV <227) indexUV = 0; այլապես, եթե (227 <= dataSensorUV && dataSensorUV <318) indexUV = 1; այլապես, եթե (318 <= dataSensorUV && dataSensorUV <408) indexUV = 2; այլապես, եթե (408 <= dataSensorUV && dataSensorUV <503) indexUV = 3; այլապես, եթե (503 <= dataSensorUV && dataSensorUV <606) indexUV = 4; այլապես, եթե (606 <= dataSensorUV && dataSensorUV <696) indexUV = 5; այլապես, եթե (696 <= dataSensorUV && dataSensorUV <795) indexUV = 6; այլապես, եթե (795 <= dataSensorUV && dataSensorUV <881) indexUV = 7; այլապես, եթե (881 <= dataSensorUV && dataSensorUV <976) indexUV = 8; այլապես, եթե (976 <= dataSensorUV && dataSensorUV <1079) indexUV = 9; այլապես, եթե (1079 <= dataSensorUV && dataSensorUV <1170) indexUV = 10; այլ ցուցանիշ UV = 11; }

Քայլ 3: Displayուցադրման տեղադրում. OLED

Displayուցասարքի տեղադրում. OLED
Displayուցասարքի տեղադրում. OLED
Displayուցասարքի տեղադրում. OLED
Displayուցասարքի տեղադրում. OLED

Փորձարկման նպատակով մենք մեր ուլտրամանուշակագույն հաշվիչի վրա կներառենք OLED (այս քայլը լրիվ պարտադիր չէ):

Թեստերի ընթացքում Սերիական մոնիտոր օգտագործելը լավ է, բայց ի՞նչ է տեղի ունենում, երբ դուք օգտագործում եք ձեր նախատիպերը ձեր համակարգչից հեռու `առանձին ռեժիմում: Դրա համար եկեք տեղադրենք OLED էկրան ՝ SSD1306, որի հիմնական բնութագրերն են.

  • Displayուցասարքի չափը `0.96"
  • I2C IIC SPI Սերիա
  • 128X64
  • Սպիտակ OLED LCD լուսադիոդ

Հետևեք էլեկտրական գծապատկերին և միացրեք մեր OLED- ի 4 կապում.

  • VCC- ն անցնում է 3.3V- ի
  • GND- ն անցնում է գետնին
  • SCL- ն անցնում է NodeMCU (GPIO 2) ==> D4
  • SDA- ն գնում է NodeMCU (GPIO 0) ==> D3

Էկրանը միացնելուց հետո ներբեռնենք և տեղադրենք դրա գրադարանը մեր Arduino IDE- ում ՝ «ESP8266 OLED վարորդը SSD1306 ցուցադրման համար», որը մշակվել է Դանիել Էյխհորնի կողմից (համոզվեք, որ օգտագործում եք 3.0.0 կամ ավելի մեծ տարբերակ):

Տեղադրեք գրադարանը ձեր Arduino IDE- ում, որը կարելի է գտնել SSD1306Wire.h- ում

IDE- ն վերագործարկելուց հետո գրադարանը պետք է արդեն տեղադրված լինի:

Գրադարանը աջակցում է I2C արձանագրությանը `OLED էկրանին մուտք գործելու համար` օգտագործելով ներկառուցված Wire.h գրադարանը.

/ * OLED */

#ներառել «SSD1306Wire.h» #ներառել «Wire.h» const int I2C_DISPLAY_ADDRESS = 0x3c; const int SDA_PIN = 0; const int SCL_PIN = 2; SSD1306 Լարային էկրան (I2C_DISPLAY_ADDRESS, SDA_PIN, SCL_PIN);

Թվարկենք մի քանի կարևոր API, որոնք կօգտագործվեն մեր OLED էկրանով: Ամբողջական ցանկը կարելի է գտնել վերը նշված GITHub- ում:

A. Displayուցադրման հսկողություն.

void init (); // Նախագծեք էկրանը

void displayOn (դատարկ); // Միացնել ցուցադրումը void displayOff (անվավեր); // Անջատել ցուցադրման անջատումները void clear (void); // Մաքրել տեղական պիքսելային բուֆերի անվավեր flipScreenVertically (); // Էկրանը գլխիվայր շրջել

B. Տեքստային գործառնություններ.

void drawString (int16_t x, int16_t y, լարային տեքստ); // (xpos, ypos, "Text")

անվավեր setFont (const char* fontData); // Սահմանում է ընթացիկ տառատեսակը:

Մատչելի լռելյայն տառատեսակներ.

  • ArialMT_Plain_10,
  • ArialMT_Plain_16,

  • ArialMT_Plain_24

Երբ տեղադրվի ինչպես OLED- ն, այնպես էլ նրա Գրադարանը, եկեք գրենք մի պարզ ծրագիր `այն փորձարկելու համար: Մուտքագրեք ստորև նշված կոդը ձեր IDE- ում, արդյունքը պետք է լինի ցուցադրում, ինչպես ցույց է տրված վերը նշված լուսանկարում.

* OLED */

#ներառել «SSD1306Wire.h» #ներառել «Wire.h» const int I2C_DISPLAY_ADDRESS = 0x3c; const int SDA_PIN = 0; const int SCL_PIN = 2; SSD1306 Լարային էկրան (I2C_DISPLAY_ADDRESS, SDA_PIN, SCL_PIN); void setup () {Serial.begin (115200); displaySetup (); } void loop () {} / * Նախաձեռնել և ցուցադրել կարգավորումների տվյալները OLED * / void displaySetup () {display.init (); // սկզբնականացնել ցուցադրման էկրանը: clear (); // Մաքրել ցուցադրման էկրանը. FlipScreenVertically (); // Էկրանը գլխիվայր շրջել display.display (); // Տեղադրեք տվյալները ցուցադրման Serial.println («Displayուցադրման թեստի մեկնարկ»); display.setFont (ArialMT_Plain_24); display.drawString (30, 0, «OLED»); // (xpos, ypos, "Text") display.setFont (ArialMT_Plain_16); display.drawString (18, 29, «Փորձարկումն սկսված է»); display.setFont (ArialMT_Plain_10); display.drawString (10, 52, "Serial BaudRate:"); display.drawString (90, 52, լարային (11500)); display.display (); // Տեղադրեք տվյալները ցուցադրման հետաձգման վրա (3000); }

Վերոնշյալ ծրագիրը կարելի է ներբեռնել իմ GitHub- ից.

NodeMCU_OLED_Test

Քայլ 4: Տեղական ուլտրամանուշակագույն հաշվիչ

Տեղական ուլտրամանուշակագույն հաշվիչ
Տեղական ուլտրամանուշակագույն հաշվիչ
Տեղական ուլտրամանուշակագույն հաշվիչ
Տեղական ուլտրամանուշակագույն հաշվիչ

Այժմ, տեղադրված OLED էկրանով, մենք կարող ենք միացնել մարտկոցը և մի քանի հեռակա փորձարկումներ կատարել ՝ օգտագործելով մեր «ուլտրամանուշակագույն հաշվիչը»

#սահմանեք SW_VERSION "UV_Sensor_V.1"

/ * Ուլտրամանուշակագույն տվիչ */ #սահմանել տվիչ UVPin A0 int dataSensorUV = 0; int indexUV = 0; / * OLED */ #ներառել «SSD1306Wire.h» #ներառել «Wire.h» const int I2C_DISPLAY_ADDRESS = 0x3c; const int SDA_PIN = 0; const int SCL_PIN = 2; SSD1306 Լարային էկրան (I2C_DISPLAY_ADDRESS, SDA_PIN, SCL_PIN); void setup () {Serial.begin (115200); displaySetup (); } void loop () {readSensorUV (); displayUV (); ուշացում (1000); } / * Գործարկել և ցուցադրել կարգավորումների տվյալները OLED * / void displaySetup () {display.init (); // սկզբնականացնել ցուցադրման էկրանը. clear (); // Մաքրել ցուցադրման էկրանը. FlipScreenVertically (); // Էկրանը գլխիվայր շրջել display.display (); // Տեղադրեք տվյալները ցուցադրման Serial.println («Ուլտրամանուշակագույն սենսորային թեստի մեկնարկ»); display.setFont (ArialMT_Plain_24); display.drawString (10, 0, «MJRoBot»); display.setFont (ArialMT_Plain_16); display.drawString (0, 29, «Ուլտրամանուշակագույն սենսորների թեստ»); display.setFont (ArialMT_Plain_10); display.drawString (0, 52, «SW Ver.:»); display.drawString (45, 52, SW_VERSION); display.display (); ուշացում (3000); } / * Կարդացեք ուլտրամանուշակագույն սենսոր mV- ով և կանչեք ուլտրամանուշակագույն ինդեքսի հաշվարկ * / void readSensorUV () {բայթ numOfReadings = 5; dataSensorUV = 0; համար (int i = 0; i <numOfReadings; i ++) {dataSensorUV+= analogRead (sensorUVPin); ուշացում (200); } dataSensorUV /= numOfReadings; dataSensorUV = (dataSensorUV * (3.3 / 1023.0)) * 1000; Serial.println (dataSensorUV); indexCalculate (); } / * UV ինդեքսի հաշվարկ * / void indexCalculate () {if (dataSensorUV <227) indexUV = 0; այլապես, եթե (227 <= dataSensorUV && dataSensorUV <318) indexUV = 1; այլապես, եթե (318 <= dataSensorUV && dataSensorUV <408) indexUV = 2; այլապես, եթե (408 <= dataSensorUV && dataSensorUV <503) indexUV = 3; այլապես, եթե (503 <= dataSensorUV && dataSensorUV <606) indexUV = 4; այլապես, եթե (606 <= dataSensorUV && dataSensorUV <696) indexUV = 5; այլապես, եթե (696 <= dataSensorUV && dataSensorUV <795) indexUV = 6; այլապես, եթե (795 <= dataSensorUV && dataSensorUV <881) indexUV = 7; այլապես, եթե (881 <= dataSensorUV && dataSensorUV <976) indexUV = 8; այլապես, եթե (976 <= dataSensorUV && dataSensorUV <1079) indexUV = 9; այլապես, եթե (1079 <= dataSensorUV && dataSensorUV <1170) indexUV = 10; այլ ցուցանիշ UV = 11; } /* UVուցադրել ուլտրամանուշակագույն արժեքները տեղական OLED* / void displayUV () {display.clear (); display.setFont (ArialMT_Plain_16); display.drawString (20, 0, «Ուլտրամանուշակագույն ցուցիչ»); display.drawString (0, 23, "UV (mV):"); display.drawString (80, 23, լարային (dataSensorUV)); display.drawString (0, 48, «Ուլտրամանուշակագույն ինդեքս.»); display.setFont (ArialMT_Plain_24); display.drawString (82, 42, Լար (indexUV)); display.display (); }

Վերոնշյալ կոդը կարելի է ներբեռնել իմ GitHun- ից ՝ NodeMCU_UV_Sensor_OLED.ino

Քայլ 5. Օդի ջերմաստիճանի և խոնավության չափումների համար DHT22- ի տեղադրում

Օդի ջերմաստիճանի և խոնավության չափումների համար DHT22- ի տեղադրում
Օդի ջերմաստիճանի և խոնավության չափումների համար DHT22- ի տեղադրում
Օդի ջերմաստիճանի և խոնավության չափման համար DHT22- ի տեղադրում
Օդի ջերմաստիճանի և խոնավության չափման համար DHT22- ի տեղադրում

Եղանակի տվյալները գրավելու համար ամենաօգտագործվող սենսորներից է DHT22- ը (կամ դա DHT11 եղբայրն է), թվային հարաբերական խոնավության և ջերմաստիճանի տվիչ: Այն օգտագործում է խոնավության տարողունակության տվիչ և թերմիստոր `շրջապատող օդը չափելու համար և թվային ազդանշան է դուրս հանում տվյալների քորոցի վրա (անալոգային մուտքային կապեր անհրաժեշտ չեն):

Սենսորը պետք է սնուցվի 3.3 Վ-ից մինչև 5 Վ լարման սահմաններում և կաշխատի -40oC- ից +80oC ջերմաստիճանի դեպքում +/- 0.5oC և հարաբերական խոնավության համար +/- 2% ճշգրտությամբ: Կարևոր է նաև հաշվի առնել, որ դրա զգայունության ժամանակահատվածը միջինում 2 վայրկյան է (ընթերցումների միջև նվազագույն ժամանակը): Adafruit- ի կայքը շատ տեղեկություններ է տրամադրում երկուսի, DHT22- ի և նրա եղբոր DHT11- ի մասին: Լրացուցիչ մանրամասների համար այցելեք DHT22/11 ձեռնարկի էջ:

DHT22- ն ունի 4 կապում (սենսորի առջև, 1 -ը ամենից ձախն է).

  1. VCC (մենք կկապվենք 3.3 Վ -ին NodeMCU- ից);
  2. Տվյալների արտահոսք;
  3. Միացված չէ և
  4. Գետնին

Սովորաբար, երբ սենսորը կօգտագործեք 20 մ -ից պակաս հեռավորության վրա, 10K դիմադրություն պետք է միացված լինի տվյալների և VCC կապերի միջև: Ելքային քորոցը միացված կլինի NodeMCU կապ D3- ին (տե՛ս դիագրամը վերևում): Երբ սենսորը տեղադրվի մեր մոդուլում, ներբեռնեք DHT գրադարանը Adafruit GitHub պահոցից և տեղադրեք այն ձեր Arduino- ի գրադարանի ֆայլում: Ձեր Arduino IDE- ն վերաբեռնելուց հետո պետք է տեղադրվի «DHT տվիչների գրադարանը»:

Կոդի սկզբում մենք պետք է ներառենք տողերը.

/* DHT22*/

#ներառել «DHT.h» #սահմանել DHTPIN D2 #սահմանել DHTTYPE DHT22 DHT dht (DHTPIN, DHTTYPE); բոց բզզոց = 0; բոց ջերմաստիճան = 0;

Սենսորը կարդալու համար կստեղծվի նոր գործառույթ.

/ * Ստացեք DHT տվյալներ */

դատարկ getDhtData (անվավեր) {float tempIni = temp; float humIni = բզզոց; temp = dht.readTemperature (); hum = dht.readHumidity (); if (isnan (hum) || isnan (temp)) // Ստուգեք, թե որևէ ընթերցում ձախողվեց և շուտ դուրս եկեք (նորից փորձելու համար): {Serial.println ("Չհաջողվեց կարդալ DHT սենսորից"); temp = tempIni; հում = հումանի; վերադարձ; }}

Ամբողջական ծածկագիրը, ներառյալ ուլտրամանուշակագույն և DHT սենսորները, կարելի է ներբեռնել իմ GitHub- ից ՝ NodeMCU_UV_DHT_Sensor_OLED

Քայլ 6. Տվյալների ուղարկում ThingSpeak.com

Տվյալների ուղարկում ThingSpeak.com
Տվյալների ուղարկում ThingSpeak.com
Տվյալների ուղարկում ThingSpeak.com
Տվյալների ուղարկում ThingSpeak.com
Տվյալների ուղարկում ThingSpeak.com
Տվյալների ուղարկում ThingSpeak.com

Մինչ այժմ մենք օգտագործել ենք միայն NodeMCU ESP12-E- ն որպես սովորական և սովորական Arduino տախտակ: Իհարկե, մենք միայն «քերծեցինք» այս դիտարժան փոքրիկ չիպի իրական ներուժը, և այժմ ժամանակն է երկինք թռչելու: Կամ ավելի լավ աստղերին: Ահ… դեպի ամպ:;-)

Եկեք սկսենք!

  1. Նախ, դուք պետք է հաշիվ ունենաք ThinkSpeak.com կայքում
  2. Հետևեք ալիք ստեղծելու հրահանգներին և ուշադրություն դարձրեք ձեր ալիքի ID- ին և գրեք API բանալիին
  3. Թարմացրեք ստորև նշված կոդը ձեր WiFi ցանցի և Thinkspeak- ի հավատարմագրերի միջոցով
  4. Գործարկեք ծրագիրը IDE- ով

Եկեք մեկնաբանենք ծածկագրի ամենակարևոր մասերը.

Նախ, եկեք զանգահարենք ESP8266 գրադարան, սահմանենք WiFi հաճախորդը և սահմանենք ձեր տեղական Router- ի և Thinkspeak- ի հավատարմագրերը.

/* ESP12-E & Thinkspeak*/

#ներառել WiFiClient հաճախորդը; const char* MY_SSID = "ՔՈ SSD ID- ն ԱՅՍՏԵ"; const char* MY_PWD = "ՔՈ ԱASSՅՈՍՏԱԳՈՐԸ"; const char* TS_SERVER = "api.thingspeak.com"; Լարային TS_API_KEY = "ՔՈ ԱԼԻՔԸ ԳՐԵԼ API- ի Բանալին";

Երկրորդ, եկեք ներառենք IoT նախագծերի համար շատ կարևոր գրադարան ՝ SimpleTimer.h:

/ * IMԱՄԱՆԱԿԸ */

#ներառել SimpleTimer ժամաչափ;

Երրորդ, setup () - ի ընթացքում մենք կսկսենք սերիական հաղորդակցումը, կանչենք connectWiFi () գործառույթը և կսահմանենք ժամաչափերը: Նշենք, որ կոդի տողը ՝ timer.setInterval (60000L, sendDataTS); յուրաքանչյուր 60 վայրկյանը մեկ կանչում է sendDataTS () գործառույթը ՝ տվյալները ThinkSpeak ալիքում վերբեռնելու համար:

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

{… Serial.begin (115200); ուշացում (10); … ConnectWifi (); timer.setInterval (60000L, sendDataTS); …}

Վերջապես, բայց ոչ պակաս կարևոր, օղակի ընթացքում (), միակ հրամանը, որն անհրաժեշտ է, ժամանակաչափի գործարկումն է և վերջ:

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

{… Timer.run (); // նախաձեռնում է SimpleTimer}

Ստորև կարող եք տեսնել երկու կարևոր գործառույթներ, որոնք օգտագործվում են Thinkspeak հաղորդակցությունը կարգավորելու համար.

ESP12-E կապ ձեր WiFi ցանցի հետ.

/***************************************************

*Միացնել WiFi ********************************************* ***/ void connectWifi () {Serial.print ("Միացում"+*MY_SSID); WiFi.begin (MY_SSID, MY_PWD); while (WiFi.status ()! = WL_CONNECTED) {ուշացում (1000); Serial.print ("."); } Serial.println (""); Serial.println («WiFi միացված է»); Serial.println (""); }

ESP12-E- ն տվյալներ է ուղարկում ThinkSpeak.

/***************************************************

*Տվյալների ուղարկում Thinkspeak ալիքին **************************************** ******/ void sendDataTS (void) {if (client.connect (TS_SERVER, 80)) {String postStr = TS_API_KEY; postStr += "& դաշտ 1 ="; postStr += Լար (dataSensorUV); postStr += "& դաշտ 2 ="; postStr += Լար (indexUV); postStr += "& field3 ="; postStr += Լար (ջերմաստիճան); postStr += "& դաշտ 4 ="; postStr += Լար (բզզոց); postStr += "\ r / n / r / n"; client.print ("POST /update HTTP /1.1 / n"); client.print ("Հաղորդավար` api.thingspeak.com / n "); client.print ("Միացում. փակել / n"); client.print ("X-THINGSPEAKAPIKEY:" + TS_API_KEY + "\ n"); client.print ("Content-Type: application/x-www-form-urlencoded / n"); client.print ("Բովանդակություն-երկարություն."); client.print (postStr.length ()); client.print ("\ n / n"); client.print (postStr); ուշացում (1000); } ուղարկված ++; client.stop (); }

Ամբողջական կոդը կարելի է գտնել իմ GitHub- ում ՝ NodeMCU_UV_DHT_Sensor_OLED_TS_EXT

Երբ ձեր ծածկագիրը վերբեռնվի ձեր NodeMCU- ում: Եկեք միացնենք արտաքին մարտկոցը և որոշ չափումներ կատարենք արևի տակ: Ես դնում եմ Հեռակառավարման կայանը տանիքին և սկսում տվյալների հավաքումը ThingSpeak.com- ում, ինչպես ցույց է տրված վերը նշված լուսանկարներում:

Քայլ 7: Եզրակացություն

Եզրակացություն
Եզրակացություն

Ինչպես միշտ, ես հույս ունեմ, որ այս նախագիծը կարող է օգնել ուրիշներին գտնել իրենց ճանապարհը դեպի էլեկտրոնիկայի հետաքրքիր աշխարհ:

Մանրամասների և վերջնական ծածկագրի համար այցելեք իմ GitHub դեպոզիտարիան ՝ RPi-NodeMCU-Weather-Station

Լրացուցիչ նախագծերի համար այցելեք իմ բլոգը ՝ MJRoBot.org

Մնացեք մեզ հետ! Հաջորդ ձեռնարկը մենք հեռավոր եղանակային կայանից տվյալներ կուղարկենք կենտրոնական ՝ Raspberry Pi վեբ սերվերի հիման վրա.

Պատկեր
Պատկեր

Սալուդոս աշխարհի հարավից:

Կհանդիպենք իմ հաջորդ հրահանգի մեջ:

Շնորհակալություն, Մարսելո

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