ዝርዝር ሁኔታ:

ESP32 Thing እና Blynk ን በመጠቀም የእፅዋት መቆጣጠሪያ 5 ደረጃዎች
ESP32 Thing እና Blynk ን በመጠቀም የእፅዋት መቆጣጠሪያ 5 ደረጃዎች

ቪዲዮ: ESP32 Thing እና Blynk ን በመጠቀም የእፅዋት መቆጣጠሪያ 5 ደረጃዎች

ቪዲዮ: ESP32 Thing እና Blynk ን በመጠቀም የእፅዋት መቆጣጠሪያ 5 ደረጃዎች
ቪዲዮ: SKR Pro v1.2 - TMC5160 SPI 2024, ህዳር
Anonim
ESP32 Thing እና Blynk ን በመጠቀም የእፅዋት መቆጣጠሪያ
ESP32 Thing እና Blynk ን በመጠቀም የእፅዋት መቆጣጠሪያ
ESP32 Thing እና Blynk ን በመጠቀም የእፅዋት መቆጣጠሪያ
ESP32 Thing እና Blynk ን በመጠቀም የእፅዋት መቆጣጠሪያ

አጠቃላይ እይታ

የዚህ ፕሮጀክት ግብ የቤት እፅዋትን ሁኔታ ለመከታተል የሚችል የታመቀ መሣሪያ መፍጠር ነው። መሳሪያው ተጠቃሚው የአፈርን እርጥበት ደረጃ ፣ የእርጥበት መጠን ፣ የሙቀት መጠንን እና “የሚሰማውን” የሙቀት መጠን ብላይንክ መተግበሪያን በመጠቀም ከስማርትፎን እንዲፈትሽ ያስችለዋል። በተጨማሪም ፣ ሁኔታዎች ለፋብሪካው ተስማሚ በማይሆኑበት ጊዜ ተጠቃሚው የኢሜል ማስጠንቀቂያ ይቀበላል። ለምሳሌ ፣ የአፈር እርጥበት ደረጃ ከተገቢው ደረጃ በታች ሲወርድ ተጠቃሚው ተክሉን ለማጠጣት ማሳሰቢያ ይቀበላል።

ደረጃ 1: መስፈርቶች

መስፈርቶች
መስፈርቶች
መስፈርቶች
መስፈርቶች
መስፈርቶች
መስፈርቶች

ይህ ፕሮጀክት የ Sparkfun ESP32 ነገር ፣ የ DHT22 ዳሳሽ እና የኤሌክትሮኒክ ጡብ አፈር እርጥበት ዳሳሽ ይጠቀማል። በተጨማሪም ፣ የ wifi አውታረ መረብ እና የብሊንክ መተግበሪያ ያስፈልጋል። የ ESP32 ን ነገር ለመያዝ የውሃ መከላከያ አጥር መፈጠር አለበት። ይህ ምሳሌ ለኃይል ምንጭ መደበኛ መውጫ ሲጠቀም ፣ እንደገና ሊሞላ የሚችል ባትሪ ፣ የፀሐይ ፓነል እና የኃይል መቆጣጠሪያ መቆጣጠሪያ መሳሪያው በታዳሽ ኃይል በኩል እንዲነቃ ያስችለዋል።

ደረጃ 2 ብሊንክ

ብሊንክ
ብሊንክ
ብሊንክ
ብሊንክ
ብሊንክ
ብሊንክ

ለመሆን ፣ የብሊንክ መተግበሪያን ያውርዱ እና አዲስ ፕሮጀክት ይፍጠሩ። የማረጋገጫ ማስመሰያውን ልብ ይበሉ-በኮዱ ውስጥ ጥቅም ላይ ይውላል። በብሎንክ መተግበሪያ ውስጥ አዲስ የማሳያ ንዑስ ፕሮግራሞችን ይፍጠሩ እና በኮዱ ውስጥ የተገለጹትን ተጓዳኝ ምናባዊ ፒኖችን ይምረጡ። ለመግፋት የእድሳት ክፍተቱን ያዘጋጁ። እያንዳንዱ መግብር የራሱ ምናባዊ ፒን መሰጠት አለበት።

ደረጃ 3: Arduino IDE

አርዱዲኖ አይዲኢ
አርዱዲኖ አይዲኢ

Arduino IDE ን ያውርዱ። የ wifi ግንኙነትን ለማረጋገጥ ለ ESP32 ነገር ነጂ እና ማሳያውን የማውረድ መመሪያዎችን ይከተሉ። በኮዱ ውስጥ የተካተቱትን የብሊንክ እና የዲኤችቲ ቤተ -ፍርግሞችን ያውርዱ። በመጨረሻው ኮድ የማረጋገጫ ማስመሰያ ፣ የ wifi ይለፍ ቃል ፣ የ wifi ተጠቃሚ ስም እና ኢሜል ይሙሉ። ለአፈሩ ዓይነት ዝቅተኛ እና ከፍተኛ እሴቶችን ለማግኘት ለአፈር እርጥበት ዳሳሽ የማሳያ ኮዱን ይጠቀሙ። በመጨረሻው ኮድ ውስጥ እነዚህን እሴቶች ይመዝግቡ እና ይተኩ። በመጨረሻው ኮድ ውስጥ ለፋብሪካው የሙቀት መጠን ፣ የአፈር እርጥበት እና እርጥበት ዝቅተኛ እሴቶችን ይተኩ። ኮዱን ይስቀሉ።

ደረጃ 4: ይገንቡት

ይገንቡት
ይገንቡት
ይገንቡት
ይገንቡት
ይገንቡት
ይገንቡት

በመጀመሪያ ፣ የአፈር እርጥበት ዳሳሹን ከ 3.3V ፣ ከመሬት እና ከግብዓት ፒን 34 ጋር ያገናኙት። ማስታወሻ ፣ የዚህ መቀየሪያ የአናሎግ ቅንብር ጥቅም ላይ ስለሚውል መቀየሪያው ወደ ሀ ተቀናብሯል። በመቀጠልም የዲኤች ቲ ዳሳሹን ከ 3.3 ቪ ፣ ከመሬት እና ከግብዓት ፒን 27 ጋር ያገናኙት። የዲኤችቲ 22 ዳሳሽ በቪሲሲ እና በውሂብ መውጫ ፒን መካከል 10 ኪ Ohm resistor ይፈልጋል። በትክክል መገናኘቱን ለማረጋገጥ የ DHT ንድፉን ማረጋገጥዎን ያረጋግጡ። በአፈር ውስጥ ካለው የእርጥበት ዳሳሽ እና ከመሬት በላይ ካለው የዲኤችቲ ዳሳሽ ጋር በውኃ መከላከያ ውስጠኛ ክፍል ውስጥ ESP32 ን ያዋቅሩ። ከኃይል ምንጭ ጋር ይገናኙ እና በእርስዎ ተክል አካባቢ ላይ ባለው መረጃ ይደሰቱ።

ደረጃ 5 ኮድ

// የተካተቱ ቤተ -መጻሕፍት

#BLYNK_PRINT ተከታታይን ይግለጹ

#አካት #አካትት #አካትት #DHT.h ን አካት

// የ DHT ዳሳሽ መረጃ

#define DHTTYPE DHT22 // DHT 22 (AM2302) ፣ AM2321 #define DHTPIN 27 // ዲጂታል ፒን ከ DHT ዳሳሽ DHT dht (DHTPIN ፣ DHTTYPE) ጋር ተገናኝቷል ፤ // የ DHT ዳሳሽ ያስጀምሩ።

// የግቤት ፒኖችን እና ውፅዓቶችን ይግለጹ

int አፈር_ሴንሰር = 34; // ከእርጥበት ዳሳሽ ጋር የተገናኘ የአናሎግ ግብዓት ፒን ቁጥርን ይግለጹ

int output_value; // እንደ ውፅዓት ይግለጹ

int እርጥበት ደረጃ; // እንደ ውፅዓት ይግለጹ

ያልታወቀ = 0; // እንደ 0 የተገለፀውን ይግለጹ

int timedelay = 60000L; // በየደቂቃው ወይም 60,000 ሚሊሰከንዶች አንድ ጊዜ ውሂብ እንዲያገኝ ሰዓት ቆጣሪ ያዘጋጁ

// ለተክሎች አነስተኛ እሴቶችን ያዘጋጁ

int min_moisture = 20; int min_temperature = 75; int min_humidity = 60;

// በብሉክ መተግበሪያ ውስጥ Auth Token ን ማግኘት አለብዎት።

char auth = "Auth_Token_Here";

// የእርስዎ የ WiFi ምስክርነቶች።

char ssid = "Wifi_Network_Here"; የቻር ማለፊያ = "Wifi_Password_Here";

BlynkTimer ሰዓት ቆጣሪ;

// ይህ ተግባር የአርዱዲኖን ጊዜ በየሴኮንድ ወደ ምናባዊ ፒን (5) ይልካል።

// በመተግበሪያው ውስጥ የመግብር ንባብ ድግግሞሽ ወደ PUSH መዋቀር አለበት። ይህ ማለት // ወደ ብሊንክ መተግበሪያ ምን ያህል ጊዜ ውሂብ እንደሚልኩ ይገልፃሉ ማለት ነው።

ባዶ ዳሳሾች () // ዋና ተግባር ዳሳሾችን ለማንበብ እና ወደ ብላይክ ለመግፋት

{output_value = analogRead (የአፈር_ሴንሰር) ፤ // የአናሎግ ምልክትን ከአፈር_ሴንሰር ያንብቡ እና እንደ ውጤት_ቫልዩ // ካርታ output_vlaue ከደቂቃ ፣ ከፍተኛ እሴቶችን ወደ 100 ፣ 0 እና በ 0 ፣ 100 // መካከል የናሙና ኮድ እና ተከታታይ ሞኒተርን ይጠቀሙ እና ለተሻለ የመለኪያ እርጥበት ደረጃ / የግለሰብ ዳሳሽ እና የአፈር ዓይነት ከፍተኛ እሴቶች = እገዳ (ካርታ (output_value ፣ 1000 ፣ 4095 ፣ 100 ፣ 0) ፣ 0 ፣ 100); ተንሳፋፊ h = dht.read እርጥበት (); // እርጥበት ተንሳፋፊ ያንብቡ t = dht.readTemperature (); // የሙቀት መጠንን እንደ ሴልሺየስ ያንብቡ (ነባሪው) ተንሳፋፊ f = dht.readTemperature (እውነት); // የሙቀት መጠንን እንደ ፋራናይት (isFahrenheit = true) ያንብቡ// በፎረንሄት (ነባሪው) ተንሳፋፊ ሂፍ = dht.computeHeatIndex (ረ ፣ ሸ) // ማንኛውም ንባብ ካልተሳካ ያረጋግጡ እና ቀደም ብለው ይውጡ (እንደገና ለመሞከር)። (ኢስናን (ሸ) || ኢስናን (ቲ) || ኢስናን (ረ)) {Serial.println (F ("ከ DHT ዳሳሽ ማንበብ አልተሳካም!")); መመለስ; } // ይህ በቫሊንክ መተግበሪያ Blynk.virtualWrite (V5 ፣ moistlevel) ውስጥ ባሉ መግብሮች ውስጥ ከተገለጹት ምናባዊ ፒኖች ጋር ይገናኛል። // የእርጥበት ደረጃን ወደ ምናባዊ ፒን 5 ይላኩ። ፒን 6 Blynk.virtualWrite (V7 ፣ ሸ) ፤ // እርጥበት ወደ ምናባዊ ፒን 7 ላክ Blynk.virtualWrite (V8 ፣ hif) ፤ // የሙቀት መረጃ ጠቋሚ ወደ ምናባዊ ፒን 8

ከሆነ (ማሳወቂያ == 0)

{ከሆነ (እርጥበት ደረጃ <= min_moisture) // እርጥበት ደረጃ ከደቂቃ እሴት በታች ወይም ከዚያ በታች ከሆነ {Blynk.email (“Email_Here” ፣ “የእፅዋት ተቆጣጣሪ” ፣ “የውሃ ተክል!”); // ኢሜል ወደ ውሃ ተክል ይላኩ} መዘግየት (15000); // የብላይንክ ኢሜይሎች በ 15 ሰከንዶች ልዩነት መሆን አለባቸው። (F <= min_temperature) // የሙቀት መጠኑ ከደቂቃ እሴት ጋር እኩል ከሆነ ወይም ከዚያ በታች ከሆነ {Blynk.email ("Email_Here" ፣ "Plant Monitor" ፣ "Temperature Low!"); // የሙቀት መጠኑ ዝቅተኛ መሆኑን ኢሜል ይላኩ

}

መዘግየት (15000); // የብላይንክ ኢሜይሎች በ 15 ሰከንዶች ልዩነት መሆን አለባቸው። (ሸ <= min_humidity) // እርጥበት እኩል ከሆነ ወይም ከዚያ በታች ከሆነ እሴት {Blynk.email (“Emial_Here” ፣ “የእፅዋት ተቆጣጣሪ” ፣ “እርጥበት ዝቅተኛ!”) መዘግየት። // እርጥበት ዝቅተኛ መሆኑን ኢሜል ይላኩ} ማሳወቂያ = 1; ሰዓት ቆጣሪ። // በተደጋጋሚ የማስጠንቀቂያ ኢሜይሎች መካከል በሚፈለጉት የደቂቃዎች ብዛት/ ጊዜ ማብዛት}}

ባዶነት ዳግም ማስጀመር ያልተገለፀ () // ተግባር የኢሜል ድግግሞሽን ዳግም ለማስጀመር ተጠርቷል

{ማሳወቂያ = 0; }

ባዶነት ማዋቀር ()

{Serial.begin (9600); // አርም ኮንሶል Blynk.begin (auth ፣ ssid ፣ pass); // ከ blynk timer.setInterval (የጊዜ ገደብ ፣ ዳሳሾች) ጋር ይገናኙ; // በየደቂቃው እንዲጠራ ወይም ምን የጊዜ ገደብ ወደ dht.begin () እንደተቀየረ ተግባር ያዋቅሩ። // የ DHT ዳሳሽ ያሂዱ}

// ባዶ ባዶ loop blynk.run እና ሰዓት ቆጣሪ ብቻ መያዝ አለበት

ባዶነት loop () {Blynk.run (); // አሂድ blynk timer.run (); // ያስነሳል BlynkTimer}

የሚመከር: