WT32-ETH01 – flashowanie, Ethernet i NetGuard Master

Mark
Autor
WT32-ETH01 – flashowanie, Ethernet i NetGuard Master

Podoba Ci się ten artykuł?

Tworzenie poradników zajmuje dużo czasu, a na stronie nie chce reklam. Jeśli pomogłem i masz na to ochotę — postaw mi kawę . To motywuje do dalszego pisania!

MarkLabs · NetGuard · część 3 z 5

NetGuard Master: WT32-ETH01, Ethernet i inteligentne wykrywanie awarii

NetGuard Power z poprzedniej części potrafi już fizycznie zrestartować zasilanie wybranego urządzenia. Teraz buduję drugą, ważniejszą połowę systemu: NetGuard Master. Zaczynam od gołej płytki WT32-ETH01, podłączam ją do USB–UART, wprowadzam ESP32 w tryb programowania, wgrywam własny firmware, uruchamiam Ethernet, łączę Mastera przez ADuM1201 z SONOFF 4CHR3 i dopiero wtedy konfiguruję monitoring, reguły oraz automatyczne recovery.

Ten etap jest już wykonany i sprawdzony. Master działa na rzeczywistym WT32-ETH01, pracuje po przewodowym LAN, komunikuje się z NetGuard Power, wykonuje testy sieciowe, ocenia reguły i przeprowadza pełny cykl: wykrycie problemu → potwierdzenie awarii → RESET → stabilizacja → ponowny test.

Repozytorium projektu

Kod źródłowy, firmware oraz dokumentację rozwijam publicznie:


github.com/marklabspl/MarkLabs-NetGuard

NetGuard nadal ma status pre-release. Opisane tutaj funkcje zostały sprawdzone na sprzęcie, ale nazwy plików, elementy panelu i szczegóły konfiguracji mogą jeszcze zmieniać się przed pierwszym stabilnym wydaniem. Dlatego przy odtwarzaniu projektu korzystaj z najnowszego README w repozytorium.

Zaczynam od prawdziwego WT32-ETH01

Masterem NetGuarda jest WT32-ETH01. To niewielka płytka z ESP32 oraz fizycznym interfejsem Ethernet zakończonym gniazdem RJ45.

WT32-ETH01

WT32-ETH01

W tym projekcie wybór nie był przypadkowy. Chciałem kontrolera, który może obserwować domową sieć, ale nie musi korzystać z Wi-Fi.

Fizycznie WT32-ETH01 wygląda zupełnie inaczej niż typowa płytka ESP32 DevKit. Jest wąski, ma RJ45 przy jednym z krótszych boków, moduł WT32-S1 z metalowym ekranem oraz wyprowadzenia wzdłuż obu boków.

Ważne przy zakupie:
do tego projektu używam klasycznego WT32-ETH01. Nie należy automatycznie zakładać zgodności innych płytek o podobnej nazwie tylko dlatego, że również mają RJ45.

Dlaczego nie używam Wi-Fi, skoro ESP32 je ma

Sam ESP32 potrafi pracować po Wi-Fi, ale w NetGuardzie celowo z tego nie korzystam jako podstawowej ścieżki sieciowej.

Załóżmy, że watchdog pracowałby po Wi-Fi i jego zadaniem byłoby wykrywanie awarii punktu dostępowego.

AP się zawiesza.

Master traci połączenie.

I urządzenie, które miało naprawić Wi-Fi, przestaje być częścią sieci dokładnie w tej samej chwili.

Dlatego NetGuard Master pracuje po Ethernet.

To nie sprawia, że staje się odporny na każdą możliwą awarię sieci, ale usuwa jedną bardzo istotną zależność.

Co przygotowałem do pierwszego uruchomienia

Do zaprogramowania Mastera potrzebowałem:

  • WT32-ETH01,
  • adapter USB–UART pracujący z logiką 3,3 V,
  • kilku przewodów Dupont,
  • stabilnego zasilania dla WT32-ETH01,
  • przewodu Ethernet,
  • aktualnego obrazu firmware NetGuard Master z repozytorium.

WT32-ETH01 może być zasilany przez wejście 5 V albo 3,3 V. To są dwie alternatywne metody, a nie dwa zasilania używane jednocześnie.

Na moim stanowisku wykorzystuję stabilne zasilanie płytki, a interfejs UART pozostaje w logice 3,3 V.

Nie podaję jednocześnie 5 V i 3,3 V na oba wejścia zasilania WT32-ETH01.

Wybieram jeden sposób zasilania płytki. Linie TX/RX ESP32 nadal pracują z poziomami logicznymi 3,3 V.

Najpierw poznajemy piny programujące

WT32-ETH01 nie ma typowego gniazda USB do programowania, dlatego firmware wgrywam przez UART.

Na płytce interesują mnie przede wszystkim:

TXD
RXD
GND
5V lub 3V3
IO0
EN

TXD i RXD to port programujący ESP32.

IO0 służy do wyboru trybu bootloadera podczas startu.

EN pozwala zresetować układ.

To wystarczy, żeby przejść od fabrycznego firmware do własnego NetGuard Master.

Dokładne połączenie USB–UART z WT32-ETH01

Linie UART, podobnie jak przy SONOFF-ie, krzyżuję:

WT32-ETH01, Ethernet i inteligentne wykrywanie awarii

TX USB–UART → RXD WT32-ETH01
RX USB–UART → TXD WT32-ETH01
GND → GND

Do tego dochodzi zasilanie WT32-ETH01.

Jeśli zasilam płytkę przez pin 5 V:

stabilne 5 V → 5V WT32-ETH01
GND → GND

Alternatywnie można korzystać z właściwego zasilania 3,3 V przez wejście 3V3, ale nie łączę obu wejść jednocześnie.

Najważniejsze jest również to, żeby adapter UART nie wysyłał na TX sygnałów logicznych 5 V.

Zasilanie płytki i poziom logiczny UART to dwie różne rzeczy.
WT32-ETH01 może być zasilany z wejścia 5 V, ale RX/TX ESP32 pozostają sygnałami 3,3 V.

Jak wprowadzam WT32-ETH01 w tryb flashowania

Samo podłączenie RX i TX nie wystarczy.

ESP32 musi wystartować w trybie bootloadera.

W WT32-ETH01 robię to przez IO0.

  1. Wyłączam zasilanie Mastera.
  2. Łączę IO0 z GND.
  3. Podaję zasilanie albo wykonuję reset przez EN.
  4. ESP32 uruchamia się w bootloaderze UART.
  5. Mogę rozpocząć flashowanie.

Po zakończeniu zapisu usuwam połączenie IO0–GND przed normalnym startem.

W WT32-ETH01 ma to dodatkowe znaczenie, ponieważ IO0 nie jest po uruchomieniu zwykłym wolnym GPIO. Jest związany również z pracą interfejsu Ethernet.

Typowy błąd po flashowaniu

Jeżeli zostawimy IO0 zwarte do GND, płytka przy kolejnym uruchomieniu ponownie wejdzie w tryb programowania zamiast normalnie uruchomić firmware NetGuard Master.

Skąd pobieram firmware Mastera

Firmware jest częścią tego samego publicznego projektu co NetGuard Power:

Przy każdym flashowaniu pobieram aktualny obraz przygotowany dla NetGuard Master / WT32-ETH01.

Celowo nie wpisuję tutaj nazwy pliku z numerem wydania. Projekt jest pre-release i taki szczegół bardzo szybko zamieniłby poprawny poradnik w instrukcję do starej wersji.

Zasada jest prosta: korzystam z aktualnego pliku wskazanego w dokumentacji repozytorium jako firmware dla WT32-ETH01.

Wgrywanie gotowego BIN-u – najprostsza ścieżka

Nie każdy, kto chce zbudować NetGuard, musi od razu instalować PlatformIO i kompilować źródła.

Dlatego przygotowuję również gotowy obraz firmware.

Po wejściu WT32-ETH01 w bootloader:

  1. Podłączam adapter USB–UART do komputera.
  2. Łączę IO0 z GND i resetuję WT32-ETH01.
  3. Uruchamiam obsługiwany flasher dla ESP32 np. https://web.esphome.io/?dashboard_install
  4. Wybieram port adaptera.
  5. Wskazuję aktualny obraz NetGuard Master przeznaczony do instalacji tą metodą.
  6. Rozpoczynam zapis.
  7. Po poprawnym zakończeniu odłączam zasilanie.
  8. Usuwam zworę IO0–GND.
  9. Uruchamiam WT32-ETH01 normalnie.

Jeśli zamiast gotowego obrazu korzystam ze źródeł, kompilację i upload można wykonać w środowisku projektu. Repozytorium pozostaje właściwym miejscem do sprawdzenia bieżącej procedury dla danego pre-release.

Pierwszy normalny start po flashowaniu

Po zakończeniu flashowania nie przechodzę jeszcze do reguł ani automatycznych restartów.

Najpierw sprawdzam podstawy.

Zdejmuję IO0 z GND i uruchamiam WT32-ETH01 w normalnym trybie.

Jeżeli korzystam z terminala szeregowego, obserwuję log startowy i sprawdzam, czy firmware rzeczywiście się uruchomił, a nie wrócił do bootloadera.

Następnie podłączam RJ45.

Pierwszy test Ethernetu

To moment, w którym WT32-ETH01 zaczyna robić dokładnie to, dla czego go wybrałem.

Podłączam przewód RJ45 do tej samej infrastruktury LAN, z której Master będzie później obserwował urządzenia.

Po zestawieniu fizycznego linku firmware uruchamia interfejs Ethernet.

W sprawdzonym zestawie połączenie wstaje prawidłowo i Master staje się osiągalny w sieci.

WT32-ETH01
↓ RJ45
switch / router

LAN

panel NetGuard Master

Master pracuje po przewodowym LAN. Wi-Fi nie jest potrzebne do wykonywania podstawowej funkcji watchdoga.

Master ma osobne zasilanie

W docelowej instalacji WT32-ETH01 dostaje własne zasilanie, niezależne od czterech kanałów NetGuard Power.

To bardzo ważne.

Jeżeli CH1 odcina router, CH2 restartuje AP, CH3 switch, a CH4 serwer, żadna z tych operacji nie może wyłączyć samego Mastera.

Master nie może być zasilany przez wyjście, którym sam steruje.

Pierwsze wejście do panelu WWW

WT32-ETH01, Ethernet i inteligentne wykrywanie awarii

Po uruchomieniu Ethernetu przechodzę do interfejsu Mastera.

Panel WWW jest ważny, bo nie chcę rekompilować firmware za każdym razem, kiedy zmienię adres IP urządzenia, czas RESET-u albo dodam kolejny cel diagnostyczny.

Cała bieżąca konfiguracja watchdoga należy do Mastera.

To tutaj definiuję urządzenia i usługi, które mają być sprawdzane, przypisuję reguły oraz określam, który kanał Power Module ma być użyty jako akcja recovery.

Na tym etapie jeszcze nie podłączam automatycznych restartów

Pierwszy start Mastera robię zachowawczo.

Najpierw chcę wiedzieć, że sam kontroler jest stabilny.

Sprawdzam Ethernet, dostęp do panelu i zachowanie po ponownym uruchomieniu.

Dopiero później dokładam Power Module.

To ułatwia diagnostykę: jeżeli coś nie działa, wiem, czy problem jest po stronie Mastera, UART-u, izolatora czy SONOFF-a.

Łączę Master z NetGuard Power przez ADuM1201

Docelowo WT32-ETH01 nie komunikuje się z SONOFF 4CHR3 przez Wi-Fi, MQTT ani HTTP.

Oba moduły mają własny, lokalny UART.

Pomiędzy nimi znajduje się ADuM1201.

NETGUARD MASTER
WT32-ETH01
↓ TX    ↑ RX
ADuM1201
↓      ↑
NETGUARD POWER
SONOFF 4CHR3

Jedna droga przenosi komendy Master → Power, a druga odpowiedzi i telemetrykę Power → Master.

W finalnym zestawie komunikacja przez izolator działa prawidłowo.

Jak sprawdzam, czy Master naprawdę widzi Power Module

Nie zaczynam od RESET-u.

Najpierw uruchamiam Power Module, a następnie Mastera i obserwuję kartę modułu wykonawczego.

Połączenie uznaję za gotowe dopiero wtedy, gdy widzę serię poprawnych heartbeatów, a nie jeden przypadkowy komunikat.

W działającym systemie panel pokazuje między innymi:

  • Power Module ONLINE,
  • rosnący licznik heartbeatów,
  • serię kolejnych poprawnych heartbeatów,
  • CH1–CH4 w stanie ON,
  • wiek ostatniej odpowiedzi,
  • timeouty,
  • błędne linie UART,
  • ostatni STATUS,
  • wykryte restarty Power Module.

Pierwszy ręczny RESET z Mastera

WT32-ETH01, Ethernet i inteligentne wykrywanie awarii

Dopiero po potwierdzeniu stabilnego UART-u wykonuję ręczny test.

Wybieram kanał i zlecam RESET.

Master nadaje operacji identyfikator i wysyła do Power Module polecenie:

RESET <ID> <KANAŁ> <CZAS>

Power Module potwierdza przyjęcie, przełącza wyjście, pilnuje własnego timera, a po zakończeniu zgłasza powrót kanału.

Test zrobiłem dla wszystkich czterech kanałów.

Na tym etapie wiem już, że mam działający tor:

panel Mastera → WT32-ETH01 → UART → ADuM1201 → SONOFF 4CHR3 → przekaźnik

Dopiero teraz zaczynamy właściwą diagnostykę sieci

Możliwość kliknięcia RESET-u z panelu to nadal nie watchdog.

Watchdog zaczyna się wtedy, kiedy Master sam potrafi odpowiedzieć na pytanie:

Czy urządzenie rzeczywiście się zepsuło i czy wolno je teraz zrestartować?

Najprostsza odpowiedź brzmiałaby: „nie odpowiada na PING”.

Dla mnie to za mało.

PING jest tylko jednym z narzędzi

PING świetnie nadaje się do prostego sprawdzenia, czy host odpowiada na ICMP.

Nie mówi jednak wszystkiego.

WT32-ETH01, Ethernet i inteligentne wykrywanie awarii

Serwer może odpowiadać na PING, ale jego usługa webowa może być martwa.

Router może odpowiadać lokalnie, podczas gdy DNS nie działa.

Pojedynczy pakiet może również zostać zgubiony bez żadnej realnej awarii.

Dlatego Master ma kilka typów celów diagnostycznych.

PING, TCP, HTTP, HTTPS i DNS

PING

Czy host odpowiada w sieci IP?

TCP

Czy można zestawić połączenie z określonym portem?

HTTP

Czy odpowiada konkretna usługa webowa?

HTTPS

Kontrola usługi dostępnej po zabezpieczonym HTTP.

DNS

Czy działa mechanizm rozwiązywania nazw?

W działającym Masterze korzystam z tych testów zależnie od tego, co właściwie chcę sprawdzić.

Cel diagnostyczny i kanał Power to dwie różne rzeczy

WT32-ETH01, Ethernet i inteligentne wykrywanie awarii

To jedna z najważniejszych cech systemu.

Master może monitorować więcej urządzeń niż cztery.

NetGuard Power ma cztery fizyczne kanały, ale liczba celów diagnostycznych nie jest z nimi tożsama.

Przykład: kamera PoE.

Kamera jest celem diagnostycznym.

Ale nie ma własnego gniazda 230 V w NetGuard Power.

Jeżeli reguła uzna, że wymagane jest recovery, akcją może być RESET kanału zasilającego switch PoE.

kamera
↓ monitoring
MASTER
↓ decyzja
kanał switcha PoE

POWER MODULE

Jedna utracona odpowiedź niczego jeszcze nie restartuje

Nie chcę, żeby jedna zgubiona odpowiedź powodowała odcięcie routera od zasilania.

Dlatego Master liczy kolejne błędne próby.

Dopiero po osiągnięciu skonfigurowanego progu warunek może zostać uznany za awarię.

OFFLINE nie oznacza „jeden PING nie wrócił”.
To wynik powtarzalnej diagnostyki i konfiguracji Mastera.

Reguły AND iWT32-ETH01, Ethernet i inteligentne wykrywanie awarii OR dają Masterowi kontekst

Sam licznik błędów nadal może nie wystarczyć.

Access point nie odpowiada.

Czy naprawdę jest uszkodzony?

Jeżeli jednocześnie router i wszystkie inne cele również przestały odpowiadać, problem może leżeć gdzie indziej.

Dlatego wyniki testów mogę łączyć w reguły.

Przykład
Access Point = OFFLINE
AND
Router = ONLINE
AND
Cel referencyjny = ONLINE→ RESET kanału Access Point

Taka decyzja ma znacznie więcej sensu niż:

brak jednego PING → wyłącz zasilanie

Ochrona po starcie

Po całkowitym zaniku zasilania infrastruktura nie uruchamia się jednocześnie.

Router, switch, serwer i AP potrzebują różnych czasów.

Master również może wystartować wcześniej od części urządzeń.

Gdyby natychmiast zaczął wykonywać recovery, uznałby zwykły rozruch za serię awarii.

Dlatego po uruchomieniu działa okres ochronny.

Sprawdziłem to również przy pełnym restarcie zestawu. Normalna faza uruchamiania urządzeń nie powoduje lawiny automatycznych RESET-ów.

Stabilizacja po RESET

Podobna ochrona jest potrzebna po wykonanej operacji.

Jeśli odetnę router na 10 sekund, to po ponownym podaniu napięcia router nie będzie ONLINE w jedenastej sekundzie.

Musi przejść cały własny boot.

Dlatego Master po recovery nie wraca od razu do normalnej oceny.

RESET

Power przywraca ON

czas stabilizacji

ponowne testy

Dzięki temu urządzenie nie zostaje zrestartowane ponownie tylko dlatego, że nadal się uruchamia.

Cooldown i limit restartów

Jeżeli urządzenie mimo poprawnie wykonanego recovery nie wraca, kolejne odcinanie go od zasilania co kilkanaście sekund nie ma sensu.

Master ma więc dwa kolejne zabezpieczenia.

Cooldown

Blokuje kolejną operację zbyt szybko po poprzedniej próbie recovery.

Limit prób

Po określonej liczbie nieudanych recovery automatyczne powtarzanie zostaje zatrzymane.

To bardzo ważna różnica względem prostego automatycznego „power cyclera”.

NetGuard nie ma restartować urządzenia za wszelką cenę.

Pełny cykl recovery mam już uruchomiony

Najważniejszym testem nie było dla mnie osobne sprawdzenie PING albo osobne kliknięcie przekaźnika.

Chciałem zobaczyć cały łańcuch.

  1. Master wykonuje test celu.
  2. Cel przestaje odpowiadać.
  3. Kolejne testy potwierdzają problem.
  4. Reguła zostaje spełniona.
  5. Master sprawdza cooldown i limity.
  6. Tworzona jest transakcja RESET.
  7. Power Module wyłącza właściwy kanał.
  8. Lokalny timer Power przywraca ON.
  9. Master rozpoczyna stabilizację.
  10. Po stabilizacji ponownie odpytuje cel.
  11. Po poprawnej odpowiedzi system wraca do normalnego monitorowania.

Ten pełny przebieg działa.

Przykład: restart Access Point

AP przestaje odpowiadać.

Router pozostaje ONLINE.

Inny punkt odniesienia również działa.

Kolejne testy AP nadal kończą się błędem.

Reguła zostaje spełniona.

Master wysyła transakcję RESET do kanału zasilającego AP.

Power Module odłącza zasilanie, sam przywraca je po określonym czasie, a Master rozpoczyna stabilizację.

Po uruchomieniu AP zaczyna ponownie odpowiadać.

To jest dokładnie taki scenariusz, dla którego NetGuard powstał.

Przykład: kamera PoE i switch

Kamera nie musi mieć własnego kanału Power Module.

Master może monitorować jej IP, a jako akcję wskazać restart switcha PoE.

Po potwierdzeniu awarii resetowany jest kanał switcha, zasilanie PoE znika i wraca razem ze switchem, a kamera rozpoczyna nowy boot.

Oczywiście takie działanie wpływa także na inne urządzenia podpięte do tego samego switcha, więc reguła musi być przemyślana.

Technicznie jednak pokazuje to, że NetGuard nie jest prostym mapowaniem:

1 adres IP = 1 przekaźnik

Przykład: serwer Home Assistant

Ten scenariusz najlepiej pokazuje, dlaczego Master musi być autonomiczny.

Jeżeli serwer Home Assistant się zawiesi, sam Home Assistant nie może być podstawową logiką decydującą o swoim restarcie.

WT32-ETH01 nadal działa.

Ethernet nadal może działać.

Master nadal ma swoją konfigurację, reguły i UART do Power Module.

Może więc przeprowadzić recovery także wtedy, gdy cały HA jest niedostępny.

Home Assistant nie jest zależnością NetGuarda.
W kolejnej części stanie się jego interfejsem i źródłem dodatkowej telemetrii, ale podstawowe recovery już działa bez niego.

Co się dzieje, gdy Master sam straci Ethernet

Ethernet nie gwarantuje, że połączenie nigdy nie zniknie.

Jeżeli restartuję router albo switch znajdujący się pomiędzy Masterem a innymi urządzeniami, przez pewien czas część sieci będzie niedostępna.

Najważniejsze jest to, że WT32-ETH01 nadal jest zasilany i nadal wykonuje firmware.

Nie znika razem z Wi-Fi.

Timery i stan trwającej operacji nadal istnieją.

Po powrocie linku Master wraca do testowania.

Co zostało fizycznie sprawdzone

Na tym etapie NetGuard Master jest działającą częścią systemu, a nie planem kolejnych funkcji.

  • WT32-ETH01 poprawnie przyjmuje firmware przez UART,
  • wejście w bootloader przez IO0 działa,
  • firmware startuje poprawnie po usunięciu IO0–GND,
  • Ethernet zestawia połączenie,
  • Master działa niezależnie od Wi-Fi,
  • panel WWW jest dostępny,
  • komunikacja przez ADuM1201 z Power Module działa,
  • Master prawidłowo odbiera heartbeat,
  • wykrywa restart Power Module przez zmianę sesji,
  • ręczny RESET działa dla kanałów Power,
  • działają cele PING,
  • działają cele TCP,
  • działają testy HTTP i HTTPS,
  • działają testy DNS,
  • działa próg kolejnych błędów,
  • działają reguły z kilkoma warunkami,
  • działa ochrona po starcie,
  • działa czas stabilizacji po recovery,
  • działa cooldown,
  • działa ograniczenie kolejnych prób,
  • pełny automatyczny cykl recovery został sprawdzony.

Dlaczego cały projekt nadal jest pre-release

Power działa. Master działa. Pełny cykl działa.

Mimo tego NetGuard pozostaje obecnie pre-release.

Powód jest prosty: nadal rozwijam projekt przed pierwszym wydaniem, którego interfejs i zachowanie chcę uznać za stabilne.

Mogą zmieniać się szczegóły panelu, nazwy opcji, firmware, konfiguracja i dokumentacja.

Nie oznacza to, że opisane testy są dopiero planowane.

Pre-release ≠ niedziałający prototyp.

Opisany Master działa na rzeczywistym WT32-ETH01. Status pre-release mówi jedynie, że przed stabilnym wydaniem nadal rozwijam projekt i nie zamrażam jeszcze interfejsu ani szczegółów implementacji.

Mamy autonomiczny NetGuard. Teraz możemy dołożyć Home Assistant

Po trzech częściach system ma już wszystko, czego potrzebuje do wykonania podstawowego zadania.

Master obserwuje sieć.

Power steruje zasilaniem.

UART łączy obie części.

Recovery działa bez Home Assistant.

I właśnie dlatego w części 4 mogę bezpiecznie dołożyć MQTT oraz Home Assistant jako warstwę dodatkową.

HA pokaże statusy, zdarzenia, urządzenia i historię, ale nie stanie się warunkiem działania watchdoga.

Część 4

NetGuard i Home Assistant: MQTT, monitoring i automatyczne restarty

MQTT Discovery, encje, dashboard, zdarzenia i podgląd działania watchdoga bez uzależniania recovery od Home Assistant.


Przejdź do części 4 →


NetGuard Master – najczęstsze pytania

Jak wgrać firmware NetGuard Master do WT32-ETH01?

Firmware wgrywam przez UART. Adapter TX łączę z RXD WT32-ETH01, RX z TXD, a masę z GND. Następnie zwieram IO0 do GND i resetuję lub ponownie zasilam płytkę, aby ESP32 uruchomił bootloader. Po wgraniu firmware usuwam zwarcie IO0–GND i uruchamiam Master normalnie.

Czy WT32-ETH01 można zasilać z 5 V?

Tak. Płytka udostępnia wejście 5 V oraz 3,3 V. Wybiera się jeden sposób zasilania, a nie oba jednocześnie. Linie UART ESP32 nadal wymagają poziomów logicznych 3,3 V.

Dlaczego IO0 trzeba odłączyć po flashowaniu?

Stan IO0 podczas uruchamiania decyduje o wejściu ESP32 w bootloader. Jeśli pozostanie zwarty do GND, urządzenie ponownie uruchomi się w trybie programowania zamiast wystartować z firmware NetGuard.

Dlaczego Master używa Ethernetu zamiast Wi-Fi?

Ponieważ urządzenie odpowiedzialne za diagnostykę infrastruktury nie powinno zależeć od Wi-Fi, którego awarię samo może być zmuszone wykryć. WT32-ETH01 korzysta z przewodowego interfejsu Ethernet.

Czy NetGuard restartuje urządzenie po jednym nieudanym PING?

Nie. Master może wymagać kilku kolejnych nieudanych testów i dodatkowych warunków reguły.

Jakie rodzaje testów obsługuje Master?

W działającym projekcie wykorzystuję PING, TCP, HTTP, HTTPS oraz DNS.

Jak NetGuard zapobiega pętli restartów?

Wykorzystuje między innymi próg kolejnych błędów, ochronę po starcie, stabilizację po recovery, cooldown oraz ograniczenie liczby kolejnych prób.

Czy NetGuard Master wymaga Home Assistant?

Nie. Master wykonuje diagnostykę i podejmuje decyzje lokalnie. Home Assistant jest dodatkową integracją opisaną w części 4.

Gdzie pobrać firmware NetGuard Master?

Aktualne źródła, dokumentacja i pliki projektu znajdują się w publicznym repozytorium

MarkLabs-NetGuard
.
Ponieważ projekt nadal ma status pre-release, przy flashowaniu należy korzystać z aktualnej dokumentacji repozytorium.

MarkLabs NetGuard

NetGuard Master jest uruchomionym i sprawdzonym etapem projektu: od flashowania WT32-ETH01, przez Ethernet i UART, aż po automatyczne wykrywanie problemów i pełny cykl recovery.


GitHub: MarkLabs-NetGuard →

Społeczność MarkLabs

Dyskutuj na forum

Pytania, doświadczenia i rozwiązania do tego artykułu publikujemy teraz na forum MarkLabs.

Otwórz dyskusję na forum

Wymagane jest bezpłatne konto MarkLabs. Dotychczasowe komentarze bloga nie są przenoszone.

buycoffee.to