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

Przemysłowy moduł z Wi-Fi, LAN, PoE, RS485, wejściami i przekaźnikami - ESP32-S3-POE-ETH-8DI-8RO - t

p.kaczmarek2 12 Lip 2026 13:15 231 4

TL;DR

  • ESP32-S3-POE-ETH-8DI-8RO to przemysłowy moduł WaveShare z Ethernetem, Wi‑Fi, Bluetooth, PoE, 8 wejściami cyfrowymi i 8 przekaźnikami.
  • Sterowanie przekaźnikami realizuje TCA9554 przez I2C, sieć LAN idzie przez W5500 po SPI, a WS2812 i buzzer obsługują odpowiednio NeoPixel i ledc.
  • Zasilanie śrubowe obsługuje zakres 7~36V DC, a każdy przekaźnik wytrzymuje do 10A przy 250V AC lub 30V DC.
  • Uruchomiono serwer WWW dostępny po kablu, kontrolę przekaźników, panel koloru dla WS2812, sygnał dźwiękowy buzzerem oraz odczyt ośmiu wejść cyfrowych.
  • Obsługa przekaźników jest tylko demem: podwójne wysłanie komendy może przełączyć stan dwa razy, a RS485, RTC i karta TF nie zostały jeszcze omówione.
Podsumowanie wygenerowane przez AI na podstawie treści dyskusji.
REKLAMA
📢 Słuchaj (AI):
  • Przemysłowy moduł z Wi-Fi, LAN, PoE, RS485, wejściami i przekaźnikami - ESP32-S3-POE-ETH-8DI-8RO - t
    Przedstawię tu wszechstronny moduł ESP32-S3-POE-ETH-8DI-8RO oferujący szeroki zakres możliwości komunikacyjnych oraz sterujących. Urządzenie łączy w sobie Ethernet, Wi-Fi, Bluetooth, wejścia cyfrowe oraz wyjścia przekaźnikowe, dzięki czemu nadaje się do różnych projektów z dziedzin automatyki i IoT. Dodatkowo obsługa PoE upraszcza instalację i zasilanie w trudnodostępnych miejscach. Całość jest łatwa w programowaniu przez Visual Code i PlatformIO, co tutaj również pokażę - moje przykłady pokryją podstawową funkcjonalność urządzenia.

    Tego typu moduły występują często w handlu pod nazwą "przemysłowy". Prezentowany tu model jest oznaczony kodem SKU 30838.
    Przemysłowy moduł z Wi-Fi, LAN, PoE, RS485, wejściami i przekaźnikami - ESP32-S3-POE-ETH-8DI-8RO - t
    W zestawie jest moduł, antenka oraz mały śrubokręcik.
    Przemysłowy moduł z Wi-Fi, LAN, PoE, RS485, wejściami i przekaźnikami - ESP32-S3-POE-ETH-8DI-8RO - t
    Z przodu mamy 8 wyjść przekaźnikowych - zarówno normalnie otwarte, jak i normalnie zamknięte, oczywiście też styk wspólny.
    Przemysłowy moduł z Wi-Fi, LAN, PoE, RS485, wejściami i przekaźnikami - ESP32-S3-POE-ETH-8DI-8RO - t
    Z tyłu Ethernet (PoE), antena, dioda RGB (WS2812), przycisk boot, wejścia cyfrowe, zasilanie (do 36 V) i RS485.
    Przemysłowy moduł z Wi-Fi, LAN, PoE, RS485, wejściami i przekaźnikami - ESP32-S3-POE-ETH-8DI-8RO - t
    Nie widzę tu natomiast przycisku RESET ESP, jest on widoczny dopiero po zdjęciu pokrywy.
    Przemysłowy moduł z Wi-Fi, LAN, PoE, RS485, wejściami i przekaźnikami - ESP32-S3-POE-ETH-8DI-8RO - t
    Teraz możemy odnieść się już do dokumentacji od WaveShare. Co mamy na pokładzie:
    Przemysłowy moduł z Wi-Fi, LAN, PoE, RS485, wejściami i przekaźnikami - ESP32-S3-POE-ETH-8DI-8RO - t
    1. ESP32-S3
    Częstotliwość pracy do 240 MHz, z WiFi 2,4 GHz oraz BLE
    2. Wysokiej jakości przekaźnik
    Obciążalność styków na kanał: ≤10A 250V AC lub ≤10A 30V DC
    3. Izolacja optoizolatora
    Zapobiega zakłóceniom układu sterującego przez zewnętrzny obwód wysokiego napięcia podłączony do przekaźnika
    4. Przycisk RESET
    5. Port PoE
    Możliwość podłączenia modułu PoE (tylko wersja z portem PoE)
    6. Przycisk BOOT
    7. Układ zasilania
    8. Izolacja cyfrowa
    Zapobiega zakłóceniom układu sterującego przez sygnał zewnętrzny
    9. Izolacja zasilania
    Zapewnia stabilne napięcie izolacji, nie wymaga dodatkowego zasilania dla strony izolowanej
    10. Dwukierunkowa izolacja optoizolatora
    11. Złącze baterii RTC
    12. Buzzer (brzęczyk)
    13. Interfejs wejścia cyfrowego
    14. Złącze pinowe
    Możliwość podłączenia innych urządzeń
    15. Wskaźnik stanu pracy
    PWR: wskaźnik zasilania
    RXD: wskaźnik odbioru RS485
    TXD: wskaźnik nadawania RS485
    16. Interfejs USB Type-C
    Do zasilania modułu, wgrywania firmware oraz komunikacji USB
    17. Kolorowa dioda LED WS2812 RGB
    Sterowana przez pin GPIO38
    18. Port sieciowy
    19. Gniazdo anteny zewnętrznej
    Złącze SMA żeńskie, do komunikacji bezprzewodowej WiFi i Bluetooth
    20. Śrubowe złącze zasilania
    Obsługuje szeroki zakres napięcia 7~36V DC
    21. Interfejs komunikacyjny RS485
    Obsługa podłączania zewnętrznych urządzeń RS485
    22. Rezystor terminujący RS485
    Wbudowany rezystor 120Ω, włączany za pomocą zworki
    23. Śrubowe złącze przekaźnika
    Ułatwia podłączanie urządzeń
    Przemysłowy moduł z Wi-Fi, LAN, PoE, RS485, wejściami i przekaźnikami - ESP32-S3-POE-ETH-8DI-8RO - t
    24. Wbudowany TVS (tłumik przepięć) Skutecznie tłumi napięcia udarowe oraz krótkotrwałe skoki napięcia w obwodzie
    25. Układ konwersji RS485
    26. MP1605GTF-Z Moduł zasilania DC-DC
    27. PCF85063ATL Układ RTC do realizacji zadań czasowych
    28. TCA9554PWR Rozszerza linie IO do sterowania przekaźnikami
    29. W5500 Rozszerza połączenie sieciowe 10/100Mbps przez interfejs SPI
    30. Gniazdo karty TF Obsługuje zewnętrzne karty TF do przechowywania obrazów i plików
    Przemysłowy moduł z Wi-Fi, LAN, PoE, RS485, wejściami i przekaźnikami - ESP32-S3-POE-ETH-8DI-8RO - t
    Schemat ideowy:
    Przemysłowy moduł z Wi-Fi, LAN, PoE, RS485, wejściami i przekaźnikami - ESP32-S3-POE-ETH-8DI-8RO - t
    Wymiary:
    Przemysłowy moduł z Wi-Fi, LAN, PoE, RS485, wejściami i przekaźnikami - ESP32-S3-POE-ETH-8DI-8RO - t
    Dodatkowe zdjęcia:
    Przemysłowy moduł z Wi-Fi, LAN, PoE, RS485, wejściami i przekaźnikami - ESP32-S3-POE-ETH-8DI-8RO - t Przemysłowy moduł z Wi-Fi, LAN, PoE, RS485, wejściami i przekaźnikami - ESP32-S3-POE-ETH-8DI-8RO - t Przemysłowy moduł z Wi-Fi, LAN, PoE, RS485, wejściami i przekaźnikami - ESP32-S3-POE-ETH-8DI-8RO - t
    Przemysłowy moduł z Wi-Fi, LAN, PoE, RS485, wejściami i przekaźnikami - ESP32-S3-POE-ETH-8DI-8RO - t Przemysłowy moduł z Wi-Fi, LAN, PoE, RS485, wejściami i przekaźnikami - ESP32-S3-POE-ETH-8DI-8RO - t Przemysłowy moduł z Wi-Fi, LAN, PoE, RS485, wejściami i przekaźnikami - ESP32-S3-POE-ETH-8DI-8RO - t




    Hello World LAN
    Program wgrywany jest przez USB. W celu ułatwienia pracy z UART, wyjście logu skierowałem na CDC, czyli wirtualny port szeregowy.
    Plik platformio.ini:
    
    [env:esp32-s3-poe-eth-8di-8ro]
    platform = https://github.com/tasmota/platform-espressif32/releases/download/2024.08.10/platform-espressif32.zip
    board = esp32-s3-devkitc-1
    framework = arduino
    monitor_speed = 115200
    upload_port = COM60
    monitor_port = COM60
    build_flags = 
        -D ARDUINO_USB_MODE=1
        -D ARDUINO_USB_CDC_ON_BOOT=1
    
    

    Kontroler LAN podłączony jest przez SPI. Wymaga odpowiednio zmapowanych pinów.
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod

    Na starcie programu inicjujemy SPI i Ethernet. Reszta będzie odbywać się w tle.
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod

    Biblioteka odpowiedzialna za połączenie automatycznie publikuje eventy, które można wykorzystać do śledzenia stanu łączności. DHCP na routerze samo nadaje IP płytce.
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod

    Zostaje tylko serwery - my jedynie definiujemy dostępny tam zasoby i zwracaną przez nich treść wraz z typem MIME. Całą obsługę HTTP wykonuje biblioteka WebServer.
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod

    Rezultat - serwer dostępny jest przez kabelek i działa poprawnie.
    Przemysłowy moduł z Wi-Fi, LAN, PoE, RS485, wejściami i przekaźnikami - ESP32-S3-POE-ETH-8DI-8RO - t


    Kontrola przekaźników
    Przekaźników jest osiem, ale nie są dostępne na zwykłych GPIO. Do ich kontroli służy expander pinów TCA9554 sterowany przez interfejs I2C. Pozwala to zmniejszyć liczbę wymaganych GPIO aż do tylko dwóch (SCL i SDA) oraz współdzielić magistralę z innymi urządzeniami.
    Przemysłowy moduł z Wi-Fi, LAN, PoE, RS485, wejściami i przekaźnikami - ESP32-S3-POE-ETH-8DI-8RO - t
    Dołączamy nagłówek magistrali I2C, definiujemy jej piny, adres TCA9554 oraz adresy jego rejestrów:
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod

    Potem potrzebna jest funkcja która wysyła wartość do danego rejestru TCA9554:
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod

    Stan przekaźników trzymam jako bajt - poszczególne przekaźniki są jego odpowiednimi bitami. W momencie zmiany wysyłam ten bajt do ekspandera.
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod

    Ulepszona strona HTML
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod

    Obsługa żądania przerzucenia danego przekaźnika:
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod

    Jeszcze brakuje by raz na starcie ustawić tryb pinów expandera:
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod

    W ten sposób można sterować przekaźnikami. Nie jest to idealny sposób i nie nadaje się raczej do finalnej wersji produktu, bo przykładowo podwójne wysłanie komendy (np. na skutek problemu z siecią) przełączy dwukrotnie stan przekaźnika, ale do małego demka jak najbardziej się to nadaje.


    Kontrola WS2812
    WS2812 to indywidualnie adresowalna kolorowa LED, która tutaj ma służyć do komunikacji stanu urządzenia. Normalnie wiele WS2812 tworzy paski i różne gadżety LED, gdzie odgrywane są animacje, ale tu mamy jedną sztukę. Nie stoi to jednak na przeszkodzie, by użyć tej samej biblioteki co do pasków - przykładowo Adafruit NeoPixel.
    Dodajemy ją do platformio:
    
    lib_deps =
        adafruit/Adafruit NeoPixel @ ^1.12.0
    

    Definiujemy ilość LEDów oraz użyty pin do komunikacji, potem tworzymy obiekt reprezentujący pasek LED (piksele) w odpowiednim trybie:
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod

    Zostaje dodać frontend - gotowy formularz wyboru koloru z HTML:
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod

    No i połączenie - odebranie pakietu ustawiającego kolor:
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod

    Panel:
    Przemysłowy moduł z Wi-Fi, LAN, PoE, RS485, wejściami i przekaźnikami - ESP32-S3-POE-ETH-8DI-8RO - t
    Efekt:
    Przemysłowy moduł z Wi-Fi, LAN, PoE, RS485, wejściami i przekaźnikami - ESP32-S3-POE-ETH-8DI-8RO - t Przemysłowy moduł z Wi-Fi, LAN, PoE, RS485, wejściami i przekaźnikami - ESP32-S3-POE-ETH-8DI-8RO - t Przemysłowy moduł z Wi-Fi, LAN, PoE, RS485, wejściami i przekaźnikami - ESP32-S3-POE-ETH-8DI-8RO - t



    Kontrola buzzer
    Na koniec coś prostego, ale równie ważnego. Sygnał wizualny z WS2812 to jedno, ale przyda się też sygnał dźwiękowy. Po to na pokładzie mamy buzzer. Zdefiniujmy jego pin oraz powiązane stałe. Buzzer działa w oparciu o PWM, ponieważ pozwala to na generowanie sygnału dźwiękowego o regulowanej częstotliwości i głośności przy użyciu cyfrowego pinu mikrokontrolera. Wysyłając szybkie impulsy o określonej częstotliwości i wypełnieniu (duty cycle), buzzer wibruje w sposób ciągły, co daje wrażenie tonu, który możemy kontrolować programowo.”
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod

    Do sterowania PWM używamy ledc. ledc w ESP32 to wbudowany moduł sprzętowy do generowania sygnału PWM na wybranych pinach
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod

    Funkcja odtwarzająca "beep" jest blokująca, po prostu ustawia wypełnienie, odczekuje chwilkę i go czyści. Uznałem, że mogę sobie na to pozwolić w tym demku.
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod

    Pod to jeszcze dodałem przycisk na panelu HTML.
    Przemysłowy moduł z Wi-Fi, LAN, PoE, RS485, wejściami i przekaźnikami - ESP32-S3-POE-ETH-8DI-8RO - t
    Rezultat (proszę oglądać z dźwiękiem):






    Wejścia
    Zostały jeszcze wejścia cyfrowe. Co ciekawe, są one bezpośrednio na pinach ESP32 - nie ma tu expandera. Używane są GPIO 4, 5, 6, 7, 8, 9, 10, 11. Umieściłem je w tablicy, by skanować je na poczekaniu w trakcie generowania panelu WWW:
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod

    Trzeba je wcześniej zainicjować, tak jak się to klasycznie robi z pinami w Arduino:
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod

    A tak wygląda skanowanie - proste digitalRead:
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod

    Rezultat:
    Przemysłowy moduł z Wi-Fi, LAN, PoE, RS485, wejściami i przekaźnikami - ESP32-S3-POE-ETH-8DI-8RO - t


    Co grzeje się na płytce?

    Na koniec jeszcze krótki test, z ciekawości. Co najbardziej się grzeje? Wygląda na to, że płytka od PoE... a dokładniej rezystor. To dla mnie dziwne, bo zasilam płytkę z portu USB.
    Przemysłowy moduł z Wi-Fi, LAN, PoE, RS485, wejściami i przekaźnikami - ESP32-S3-POE-ETH-8DI-8RO - t Przemysłowy moduł z Wi-Fi, LAN, PoE, RS485, wejściami i przekaźnikami - ESP32-S3-POE-ETH-8DI-8RO - t Przemysłowy moduł z Wi-Fi, LAN, PoE, RS485, wejściami i przekaźnikami - ESP32-S3-POE-ETH-8DI-8RO - t
    Grzeje się jeszcze układ zasilania strony wykonawczej:
    Termowizja płytki elektronicznej z zaznaczonymi temperaturami 31,7°C, 29,3°C i 24,2°C

    Podsumowanie
    Podsumowując, to była krótka prezentacja ESP32-S3-POE-ETH-8DI-8RO. Udało się tu uruchomić podstawowe mechanizmy - komunikację przez Ethernet, wyjścia (przekaźniki, LED, buzzer) oraz wejścia (cyfrowe GPIO). Nie było to pełne omówienie sprzętu, bo zostało jeszcze RS485, RTCC czy tam karta TF, ale i tak myślę, że pewnie może komuś pomóc z rozpoczęciem przygody z tym sprzętem. Płytka wygląda na bardzo wszechstronną i przydatną, zwłaszcza, jeśli potrzebujemy PoE. W przeciwnym razie można kupić wersję bez niego - ESP32-S3-ETH-8DI-8RO, reszta jest tam podobnie.
    Czy korzystacie z modułów od WaveShare, czy widzicie zastosowanie dla tej płytki z PoE?

    Fajne? Ranking DIY
    Pomogłem? Kup mi kawę.
    O autorze
    p.kaczmarek2
    Moderator Smart Home
    Offline 
    Inżynier programista z wieloletnim doświadczeniem embedded i full stack developer.
    Specjalizuje się w: embedded, Full-Stack Developer
    p.kaczmarek2 napisał 14705 postów o ocenie 12758, pomógł 658 razy. Jest z nami od 2014 roku.
  • REKLAMA
  • #2 21937047
    zetor1
    Poziom 13  
    Posty: 141
    Pomógł: 1
    Ocena: 33
    Fajny uniwersalny moduł.
    Zasilanie Poe: fajna sprawa, lecz nie doszukałem się maksymalnego poboru mocy z poe jak i z zacisków śrubowych.
    Moduł można by wykorzystać np. do sterowania rolet, np. w home assistant. Pozdrawiam.
  • REKLAMA
  • #3 21937223
    krzbor
    Poziom 29  
    Posty: 1777
    Pomógł: 41
    Ocena: 1067
    Szkoda, że nie ma MQTT najlepiej z HA Discovery. Prezentowałem podobny moduł Link, który posiada te funkcjonalności. Niestety nie ma PoE.
  • REKLAMA
  • #4 21937258
    p.kaczmarek2
    Moderator Smart Home
    Posty: 14705
    Pomógł: 658
    Ocena: 12758
    Co masz na myśli z tym, że nie ma MQTT? Biblioteki do tego nie ma? Przecież nawet u mnie w OBK jest wsparcie MQTT z HA Discovery na ESP32, można spokojnie bez programowania obsłużyć przekaźniki z pokazanego w tym temacie urządzenia.
    Pomogłem? Kup mi kawę.
  • #5 21937301
    krzbor
    Poziom 29  
    Posty: 1777
    Pomógł: 41
    Ocena: 1067
    W instrukcji przeczytałem "Obsługa protokołów Modbus RTU i Modbus TCP". Myślałem, że programowanie na tym ESP jest zablokowane.
📢 Słuchaj (AI):
REKLAMA