ዝርዝር ሁኔታ:
- ደረጃ 1 - ቦኤም - የቁሳቁስ ሂሳብ
- ደረጃ 2 - የአናሎግ UV ዳሳሽ
- ደረጃ 3 - ማሳያ መጫን - OLED
- ደረጃ 4: የአከባቢ UV መለኪያ
- ደረጃ 5 - ለአየር ሙቀት እና እርጥበት መለኪያዎች DHT22 ን መጫን
- ደረጃ 6 - ውሂብን ወደ ThingSpeak.com መላክ
- ደረጃ 7 መደምደሚያ
ቪዲዮ: IoT ቀላል ሆኗል - የርቀት የአየር ሁኔታ መረጃን መያዝ - UV እና የአየር ሙቀት እና እርጥበት - 7 ደረጃዎች
2024 ደራሲ ደራሲ: John Day | [email protected]. ለመጨረሻ ጊዜ የተሻሻለው: 2024-02-01 14:39
በዚህ መማሪያ ላይ የርቀት መረጃን እንደ UV (አልትራቫዮሌት ጨረር) ፣ የአየር ሙቀት እና እርጥበት እንይዛለን። እነዚያ መረጃዎች በጣም አስፈላጊ ይሆናሉ እናም ለወደፊቱ በተጠናቀቀ የአየር ሁኔታ ጣቢያ ውስጥ ያገለግላሉ።
የማገጃው ዲያግራም መጨረሻ ላይ ምን እንደምናገኝ ያሳያል።
ደረጃ 1 - ቦኤም - የቁሳቁስ ሂሳብ
NodeMCU (ESP8266-12E) - 9.00 ዶላር
እርጥበት እና የሙቀት ዳሳሽ (DHT22) - USD10.00
UV ዳሳሽ - 4.00 ዶላር
OLED USD 12.00
የዳቦ ሰሌዳ - USD1.00
ደረጃ 2 - የአናሎግ UV ዳሳሽ
ይህ የአልትራቫዮሌት ዳሳሽ በብርሃን ዳሳሽ ህዋስ ላይ ከሚገኘው ከአልትራቫዮሌት ጨረር ጋር ተመጣጣኝ የሆነ የአናሎግ ውፅዓት ያመነጫል። የ 240-370nm የብርሃን ክልል (UVB ን እና አብዛኛዎቹን የ UVA ህብረ ህዋሳትን የሚሸፍን) የ UV photodiode (በ Gallium Nitride ላይ የተመሠረተ) ይጠቀማል። ከፎቶዲዲዮው ያለው የምልክት ደረጃ በናኖ-አምፔር ደረጃ ውስጥ በጣም ትንሽ ነው ፣ ስለሆነም ሞጁሉ ምልክቱን ወደ ተነባቢ የቮልት ደረጃ (ከ 0 እስከ 1 ቪ) ለማጉላት የአሠራር ማጉያውን አካቷል።
ቪሲሲን ወደ 3.3VDC (ወይም 5VDC) እና GND ን ከኃይል መሬት ጋር በማገናኘት ዳሳሽ እና ኦፕ-አምፕ ኃይል ሊሰጥ ይችላል። የአናሎግ ምልክቱ ከ OUT ፒን ሊገኝ ይችላል።
የእሱ ውፅዓት በሚሊቪልት ይሆናል እና በእኛ NodeMCU አናሎግ ግቤት ይነበባል። ከተነበበ በኋላ እሴቶቹ በኮዱ በተሻለ ሁኔታ እንዲስተናገዱ “መለወጥ” (ወይም “ካርታ”) ማድረግ አለብን። በተግባሩ አንብብ SensorUV ():
/ * የ UV ዳሳሽ በ mV ውስጥ ያንብቡ እና የአልትራቫዮሌት መረጃ ጠቋሚ ስሌት */
ባዶነት readSensorUV () {byte 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); መረጃ ጠቋሚ (); }
የ UV መረጃ ካገኘን በኋላ ከላይ ባለው ሰንጠረዥ እንደተገለፀው የ UV መረጃ ጠቋሚውን በቀላሉ ማስላት እንችላለን። የተግባር መረጃ ጠቋሚ አስል () ያደርግልናል-
/ * UV ማውጫ ስሌት */
ባዶ መረጃ ጠቋሚ አስላ () {ከሆነ (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 - ማሳያ መጫን - OLED
ለሙከራ ዓላማዎች ፣ እኛ ኦ.ቪ.ዲ (UV) መለኪያችን ላይ እንጨምረዋለን (ይህ እርምጃ ሙሉ በሙሉ አማራጭ ነው)።
ተከታታይ ሞኒተሮችን ለመጠቀም በፈተናዎች ወቅት ደህና ነው ፣ ግን በተናጥል ሁኔታዎ ከኮምፒዩተርዎ ርቀው የእርስዎን ፕሮቶፖች ሲጠቀሙ ምን እየሆነ ነው? ለዚያ ፣ የ OLED ማሳያ ፣ SSD1306 ን እንጫን ፣ የትኞቹ ዋና ዋና ባህሪዎች ናቸው
- የማሳያ መጠን 0.96 ኢንች
- I2C IIC SPI ተከታታይ
- 128X64
- ነጭ OLED LCD LED
የኤሌክትሪክ ንድፉን ይከተሉ እና የ OLED ን 4 ፒንዎን ያገናኙ
- ቪሲሲ ወደ 3.3 ቪ ይሄዳል
- GND ወደ መሬት ይሄዳል
- SCL ወደ NodeMCU (GPIO 2) ==> D4 ይሄዳል
- ኤስዲኤ ወደ NodeMCU (GPIO 0) ==> D3 ይሄዳል
አንዴ ማሳያውን ካገናኘን በኋላ ቤተመጻሕፍቱን በአርዱዲኖ አይዲኢ ላይ አውርደን እንጫነው - በ ‹ዳንኤል ኢችሆርን› የተገነባው ‹ESP8266 OLED Driver for SSD1306 ማሳያ› (ስሪት 3.0.0 ወይም ከዚያ በላይ መጠቀሙን ያረጋግጡ!)።
በ SSD1306Wire.h ላይ ሊገኝ በሚችለው በአርዱዲኖ አይዲኢ ላይ ቤተ -መጽሐፍቱን ይጫኑ
አንዴ IDE ን እንደገና ከጀመሩ ፣ ቤተ -መጽሐፍት ቀድሞውኑ መጫን አለበት።
ቤተ-መጽሐፉ አብሮ የተሰራውን የ Wire.h ቤተ-መጽሐፍት በመጠቀም የ OLED ማሳያውን ለመድረስ የ I2C ፕሮቶኮልን ይደግፋል-
/ * 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);
በእኛ የ OLED ማሳያ ጥቅም ላይ የሚውል አንዳንድ አስፈላጊ ኤፒአይ እንዘርዝር። ሙሉ ዝርዝሩ ከላይ በተሰጠው GITHub ላይ ይገኛል።
ሀ ማሳያ መቆጣጠሪያ;
ባዶነት init (); // ማሳያውን ያስጀምሩ
ባዶነት ማሳያ ላይ (ባዶ); // ማሳያውን ባዶ በሆነ ማሳያ ላይ ያብሩ (ባዶ); // ማሳያውን ባዶ (ባዶ) ን ያጥፉ ፣ // የአከባቢውን የፒክሰል ቋት ባዶ ባዶ ማንሸራተቻ ማያ ገጽን በአቀባዊ (); // ማሳያውን ወደታች ያዙሩት
ለ. የጽሑፍ ሥራዎች
ባዶ ባዶ ስዕል (int16_t x ፣ int16_t y ፣ ሕብረቁምፊ ጽሑፍ); // (xpos ፣ ypos ፣ “ጽሑፍ”)
ባዶ setFont (const char* fontData); // የአሁኑን ቅርጸ -ቁምፊ ያዘጋጃል።
የሚገኙ ነባሪ ቅርጸ -ቁምፊዎች ፦
- ArialMT_Plain_10 ፣
-
ArialMT_Plain_16 ፣
- ArialMT_Plain_24
ሁለቱም 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); ባዶነት ማዋቀር () {Serial.begin (115200); displaySetup (); } ባዶነት loop () {} / * በ OLED * / ባዶነት ማሳያ ቅንብር () {display.init () ላይ የማዋቀር ውሂብን ያስጀምሩ እና ያሳዩ ፤ // የማሳያ ማሳያውን አስጀምር። // የማሳያ ማሳያ አጥፋ። ማያ ገጹን በአቀባዊ (); // ማሳያውን ወደታች ማሳያ ያሳዩ። አሳይ (); // መረጃን በማሳያው ላይ Serial.println (“የማሳያ ሙከራን ማስጀመር”); 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: የአከባቢ UV መለኪያ
አሁን ፣ በ OLED ማሳያ ተጭኖ ፣ ባትሪችንን ማገናኘት እና የእኛን “UV Meter” በመጠቀም አንዳንድ የርቀት ሙከራዎችን ማድረግ እንችላለን።
#ጥራት SW_VERSION "UV_Sensor_V.1"
/ * UV Sensor */ #define sensorUVPin 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); ባዶነት ማዋቀር () {Serial.begin (115200); displaySetup (); } ባዶነት loop () {readSensorUV (); displayUV (); መዘግየት (1000); } / * የማዋቀር ውሂብን በ OLED * / ባዶነት ማሳያSetup () {display.init () ላይ ያሳዩ እና ያሳዩ ፤ // የማሳያ ማሳያውን አስጀምር። // የማሳያ ማሳያ አጥፋ። ማያ ገጹን በአቀባዊ (); // ማሳያውን ወደታች ማሳያ ያሳዩ። አሳይ (); // መረጃን በማሳያው ላይ Serial.println ("UV ዳሳሽ ሙከራን ማስጀመር") ፤ display.setFont (ArialMT_Plain_24); display.drawString (10 ፣ 0 ፣ “MJRoBot”); display.setFont (ArialMT_Plain_16); display.drawString (0 ፣ 29 ፣ “UV ዳሳሽ ሙከራ”); display.setFont (ArialMT_Plain_10); display.drawString (0 ፣ 52 ፣ “SW Ver.:”); display.drawString (45 ፣ 52 ፣ SW_VERSION); display.display (); መዘግየት (3000); } / * የ UV ዳሳሽ በ mV ውስጥ ያንብቡ እና የአልትራቫዮሌት መረጃ ጠቋሚ ስሌት * / ባዶ ንባብ SensorUV () {byte 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); መረጃ ጠቋሚ (); } / * UV ማውጫ ስሌት * / ባዶ መረጃ ጠቋሚ ማስላት () {ከሆነ (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* / ባዶነት ማሳያUV () {display.clear (); display.setFont (ArialMT_Plain_16); display.drawString (20 ፣ 0 ፣ “UV Sensor”); display.drawString (0, 23, "UV (mV):"); display.drawString (80 ፣ 23 ፣ ሕብረቁምፊ (dataSensorUV)); display.drawString (0 ፣ 48 ፣ “UV Index:”); display.setFont (ArialMT_Plain_24); display.drawString (82 ፣ 42 ፣ String (indexUV)); display.display (); }
ከላይ ያለው ኮድ ከእኔ GitHun: NodeMCU_UV_Sensor_OLED.ino ማውረድ ይችላል
ደረጃ 5 - ለአየር ሙቀት እና እርጥበት መለኪያዎች DHT22 ን መጫን
የአየር ሁኔታ መረጃን ለመያዝ በጣም ከሚጠቀሙባቸው ዳሳሾች አንዱ ዲኤችቲ 22 (ወይም ወንድሙ DHT11) ፣ ዲጂታል አንፃራዊ እርጥበት እና የሙቀት ዳሳሽ ነው። በዙሪያው ያለውን አየር ለመለካት አቅም ያለው የእርጥበት ዳሳሽ እና ቴርሞስታተርን ይጠቀማል እና በመረጃ ፒን ላይ ዲጂታል ምልክት ይተፋል (የአናሎግ ግብዓት ካስማዎች አያስፈልጉም)።
አነፍናፊው በ 3.3V እና 5V መካከል ኃይል ሊኖረው እና ከ -40oC እስከ +80oC ከ +/- 0.5oC ትክክለኛነት ጋር ለሙቀት እና ለ +/- 2% አንጻራዊ እርጥበት ይሠራል። እንዲሁም የእሱ የመዳሰሻ ጊዜ በአማካይ 2 ሰከንዶች (በንባብ መካከል ዝቅተኛው ጊዜ) መሆኑን ከግምት ውስጥ ማስገባት አስፈላጊ ነው። የአዳፍሬው ጣቢያ ስለ ሁለቱም ፣ ስለ DHT22 እና ስለ ወንድሙ DHT11 ብዙ መረጃ ይሰጣል። ለተጨማሪ ዝርዝሮች እባክዎን DHT22/11 አጋዥ ገጽን ይጎብኙ።
DHT22 4 ፒኖች አሉት (ዳሳሹን ፊት ለፊት ፣ ፒን 1 በጣም የቀረው)
- ቪሲሲ (ከኖድኤምሲዩ ወደ 3.3V እንገናኛለን);
- መረጃ ወጥቷል ፤
- አልተገናኘም እና
- መሬት።
አንዴ አብዛኛውን ጊዜ ዳሳሹን ከ 20 ሜትር ባነሰ ርቀቶች ላይ ይጠቀማሉ ፣ 10 ኬ resistor በመረጃ እና በ VCC ፒኖች መካከል መገናኘት አለበት። የውጤት ፒን ከ NodeMCU ፒን D3 ጋር ይገናኛል (ከላይ ያለውን ስእል ይመልከቱ)። አንዴ አነፍናፊው በእኛ ሞዱል ላይ ከተጫነ የ DHT ቤተ -መጽሐፍቱን ከአዳፍ ፍሬ ጊትሆብ ማከማቻ ያውርዱ እና በአርዱዲኖ ቤተ -መጽሐፍት ፋይል ውስጥ ይጫኑት። አንዴ የእርስዎን አርዱዲኖ አይዲኢ እንደገና ከጫኑ በኋላ የ “DHT ዳሳሽ ቤተ -መጽሐፍት” መጫን አለበት።
በኮዱ መጀመሪያ ላይ መስመሮቹን ማካተት አለብን
/* DHT22*/
#"DHT.h" #ዲፋይን DHTPIN D2 #ዲፊኤን DHTTYPE DHT22 DHT dht (DHTPIN ፣ DHTTYPE) ያካትቱ ፤ ተንሳፋፊ ሁም = 0; ተንሳፋፊ ሙቀት = 0;
ዳሳሹን ለማንበብ አዲስ ተግባር ይፈጠራል
/ * የ DHT ውሂብ ያግኙ */
ባዶ getDhtData (ባዶ) {float tempIni = temp; ተንሳፈፈ humIni = hum; temp = dht.readTemperature (); hum = dht.read እርጥበት (); if (isnan (hum) || isnan (temp)) // ማንኛውም ንባብ ካልተሳካ ያረጋግጡ እና ቀደም ብለው ይውጡ (እንደገና ለመሞከር)። {Serial.println («ከ DHT ዳሳሽ ማንበብ አልተሳካም!»); temp = tempIni; ሁም = humIni; መመለስ; }}
የአልትራቫዮሌት እና የዲኤችቲ ዳሳሾችን ጨምሮ የተሟላ ኮድ ከእኔ GitHub: NodeMCU_UV_DHT_Sensor_OLED ማውረድ ይችላል
ደረጃ 6 - ውሂብን ወደ ThingSpeak.com መላክ
እስካሁን NodeMCU ESP12-E ን እንደ መደበኛ እና ተራ የአርዱዲኖ ቦርድ ብቻ ነው የተጠቀምነው። በእርግጥ ፣ እኛ የዚህን አስደናቂ ትንሽ ቺፕ እውነተኛ አቅም ብቻ “ቧጨርነው” እና ወደ ሰማይ የምንነሳበት ጊዜ አሁን ነው! ወይም ለከዋክብት የተሻለ! ኤር… ወደ ደመናው!;-)
እንጀምር!
- በመጀመሪያ ፣ በ ThinkSpeak.com ላይ መለያ ሊኖርዎት ይገባል
- ሰርጥ ለመፍጠር መመሪያዎቹን ይከተሉ እና የሰርጥ መታወቂያዎን ያስተውሉ እና የኤፒአይ ቁልፍን ይፃፉ
- ከዚህ በታች ያለውን ኮድ በ WiFi አውታረ መረብዎ እና በ Thinkspeak ምስክርነቶች ያዘምኑ
- ፕሮግራሙን በ IDE ላይ ያሂዱ
በጣም አስፈላጊዎቹን ክፍሎች ኮዱን አስተያየት እንስጥ-
በመጀመሪያ ፣ ወደ ESP8266 ቤተ -መጽሐፍት እንደውል ፣ የ WiFi ደንበኛውን ይግለጹ እና የአከባቢዎን ራውተር እና የ Thinkspeak ምስክርነቶችን ይግለጹ-
/* ESP12-E & Thinkspeak*/
#የ WiFi ደንበኛ ደንበኛን ያካትቱ ፤ const char* MY_SSID = "የእርስዎ SSD መታወቂያ እዚህ"; const char* MY_PWD = "የእርስዎ የይለፍ ቃል እዚህ"; const char* TS_SERVER = "api.thingspeak.com"; ሕብረቁምፊ TS_API_KEY = "የእርስዎ CHANNEL WRITE API ቁልፍ";
ሁለተኛ ፣ ለ IoT ፕሮጄክቶች በጣም አስፈላጊ ቤተ -መጽሐፍትን እንጨምር- SimpleTimer.h:
/ * ሰዓት ቆጣሪ */
#SimpleTimer ሰዓት ቆጣሪን ያካትቱ ፤
ሦስተኛ ፣ በማዋቀር () ጊዜ ፣ ተከታታይ ግንኙነትን እንጀምራለን ፣ ተግባሩን ConnectWiFi () ይደውሉ እና ሰዓት ቆጣሪዎችን እንገልፃለን። የኮድ መስመሩን ልብ ይበሉ timer.setInterval (60000L ፣ sendDataTS) ፤ ወደ ThinkSpeak ሰርጥ ውሂብ ለመስቀል ተግባሩን በየ 60 ሰከንዶች sendDataTS () ይደውላል።
ባዶነት ማዋቀር ()
{… Serial.begin (115200) ፤ መዘግየት (10); … ConnectWifi (); timer.setInterval (60000L ፣ sendDataTS); …}
በመጨረሻ ግን ቢያንስ በ loop () ወቅት አስፈላጊው ሰዓት ቆጣሪውን ማስጀመር ነው እና ያ ብቻ ነው!
ባዶነት loop ()
{… Timer.run (); // SimpleTimer ን ያስጀምራል}
ከዚህ በታች የ Thinkspeak ግንኙነትን ለማስተናገድ ያገለገሉትን ሁለት አስፈላጊ ተግባራት ማየት ይችላሉ-
የ ESP12-E ግንኙነት ከ WiFi አውታረ መረብዎ ጋር
/***************************************************
*WiFi በማገናኘት ላይ *********************************************** ***/ ባዶነት connectWifi () {Serial.print (“ከ”+*MY_SSID ጋር በመገናኘት ላይ); WiFi.begin (MY_SSID ፣ MY_PWD); ሳለ (WiFi.status ()! = WL_CONNECTED) {መዘግየት (1000); Serial.print ("."); } Serial.println (""); Serial.println ("WiFi ተገናኝቷል"); Serial.println (""); }
ESP12-E ውሂብ ወደ ThinkSpeak በመላክ ላይ
/***************************************************
*ወደ Thinkspeak ሰርጥ መረጃን መላክ ******************************************** ******/ ባዶነት sendDataTS (ባዶ) {ከሆነ (client.connect (TS_SERVER ፣ 80)) {String postStr = TS_API_KEY; postStr += "& field1 ="; postStr += ሕብረቁምፊ (dataSensorUV); postStr += "& field2 ="; postStr += ሕብረቁምፊ (indexUV); postStr += "& field3 ="; postStr += ሕብረቁምፊ (ቴምፕ); postStr += "& field4 ="; postStr += ሕብረቁምፊ (ሃም); postStr += "\ r / n / r / n"; client.print ("POST /update HTTP /1.1 / n"); client.print ("አስተናጋጅ: api.thingspeak.com / n"); client.print ("ግንኙነት ፦ close / n"); client.print ("X-THINGSPEAKAPIKEY:" + TS_API_KEY + "\ n"); client.print ("የይዘት-አይነት: ማመልከቻ/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
አንዴ ወደ ኖድኤምሲዩ የተሰቀለውን ኮድ ከያዙ በኋላ። ውጫዊ ባትሪ እንገናኝ እና ከፀሐይ በታች የተወሰነ ልኬት እናድርግ። የርቀት ጣቢያውን በጣሪያው ላይ አደርጋለሁ እና ከላይ ባሉት ፎቶዎች ላይ እንደሚታየው በ ThingSpeak.com ላይ መረጃን መያዝ እጀምራለሁ።
ደረጃ 7 መደምደሚያ
እንደተለመደው ፣ ይህ ፕሮጀክት ሌሎች ወደ አስደሳች የኤሌክትሮኒክስ ዓለም እንዲገቡ ይረዳቸዋል ብዬ ተስፋ አደርጋለሁ!
ለዝርዝሮች እና ለመጨረሻ ኮድ ፣ እባክዎን የ GitHub ማስቀመጫዬን ይጎብኙ-RPi-NodeMCU-Weather-Station
ለተጨማሪ ፕሮጄክቶች እባክዎን የእኔን ብሎግ ይጎብኙ - MJRoBot.org
ይከታተሉ! ቀጣዩ ትምህርት በ Raspberry Pi የድር አገልጋይ ላይ በመመርኮዝ ከርቀት የአየር ሁኔታ ጣቢያ ወደ ማዕከላዊ መረጃ እንልካለን።
ሳሉዶስ ከደቡብ ዓለም!
በሚቀጥለው አስተማሪዬ ውስጥ እንገናኝ!
አመሰግናለሁ, ማርሴሎ
የሚመከር:
የ NaTaLia የአየር ሁኔታ ጣቢያ - አርዱዲኖ ሶላር ኃይል ያለው የአየር ሁኔታ ጣቢያ በትክክለኛው መንገድ ተከናውኗል - 8 ደረጃዎች (ከስዕሎች ጋር)
የ NaTaLia የአየር ሁኔታ ጣቢያ - አርዱዲኖ ሶላር የተጎላበተው የአየር ሁኔታ ጣቢያ በትክክለኛው መንገድ ተከናውኗል - በ 1 የተለያዩ ቦታዎች ላይ ከ 1 ዓመት ስኬታማ ክወና በኋላ በፀሐይ ኃይል የሚሰራ የአየር ሁኔታ ጣቢያ ፕሮጀክት ዕቅዶቼን እያካፈልኩ እና በእውነቱ ከረዥም ጊዜ በኋላ በሕይወት ሊቆይ ወደሚችል ስርዓት እንዴት እንደተለወጠ እገልጻለሁ። ወቅቶች ከፀሐይ ኃይል። እርስዎ ከተከተሉ
ESP32 የአየር ሁኔታ የአየር ሁኔታ ጣቢያ 16 ደረጃዎች (ከስዕሎች ጋር)
ESP32 Weathercloud Weather ጣቢያ - ባለፈው ዓመት አርዱinoኖ የአየር ሁኔታ ደመና የአየር ሁኔታ ጣቢያ የተባለውን ትልቁን አስተማሪዬን አሳትሜያለሁ። እላለሁ በጣም ተወዳጅ ነበር። በመምህራን መነሻ ገጽ ፣ በአርዱዲኖ ብሎግ ፣ በዊዝኔት ሙዚየም ፣ በኢንስታግራም ኢንስታግራም ፣ በአርዱዲኖ Instagr ላይ ተለይቶ ቀርቧል
አርዱዲኖ የአየር ሁኔታ ደመና የአየር ሁኔታ ጣቢያ 16 ደረጃዎች (ከስዕሎች ጋር)
አርዱዲኖ የአየር ሁኔታ ደመና የአየር ሁኔታ ጣቢያ - ከበይነመረቡ ጋር የተገናኘ የአየር ሁኔታ ጣቢያ ሠራሁ። እሱ የሙቀት መጠንን ፣ እርጥበትን ፣ ግፊትን ፣ ዝናብ ፣ የንፋስ ፍጥነትን ፣ የአልትራቫዮሌት መረጃ ጠቋሚውን ይለካል እና ጥቂት ተጨማሪ አስፈላጊ የሜትሮሎጂ እሴቶችን ያሰላል። ከዚያ ይህንን ውሂብ ወደ ጥሩው ግራፍ ወዳለው ወደ weathercloud.net ይልካል
የአየር ሁኔታ ሻማ - የአየር ሁኔታ እና የሙቀት መጠን በጨረፍታ 8 ደረጃዎች
የአየር ሁኔታ ሻማ - የአየር ሁኔታ እና የሙቀት መጠን በጨረፍታ - ይህንን አስማታዊ ሻማ በመጠቀም ፣ የአሁኑን የሙቀት መጠን እና ሁኔታዎችን ወዲያውኑ ከውጭ ማወቅ ይችላሉ
Acurite 5 በ 1 የአየር ሁኔታ ጣቢያ Raspberry Pi እና Weewx ን በመጠቀም (ሌሎች የአየር ሁኔታ ጣቢያዎች ተኳሃኝ ናቸው) 5 ደረጃዎች (ከስዕሎች ጋር)
Acurite 5 በ 1 የአየር ሁኔታ ጣቢያ Raspberry Pi እና Weewx ን (ሌሎች የአየር ሁኔታ ጣቢያዎች ተኳሃኝ ናቸው) - Acurite 5 ን በ 1 የአየር ሁኔታ ጣቢያ በገዛሁበት ጊዜ እኔ በሌለሁበት ጊዜ በቤቴ ያለውን የአየር ሁኔታ ማረጋገጥ መቻል እፈልግ ነበር። ወደ ቤት ስመለስ እና ሳዋቀር ማሳያውን ከኮምፒዩተር ጋር ማገናኘት ወይም ስማርት ማዕከላቸውን መግዛት እንዳለብኝ ተገነዘብኩ