Sprzęt: uniwersalna inteligentna wtyczka Wi-Fi z AliExpress, układ Lightning LN882H
Oryginalne oprogramowanie: fabryczne Tuya, kompatybilne z aplikacją Smart Life
Zainstalowano: OpenBeken przez UART, wersja OpenLN882H_1.18.292.bin (dzisiejsza kompilacja)
Co próbuję osiągnąć:
Chcę stworzyć moduł monitorujący typu ping, który nieustannie wysyła pakiety ping do zewnętrznego hosta (8.8.8.8), a jeśli przez dłuższy czas nie otrzyma odpowiedzi, na krótko odcina zasilanie przekaźnika, a następnie je przywraca – w zasadzie chodzi o automatyczne ponowne uruchomienie routera za pomocą inteligentnej wtyczki, do której podłączony jest sam router. Znalazłem przykłady modułu ping watchdog w pliku autoexecExamples.md i oparłem na nich swój skrypt.
Działanie pinów zostało potwierdzone: przekaźnik na pinie 7, kanał 65; przycisk na pinie 6, ten sam kanał. Oba zostały już zweryfikowane za pomocą programu GPIO Doctor oraz testów ręcznych – ta część działa bez zarzutu.
Kod pliku autoexec.bat, który uruchamiam:
startDriver NTP
startDriver SSDP
PingHost 8.8.8.8
PingInterval 60
ponownie:
waitFor NoPingTime 600
echo brak odpowiedzi ping przez 10 cykli, odłączam zasilanie routera
delay_s 1
SetChannel 65 0
delay_s 20
SetChannel 65 1
echo zasilanie routera przywrócone, oczekiwanie przed kolejnym sprawdzeniem
ClearNoPingTime
delay_s 60
goto ponownie
Błąd z dziennika podczas uruchamiania:
Błąd:CMD:cmd PingHost NIE znaleziono (args 192.168.99.99)
Błąd:CMD:cmd PingInterval NIE znaleziono (args 5)
(miało to miejsce podczas testów skróconej wersji, ten sam błąd występuje również przy rzeczywistych wartościach)
Wartość „secondsWithNoPing” pozostaje w dzienniku przez cały czas na poziomie -1, nigdy nie jest inicjowana, co pokrywa się z faktem, że polecenia nie są w ogóle rozpoznawane.
Pytanie: Czy funkcja monitorowania pingów (PingHost, PingInterval, NoPingTime) po prostu nie została skompilowana w obecnej kompilacji LN882H, mimo że jest opisana w plikach autoexecExamples.md i commands.md bez żadnych odnotowanych ograniczeń dotyczących chipsetu? A może brakuje mi jakiejś flagi lub sterownika, który należy uruchomić, zanim te polecenia staną się dostępne? Będę wdzięczny za wszelkie wskazówki, dziękuję.
Oryginalne oprogramowanie: fabryczne Tuya, kompatybilne z aplikacją Smart Life
Zainstalowano: OpenBeken przez UART, wersja OpenLN882H_1.18.292.bin (dzisiejsza kompilacja)
Co próbuję osiągnąć:
Chcę stworzyć moduł monitorujący typu ping, który nieustannie wysyła pakiety ping do zewnętrznego hosta (8.8.8.8), a jeśli przez dłuższy czas nie otrzyma odpowiedzi, na krótko odcina zasilanie przekaźnika, a następnie je przywraca – w zasadzie chodzi o automatyczne ponowne uruchomienie routera za pomocą inteligentnej wtyczki, do której podłączony jest sam router. Znalazłem przykłady modułu ping watchdog w pliku autoexecExamples.md i oparłem na nich swój skrypt.
Działanie pinów zostało potwierdzone: przekaźnik na pinie 7, kanał 65; przycisk na pinie 6, ten sam kanał. Oba zostały już zweryfikowane za pomocą programu GPIO Doctor oraz testów ręcznych – ta część działa bez zarzutu.
Kod pliku autoexec.bat, który uruchamiam:
startDriver NTP
startDriver SSDP
PingHost 8.8.8.8
PingInterval 60
ponownie:
waitFor NoPingTime 600
echo brak odpowiedzi ping przez 10 cykli, odłączam zasilanie routera
delay_s 1
SetChannel 65 0
delay_s 20
SetChannel 65 1
echo zasilanie routera przywrócone, oczekiwanie przed kolejnym sprawdzeniem
ClearNoPingTime
delay_s 60
goto ponownie
Błąd z dziennika podczas uruchamiania:
Błąd:CMD:cmd PingHost NIE znaleziono (args 192.168.99.99)
Błąd:CMD:cmd PingInterval NIE znaleziono (args 5)
(miało to miejsce podczas testów skróconej wersji, ten sam błąd występuje również przy rzeczywistych wartościach)
Wartość „secondsWithNoPing” pozostaje w dzienniku przez cały czas na poziomie -1, nigdy nie jest inicjowana, co pokrywa się z faktem, że polecenia nie są w ogóle rozpoznawane.
Pytanie: Czy funkcja monitorowania pingów (PingHost, PingInterval, NoPingTime) po prostu nie została skompilowana w obecnej kompilacji LN882H, mimo że jest opisana w plikach autoexecExamples.md i commands.md bez żadnych odnotowanych ograniczeń dotyczących chipsetu? A może brakuje mi jakiejś flagi lub sterownika, który należy uruchomić, zanim te polecenia staną się dostępne? Będę wdzięczny za wszelkie wskazówki, dziękuję.