26

Odp: Obsługa przycisku ON/OFF

W domyślnej konfiguracji openwrt nie obsługuje w żaden sposób przycisku o nazwie wps.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

27

Odp: Obsługa przycisku ON/OFF

Co w takim razie może powodować to zatrzymanie się? Jak tego szukać...

28 (edytowany przez smereka 2024-12-22 22:25:10)

Odp: Obsługa przycisku ON/OFF

Cezary mam taki wpis w rc.button w wps:

#!/bin/sh

if [ "$ACTION" = "pressed" ] && [ "$BUTTON" = "wps" ]; then
cat /etc/powiadomienie_mail/mail.txt | msmtp -t
fi
done

Jak to zmodyfikować, aby skrypt wykonywał się tylko wtedy jeśli przycisk jest wciśnięty co najmniej 3 sekundy ale uwaga niekoniecznie po tych 3 sekundach puszczony?

29

Odp: Obsługa przycisku ON/OFF

Widzę to tak:
- na ACTION=pressed:
wpisujesz uptime do jakiegoś tempa
uruchamiasz jakiś skrypt w tle
- na ACTION=released
ustawiasz jakiś inny timeout

A w samym skrypcie - w pętli sprawdzasz na podstawie bieżącego czasu i pierwszego timestampu ile upłynęło czasu i jeżeli minęło te 3s a brak jest flagi puszczenia przycisku to wykonujesz to co chcesz.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

30 (edytowany przez smereka 2024-12-27 12:25:34)

Odp: Obsługa przycisku ON/OFF

Fajny pomysł ale ja w skryptach to tylko modyfikacja - sam tego nie stworzę. Jakbyś miał ochotę i czas i być napisał to będę wdzięczny i jak będę odbierał kiedyś tamtego ruta to mogę Ci w ramach podziękowania czekoladę z okienkiem z orzeszkami dać chyba że chciałbyś coś innego smile

31 (edytowany przez Cezary 2024-12-27 13:45:20)

Odp: Obsługa przycisku ON/OFF

Masz, skrypt odpalany po 3s od naciśnięcia przycisku i jego przytrzymania. Zamiast logger "Nadal wciśnięty po 3 sekundach!" wstaw tam co potrzebujesz, ale dla testów zostaw tak jak zrobiłem.

root@MiFi:~# cat /etc/rc.button/wps 
#!/bin/sh

if [ $ACTION = "pressed" ]; then
    /root/test.sh &    
    touch /tmp/.wps
fi

if [ $ACTION = "released" ]; then
    if [ -e /tmp/.wps ]; then
        rm /tmp/.wps
    fi
fi

exit 0

root@MiFi:~# cat /root/test.sh 
#!/bin/sh

sleep 3
if [ -e /tmp/.wps ]; then
    rm /tmp/.wps
    logger "Nadal wcisniety po 3 sekundach!"
fi

exit 0

root@MiFi:~# chmod 755 /etc/rc.button/wps
root@MiFi:~# chmod 755 /root/test.sh
Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

32 (edytowany przez smereka 2024-12-27 13:34:00)

Odp: Obsługa przycisku ON/OFF

Działa elegancko. Wielkie dzięki. Tylko kropkę wstaw w swój wpis cat /etc/rc.button/wps w akcji released

rm /tmp/wps


przed wps to dla potomnych wink