با انگشت شست سبز و کمی صبر، باغبانی یک سرگرمی دوست داشتنی است صرف نظر از اینکه چند گیاه عجیب و غریب در داخل خانه دارید یا یک باغ کامل در فضای باز با سیب زمینی و گیاهان چند ساله دارید.
با انگشت شست سبز و کمی صبر، باغبانی یک سرگرمی دوست داشتنی است صرف نظر از اینکه چند گیاه عجیب و غریب در داخل خانه دارید یا یک باغ کامل در فضای باز با سیب زمینی و گیاهان چند ساله دارید.
با این اوصاف، مواقعی نیز وجود دارد که زمانی که گیاهان شروع به مردن می کنند، به دلیلی که به نظر می رسد اصلاً دلیل خوبی نیست، صبر شما تمام شود.
Raspberry Pi Pico W می تواند به ارائه راه حلی برای اطمینان از رشد گیاهان بدون بلند کردن انگشت کمک کند (تقریباً خوب).
بیایید مرور کنیم که چگونه یک مانیتور گیاه، مقداری کد و یک میکروکنترلر کوچک سلامت گیاه شما را از هر نقطهای در خانه شما پیگیری میکنند.
سخت افزار مورد نیاز
با کمال تعجب، سخت افزار زیادی مورد نیاز نیست. بسیاری از جادوها در Plant Monitor وجود دارد. برای شروع واقعاً فقط به چند مورد نیاز دارید.
- Plant Monitor توسط Monk Makes
- 4 برابر سیم بلوز زن-مرد
- رزبری پای پیکو دبلیو
اگرچه این مانیتور گیاه از استفاده از گیره های تمساح پشتیبانی می کند، این پروژه از اتصال دهنده های پین متصل به پشت دستگاه نظارت بر گیاه استفاده می کند.
راه اندازی دستیار باغبانی
این پروژه شامل اتصال مانیتور گیاه به Raspberry Pi Pico W شما و همچنین ایجاد و دستکاری کد برای کارکرد همه چیز است. یک وب سرور برای ارائه یک صفحه وب ساده قابل دسترسی در اتصال اینترنت خانگی شما مورد نیاز است.
مدل های مختلفی از رسپبری پای پیکو وجود دارد. برای این پروژه، باید از Raspberry Pi Pico W استفاده کنید. برای اطلاع از توانایی های Pico W، راهنمای ما در مورد اینکه Pico W چیست و چه کاری می تواند انجام دهد را بررسی کنید.
ابتدا، اجازه دهید مطمئن شویم که مانیتور کارخانه به درستی وصل شده و کار می کند. بعداً در مقاله، با راهاندازی یک وب سرور ساده که برای نظارت بر کارخانه شما با هر دستگاه فعال مرورگر متصل به شبکه خانگی شما استفاده میشود، مقابله خواهید کرد.
آماده سازی مانیتور گیاه
با بسیاری از سنسورهای موجود برای خرید از طریق سایتهای مختلف اینترنتی، خواهید آموخت که برخی از حسگرهای خاک به راحتی در خاک فرسوده میشوند و برخی دیگر نسبتاً خوب در برابر عناصر مقاومت میکنند. Monk Makes Plant Monitor گزینه خوبی است زیرا مستعد خوردگی در خاک نیست. این نمایشگر نه تنها رطوبت خاک را اندازه گیری می کند، بلکه رطوبت و دما را نیز اندازه گیری می کند.
فقط چهار پین باید از مانیتور گیاه به Raspberry Pi Pico W وصل شود:
- GND به GND می رود
- 3 ولت به خروجی 3 ولت وصل می شود
- RX_IN راه خود را به GP0 پیدا خواهد کرد
- TX_OUT با GP1 ملاقات خواهد کرد
پس از اتصال به برق، Raspberry Pi Pico W شما میتواند برق مورد نیاز خود و مانیتور کارخانه را تامین کند. چند چراغ روی سخت افزار مشاهده خواهید کرد که تأیید می کند دستگاه در حال کار است. همچنین، یک چراغ LED وجود دارد که سبز، زرد یا قرمز می درخشد (بسته به سطح رطوبت شناسایی شده در خاک شما).
اگرچه Monk Makes Plant Monitor با چند ماژول عالی پایتون ارائه می شود، اما برای نظارت بر سلامت خاک گیاه خود باید کد ساده ای ایجاد کنید. می توانید فایل های پایتون زیر را از مخزن MUO GitHub ما بگیرید.
برای بخش سنجش خاک به pmon.py و test.py نیاز دارید و فایلهای پایتون microdot.py، mm_wlan.py و pico_w_server.py برای تکمیل وب سرور ساده بعداً استفاده خواهند شد.
اگر قبلاً این کار را نکردهاید، اکنون زمان بسیار خوبی برای مکث و تجدید نظر با تفاوتهای ظریف بین MicroPython و Python است.
فایل پایتون، pmon.py، یک کلاس MicroPython برای مانیتور گیاه ایجاد می کند. UART از انتقال داده های دوبلکس مراقبت می کند و سپس مقداری کار برای تبدیل آنالوگ به دیجیتال نیز ضروری است. همچنین متوجه خواهید شد که عملکردهای رطوبت، دما و رطوبت نیز در این فایل تعریف شده است.
def get_wetness(self):
return int(self.request_property("w"))
def get_temp(self):
return float(self.request_property("t"))
def get_humidity(self):
return float(self.request_property("h"))
def led_off(self):
self.uart.write("l")
def led_on(self):
self.uart.write("L")
در مرحله بعد، به فایل test.py که از مخزن MUO GitHub ما به دست آمده است نیاز دارید.
متوجه خواهید شد که زمان ماژول ها، pmon (از PlantMonitor) و ماشین برای نظارت صحیح بر سلامت کارخانه شما مورد نیاز است.
همانطور که ماژول PlantMonitor وارد شده است، تمام چیزی که برای نظارت بر شرایط خاک لازم است یک حلقه while ساده است. همچنین، دستور print پس از اجرای test.py در Thonny، اطلاعات مربوط به رطوبت، دما و رطوبت خاک را نمایش می دهد.
time.sleep(2) # PlantMonitor startup time
pm = PlantMonitor()
while True:
w = pm.get_wetness()
t = pm.get_temp()
h = pm.get_humidity()
print("Wetness: {0} Temp: {1} Humidity: {2}".format(w, t, h))
time.sleep(1)
وقتی خاک خیلی خشک است دوست ندارید گیاهتان را آبیاری کنید؟ رله پمپ خود را به یک پین در Raspberry Pi Pico اختصاص دهید و از عبارت if استفاده کنید تا مقدار رطوبت (از 100) را بررسی کنید تا پمپ آب شما از طریق یک رله روشن شود و دوباره آب پخش شود.
relay1 = Pin(15, Pin.OUT) #relay is wired up to GP15 and GND
if w = 24 # watch for a wetness value of 24/100
relay1.value(1) # turn on the relay
relay1(0) # turn off the relay
برای اینکه گیاه شما از میزان آبی که دریافت میکند راضی باشد، باید آزمایشهایی را انجام دهید تا تعادل کامل را بیابید. همچنین میتوانید در صورتی که کارخانه شما خیلی سرد است، دستور if دیگری را برای روشن کردن لامپ حرارتی، از طریق رله اضافه کنید.
وب سرور ساده
شما به سه فایل پایتون، از مخزن MUO GitHub ما، نیاز دارید تا Raspberry Pi Pico W شما آمار خاک را برای اتصالات اینترنت خانگی شما پخش کند:
- microdot.py
- mm_wlan.py
- pico_w_server.py
فایل microdot عملکردهای back-end را برای ایجاد این وب سرور ساده مبتنی بر HTTP انجام می دهد و خروجی کد پایتون را به عنوان یک صفحه وب مبتنی بر html نمایش می دهد که می تواند با استفاده از آدرس IP Raspberry Pi Pico W فراخوانی شود.
فایل mm_wlan.py یک راه ساده برای اتصال به یک شبکه بی سیم ارائه می دهد. یا یک آدرس IP Raspberry Pi Pico خود و یک پیام متصل دریافت خواهید کرد. اگر اتصال موفقیت آمیز نبود، در عوض یک پیام اتصال ناموفق دریافت خواهید کرد.
فایل pico_w_server.py جایی است که شما SSID (به یاد داشته باشید که Raspberry Pi Pico W فقط به SSID های 2.4 گیگاهرتز متصل می شود) و رمز وای فای خود را وارد می کنید. در بخش HTML، می توانید آنچه را که سرور وب شما در یک مرورگر وب نمایش می دهد سفارشی کنید. همچنین میتوانید نظرات را از بخش تازهسازی حذف کنید و در صورتی که نمیخواهید صفحه وب هر ثانیه یا بیشتر بهروزرسانی شود، فاصله زمانی را تغییر دهید.
در انتهای این فایل، میتوانید پورت را نیز سفارشی کنید. اگر می خواهید این اطلاعات را در خارج از خانه خود در معرض اینترنت قرار دهید، مفید است.
هنگامی که فایل test.py خود را اجرا می کنید، فایل های پایتون سرور مورد نیاز (mm_wlan و pico_w_server) برای شما وارد می شود. پس از اجرای فایل test.py، اگر Pi خود را پیدا کرده اید (در خروجی Thonny یافت می شود) آدرس IP را بگیرید و پورتی را که استفاده کرده اید (پیش فرض 80 است) از هر مرورگر وب که به همان SSID 2.4 گیگاهرتزی متصل است اضافه کنید. در خانه شما باید چیزی شبیه به این را ببینید:
به منظور کاهش وابستگی کامپیوتر متصل خود، فایل test.py را به main.py تغییر دهید و در Raspberry Pi Pico W خود ذخیره کنید. همچنین ممکن است بخواهید یک LCD را به Pico خود متصل کنید تا نمایشگر را برای خروجی برنامه ریزی کنید. آدرس IP (زمانی که وابستگی رایانه متصل خود را حذف می کنید).
آن شست سبز را برگردانید
با یک سنسور خاک پیچیده و یک وب سرور ساده، اکنون می توانید سلامت گیاه خود را از یک مرورگر وب در هر نقطه از خانه خود نظارت کنید.
به راحتی کد را به دلخواه تغییر دهید. اگر به آن علاقه دارید، ایجاد یک برنامه سنجش خاک را در نظر بگیرید که مقداری پولیش را به وب سرور ساده ای که به تازگی راه اندازی کرده اید اضافه می کند.
برای اینکه این پروژه کامل به نظر برسد، یک پمپ و رله به همراه یک لامپ حرارتی اضافه کنید و یک باغچه کاملا خودکار خواهید داشت. اکنون میتوانید وضعیت «شست سبز» خود را برای همیشه حفظ کنید.