logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Most 1-Wire -> MODBUS/MQTT na ESP32 z DS2482-800

e.dom 10 Maj 2026 15:41 84 0
REKLAMA
  • #1 21900328
    e.dom
    Poziom 11  
    Posty: 36
    Ocena: 70
    W mojej automatyce domowej opartej o PLC WAGO zbieram dane z ponad 30 czujników temperatury. Dotychczas korzystałem z modułu z DS2482-800, który dorobiłem do Raspberry Pi. Postanowiłem jednak uwolnić się od złożoności RPi i komplikacji związanych z utrzymaniem urządzenia z Linuxem żyjącego na karcie micro SD.

    Most 1-Wire -> MODBUS/MQTT na ESP32 z DS2482-800

    Nie znalazłem na rynku niczego, co odpowiadałoby moim potrzebom, tj. by obsługiwało rozległą sieć czujników i by korzystało z łącza Ethernet. Mam dość archiwalnych RS232, czy modułów programowalnych przez oddzielny kabel USB i antyczny dedykowany software.

    Aby zbudować w pełni niezależny i samodzielny moduł, sięgnąłem po ESP32 z obsługą Ethernet. Dodałem do tego rozszerzenie z DS2482-800 po I2C oraz wtykami, obudowę z drukarki 3D i wyszedł całkiem zgrabny moduł, który od paru tygodni mieszka w mojej szafie.

    Most 1-Wire -> MODBUS/MQTT na ESP32 z DS2482-800

    Kluczem dla mnie w roli użytkownika jest interfejs dostępny przez przeglądarkę, oferujący:

    - widok aktualnych odczytów temperatur / wilgotności lub intensywności nasłonecznienia

    Most 1-Wire -> MODBUS/MQTT na ESP32 z DS2482-800

    - wykresów z zapisanymi danymi

    Most 1-Wire -> MODBUS/MQTT na ESP32 z DS2482-800

    - konfiguracji systemu pozwalającej zmienić hasło admina, wybrać łączenie przez Ethernet lub Wi-Fi (+podanie parametrów uwierzytelnienia AP), ustalić stały IP, określić hostname (mDNS), wgrywać nowy firmware, archiwizować konfigurację, resetować moduł do ustawień fabrycznych.

    Most 1-Wire -> MODBUS/MQTT na ESP32 z DS2482-800

    - konfiguracji czujników pozwalającej wybierać jednostkę odczytu temperatur, definiować konfigurację sieci 1-wire (parasite mode: 2-wire lub 3-wire), określać nazwy czujników, przypisywać im adres modbus, włączać zapisywanie danych (z max. 16 czujników), określać rodzaj czujnika w przypadku modułu 2438, zgrywać do JSON ustawienia czujników / odtwarzać z pliku.

    Most 1-Wire -> MODBUS/MQTT na ESP32 z DS2482-800

    - konfiguracji MODBUS pozwalającej określić nr modułu i włączyć/wyłączyć funkcjonalność Modbus.
    - konfiguracji MQTT pozwalającej określić IP i port Brokera, podać dane uwierzytelniające, określić prefix komunikatów i interwał wysyłania danych.
    - wyświetlić log komunikatów z modułu.

    Mój moduł odczytuje dane z 32 czujników, choć programowy limit ustawiony jest na 254 szt. Nie mam jednak jak tego przetestować.

    Na koniec 2 słowa tłumaczące, dlaczego wybieram DS2482-800, pomimo jego ceny. Chcę móc łączyć czujniki po przewodach, które mam, które nie są ułożone z myślą o sieci 1-wire. W mojej instalacji do każdego łącznika ściennego biegnie skrętka. Sieć ma więc kształt gwiazdy. Każdy kolejny czujnik powoduje przyrastanie zakłóceń. DS2482-800 ma 8 niezależnych kanałów. Gdy nowy czujnik powoduje niestabilność odczytów, przełączam go na następny świeży kanał i buduję sieć dalej. Brutalna siła zwycięża, lecz potrzebuje sprzętowego zapasu. :-)

    Gdyby ktokolwiek miał jakiekolwiek sugestie co do dalszego rozwoju/funkcjonalności - będę wdzięczny za uwagi. Jeśli chodzi o pytania dotyczące integracji po MODBUS z PLC - jestem do dyspozycji.

    Jako że na JLCPCB zamawia się nie mniej niż 5 płytek, mam jeszcze 4 nadmiarowe. Zmontowałem 1 moduł i mogę odsprzedać +/- po kosztach, jeśli ktoś miałby ochotę potestować w swojej instalacji.

    Most 1-Wire -> MODBUS/MQTT na ESP32 z DS2482-800 Most 1-Wire -> MODBUS/MQTT na ESP32 z DS2482-800
  • REKLAMA
REKLAMA