Powrót do strony głównej

Automatyzacja szklarni na ESP32: czujniki i ukryte piny

Praktyczny przewodnik po tworzeniu systemu monitorowania domowej szklarni na ESP32. Opisano typowe błędy, w tym konflikt ADC2 i Wi-Fi, metody kalibracji czujników i sposoby wizualizacji danych.

ESP32 jako Twój osobisty agronom: sekrety stabilnej pracy
Advertisement 728x90

ESP32 jako agronom: automatyzacja farmy na parapecie z uwzględnieniem ukrytych cech chipa

ESP32 za 500 rubli stał się centralnym elementem systemu monitorowania i sterowania mikrocieplarnią na parapecie. Kluczowe zadanie — zastąpić ludzkie domysły obiektywnymi danymi z czujników, aby zapewnić optymalne warunki wzrostu dla truskawek, bazylii, sałaty i papryki. Pierwsze eksperymenty pokazały: bez pomiarów łatwo przelać wodę, niedostarczyć światła lub nie zauważyć nocnego stresu termicznego. Rozwiązanie — ciągłe zbieranie danych o wilgotności gleby, oświetleniu, temperaturze i wilgotności powietrza.

Architektura systemu: czujniki, mikrokontroler, chmura

System jest zbudowany wokół ESP32 DevKit V1. Wybór ten wynika z trzech czynników: niskiej ceny, wbudowanego wsparcia Wi-Fi oraz obecności wejść analogowych. Podłączono cztery główne sensory:

  • FC-28 — mierzy opór podłoża, pośrednio wskazując poziom wilgoci.
  • BH1750 — cyfrowy czujnik oświetlenia, podaje wartości w luksach.
  • DHT22 — rejestruje temperaturę powietrza i względną wilgotność.
  • Fotorezystor — analogowy sensor do rezerwowej kontroli intensywności światła.

Dane są odczytywane co 5 sekund i wyświetlane w Serial Monitor w celu wstępnego debugowania. Początkowe pomiary pozwoliły wykryić krytyczne problemy: nocne spadki temperatury do 18°C podczas wietrzenia, niewystarczające oświetlenie (tylko 3000–4500 lux zamiast wymaganych 8000+), nierównomierne nawadnianie. Po korektach — przeniesieniu doniczek bliżej okna, dodaniu drugiej lampy, ustawieniu harmonogramu nawadniania — plonowość subiektywnie wzrosła o 40%.

Google AdInline article slot

Integracja z chmurowym magazynem danych i wizualizacja

Lokalne monitorowanie przez Serial Monitor szybko staje się niewygodne. W celu długoterminowej analizy dane są wysyłane na własny serwer za pomocą zapytań HTTP GET. Przykładowe zapytanie:

/sensorData.php?login=eug&sensor_id=1&val=1842&json=1

Po stronie serwera skrypt PHP zapisuje wartości w bazie danych. Pozwala to budować wykresy czasowe: dynamikę wilgotności gleby po nawadnianiu, dobowe wahania temperatury, stabilność strumienia światła od fitolamp. Wizualizacja przekształca surowe liczby w zrozumiałe trendy — na przykład widać, że po trzech dniach od nawadniania wilgotność spada z 2100 mV do 800 mV, co sygnalizuje potrzebę powtórzenia cyklu.

Ukryta pułapka: konflikt ADC2 i Wi-Fi

Po aktywacji Wi-Fi system nagle przestał przekazywać dane z czujników analogowych. Wartości ADC stały się równe zeru, choć przewody i kod pozostały bez zmian. Przyczyna — użycie pinu GPIO2, który należy do ADC2. W architekturze ESP32 moduł radiowy (Wi-Fi/Bluetooth) używa ADC2 do wewnętrznej kalibracji i blokuje go dla zadań użytkownika. Rozwiązanie — przejście na piny ADC1, które działają niezależnie od stanu interfejsu bezprzewodowego.

Google AdInline article slot

Bezpieczne piny dla czujników analogowych przy aktywnym Wi-Fi:

  • GPIO32, GPIO33, GPIO34, GPIO35, GPIO36 (VP), GPIO39 (VN)

Niebezpieczne piny (ADC2):

  • GPIO0, GPIO2, GPIO4, GPIO12, GPIO13, GPIO14, GPIO15, GPIO25, GPIO26, GPIO27

Naprawa zajęła minutę: zmiana const int analogPin = 2; na const int analogPin = 34; i przerzucenie przewodu. System natychmiast odzyskał funkcjonalność.

Google AdInline article slot

Praktyczne zalecenia dla niezawodnej eksploatacji

Aby system działał stabilnie przez miesiące, należy przestrzegać kilku zasad:

  • Kalibracja czujników. Dla FC-28 zmierz napięcie wyjściowe w dwóch skrajnych stanach: całkowicie sucha gleba (~800 mV) i środowisko nasycone wodą (~2200 mV). Norma — około 1500 mV.
  • Ochrona przed wilgocią. ESP32 jest wrażliwy na kondensat. Wszystkie połączenia powinny być w hermetycznej obudowie lub zalane termoklejem.
  • Zewnętrzne zasilanie. Port USB laptopa często nie radzi sobie z szczytowym poborem prądu modułu Wi-Fi i pompy. Użyj zasilacza 5V/2A.
  • Lokalne przechowywanie danych. W przypadku zerwania połączenia z serwerem dane nie mogą być utracone. Zaimplementuj buforowanie przez SPIFFS lub LittleFS z późniejszym wysyłaniem paczkami.
  • Powiadomienia. Skonfiguruj bota Telegram lub powiadomienia e-mail przy wyjściu parametrów poza dopuszczalne granice (np. wilgotność gleby < 1000 mV).

Filozofia i wyniki: technologia jako sługa, a nie pan

Przez trzy miesiące pracy systemu zebrano pierwszy plon cherry, regularnie ścinana jest sałata, bazylia rośnie „jak chwast”, papryka szykuje się do kwitnienia. Główny wniosek — technologia nie zastępuje zrozumienia natury, lecz je wzmacnia. Dane obniżają poziom stresu: nie trzeba już zgadywać, kiedy podlewać czy włączać lampę. Jednocześnie nawet przy idealnych wskazaniach czujników rośliny czasem zachowują się nieprzewidywalnie — to przypomnienie, że systemy biologiczne są złożone bardziej niż jakiekolwiek algorytmy.

Co ważne

  • ESP32 — to nie tylko zamiennik Arduino, ale pełnoprawny węzeł IoT z Wi-Fi i Bluetooth.
  • Piny ADC2 (GPIO0, 2, 4, 12–15, 25–27) są niesprawne przy aktywnym Wi-Fi.
  • Kalibracja czujników jest obowiązkowa — wartości fabryczne nie uwzględniają specyfiki gleby.
  • Lokalne przechowywanie danych jest kluczowe dla odporności na awarie.
  • Powiadomienia przez Telegram lub e-mail zwiększają wygodę zarządzania.

Całkowity budżet projektu — około 900 rubli. Komponenty dostępne na AliExpress i w lokalnych sklepach radiowych. System jest skalowalny: można dodać sterowanie pompą przez przekaźnik, integrację z Home Assistant, porównanie danych z innymi „inteligentnymi” farmami w poszukiwaniu optymalnych parametrów.

— Editorial Team

Advertisement 728x90

Czytaj dalej