Termometry Basenowe Bezprzewodowe Wifi - DIY: budowa prostego termometru basenowego WiFi z Raspberry Pi

Do czujnika najczęściej polecamy DS18B20 w wersji wodoodpornej – działa w trybie 1‑wire, ma prosty interfejs i szerokie wsparcie w systemach typu Linux i Home Assistant Nie zapomnij o rezystorze podciągającym 4

Termometry basenowe bezprzewodowe wifi

Co będzie potrzebne" komponenty, koszty i wybór czujnika do termometru basenowego WiFi z Raspberry Pi

Co będzie potrzebne do zbudowania prostego termometru basenowego WiFi z Raspberry Pi? Na początek warto zaopatrzyć się w samą płytkę Raspberry Pi (najpopularniejszy wybór to Raspberry Pi Zero W ze względu na niską cenę i wbudowane Wi‑Fi), zasilacz 5V, kartę microSD z systemem oraz jeden wodoodporny czujnik temperatury. Do czujnika najczęściej polecamy DS18B20 w wersji wodoodpornej – działa w trybie 1‑wire, ma prosty interfejs i szerokie wsparcie w systemach typu Linux i Home Assistant. Nie zapomnij o rezystorze podciągającym 4.7kΩ, przewodach, szczelnym wprowadzeniu kablowym oraz trwałej obudowie odpornej na wilgoć i chloro‑chemikalia.

Wybór czujnika decyduje o trwałości i dokładności systemu. DS18B20 oferuje typową dokładność ±0,5°C i rozdzielczość do 12 bitów — to wystarczające do monitoringu temperatury basenu. Jeśli zależy Ci na większej precyzji i długoterminowej stabilności, rozważ sondę rezystancyjną (np. PT100) z konwerterem MAX31865 — takie rozwiązanie jest droższe i wymaga dodatkowego modułu, ale poprawia dokładność i odporność na dryft. Czujniki wilgotności/temperatury typu SHT3x lub BME280 świetnie sprawdzą się do pomiarów powietrza przy basenie, ale nie są odporne na bezpośredni kontakt z wodą, więc wymagają osobnej sondy do zanurzenia.

Koszty projektu są stosunkowo niskie i zależą głównie od wybranych komponentów i obudowy. Orientacyjne ceny (PLN)" Raspberry Pi Zero W 60–120 zł, wodoodporny DS18B20 15–40 zł, karta microSD 16–32 GB 20–50 zł, zasilacz 30–60 zł, obudowa i szczelne wprowadzanie kablowe 30–150 zł. Jeśli wybierzesz PT100 + MAX31865, doliczyć trzeba ~70–200 zł. Całkowity budżet prostego projektu zwykle mieści się w przedziale 150–400 zł; alternatywnie, użycie ESP32/ESP8266 może obniżyć koszty i zasilanie, ale kosztem mniejszej mocy obliczeniowej w porównaniu do Raspberry Pi.

Praktyczne uwagi przy zakupie" wybieraj sondy z metalową osłoną i długim kablem z dobrej izolacji (najlepiej PVC lub silikon z dodatkowym oplecieniem). W środowisku chlorowanym warto zainwestować w obudowę ze stali nierdzewnej 316 lub porządne złącza M12/M16 z uszczelkami. Sprawdź też długość kabla — 1‑wire pozwala na długie odcinki, ale im dłuższy przewód, tym większe ryzyko szumów i konieczność starannego połączenia masy.

Podsumowanie" jeśli chcesz szybko i tanio uruchomić monitorowanie temperatury basenu, najlepszym kompromisem jest Raspberry Pi Zero W + wodoodporny DS18B20, kilka niezbędnych akcesoriów i szczelna obudowa. Dla bardziej wymagających instalacji rozważ sondę PT100 z konwerterem oraz materiały odporne na chlor — to podniesie koszt, ale zapewni większą dokładność i trwałość. Przy planowaniu zakupów uwzględnij też koszty montażu i ewentualnego serwisu, a także testy kalibracyjne, które opisane są w dalszych sekcjach artykułu.

Podłączenie hardware" montaż Raspberry Pi z wodoodpornym czujnikiem (np. DS18B20) krok po kroku

Przygotowanie i krótki przegląd elementów. Zanim przystąpisz do montażu, upewnij się, że masz Raspberry Pi (dowolny model z pinami GPIO), wodoodporny czujnik DS18B20 w stalowej sondzie z kablem, rezystor 4.7 kΩ, przewody połączeniowe oraz narzędzia do uszczelnienia (koszulki termokurczliwe, klej epoksydowy lub przepust kablowy). Termometr basenowy WiFi działa najlepiej, gdy zasilanie i linia danych są stabilne — dlatego nie używaj 5 V na linii danych DS18B20" czujnik powinien być zasilany 3.3 V, a dane podłączone do magistrali 1‑Wire Raspberry Pi (GPIO4).

Krok 1 — okablowanie czujnika do Raspberry Pi. Typowy DS18B20 ma trzy przewody" VCC (czerwony) do 3.3 V (pin 1), DATA (żółty) do GPIO4 (fizyczny pin 7) i GND (czarny) do masy (np. fizyczny pin 6). Między linią DATA a 3.3 V konieczny jest rezystor pull‑up 4.7 kΩ — podłącz go między DATA a 3.3 V blisko złącza na płytce Pi, by zminimalizować zakłócenia. Jeśli masz czujnik z długim kablem, postaraj się wykonać połączenia w niezawodnych, lutowanych punktach lub dobrej jakości złączach skręcanych.

Krok 2 — zabezpieczenie połączeń i montaż sondy. W miejscach narażonych na wilgoć zastosuj kilkustopniowe zabezpieczenia" lutowanie i cynowanie połączeń, osłona termokurczliwa, a następnie dodatkowa warstwa kleju epoksydowego lub silikonowego. Przy przejściu kabla przez obudowę użyj przepustu kablowego lub uszczelki G‑rom, by zapobiec kapaniu i mechanicznemu przecieraniu. Sondę możesz zamontować na uchwycie przy krawędzi basenu, na zawieszeniu pływającym lub w punkcie stałym — ważne, żeby końcówka sondy była zanurzona w miejscu reprezentatywnym dla pomiaru temperatury wody, a kabel nie był narażony na silne naprężenia.

Krok 3 — praktyczne wskazówki instalacyjne. Dla dłuższych tras kabla używaj skrętki dwużyłowej (np. para skręcona) — jedna para na zasilanie i masa, druga na sygnał i ewentualną masę. Unikaj biegu kabla równolegle do przewodów wysokoprądowych, które mogą indukować zakłócenia; jeśli instalacja wymaga przejścia kilku metrów, rozważ ekranowanie kabla. Testuj połączenie multimetr oraz wykrywając moduł 1‑Wire w systemie (po stronie oprogramowania), zanim obudujesz wszystko na stałe.

Bezpieczeństwo i niezawodność. Nigdy nie zanurzaj Raspberry Pi — jedyną częścią zanurzoną powinna być hermetycznie zabezpieczona sonda. Rozważ montaż Pi w szczelnej obudowie z odpowiednią wentylacją, zasilanie przez stabilny zasilacz lub PoE, a także krótkie testy długoterminowe (kilka dni) przed ostatecznym montażem. Te proste kroki znacząco poprawią trwałość termometru basenowego WiFi i zminimalizują ryzyko awarii w wilgotnym, chlorowanym środowisku.

Konfiguracja oprogramowania i sieci" instalacja systemu, MQTT/Home Assistant i łączenie urządzenia z Wi‑Fi

Konfiguracja systemu" Zacznij od świeżej instalacji Raspberry Pi OS Lite — do łączenia przez Wi‑Fi najwygodniej użyć Raspberry Pi Imager z wstępną konfiguracją sieci (wpisanie SSID/hasła i włączenie SSH). Jeśli robisz to ręcznie, umieść plik wpa_supplicant.conf na partycji boot lub włącz Wi‑Fi później przez raspi-config. Dla stabilności sieciowej wybierz 2,4 GHz (większy zasięg przy panelu basenu) i rozważ rezerwację adresu IP w routerze (DHCP reservation) — ułatwi to integrację z Home Assistantem i diagnostykę problemów.

Pakiety i obsługa czujnika" Po uruchomieniu zaktualizuj system (sudo apt update && sudo apt upgrade) i zainstaluj niezbędne pakiety" python3, python3-pip oraz (opcjonalnie) build-essential. Aby czytać DS18B20, włącz obsługę 1‑Wire w /boot/config.txt (overlay=dwc2/w1-gpio lub przez raspi-config), a następnie upewnij się, że moduły w1_gpio i w1_therm są załadowane. Biblioteka do publikacji MQTT to np. paho-mqtt, a do szybkiego prototypowania — prosty skrypt w Pythonie, który odczytuje plik urządzenia 1‑Wire i publikuje temperaturę.

Broker MQTT — lokalnie czy w chmurze? Najprościej zainstalować lokalny broker Mosquitto (sudo apt install mosquitto mosquitto-clients) i zabezpieczyć go" wyłącz allow_anonymous, dodaj użytkownika i hasło (mosquitto_passwd), włącz persistence, rozważ TLS jeśli wystawiasz usługę poza LAN. Alternatywnie możesz użyć hostowanego rozwiązania MQTT (CloudMQTT itp.) — przydatne, gdy chcesz dostęp poza domowym Wi‑Fi bez przekierowywania portów.

Publikacja i automatyzacja" Skrypt publikujący temperaturę powinien stosować sensowną strukturę tematów, np. home/pool/temperature, używać QoS 1 i opcjonalnie retenu, żeby ostatnia wartość była dostępna po restarcie. Dodaj LWT (Last Will) informujący o braku połączenia. Dla niezawodności uruchom skrypt jako usługę systemd z automatycznym restartem (Restart=always) i rotacją logów — to minimalizuje potrzebę ręcznej interwencji.

Integracja z Home Assistant" Najwygodniej skorzystać z funkcji MQTT Discovery — skrypt wysyła do brokera odpowiedni ładunek konfiguracyjny, a Home Assistant automatycznie wykrywa sensor basenowy. Jeśli wolisz konfigurację ręczną, dodaj sensor MQTT w YAML z poprawnym topiciem i jednostką (°C). Na koniec zadbaj o monitoring łącza Wi‑Fi (logowanie błędów, powiadomienia) oraz zabezpieczenia sieci (zmiana domyślnego hasła RPi, firewall) — dzięki temu Twój termometr basenowy WiFi będzie nie tylko dokładny, ale i stabilny w długim działaniu.

Obudowa i zabezpieczenie przed wodą" pomysły na hermetyczne mocowanie i odporność na chlorowane środowisko

Obudowa i hermetyczne mocowanieW przypadku termometru basenowego WiFi najważniejsze jest, by jedynie czujnik (np. DS18B20 w sondzie) miał bezpośredni kontakt z wodą, a elektronika Raspberry Pi pozostawała w suchym, zabezpieczonym wnętrzu. Najprostsze i najpewniejsze rozwiązanie to montaż czujnika w krótkiej, szczelnej sondzie wychodzącej z obudowy z kablem wprowadzonym przez morski wkręt lub dławicę kablową o klasie IP68. Nie polecam prowadzenia otwartej elektroniki w bezpośrednim kontakcie z wodą – nawet przy niewielkim przecieku może dojść do zwarcia i uszkodzenia sprzętu.

Materiały odporne na chlor i UVChlor zawarty w wodzie basenowej jest silnie korozyjny dla wielu metali i niektórych powłok, dlatego wybieraj materiały odporne chemicznie" tworzywa takie jak PVC, HDPE, PP, PVDF czy PTFE oraz stal nierdzewna klasy 316 (dla metalowych elementów) sprawdzą się znacznie lepiej niż mosiądz czy zwykła stal. Dodatkowo zwróć uwagę na odporność na promieniowanie UV — jeśli obudowa będzie wystawiona na słońce, wybierz materiały lub farby UV‑stabilne, by nie kruszały i nie traciły szczelności.

Szczelność" uszczelki, dławice i wentylacjaPodstawą jest dobre uszczelnienie" zastosuj silikonowe O‑ringi w miejscach łączeń, dławice kablowe z gumową przelotką (marine grade), a tam, gdzie konieczny jest dostęp do baterii — gumową zaślepkę lub klapkę z zaciskiem i O‑ringiem. W pełni szczelne puszki dobrze mieć z klasą co najmniej IP67, a jeśli planujesz stałe zanurzenie — IP68. Dodaj małą membranę oddychającą (np. Gore‑Tex vent) — wyrównuje ciśnienie i zapobiega kondensacji we wnętrzu, bez wnikania wody.

Uszczelnianie czujnika a czas reakcjiMożesz zabezpieczyć końcówkę czujnika żywicą epoksydową lub silikonem, ale pamiętaj, że gruba warstwa pottingu spowalnia odpowiedź temperaturową. Dlatego najlepiej" minimalna ilość trwałego uszczelnienia bezpośrednio wokół elementu pomiarowego i cienka, dobra przewodząca warstwa termiczna (np. cienka pasta silikonowa) między czujnikiem a osłoną. Jeśli użyjesz pottingu do całkowitego zatopienia elektroniki, uwzględnij w oprogramowaniu wydłużony czas ustalania temperatury.

Konserwacja i testy długoterminoweSystem najlepiej zaprojektować z myślą o serwisowaniu" łatwo wymienialne uszczelki, wymienny przewód i możliwość płukania sondy słodką wodą po ekspozycji na chlor. Przed montażem na stałe przeprowadź testy" 24‑48 godzinne zanurzenie w basenowej (lub imitującej) wodzie i kontrola szczelności, a także okresowe sprawdzanie stanu uszczelek i desykantu wewnątrz obudowy. Dzięki takim zabiegom obudowa pozostanie szczelna, a urządzenie — odporne na degradujące działanie chloru i warunków atmosferycznych.

Kalibracja i testy" jak sprawdzić dokładność pomiaru, kompensacja odchyleń i długoterminowa stabilność

Kalibracja i testy to kluczowy etap budowy DIY termometru basenowego WiFi — bez niej trudno ufać danym i zautomatyzowanym alertom. Zanim zaczniesz korygować odczyty, przygotuj referencję" najlepsze są termometry wzorcowe (laboratoryjne lub NIST-traceable), ale do użytku domowego wystarczy precyzyjny termometr cyfrowy lub porównanie w kąpieli lodowej (~0°C) oraz w temperaturze pokojowej. Dla sensorów DS18B20 wykonaj dwupunktową kalibrację (niski i średni punkt), co pozwoli wychwycić zarówno przesunięcie (offset), jak i ewentualne odchylenie skali (slope).

Praktyczny przebieg kalibracji" zanurz sensor i referencję razem, poczekaj aż temperatura się ustabilizuje (zwykle 10–30 minut, zależnie od masy i izolacji), odczytaj wartości co minutę przez kilkanaście minut i policz średnią. Porównaj średnie z obu punktów; jeśli różnica jest stała, możesz zapisać jedynie offset. Jeśli różnica zmienia się w zależności od temperatury, oblicz prostą korekcyjną (y = a·x + b) metodą najmniejszych kwadratów i stosuj współczynniki a i b w oprogramowaniu Raspberry Pi/MQTT przed publikacją odczytów.

Aby poprawić dokładność i stabilność pomiarów w praktyce, zastosuj filtrowanie i uśrednianie po stronie oprogramowania" ruchomy średni (moving average) lub mediana z N ostatnich odczytów wygładzi szumy, a czas próbkowania ustaw na kompromis między responsywnością a stabilnością (np. 30–300 s dla basenu). Pamiętaj też o fizycznych czynnikach — izolacja obudowy, kontakt termiczny z wodą oraz unikanie bezpośredniego nasłonecznienia mogą znacząco zmienić szybkość odpowiedzi i stałą błędu.

Testy długoterminowe" prowadź logi (np. do Home Assistant lub pliku CSV) i monitoruj przesunięcia w czasie. Ustal procedurę kontrolną (np. kontrola raz w miesiącu) i proste reguły" jeśli offset rośnie ponad 0.2–0.5°C, wykonaj ponowną kalibrację lub wymień czujnik. Automatyzuj alerty (MQTT/Home Assistant) informujące o nagłym dryfcie — to ułatwia wychwycenie problemów np. wynikających z korozji, biofilmu czy degradacji uszczelnień w środowisku chlorowanym.

Na koniec pamiętaj, że stabilność długoterminowa to kombinacja dobrej kalibracji, ochrony mechanicznej i regularnej konserwacji" przeglądy uszczelnień, czyszczenie osadów, stosowanie trwałych materiałów (stal nierdzewna, specjalne epoksy) oraz dokumentowanie zmian w konfiguracji pozwolą Twojemu DIY termometrowi basenowemu WiFi utrzymać przyjętą dokładność przez lata.

Integracja i powiadomienia" zdalny monitoring, alerty temperatury i udostępnianie danych mobilnie/webowo

Integracja i powiadomienia to ostatni, ale kluczowy etap budowy termometru basenowego WiFi z Raspberry Pi — to dzięki niemu rzeczywiście zaczynasz monitorować temperaturę zdalnie i reagować na niebezpieczne odchylenia. Najprostszym i najbardziej uniwersalnym podejściem jest wysyłanie odczytów do serwera MQTT (np. Mosquitto) z tematem w formacie pool/temperature, a następnie subskrybowanie tego tematu przez system automatyki (Home Assistant) lub aplikację zbierającą dane (InfluxDB + Grafana). Dobre praktyki SEO i użytkowe" ustaw częstotliwość wysyłki na 30–300 s (zależnie od potrzeby), używaj formatu liczbowego (np. 25.4) i rozważ flagę retain dla ostatniej wartości, jeśli chcesz mieć natychmiastowy odczyt po restarcie klienta.

Powiadomienia możesz skonfigurować na wiele sposobów — od prostych alertów push na telefon po złożone sekwencje eskalacji. W Home Assistant ustawiasz automatyzację z triggerem na wartość tematu MQTT lub na wartość encji temperatury, a jako akcję wybierasz m.in."

  • powiadomienie push przez aplikację Home Assistant (najprostsze i bezpieczne),
  • Telegram/Pushbullet/Pushover dla szybkich alertów z potwierdzeniem,
  • SMS przez usługę zewnętrzną (np. Twilio) dla krytycznych przypadków,
  • webhook/IFTTT do integracji z zewnętrznymi systemami lub do uruchamiania urządzeń (np. pompa grzewcza).

Aby uniknąć falowania alarmów ustaw histerezę i filtr czasowy" niech alert wyzwala się dopiero po przekroczeniu progu przez określony czas (np. >28°C przez 5 minut), a reset następuje po zejściu poniżej progu z małym zapasem (np.