Spisu treści:

Monitor temperatury basenu MQTT: 7 kroków (ze zdjęciami)
Monitor temperatury basenu MQTT: 7 kroków (ze zdjęciami)

Wideo: Monitor temperatury basenu MQTT: 7 kroków (ze zdjęciami)

Wideo: Monitor temperatury basenu MQTT: 7 kroków (ze zdjęciami)
Wideo: [HA] ESPeasy start jak zacząć, instalacja - ESP8266 + DS18B20 + Home Asisstant - monitor temperatury 2024, Listopad
Anonim
Monitor temperatury basenu MQTT
Monitor temperatury basenu MQTT

Projekty Tinkercad »

Ten projekt jest towarzyszem moich innych projektów automatyki domowej Smart Data-Logging Geyser Controller oraz Multi-purpose-Room-Lighting and Appliance Controller.

Jest to monitor montowany przy basenie, który mierzy temperaturę wody w basenie, temperaturę powietrza otoczenia i ciśnienie atmosferyczne. Następnie wyświetla temperaturę wody w basenie na lokalnym bargrafie LED i przesyła przez WiFi/MQTT do systemu domowego - w moim przypadku jest to zaktualizowana programowo wersja sterownika oświetlenia kompatybilna z MQTT. chociaż można go łatwo zintegrować z dowolnym systemem domowym kompatybilnym z MQTT.

Ta instrukcja koncentruje się na projekcie i konstrukcji monitora basenu, aktualizacja kontrolera (nowe oprogramowanie układowe i dodanie wyświetlacza OLED) zostanie wkrótce dołączona do oryginalnego kontrolera.

Najważniejsze cechy to:

  • Brak zasilania sieciowego przy basenie determinuje zasilanie baterią 18650 ze zintegrowanym panelem polarnym o mocy 1 W, aby utrzymać ładowanie baterii, żywotność baterii jest dodatkowo zoptymalizowana dzięki zastosowaniu trybu "Głębokiego uśpienia" ESP8266. W moim systemie urządzenie było w stanie przepracować nasz „aktywny sezon basenowy” (od listopada do kwietnia) bez ręcznej interwencji ręcznego ładowania.
  • Opcjonalny lokalny wbudowany 8-diodowy bargraf wyświetlający temperaturę basenu w odstępach co 1 stopień.
  • Transmisja danych MQTT przez lokalne połączenie WiFi do dowolnego kompatybilnego systemu hosta.
  • Całe programowanie odbywa się przez Wi-Fi przy użyciu monitora jako punktu dostępowego i wewnętrznych stron konfiguracyjnych serwera WWW, przy czym wszystkie programowalne parametry są przechowywane w wewnętrznej pamięci EEPROM.

    • Przedziały czasowe między pobudką a transmisjami. Interwały od 1 do 60 minut.
    • Konfigurowalne formaty tematów/wiadomości MQTT

      • Poszczególne tematy wiadomości (np. PoolTemp, AirTemp, BaroPress)
      • Pojedynczy, kompaktowy temat (np. temperatura basenu + temperatura powietrza + ciśnienie barometryczne)
      • Kompatybilny z wyświetlaczem OLED zamontowanym na wielofunkcyjnym oświetleniu pomieszczeń i kontrolerze urządzeń (patrz na przykład rysunek tytułowy)
    • SSID sieci Wi-Fi i hasło
    • SSID punktu dostępu i hasło
    • Sterowanie bargrafem LED

      • Programowalny minimalny zakres temperatur (15 do 25'C)
      • Programowalne na stałe włączone, na stałe wyłączone, włączone tylko w ciągu dnia

Chociaż wydrukowałem w 3D własną obudowę / układ montażowy i użyłem płytki PCB z poprzedniego projektu, możesz dosłownie użyć tego, co pasuje do twoich osobistych preferencji, ponieważ nic nie jest krytyczne ani „odlane w kamieniu”. Ostatnia sekcja tego Instructable zawiera pliki Gerber i STL dla płytek PCB i obudowy ABS, które zaprojektowałem specjalnie dla tego projektu

Krok 1: Schemat blokowy i dyskusja na temat wyboru komponentów

Schemat blokowy i dyskusja na temat wyboru komponentów
Schemat blokowy i dyskusja na temat wyboru komponentów
Schemat blokowy i dyskusja na temat wyboru komponentów
Schemat blokowy i dyskusja na temat wyboru komponentów

Powyższy schemat blokowy przedstawia główne moduły sprzętowe Monitora puli.

Edytor

Zastosowany ESP8266 może być dowolnym z podstawowych modułów ESP03/07/12, aż do bardziej przyjaznych dla perfboard modułów NodeMCU i WEMOS.

Użyłem ESP-12. Jeśli Twój basen znajduje się w pewnej odległości od routera WiFi, możesz preferować ESP-07 z anteną zewnętrzną. Moduły NodeMCU/Wemos są bardzo przyjazne dla płyty, ale spowodują nieznaczny wzrost zużycia energii ze względu na dodatkowy wbudowany regulator napięcia i diody LED - wpłynie to na zdolność panelu słonecznego do codziennego utrzymywania naładowania baterii i może wymagać okresowego ładowanie ręczne za pomocą portu USB na module ładowarki.

Czujniki temperatury - rys. 2

Użyłem łatwo dostępnych i tanich wersji czujników temperatury DS18B20 z metalową rurką i kablem, które są dostarczane z około 1 metrowym kablem połączeniowym, ponieważ są już solidne i odporne na warunki atmosferyczne. Jeden wykorzystujący pełną długość kabla do pomiaru wody w basenie, a drugi ze skróconym kablem do temperatury powietrza otoczenia.

Czujnik otoczenia powietrza

Wybrałem doskonały moduł BME280 do pomiaru wilgotności powietrza i ciśnienia atmosferycznego. Być może zastanawiasz się, dlaczego nie korzystałem z funkcji pomiaru temperatury powietrza tego modułu.

Powód jest prosty - jeśli tak jak w oryginalnym prototypie użyjesz tej funkcji, skończysz z pomiarem statycznej temperatury powietrza WEWNĄTRZ obudowy, która ma tendencję do odczytywania wysokiego ze względu na wewnętrzne samonagrzewanie przestrzeni powietrznej obudowy przez zewnętrzne słońce (to czyta się doskonale w nocy!). Szybko zdano sobie sprawę, że czujnik temperatury powietrza należy zamontować na zewnątrz obudowy, ale w cieniu z dala od bezpośredniego światła słonecznego, więc przełączyłem się na drugi DS18B20 i zapewniłem mały punkt montażowy pod obudową. Czujnik temperatury BME280 jest jednak nadal używany jako pomiar diagnostyczny temperatury wewnątrz obudowy i może być monitorowany na stronie głównej serwera konfiguracji.

Bargraf LED - rys. 1

Osiem lokalnych wyjść LED o wysokim natężeniu jest sterowanych przez chip ekspandera IO PCF8574, który z kolei napędza każdą diodę LED przez tranzystor PNP 2N3906. PCF8574 będzie wskazywał tylko jedną diodę LED na raz (aby zmniejszyć zużycie energii) w zależności od zmierzonej temperatury wody w basenie i pozostanie aktywny, nawet gdy ESP8266 jest w trybie uśpienia. Tak więc, jeśli jest włączony, bargraf LED będzie cały czas aktywny.

  • Jeżeli zmierzona temperatura jest niższa niż minimalna temperatura przypisana do bargrafu, zaświecą się OBYDWA LED 1 i 2.
  • Jeżeli zmierzona temperatura jest większa niż minimalna temperatura przypisana do bargrafu+8, to OBA LED 7 i 8 zaświecą się.
  • Jeśli poziom światła mierzony z wyjścia panelu słonecznego jest niższy niż próg zaprogramowany w konfiguracji, wyjścia LED zostaną wyłączone w celu oszczędzania energii baterii, alternatywnie bargraf może być na stałe wyłączony (próg ustawiony na 0) lub włączony (próg ustawiony na 100).
  • Jeśli twoja budowa nie wymaga bargrafu, po prostu pomiń PCF8574, diody LED, tranzystory i powiązane rezystory

Panel słoneczny, bateria i płytka do ładowania baterii

Podstawowym źródłem zasilania jest po prostu akumulator LIPO o pojemności 2000 mAh (lub więcej) zasilany przez diodę 1N4001 w celu zmniejszenia napięcia akumulatora (maksymalnie naładowany akumulator = 4,1 V i maksymalne napięcie ESP8266 = 3,6 V).

Baterie o mniejszej pojemności sprawdzą się, ale nie mam przeczucia, czy codzienne ładowanie panelem słonecznym będzie wystarczające.

Uważaj na oznaczone baterie o większej pojemności (np. 6800 mAh) - wiele z nich to podróbki. Będą działać, ale przy jakiej pojemności i niezawodności można się domyślać.

Panel słoneczny 1W 5V jest podłączony do wejść płytki ładowarki LIPO TP4056, a wyjście tej ostatniej do akumulatora, dzięki czemu akumulator będzie ładowany, gdy poziom światła jest wystarczająco wysoki, aby wytworzyć użyteczne napięcie ładowania, a także akumulator może być ręcznie ładowany przez złącze USB na płycie TP4056.

Jeśli zamierzasz wykorzystać projekt obudowy z nadrukiem 3D, musisz użyć panelu słonecznego o wymiarach 110 mm x 80 mm. Dostępne są inne rozmiary, więc po prostu zachowaj ostrożność przy zakupie, ponieważ może to mieć kluczowe znaczenie przy wyborze typu/rozmiaru obudowy.

Również słowo ostrzeżenia o temperaturach. Ustalenie prawdziwego limitu temperatury maksymalnej tych tanich paneli może być trudne, ponieważ często nie jest to określane – znalazłem max 65'C określone na jednym urządzeniu, ale nic u większości dostawców na miejscu. Teraz weź pod uwagę, że panel z założenia jest a) czarny i b) będzie codziennie wystawiany na światło słoneczne przez cały dzień – może się okazać, że lepiej pozostawić trochę cienia na panelu, jeśli zrobi się zbyt gorąco. Moje urządzenie nie uległo żadnej awarii (zainstalowane na początku 2019 r.), ale jego niezawodność z pewnością będzie zależeć od lokalnego klimatu i prawdopodobnie miejsca montażu.

Przyciski - rys. 3

Można by pomyśleć, że przycisk to „tylko przycisk”, ale kiedy znajduje się na obudowie, która jest na zewnątrz w słońcu i deszczu przez 24 godziny na dobę, trzeba zadbać o jego specyfikację. Elektrycznie jest to prosty element, ale szczelność obudowy zależy od jej mechanicznej jakości. Użyłem bardzo popularnego wodoodpornego jednobiegunowego przycisku 12mm dostępnego u wielu dostawców - okazał się bardzo solidny.

  • Przycisk 1 służy jako przycisk resetowania - służy do ręcznego wymuszenia na monitorze wykonania pomiaru i przesłania wyniku
  • Naciśnięcie przycisku 2 natychmiast po naciśnięciu i zwolnieniu przycisku 1 poinstruuje monitor, aby uruchomił swój punkt dostępowy (AP) przy użyciu identyfikatora SSID i hasła, które zostały wcześniej zaprogramowane. Jeśli jest zainstalowany, każda alternatywna dioda LED na wykresie słupkowym zapala się na krótko, aby wskazać, że AP jest uruchamiany.
  • Oba przyciski są również używane w początkowej procedurze kompilacji do wgrania oprogramowania układowego do pamięci flash procesora.

Notatka. Obudowa z nadrukiem 3D jest zaprojektowana dla tych przełączników 12mm, zgodnie z wykazem materiałów i jako taka jest montowana z boku obudowy. Jeśli używasz własnej obudowy, zalecam umieszczenie ich pod obudową, aby chronić je przed wpływem warunków atmosferycznych.

Przycisk przełączania - rys. 2

Służy do całkowitego wyłączenia monitora, gdy nie jest używany i jest przechowywany. Należy pamiętać, że bateria i panel słoneczny pozostają połączone ze sobą (ale nie z elektroniką), więc bateria będzie nadal ładowana, jeśli panel zostanie wystawiony na działanie światła zewnętrznego.

Obudowa - rys. 3

Pozostaje to ostatni, ale bardzo ważny element, ponieważ jest to główny element, który zapewnia ochronę wszystkich pozostałych części. Panel słoneczny, przyciski, przełącznik, diody LED i czujniki temperatury wymagają wiercenia lub wycinania otworów w obudowie, więc wodoodporność jest poważnie zagrożona, jeśli nie zadba się o uszczelnienie po zamontowaniu elementów. Panel słoneczny przykleiłem do pokrywy, a następnie uszczelniłem od wewnątrz silikonową uszczelką. Płytka LED została umieszczona w środku, aby zapewnić, że wszystkie punkty LED zostały uszczelnione od wewnątrz. Otrzymasz obraz - zapobiegaj potencjalnym punktom dostępu. Ponieważ użyłem wydrukowanego w 3D modelu ABS, spryskałem wnętrze obudowy, w tym główną płytkę drukowaną, sprayem do uszczelniania PCB (możesz również użyć farby) jako środek ostrożności! Rysunek 1 przedstawia zadaszenie zamontowane przy boku basenu. Dołączone pliki STL zawierają również prosty zespół montażowy, który umożliwia zamontowanie obudowy do górnej pokrywy jazu. Można go zamontować w dowolnym miejscu, w zależności od długości kabla czujnika temperatury wody, ekspozycji na światło słoneczne i widoczności bargrafu LED, jeśli jest zamontowany.

Krok 2: Zestawienie materiałów

Zestawienie materiałów
Zestawienie materiałów

Dołączyłem "potencjalne" zestawienie materiałów w oparciu o mój własny wybór komponentów. Jak wcześniej wspomniano, masz naprawdę dużą elastyczność, jeśli chodzi o prawie wszystkie elementy konstrukcyjne. Wyciąłem i wkleiłem niektóre elementy ze strony zakupów online Amazon wyłącznie jako ilustracja, a nie jako zalecenie podaży. Bateria 18650 może mieć wypustki do bezpośredniego lutowania na przewody lub możesz kupić "standardowy" typ i uchwyt baterii (tak jak ja) dla ułatwienia montażu

Potrzebny będzie również klej (zalecana 2 częściowa żywica epoksydowa), 4 nakrętki i śruby M4.

W zależności od Twojej lokalizacji będziesz mieć potencjalnie wygodniejszych i/lub tańszych dostawców. W rzeczywistości, jeśli nie spieszysz się z komponentami, AliExpress obiecuje znaczne obniżki niektórych, jeśli nie wszystkich głównych produktów.

Krok 3: Elektroniczna kompilacja i przesyłanie oprogramowania układowego

Elektroniczna kompilacja i przesyłanie oprogramowania układowego
Elektroniczna kompilacja i przesyłanie oprogramowania układowego
Elektroniczna kompilacja i przesyłanie oprogramowania układowego
Elektroniczna kompilacja i przesyłanie oprogramowania układowego

Schemat przedstawia stosunkowo prosty „standard ESP8266” bez „niespodzianek”, składający się tylko z mikrokontrolera i zestawu urządzeń wejściowych (2 x czujnik temperatury DS18B20, 1 x czujnik otoczenia BME280, 1 x ekspander IO PCF8574, 2 x przyciski i połączenie baterii/ładowania/paneli słonecznej.

ESP8266 Przypisania pinów

  • GPIO0 - przycisk Start AP
  • GPIO2 - Nieużywane
  • GPIO4 - I2C - SCL
  • GPIO5 - I2C - SDA
  • Dane GPIO12 - DS18B20
  • GPIO13 - Test - Nie używany
  • GPIO14 - Nieużywane
  • GPIO16 - wybudzanie z głębokiego snu
  • ADC - napięcie panelu słonecznego

Przypisania pinów PCF8574

  • P0 - Bargraf LED 1 - Temperatura minimalna
  • P1 - Bargraf LED 2 - Temperatura minimalna + 1'C
  • P2 - Bargraf LED 3 - Temperatura minimalna + 2'C
  • P3 - Bargraf LED 4 - Temperatura minimalna + 3'C
  • P4 - Bargraf LED 5 - Temperatura minimalna + 4'C
  • P5 - Bargraf LED 6 - Temperatura minimalna + 5'C
  • P6 - Bargraf LED 7 - Temperatura minimalna + 6'C
  • P7 - Bargraf LED 8 - Temperatura minimalna + 7'C

Wgrywanie oprogramowania

Kopia kodu źródłowego oprogramowania układowego znajduje się w sekcji pobierania. Kod został napisany dla Arduino IDE w wersji 1.8.13 z następującymi dodatkami….

  • Menedżer płyty ESP8266 (wersja 2.4.2)
  • Biblioteka OneWire
  • Biblioteka temperatur w Dallas
  • Biblioteka EEPROM
  • Biblioteka Adafruit BMP085
  • Biblioteka PubSubClient
  • Biblioteka przewodów

Upewnij się, że wybrałeś prawidłową szybkość transmisji na monitorze szeregowym (115200) i właściwą płytę w zależności od używanej wersji układu ESP8266).

Jeśli potrzebujesz dalszych instrukcji, jak skonfigurować Arduino IDE, zapoznaj się z moimi dwoma poprzednimi instrukcjami, które zawierają obszerne instrukcje konfiguracji, a także dostępnych jest wiele źródeł internetowych r. Jeśli wszystko inne zawiedzie, napisz do mnie wiadomość.

Do budowy dołączyłem złącze dla linii portu szeregowego (TxD, RxD i 0V) do podłączenia do komputera za pomocą standardowego konwertera FTDI USB na TTL a dwa przyciski zapewniają możliwość zasilania ESP8266 w programowaniu flash tryb. (Włącz zasilanie z wciśniętymi ZARÓWNO przyciskami Reset i Start AP, zwolnij przycisk Reset, nadal przytrzymując przycisk Start AP, a następnie zwolnij przycisk Start AP)

Dodatkowe uwagi

  1. Złącza przycisków, zasilanie, czujniki temperatury DS18B20 można wyprowadzić do standardowych pinów nagłówka 0,1" w celu łatwego podłączenia IO
  2. Kondensator elektrolityczny 100 uF (C4) i kondensator ceramiczny 100 nF (C6) powinny być zamontowane jak najbliżej pinów zasilacza ESP8266.
  3. Kondensator ceramiczny 100nF (C5) powinien być zamontowany jak najbliżej styków zasilania PCF8574
  4. Rysunek 10 ilustruje ogólny schemat okablowania - Możesz zbudować wszystkie komponenty na jednej płycie lub podzielić je na 2 płyty za pomocą PCF8574, 8 tranzystorów 2N3906 (Q1 do Q8), 16x rezystorów (R3 do 14, R19 do 22), C5 na jednej "tablicy bargrafowej LED) a reszta na "płytce sterownika" (tak zrobiłem)

Krok 4: Korzystanie z dostarczonej drukowanej obudowy 3D

Korzystanie z dostarczonej drukowanej obudowy 3D
Korzystanie z dostarczonej drukowanej obudowy 3D
Korzystanie z dostarczonej drukowanej obudowy 3D
Korzystanie z dostarczonej drukowanej obudowy 3D

Wybór obudowy jest elastyczny w zależności od Twoich preferencji i wymagań instalacyjnych. Wydrukowałem w 3D obudowę z ABS, aby pasowała do mojej własnej instalacji i dołączyłem ją do odtworzenia lub wykorzystania jako „inspiracji” do własnej konstrukcji. Pliki STL z działu Download można drukować w rozdzielczości 0,2 mm. Jeśli nie posiadasz drukarki 3D ani nie masz z nią przyjaciela, istnieje wiele komercyjnych firm zajmujących się drukowaniem 3D, które powinny być w stanie zapewnić ci niedrogie usługi.

Poszczególne drukowane pozycje to:

  • A. Podstawa obudowy
  • B. Pokrywa obudowy
  • C. Staw golonkowy
  • D. Adapter do montażu na kostce w obudowie
  • E. Uchwyt czujnika powietrza
  • F. Załącz prowadnicę kabla czujnika
  • G. 2 x drążek (krótka i wydłużona długość - pozwala na zmianę długości całego zestawu montażowego)
  • H. Górny adapter pokrywy jazu
  • J. Adapter dolny pokrywy przelewu

Potrzebne są również 4 śruby i nakrętki gwintowane M4

Uwagi

  1. W przypadku klejenia przedmiotów polecam dwuskładnikową żywicę epoksydową lub dowolny odpowiedni klej odporny na warunki atmosferyczne.
  2. Przyklej panel słoneczny do pokrywy B i użyj silikonowego uszczelniacza wewnątrz pokrywy, aby zapobiec przedostawaniu się wody na powierzchnie łączące.
  3. Część E jest przyklejana do części E w dowolnym miejscu w celu zamontowania czujnika powietrza. WSZYSTKIE czujniki powietrza muszą znajdować się poniżej podstawy obudowy, z dala od bezpośredniego światła słonecznego (patrz rys. 5A)
  4. Część F i D należy również przykleić do podstawy części E załącznika.
  5. Zespół zwrotnicy montażowej (G, C i G) pasuje do siebie na wcisk, a gdy ich otwory przelotowe są wyrównane, można go zabezpieczyć za pomocą 2 śrub gwintowanych M4 i podkładek (nie dokręcaj, dopóki kompletny zespół nie zostanie zamontowany i nie zostanie zidentyfikowana wymagana orientacja - nie dokręcaj zbyt mocno, aby zapobiec pękaniu plastikowych łączników). W razie potrzeby przyciąć śruby na odpowiednią długość.
  6. Zamontuj części H i J na zmodyfikowanej pokrywie platformy jazowej w miejscu, w którym nie ma ryzyka fizycznej ingerencji lub naprężeń ze strony taśmy przykrycia basenu itp. (patrz Rys. 5 C, E i F). Jeśli pokrywa płyty jazu ma zakrzywioną powierzchnię, sugeruję użycie szczeliwa silikonowego lub żywicy epoksydowej w celu dalszego związania części J ze spodem pokrywy jazu.
  7. Teraz zespół obudowy można zamontować na płycie pokrywy przelewu za pomocą zespołu przegubowego (2xG i C). Ten zespół przegubów jest ciasno dopasowany PUSH zarówno do podstawy obudowy, jak i pokrywy płyty przelewowej, dzięki czemu urządzenie można łatwo wyjąć w celu przechowywania i/lub konserwacji zimą. NIE przyklejaj tego na miejscu. Patrz rys. 5D
  8. Rysunek 4 przedstawia każdą część i sposób, w jaki one do siebie pasują. W celu instalacji montażowej wywierciłem otwór w górnej pokrywie jazu, aby zapewnić punkt montażowy dla przegubu montażowego (zapewnia to możliwość trójwymiarowej regulacji obudowy względem uchwytu montażowego)

Krok 5: Serwer konfiguracji (punkt dostępu)

Serwer konfiguracji (punkt dostępu)
Serwer konfiguracji (punkt dostępu)
Serwer konfiguracji (punkt dostępu)
Serwer konfiguracji (punkt dostępu)

Wszystkie ustawienia użytkownika monitora są przechowywane w pamięci EEPROM i mogą być monitorowane i zmieniane przez wbudowany serwer sieciowy, do którego można uzyskać dostęp, gdy monitor jest przełączany w tryb punktu dostępowego (AP).

W tym celu użytkownik musi najpierw nacisnąć i zwolnić przycisk RESET, a następnie natychmiast po zwolnieniu nacisnąć i przytrzymać drugi przycisk KONFIGURACJA przez 1 do 3 sekund. Po zwolnieniu przycisku konfiguracji, jeśli jest zainstalowany, każda alternatywna dioda LED na wykresie słupkowym zaświeci się na kilka sekund, podczas gdy punkt dostępowy zostanie uruchomiony.

Jeśli otworzysz ustawienia sieci Wi-Fi na komputerze lub telefonie komórkowym, zobaczysz identyfikator SSID punktu dostępowego na liście dostępnych sieci. Jeśli uruchamiasz AP po raz pierwszy, pojawi się to jako HHHHHHHHHHHHHHHHHHH - Setup (nazwa domyślna), w przeciwnym razie będzie to nazwa, którą przypisałeś AP w ustawieniach WiFi, a następnie "-Setup".

Wybierz identyfikator SSID i wprowadź hasło (domyślnie „hasło” bez cudzysłowów, chyba że ustawiłeś je na coś innego).

Twój komputer/telefon komórkowy połączy się z AP. Teraz otwórz swoją ulubioną przeglądarkę internetową i wpisz 192.168.8.200 w polu adresu URL.

Twoja przeglądarka otworzy się na stronie głównej konfiguracji serwera WWW - patrz Rysunek 6.

Tutaj będziesz mógł odczytać aktualne zmierzone wartości oraz przyciski do stron ustawień Wi-Fi i innych urządzeń. Dolny przycisk jest ostatnią rzeczą, którą naciskasz po zmianie wszystkich parametrów, które potrzebujesz (jeśli go nie naciśniesz, Monitor pozostanie zasilany i stale rozładowuje baterię….

Rysunek 7

To jest strona ustawień WiFi i MQTT. Będziesz mógł zobaczyć aktualnie zapisaną sieć i szczegóły MQTT oraz wszystkie dostępne sieci w zasięgu monitora, w tym tę, z którą chcesz się połączyć.

Ustawienia wifi

Pola A i B umożliwiają wprowadzenie wymaganego identyfikatora sieci SSID i hasła, C to nazwa, którą chcesz nadać urządzeniu i będzie to nazwa SSID AP przy następnym uruchomieniu. Na koniec pole D to hasło, które chcemy podać AP.

Ustawienia MQTT

Tutaj ustawisz nazwę brokera MQTT (E), którego używasz i co najważniejsze, czy broker MQTT jest brokerem opartym na chmurze, czy brokerem lokalnym (np. Raspberry Pi) podłączonym do domowego WiFi.

Jeśli wcześniej wybrałeś brokera opartego na chmurze, zobaczysz dwa dodatkowe pola do wpisania nazwy użytkownika i hasła dla brokera.

Zwróć uwagę, że jeśli pozostawisz jakiekolwiek pole puste, to pole nie zostanie zaktualizowane - pozwala to na częściową aktualizację ustawień bez konieczności wpisywania wszystkich pól.

Domyślny adres w pierwszej kompilacji to Nazwa brokera to MQTT-Server i jest podłączony lokalnie.

Cyfra 8

Pokazuje pozostałą część strony ustawień urządzenia, do której można uzyskać dostęp za pomocą przycisku „Ustawienia urządzenia” na stronie głównej.

Ma 2 formaty w zależności od tego, czy ustawienia MQTT są ustawione na „HAS HouseNode Compatible” lub tematy Single/Compact

MA kompatybilność z HouseNode

To instruuje monitor, aby sformatował swoje dane MQTT, aby umożliwić wyświetlanie pomiarów danych na jednym z przewijanych ekranów OLED na maksymalnie 5 węzłach domowych opisanych w moim poprzednim Instruktażowym „Kontroler oświetlenia i urządzeń wielofunkcyjnych”. (Zobacz otwierającą sekcję Intro, aby zobaczyć obraz wyświetlanych danych Housenode. Jest to opisane dalej w połączonym Instructable (zaktualizowanym w listopadzie 2020 r.).

Będziesz musiał wprowadzić nazwę hosta HouseNode, do którego chcesz wysłać dane pomiarowe (pole B)

Pole C to numer ekranu, na którym chcesz wyświetlić dane (będzie to miało sens, gdy przeczytasz instrukcję obsługi!

Pole A to proste włączenie/wyłączenie dla tej ramki danych - w przypadku wyłączenia dane nie będą wysyłane.

Jest to powtarzane dla maksymalnie 5 węzłów domowych, co pozwala na wysyłanie tych samych danych do maksymalnie 5 rozproszonych wyświetlaczy kontrolerów w twoim gospodarstwie domowym.

Pojedynczy temat

Każdy pomiar monitora jest wysyłany jako osobna wiadomość MQTT przy użyciu tematów „Basen/WaterTemp”, „Basen/AirTemp” i „Basen/BaroPress”. Pozwala to na łatwe wybranie parametru, który urządzenie główne subskrybujące MQTT chce odczytywać bezpośrednio, zamiast brać wszystko za pomocą tematu Compact i wyodrębniać to, czego chcesz użyć.

Kompaktowy temat

Wszystkie trzy pomiary są połączone w jeden temat kompatybilny z Home Assitant, jeśli subskrybowane urządzenie MQTT preferuje format: Pool/{"Temperatura wody":XX. X, "Temp. Powietrza":YY. Y, "BaraPress":ZZZZ. Z} gdzie XX. X, YY. Y a i ZZZZ. Z to zmierzona temperatura wody ('C), temperatura powietrza ('C) i ciśnienie barometryczne (mB)

Również na tej stronie masz możliwość wyboru, czy dioda LED wykresu słupkowego ma być wyłączona w nocy (zalecane), aby zaoszczędzić niepotrzebne zużycie baterii. Jest to określane na podstawie zmierzonego poziomu światła (LL) panelu słonecznego i jest reprezentowane przez pomiar od 0% (ciemność) do 100% (jasność). Możesz ustawić próg od 1 do 99% określając próg światła, poniżej którego diody LED zostaną wyłączone. 0% na stałe wyłączy bargraf, a 100% zapewni, że będzie on cały czas włączony.

Możesz również ustawić odstęp czasu pomiędzy transmisjami danych w zakresie od 1 do 60 minut. Oczywiście im dłuższy interwał, tym lepsze zarządzanie energią i należy pamiętać, że temperatura basenu nie jest szybko zmieniającym się pomiarem, co oznacza, że interwał między 30 a 60 minutami powinien być w porządku.

Możesz zauważyć, że za pierwszym razem, po początkowej konstrukcji, twój czujnik powietrza (krótki przewód) jest wskazywany na wyświetlaczu jako temperatura wody i odwrotnie! (testowane przez trzymanie czujnika w dłoni i/lub upuszczenie czujnika do kubka z gorącą lub zimną wodą). W takim przypadku pole danych „DS18B20 pool and air address index address” pozwala na odwrócenie numeru indeksu (0 lub 1) czujników – konieczne będzie wgranie ustawień i ponowne uruchomienie urządzenia, zanim nastąpi adresowanie czujników. być poprawne.

Na koniec i najważniejsze, pamiętaj, że na każdej stronie, na której zmieniłeś wartości, MUSISZ nacisnąć przycisk „Załaduj nowe ustawienia do urządzenia” w przeciwnym razie Monitor nie zaktualizuje swojej pamięci EEPROM!

Jeśli jesteś zadowolony ze wszystkich zmian ustawień, aby wyjść z AP i powrócić do normalnego trybu monitora - naciśnij dolny przycisk na głównej stronie AP. Jeśli go nie naciśniesz, monitor pozostanie włączony i będzie stale rozładowywał baterię….

Krok 6: Trochę więcej informacji na temat korzystania z monitora basenu z kontrolerem oświetlenia i urządzeń HAS

Trochę więcej informacji na temat korzystania z monitora basenu z kontrolerem oświetlenia i urządzeń HAS
Trochę więcej informacji na temat korzystania z monitora basenu z kontrolerem oświetlenia i urządzeń HAS
Trochę więcej informacji na temat korzystania z monitora basenu z kontrolerem oświetlenia i urządzeń HAS
Trochę więcej informacji na temat korzystania z monitora basenu z kontrolerem oświetlenia i urządzeń HAS
Trochę więcej informacji na temat korzystania z monitora basenu z kontrolerem oświetlenia i urządzeń HAS
Trochę więcej informacji na temat korzystania z monitora basenu z kontrolerem oświetlenia i urządzeń HAS

Monitor basenu został zaprojektowany jako pojedynczy element we własnym systemie automatyki domowej (HAS) opartym na MQTT. Wspomniałem kilka razy, że pierwotnie został zaprojektowany jako członek mojego własnego HAS przy użyciu moich poprzednich 2 opublikowanych instrukcji (kontrolera wielofunkcyjnego oświetlenia pomieszczeń i urządzeń oraz inteligentnego kontrolera gejzerów do rejestrowania danych). Oba projekty mają wspólne podejście do konfiguracji przy użyciu bardzo podobnych zintegrowanych serwerów internetowych, zapewniając spójny i wygodny interfejs użytkownika na całej platformie.

Obie te instrukcje zostały pierwotnie opracowane jako samodzielne moduły, ale w ostatniej aktualizacji wprowadziłem komunikację MQTT do każdego z nich, aby umożliwić podłączenie czujników satelitarnych (znanych jako węzły czujników) do jednego lub więcej kontrolerów (znanych jako węzły domowe). Głównym zastosowaniem tego rozwiązania jest dodanie ładnego wyświetlacza OLED do wielofunkcyjnego kontrolera oświetlenia pomieszczeń i urządzeń oraz umożliwienie każdemu włączonemu kontrolerowi rutynowego wyświetlania wszystkich danych SensorNode na lokalnym wyświetlaczu OLED – pierwsze zdjęcie powyżej przedstawia trzy ekrany węzła HouseNode, który przewija i wyświetla dane z siebie, kontroler gejzera i monitor basenu, co pozwala na zlokalizowane wyświetlanie wszystkich przechwyconych danych w dowolnym dogodnym miejscu w ładowni.

Ponieważ każdy SensorNode lub HouseNode może retransmitować swoje dane za pośrednictwem MQTT, umożliwia to do 8 niezależnych punktów wyświetlania dla punktów pomiarowych HAS. Alternatywnie każdy z węzłów można łatwo zintegrować z własnym systemem MQTT, a już jeden przyjaciel zintegrował kontroler gejzera ze swoim Home Assistant HAS.

Inne aktualnie opracowywane węzły sensoryczne to:

  • Czujnik ruchu PIR
  • Czujnik alarmu wiązki podczerwieni
  • Syrena alarmowa i węzeł sterowania lampą
  • Panel sterowania alarmem
  • Pilot ręczny
  • Wyświetl tylko jednostkę

Jednostki te zostaną wydane jako Instructables kilka miesięcy po pomyślnym uruchomieniu w moim własnym domu.

Krok 7: Pobieranie

Poniższe pliki są dostępne do pobrania….

  1. Plik kodu źródłowego zgodny z Arduino IDE (Pool_Temperature_MQTT_1V2.ino). Pobierz ten plik i umieść go w podkatalogu katalogu Arduino Sketches o nazwie „Pool_Temperature_MQTT_1V2.
  2. Poszczególne pliki STL dla wszystkich drukowanych elementów 3D (*. STL) skompresowane do jednego pliku Pool_Monitor_Enclosure.txt. Pobierz plik, a następnie ZMIEŃ rozszerzenie pliku z txt na zip, a następnie wyodrębnij wymagane pliki. STL. Wydrukowałem je w rozdzielczości 0,2 mm na pliku 20% za pomocą filamentu ABS za pomocą drukarki 3D Tiertime Upbox +.
  3. Dołączyłem również zestaw plików jpeg (FiguryJPEG.txt) obejmujących wszystkie liczby użyte w tej instrukcji, aby umożliwić ci, w razie potrzeby, wydrukowanie ich osobno w bardziej pomocnym dla ciebie rozmiarze. Pobierz plik, a następnie ZMIEŃ rozszerzenie pliku z txt na zip, a następnie wyodrębnij wymagane pliki jpeg.

Zalecana: