Z zielonym kciukiem i odrobiną cierpliwości, ogrodnictwo jest cudownym hobby, niezależnie od tego, czy masz kilka egzotycznych roślin w pomieszczeniu, czy pełnowymiarowy ogród zewnętrzny z ziemniakami i bylinami.
Powiedziawszy to, są też chwile, kiedy twoja cierpliwość może się skończyć, gdy rośliny zaczną umierać z czegoś, co wydaje się wcale nie mieć dobrego powodu.
Raspberry Pi Pico W może pomóc w zapewnieniu rozwiązania zapewniającego rozwój roślin bez kiwnięcia palcem (no, prawie).
Przyjrzyjmy się, jak monitor roślin, trochę kodu i mały mikrokontroler będą śledzić stan zdrowia rośliny z dowolnego miejsca w domu.
Wymagany sprzęt
Co zaskakujące, nie wymaga zbyt wiele sprzętu. Monitor roślin zawiera wiele magii. Naprawdę potrzebujesz tylko kilku elementów, aby zacząć.
- Plant Monitor firmy Monk Makes
- 4x żeńskie-męskie przewody połączeniowe
- Raspberry Pi Pico W
Chociaż ten monitor roślin obsługuje zaciski krokodylkowe, ten projekt wykorzystuje złącza pinowe przymocowane z tyłu urządzenia do monitorowania roślin.
Konfigurowanie asystenta ogrodniczego
Ten projekt obejmuje podłączenie monitora instalacji do Raspberry Pi Pico W, a także tworzenie kodu i manipulowanie nim, aby wszystko działało. Serwer WWW będzie wymagany do obsługi prostej strony internetowej dostępnej w ramach domowego połączenia internetowego.
Istnieją różne wersje modeli Raspberry Pi Pico. Do tego projektu będziesz potrzebować Raspberry Pi Pico W. Aby dowiedzieć się, do czego zdolny jest Pico W, zapoznaj się z naszym przewodnikiem czym jest Pico W i co potrafi.
Najpierw upewnijmy się, że monitor instalacji jest podłączony i działa prawidłowo. W dalszej części artykułu zajmiesz się konfiguracją prostego serwera WWW służącego do monitorowania zakładu za pomocą dowolnego urządzenia z przeglądarką, podłączonego do sieci domowej.
Przygotowanie Monitora Roślin
Dzięki wielu czujnikom, które można kupić na różnych stronach internetowych, przekonasz się, że niektóre czujniki gleby łatwo ulegają zużyciu w glebie, a inne dość dobrze wytrzymują warunki pogodowe. Monk Makes Plant Monitor jest dobrą opcją, ponieważ nie jest podatny na korozję w glebie. Ten monitor nie tylko mierzy wilgotność gleby, ale także mierzy wilgotność i temperaturę.
Tylko cztery piny będą musiały być podłączone z monitora instalacji do twojego Raspberry Pi Pico W:
- GND idzie do GND
- 3V łączy się z wyjściem 3V3
- RX_IN znajdzie drogę do GP0
- TX_OUT spotka się z GP1
Po podłączeniu do zasilania Raspberry Pi Pico W będzie w stanie zapewnić zasilanie sobie i monitorowi instalacji. Zauważysz kilka kontrolek na sprzęcie, które potwierdzają, że urządzenie działa. Jest też dioda LED, która świeci na zielono, żółto lub czerwono (w zależności od poziomu wilgoci wykrytej w glebie).
Chociaż Monk Makes Plant Monitor zawiera kilka świetnych modułów Pythona, nadal będziesz musiał stworzyć prosty kod, aby monitorować stan gleby twojej rośliny. Możesz pobrać następujące pliki Pythona z naszego Repozytorium MUO GitHub.
Będziesz potrzebował pmon.py I test.py dla części wykrywającej glebę i plików Pythona microdot.py, mm_wlan.py, I pico_w_server.py zostanie później użyty do ukończenia prostego serwera WWW.
Teraz jest świetny czas, aby się zatrzymać i odświeżyć subtelne różnice między MicroPythonem a Pythonem jeśli jeszcze tego nie zrobiłeś.
plik Pythona, pmon.py, tworzy klasę MicroPython dla monitora instalacji. Transmisją danych w trybie dupleks zajmie się UART, a potem trzeba też trochę popracować nad konwersją sygnału analogowego na cyfrowy. Zauważysz również wilgotność, temp, I wilgotność funkcje są również zdefiniowane w tym pliku.
pokget_wilgotność(samego siebie):
powrót int(samego siebie.request_property(„w”))pokpobierz_temp(samego siebie):
powrót platforma(samego siebie.request_property("T"))pokpobierz_wilgotność(samego siebie):
powrót platforma(samego siebie.request_property("H"))pokled_wył(samego siebie):
samego siebie.uart.write(„ja”)
pokled_on(samego siebie):
samego siebie.uart.write("L")
Następnie będziesz potrzebować test.py plik uzyskany z naszego Repozytorium MUO GitHub.
Zauważysz, że moduły czas, pon (z PlantMonitor), I maszyna są wymagane, aby odpowiednio monitorować stan zdrowia rośliny.
jako PlantMonitor moduł jest importowany, wszystko, czego potrzeba do monitorowania warunków glebowych, to prosta pętla while. Również wydrukować Polecenie wyświetli odczyty wilgotności gleby, temperatury i wilgotności po uruchomieniu test.py w Thony'm.
czas spać(2) # Czas uruchamiania PlantMonitora
pm = PlantMonitor()
chwilaPRAWDA:
w = pm.get_wilgotność()
t = pm.get_temp()
h = pm.pobierz_wilgotność()
wydrukować(„Wilgotność: {0} Temp.: {1} Wilgotność: {2}”.format (szer., t, wys.))
czas.spać(1)
Nie masz ochoty podlewać rośliny, gdy gleba jest zbyt sucha? Przypisz przekaźnik pompy do styku w Raspberry Pi Pico i użyj instrukcji if, aby obserwować a wartość wilgotności (na 100), aby uruchomić pompę wodną, za pośrednictwem przekaźnika, w celu włączenia i dozowania wody Ponownie.
przekaźnik1 = Pin(15, Szpilka. NA ZEWNĄTRZ) #przekaźnik jest podłączony do GP15 i GND
Jeśli w = 24# Uważaj na wilgotność 24/100
przekaźnik1.wartość(1) # włącz przekaźnik
przekaźnik1(0) # wyłącz przekaźnik
Będziesz chciał przeprowadzić kilka testów, aby znaleźć idealną równowagę, aby upewnić się, że twoja roślina jest zadowolona z ilości wody, którą otrzymuje. Możesz także dodać inną instrukcję if, aby włączyć lampę grzewczą za pośrednictwem przekaźnika, jeśli twoja roślina jest zbyt zimna.
Prosty serwer WWW
Będziesz potrzebował trzech plików Pythona, z naszego Repozytorium MUO GitHub, aby Twój Raspberry Pi Pico W transmitował statystyki gleby do domowych połączeń internetowych:
- microdot.py
- mm_wlan.py
- pico_w_server.py
The mikrokropka plik obsługuje funkcje zaplecza umożliwiające utworzenie tego prostego serwera WWW opartego na protokole HTTP i wyświetla plik wyjście kodu Pythona jako strona internetowa oparta na HTML, którą można wywołać przy użyciu adresu IP Raspberry Pi Pico W.
The mm_wlan.py oferuje prosty sposób na połączenie z siecią bezprzewodową. Otrzymasz adres IP swojego Raspberry Pi Pico i połączoną wiadomość. Jeśli połączenie nie powiodło się, zamiast tego otrzymasz komunikat o niepowodzeniu połączenia.
The pico_w_server.py plik jest miejscem, w którym wpisujesz identyfikator SSID (pamiętaj, że Raspberry Pi Pico W łączy się tylko z identyfikatorami SSID 2,4 GHz) i hasło Wi-Fi. W sekcji HTML możesz dostosować to, co serwer WWW będzie wyświetlał w przeglądarce internetowej. Możesz także usunąć komentarze z sekcji odświeżania i dostosować interwał, jeśli nie chcesz, aby strona była odświeżana co sekundę.
Na samym dole tego pliku możesz także dostosować port. Jest to przydatne, jeśli chcesz udostępnić te informacje w Internecie poza domem.
Kiedy prowadzisz swój test.py plik, wymagane pliki python serwera (mm_wlan I pico_w_serwer) są importowane dla Ciebie. Po uruchomieniu test.py plik, pobierz adres IP, jeśli twoje Pi (znajduje się w danych wyjściowych Thonny'ego) i dodaj używany port (domyślnie 80) z dowolnej przeglądarki internetowej, która jest podłączona do tego samego identyfikatora SSID 2,4 GHz w domu. Powinieneś zobaczyć coś takiego:
Aby zmniejszyć zależność podłączonego komputera, zmień test.py plik do main.py i zaoszczędź na swoim Raspberry Pi Pico W. Możesz również rozważyć podłączenie wyświetlacza LCD do Pico, aby zaprogramować wyświetlacz do wyświetlania adresu IP (po usunięciu zależności podłączonego komputera).
Przywróć ten zielony kciuk
Dzięki wyrafinowanemu czujnikowi gleby i prostemu serwerowi sieciowemu możesz teraz monitorować stan swoich roślin za pomocą przeglądarki internetowej w dowolnym miejscu w domu.
Nie krępuj się modyfikować kodu według własnego uznania. Jeśli masz na to ochotę, rozważ stworzenie aplikacji wykrywającej glebę, która doda trochę dopracowania prostemu serwerowi sieciowemu, który właśnie skonfigurowałeś.
Aby projekt był kompletny, dodaj pompę i przekaźnik oraz lampę grzewczą, a otrzymasz w pełni zautomatyzowany ogród. Teraz będziesz mógł na zawsze zachować swój status „zielonego kciuka”.