فهرست مطالب:
تصویری: مانیتور گیاهی با استفاده از ESP32 Thing و Blynk: 5 مرحله
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:52
بررسی اجمالی
هدف این پروژه ایجاد یک دستگاه جمع و جور است که می تواند شرایط گیاهان آپارتمانی را تحت نظر داشته باشد. این دستگاه کاربر را قادر می سازد تا با استفاده از برنامه Blynk App سطح رطوبت خاک ، میزان رطوبت ، دما و درجه حرارت "شبیه به" را از طریق تلفن هوشمند بررسی کند. علاوه بر این ، هنگامی که شرایط برای کارخانه نامناسب می شود ، کاربر یک هشدار ایمیل دریافت می کند. به عنوان مثال ، هنگامی که سطح رطوبت خاک از سطح مناسب کاهش می یابد ، کاربر یادآوری آبیاری گیاه را دریافت می کند.
مرحله 1: الزامات
این پروژه از یک چیز Sparkfun ESP32 ، یک سنسور DHT22 و یک سنسور رطوبت خاک آجر الکترونیکی استفاده می کند. علاوه بر این ، یک شبکه wifi و برنامه Blynk مورد نیاز است. ترجیحاً یک محفظه ضد آب باید حاوی مورد ESP32 باشد. در حالی که در این مثال از یک منبع تغذیه استاندارد برای منبع تغذیه استفاده می شود ، افزودن باتری قابل شارژ ، پنل خورشیدی و کنترل کننده شارژ باعث می شود دستگاه از طریق انرژی های تجدید پذیر تغذیه شود.
مرحله 2: بلینک
برای بودن ، برنامه Blynk را بارگیری کرده و یک پروژه جدید ایجاد کنید. به رمز احراز هویت توجه کنید-در کد استفاده می شود. در برنامه Blynk ویدجت های نمایش جدیدی ایجاد کنید و پین های مجازی مربوطه را که در کد تعریف شده اند انتخاب کنید. فاصله بازخوانی را روی push تنظیم کنید. به هر ویجت باید پین مجازی خاص خود اختصاص داده شود.
مرحله 3: Arduino IDE
Arduino IDE را بارگیری کنید. برای اطمینان از اتصال wifi ، دستورالعمل های بارگیری درایور ESP32 thing و نسخه نمایشی را دنبال کنید. کتابخانه های Blynk و DHT موجود در کد را بارگیری کنید. کد احراز هویت ، رمز عبور wifi ، نام کاربری wifi و ایمیل را در کد نهایی پر کنید. از کد نمایشی برای سنسور رطوبت خاک برای پیدا کردن حداقل و حداکثر مقادیر برای نوع خاک استفاده کنید. این مقادیر را در کد نهایی ثبت و جایگزین کنید. حداقل مقادیر دما ، رطوبت خاک و رطوبت گیاه را در کد نهایی جایگزین کنید. کد را بارگذاری کنید.
مرحله 4: آن را بسازید
ابتدا ، سنسور رطوبت خاک را به 3.3 ولت ، زمین و پین ورودی 34 وصل کنید. توجه داشته باشید ، کلید یکپارچه است که روی A تنظیم شده است زیرا از تنظیمات آنالوگ این سنسور استفاده می شود. در مرحله بعد ، سنسور DHT را به پین 3.3V ، زمین و ورودی 27 وصل کنید. سنسور DHT22 به یک مقاومت 10K اهم بین VCC و پین خروجی داده نیاز دارد. مطمئن شوید که نمودار DHT را بررسی می کنید تا مطمئن شوید که به درستی سیم کشی شده است. ESP32 را در داخل محفظه ضد آب با سنسور رطوبت در خاک و سنسور DHT در بالای سطح پیکربندی کنید. به منبع تغذیه متصل شوید و از داده های محیط کارخانه خود لذت ببرید.
مرحله 5: کد
// شامل کتابخانه ها
#تعریف BLYNK_PRINT سریال
#شامل #شامل #شامل #شامل #شامل "DHT.h"
// اطلاعات سنسور DHT
#تعریف DHTTYPE DHT22 // DHT 22 (AM2302) ، AM2321 #تعریف DHTPIN 27 // پین دیجیتالی متصل به سنسور DHT DHT dht (DHTPIN ، DHTTYPE) ؛ // مقداردهی اولیه DHT.
// پین ها و خروجی های ورودی را تعریف کنید
int خاک_حسگر = 34؛ // تعریف شماره پین ورودی آنالوگ متصل به سنسور رطوبت
int output_value؛ // به عنوان خروجی تعریف کنید
int humiditylevel؛ // به عنوان خروجی تعریف کنید
int مطلع = 0؛ // notifed را به عنوان 0 تعریف کنید
int timedelay = 60000L ؛ // تایمر را تنظیم کنید تا داده ها را هر دقیقه یکبار یا 60،000 میلی ثانیه اجرا کند
// حداقل مقادیر را برای گیاه تنظیم کنید
int min_moisture = 20 ؛ int min_temperature = 75 ؛ int min_humidity = 60 ؛
// شما باید Auth Token را در برنامه Blynk دریافت کنید.
char auth = "Auth_Token_Here"؛
// اعتبارنامه WiFi شما.
char ssid = "Wifi_Network_Here"؛ char pass = "Wifi_Password_Here"؛
تایمر BlynkTimer ؛
// این عملکرد زمان آردوینو را در هر ثانیه به پین مجازی (5) ارسال می کند.
// در برنامه ، فرکانس خواندن ویجت باید روی PUSH تنظیم شود. این به این معنی است // که شما چند بار ارسال داده به Blynk App را تعیین می کنید.
void Sensors () // عملکرد اصلی خواندن سنسورها و فشار دادن به blynk
{output_value = analogRead (سنسور_خاک) ؛ // سیگنال آنالوگ از سنسور_خاک را بخوانید و به عنوان خروجی_ارزش تعریف کنید // نقشه output_vlaue از min ، حداکثر مقادیر تا 100 ، 0 و محدودیت بین 0 ، 100 // از کد نمونه و مانیتور سریال برای پیدا کردن min و حداکثر مقادیر برای سنسورهای جداگانه و نوع خاک برای کالیبراسیون بهتر float h = dht.readHumidity ()؛ // خواندن رطوبت شناور t = dht.readTemperature ()؛ // دما را به صورت سانتیگراد (پیش فرض) بخوانید f = dht.readTemperature (true)؛ // دما را فارنهایت بخوانید (isFahrenheit = true) // محاسبه شاخص حرارت در فارنهایت (به طور پیش فرض) float hif = dht.computeHeatIndex (f، h)؛ // بررسی کنید که آیا خواندن انجام نشد و زودتر خارج شوید (دوباره امتحان کنید). if (isnan (h) || isnan (t) || isnan (f)) {Serial.println (F ("از سنسور DHT خوانده نشد!")) ؛ برگشت؛ } // این گزینه vales را به پین های مجازی تعریف شده در ابزارک ها در برنامه Blynk Blynk.virtualWrite (V5 ، levellevel) متصل می کند ؛ // ارسال سطح رطوبت به پین مجازی 5 Blynk.virtualWrite (V6، f) ؛ // ارسال دما به مجازی پین 6 Blynk.virtualWrite (V7 ، h) ؛ // ارسال رطوبت به پین مجازی 7 Blynk.virtualWrite (V8 ، hif) ؛ // ارسال شاخص حرارت به پین مجازی 8
اگر (اطلاع == 0)
{اگر (سطح رطوبت <= min_moisture) // اگر سطح رطوبت برابر یا کمتر از حداقل مقدار باشد {Blynk.email ("Email_Here" ، "Plant Monitor" ، "Water Plant!") ؛ // ارسال ایمیل به کارخانه آب} تأخیر (15000)؛ // ایمیل های بلینک باید 15 ثانیه فاصله داشته باشند. اگر (f <= min_temperature) // اگر دما برابر یا کمتر از مقدار حداقل باشد {Blynk.email ("Email_Here" ، "Plant Monitor" ، "Temperature Low!") 15000 میلی ثانیه را به تأخیر بیندازید. // ایمیل ارسال کنید که درجه حرارت پایین است
}
تاخیر (15000) ؛ // ایمیل های بلینک باید 15 ثانیه فاصله داشته باشند. اگر (h <= min_humidity) // اگر رطوبت برابر یا کمتر از مقدار حداقل باشد {15 Blynk.email ("Emial_Here" ، "Plant Monitor" ، "Humidity Low!") 15000 میلی ثانیه را به تأخیر بیندازید. // ایمیل ارسال کنید که رطوبت کم است} مطلع = 1؛ timer.setTimeout (timedelay *5 ، resetNotified) ؛ /
تابع void resetNotified () // برای بازنشانی فرکانس ایمیل فراخوانی می شود
{notified = 0؛ }
void setup ()
{Serial.begin (9600) ؛ // اشکال زدایی کنسول Blynk.begin (auth، ssid، pass)؛ // اتصال به blynk timer.setInterval (timedelay، Sensors)؛ // عملکردی را تنظیم کنید که هر دقیقه فراخوانی شود یا زمان تأخیر روی dht.begin () تنظیم شود ؛ // حسگر DHT را اجرا کنید}
// حلقه Void فقط باید شامل blynk.run و تایمر باشد
حلقه خالی () {Blynk.run ()؛ // اجرای blynk timer.run ()؛ // BlynkTimer را آغاز می کند}
توصیه شده:
نحوه ساخت مانیتور گیاهی با آردوینو: 7 مرحله
نحوه ایجاد مانیتور گیاهی با آردوینو: در این آموزش ما یاد می گیریم که چگونه با استفاده از سنسور رطوبت رطوبت خاک را تشخیص داده و در صورت درست بودن همه چیز و نمایشگر OLED و Visuino چراغ سبز سبز را چشمک بزنیم
مانیتور گیاهی آردوینو با سنسور خازنی خاک - آموزش: 6 مرحله
مانیتور گیاهی آردوینو با سنسور خازنی خاک - آموزش: در این آموزش ما با نحوه تشخیص رطوبت خاک با استفاده از سنسور رطوبت خازنی با صفحه نمایش OLED و Visuino آشنا می شویم. فیلم را تماشا کنید
نحوه تشخیص بیماریهای گیاهی با استفاده از یادگیری ماشین: 6 مرحله
نحوه تشخیص بیماریهای گیاهی با استفاده از یادگیری ماشین: فرایند تشخیص و تشخیص گیاهان بیمار همواره یک فرآیند دستی و خسته کننده بوده است که انسان را ملزم به بررسی بصری بدن گیاه می کند که اغلب ممکن است منجر به تشخیص نادرست شود. همچنین پیش بینی شده است که به عنوان جهانی
هک شدن مانیتور حریم خصوصی از طریق مانیتور LCD قدیمی: 7 مرحله (همراه با تصاویر)
هک شدن مانیتور حریم خصوصی از طریق مانیتور LCD قدیمی: در نهایت شما می توانید با آن مانیتور LCD قدیمی که در گاراژ دارید کاری انجام دهید. می توانید آن را به یک مانیتور حریم خصوصی تبدیل کنید! برای همه به جز شما سفید به نظر می رسد ، زیرا شما & quot؛ جادو & quot؛ می پوشید. عینک! تنها چیزی که واقعاً باید داشته باشید یک پدر است
با استفاده از سرور SSH و VNC از Orange Pi بدون مانیتور استفاده کنید: 6 مرحله
از Orange Pi بدون مانیتور با استفاده از SSH و VNC Server استفاده کنید: Orange Pi مانند یک کامپیوتر کوچک است. دارای تمام پورت های اساسی که یک رایانه معمولی دارد. مانند HDMIUSBEthernetIT دارای برخی از پورت های خاص مانند USB USB OTGGPIO Headers اسلات کارت حافظه پورت دوربین موازی اگر می خواهید به رنگ نارنجی pi عمل کنید ، باید به