51

Odp: RUT 955 OFW pakiety

smereka napisał/a:

Powyższy skrypt działa szybko ale z jakiegoś powodu ubija router

A jak go uruchamiasz? Bo powinieneś jako

skrypt &

w /etc/rc.local

A nie /etc/init.d/

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

52 (edytowany przez smereka 2024-04-11 08:06:18)

Odp: RUT 955 OFW pakiety

No tak go uruchamiam. Tak wygląda u mnie /etc/rc.local

# Put your custom commands here that should be executed once
# the system init finished. By default this file does nothing.

echo "507" > /sys/class/gpio/export
echo in > /sys/class/gpio/gpio507/direction
/bin/din1.sh
exit 0


gdzie din1.sh to co wcześniej wkleiłem

53

Odp: RUT 955 OFW pakiety

Nie, nie uruchamiasz. Brakuje ci & na końcu.

echo "507" > /sys/class/gpio/export
echo in > /sys/class/gpio/gpio507/direction
/bin/din1.sh &
exit 0

Tak ma być.

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

54 (edytowany przez frutis 2024-04-11 08:23:58)

Odp: RUT 955 OFW pakiety

Lepiej by było chyba użyć tej paczki: https://github.com/jefferyto/openwrt-slide-switch
Tylko to wymaga zmiany w dts: https://github.com/openwrt/openwrt/blob … v1.dts#L61

55 (edytowany przez smereka 2024-04-11 10:56:37)

Odp: RUT 955 OFW pakiety

Dziękuję Cezary teraz działa luksusowo nic się nie wiesza i konsola po wydaniu reboot rebotuje ruta.

56 (edytowany przez smereka 2024-06-28 12:42:13)

Odp: RUT 955 OFW pakiety

Cezary a jak zmodyfikować ten wcześniejszy skrypt czyli ten:

#!/bin/sh
while true; do
sleep 1;
if [ $(cat /sys/class/gpio/gpio507/value) = "0" ]; then
       echo 1 > /sys/class/gpio/gpio505/value
cat /etc/powiadomienie_mail/mail.txt | msmtp -t
   else
       echo 0 > /sys/class/gpio/gpio505/value
fi
done

tak aby nie wysyłał mi maila co 1 sekundę (no bo na pinach jest zwarte 1 z 6) tylko wtedy jeśli znowu stan zmieni się z 0 na 1 (czyli rozwarcie styków i ponowne zwarcie). Dasz przykład lub modyfikacje powyższego?

57

Odp: RUT 955 OFW pakiety

coś w rodzaju zapamiętania stanu

#!/bin/sh
cat /sys/class/gpio/gpio507/value > /tmp/stan
while true; do
 sleep 1;
 NEW=$(cat /sys/class/gpio/gpio507/value)
 OLD=$(cat /tmp/stan)
 if [ $OLD = "0" && $NEW = "1" ]; then
       echo 1 > /sys/class/gpio/gpio505/value
       cat /etc/powiadomienie_mail/mail.txt | msmtp -t
 fi
 echo $NEW > /tmp/stan
done
Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

58

Odp: RUT 955 OFW pakiety

Coś go boli:

root@OpenWrt:~# /bin/powiadomienie_mail.sh
sh: missing ]
sh: missing ]
sh: missing ]
sh: missing ]
sh: missing ]
sh: missing ]
sh: missing ]
sh: missing ]
sh: missing ]
sh: missing ]
sh: missing ]
sh: missing ]

59

Odp: RUT 955 OFW pakiety

if [ $OLD = "0" ] && [ $NEW = "1" ]; then

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

60

Odp: RUT 955 OFW pakiety

Ok teraz bez błędu ale nadal wysyła maila jeden po drugim dopóki nie rozewrę styków sad

61

Odp: RUT 955 OFW pakiety

Nie moze przecież, bo status poprzedniego masz zachowany a ten się nie zmienia. Zrób debug tego i zobacz co jest źle

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

62

Odp: RUT 955 OFW pakiety

Jak zrobić debug?

63 (edytowany przez smereka 2024-07-01 09:19:45)

Odp: RUT 955 OFW pakiety

Nawet próbowałęm zrobić delikatną modyfikacje Twojego ale i tak śle maila. Moja modyfikacja i na dole odczyty na bieżąco zwarcie pinów to -1 i potem różnica logiczna rozwarcia czyli 0

#!/bin/sh
cat /sys/class/gpio/gpio507/value > /tmp/stan
while true; do
sleep 1;
NEW=$(cat /sys/class/gpio/gpio507/value)
OLD=$(cat /tmp/stan)
let result=NEW-OLD
echo $result
if [ $result = "-1" ] ; then
       cat /etc/powiadomienie_mail/mail.txt | msmtp -t
       echo 1 > /sys/class/gpio/gpio505/value
else
       echo 0 > /sys/class/gpio/gpio505/value
fi
echo $NEW > /tmp/stan
done


i
root@RUT_36_OpenWrt:~# /bin/powiadomienie_mail.sh
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
^C
root@RUT_36_OpenWrt:~#

64

Odp: RUT 955 OFW pakiety

Moment. Po co tam jest robione echo 1 w to gpio?

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

65 (edytowany przez smereka 2024-07-01 09:49:04)

Odp: RUT 955 OFW pakiety

można to wylić/ To po prostu test żeby oprócz maila włączał się też przekaźnik. Załóżmy, że jest bez tego czyli:

#!/bin/sh
cat /sys/class/gpio/gpio507/value > /tmp/stan
while true; do
sleep 1;
NEW=$(cat /sys/class/gpio/gpio507/value)
OLD=$(cat /tmp/stan)
let result=NEW-OLD
echo $result
if [ $result = "-1" ] ; then
       cat /etc/powiadomienie_mail/mail.txt | msmtp -t
fi
echo $NEW > /tmp/stan
done

Nie rozumiem, czemu

cat /etc/powiadomienie_mail/mail.txt | msmtp -t

wykonuje się do momentu rozwarcia...

66

Odp: RUT 955 OFW pakiety

#!/bin/sh
set -x 
cat /sys/class/gpio/gpio507/value > /tmp/stan
while true; do
 sleep 1;
 NEW=$(cat /sys/class/gpio/gpio507/value)
 OLD=$(cat /tmp/stan)
 if [ $OLD = "0" ] && [ $NEW = "1" ]; then
       cat /etc/powiadomienie_mail/mail.txt | msmtp -t
 fi
 echo $NEW > /tmp/stan
done

Zrób takie skypt. wykonaj i pokaż co wyszło jak w trakcie działa stykasz styki, czekasz te 5s i je rozwierasz.

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

67 (edytowany przez smereka 2024-07-01 10:34:53)

Odp: RUT 955 OFW pakiety

Wysłał 5 maili podczas działania tego Twojego skryptu do momentu przerwania oto logi:

root@RUT_36_OpenWrt:~# /bin/powiadomienie_mail.sh
+ cat /sys/class/gpio/gpio507/value
+ true
+ sleep 1
+ cat /sys/class/gpio/gpio507/value
+ NEW=1
+ cat /tmp/stan
+ OLD=1
+ '[' 1 '=' 0 ]
+ echo 1
+ true
+ sleep 1
+ cat /sys/class/gpio/gpio507/value
+ NEW=1
+ cat /tmp/stan
+ OLD=1
+ '[' 1 '=' 0 ]
+ echo 1
+ true
+ sleep 1
+ cat /sys/class/gpio/gpio507/value
+ NEW=1
+ cat /tmp/stan
+ OLD=1
+ '[' 1 '=' 0 ]
+ echo 1
+ true
+ sleep 1
+ cat /sys/class/gpio/gpio507/value
+ NEW=1
+ cat /tmp/stan
+ OLD=1
+ '[' 1 '=' 0 ]
+ echo 1
+ true
+ sleep 1
+ cat /sys/class/gpio/gpio507/value
+ NEW=1
+ cat /tmp/stan
+ OLD=1
+ '[' 1 '=' 0 ]
+ echo 1
+ true
+ sleep 1
+ cat /sys/class/gpio/gpio507/value
+ NEW=1
+ cat /tmp/stan
+ OLD=1
+ '[' 1 '=' 0 ]
+ echo 1
+ true
+ sleep 1
+ cat /sys/class/gpio/gpio507/value
+ NEW=1
+ cat /tmp/stan
+ OLD=1
+ '[' 1 '=' 0 ]
+ echo 1
+ true
+ sleep 1
+ cat /sys/class/gpio/gpio507/value
+ NEW=0
+ cat /tmp/stan
+ OLD=1
+ '[' 1 '=' 0 ]
+ echo 0
+ true
+ sleep 1
+ cat /sys/class/gpio/gpio507/value
+ NEW=0
+ cat /tmp/stan
+ OLD=0
+ '[' 0 '=' 0 ]
+ '[' 0 '=' 1 ]
+ echo 0
+ true
+ sleep 1
+ cat /sys/class/gpio/gpio507/value
+ NEW=0
+ cat /tmp/stan
+ OLD=0
+ '[' 0 '=' 0 ]
+ '[' 0 '=' 1 ]
+ echo 0
+ true
+ sleep 1
+ cat /sys/class/gpio/gpio507/value
+ NEW=0
+ cat /tmp/stan
+ OLD=0
+ '[' 0 '=' 0 ]
+ '[' 0 '=' 1 ]
+ echo 0
+ true
+ sleep 1
+ cat /sys/class/gpio/gpio507/value
+ NEW=0
+ cat /tmp/stan
+ OLD=0
+ '[' 0 '=' 0 ]
+ '[' 0 '=' 1 ]
+ echo 0
+ true
+ sleep 1
+ cat /sys/class/gpio/gpio507/value
+ NEW=0
+ cat /tmp/stan
+ OLD=0
+ '[' 0 '=' 0 ]
+ '[' 0 '=' 1 ]
+ echo 0
+ true
+ sleep 1
+ cat /sys/class/gpio/gpio507/value
+ NEW=0
+ cat /tmp/stan
+ OLD=0
+ '[' 0 '=' 0 ]
+ '[' 0 '=' 1 ]
+ echo 0
+ true
+ sleep 1
+ cat /sys/class/gpio/gpio507/value
+ NEW=0
+ cat /tmp/stan
+ OLD=0
+ '[' 0 '=' 0 ]
+ '[' 0 '=' 1 ]
+ echo 0
+ true
+ sleep 1
+ cat /sys/class/gpio/gpio507/value
+ NEW=0
+ cat /tmp/stan
+ OLD=0
+ '[' 0 '=' 0 ]
+ '[' 0 '=' 1 ]
+ echo 0
+ true
+ sleep 1
+ cat /sys/class/gpio/gpio507/value
+ NEW=1
+ cat /tmp/stan
+ OLD=0
+ '[' 0 '=' 0 ]
+ '[' 1 '=' 1 ]
+ + catmsmtp /etc/powiadomienie_mail/mail.txt -t

+ echo 1
+ true
+ sleep 1
+ cat /sys/class/gpio/gpio507/value
+ NEW=1
+ cat /tmp/stan
+ OLD=1
+ '[' 1 '=' 0 ]
+ echo 1
+ true
+ sleep 1
+ cat /sys/class/gpio/gpio507/value
+ NEW=1
+ cat /tmp/stan
+ OLD=1
+ '[' 1 '=' 0 ]
+ echo 1
+ true
+ sleep 1
+ cat /sys/class/gpio/gpio507/value
+ NEW=1
+ cat /tmp/stan
+ OLD=1
+ '[' 1 '=' 0 ]
+ echo 1
+ true
+ sleep 1
+ cat /sys/class/gpio/gpio507/value
+ NEW=1
+ cat /tmp/stan
+ OLD=1
+ '[' 1 '=' 0 ]
+ echo 1
+ true
+ sleep 1
+ cat /sys/class/gpio/gpio507/value
+ NEW=1
+ cat /tmp/stan
+ OLD=1
+ '[' 1 '=' 0 ]
+ echo 1
+ true
+ sleep 1
+ cat /sys/class/gpio/gpio507/value
+ NEW=1
+ cat /tmp/stan
+ OLD=1
+ '[' 1 '=' 0 ]
+ echo 1
+ true
+ sleep 1
^C
root@RUT_36_OpenWrt:~#

68

Odp: RUT 955 OFW pakiety

W skrypcie jak pokazałeś jest tylko jedno wysłanie mejla. To co ci wysłało pozostałe 4 mejle?

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

69 (edytowany przez smereka 2024-07-01 10:57:40)

Odp: RUT 955 OFW pakiety

No RUT wysłał mi 4 maila. Może catmsmtp /etc/powiadomienie_mail/mail.txt -t coś źle działa

Ale jak w konsoli daję tylko to:

cat /etc/powiadomienie_mail/mail.txt | msmtp -t


To przychodzi na pocztę 1 mail

A jak powyższa komenda jest w skrypcie to kilka sad

70

Odp: RUT 955 OFW pakiety

Czasami nie masz w tle uruchomionego starego skryptu który robi to samo?

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

71 (edytowany przez smereka 2024-07-01 11:24:42)

Odp: RUT 955 OFW pakiety

No to by mi słał cały czas a teraz dopóki w konsoli nie odpalę nie śle smile

Pobawię się jeszcze wg Twego poradnika send mail może ten będzie działał dobrze

Ok znalazłem przyczynę. Faktycznie kumpel coś testował i jakieś maile szły. Po ubiciu procesu działa prawidłowo. Dziękuję Cezary

72

Odp: RUT 955 OFW pakiety

No sam zrobiłeś debug i było jedno wywołania do mejla...

Masz w mejlach czasy wysyłania? Zobacz czy takie same czy co 1s czy jak jeszcze.

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

73

Odp: RUT 955 OFW pakiety

Już działa ok wyżej napisałem.

74

Odp: RUT 955 OFW pakiety

Cezary a jest może jakiś pakiet który umożliwiłby mi kopiowanie plików np. zwykłego pliku txt na komputer po sambie użytkownikiem o danej nazwie i hasłem najlepiej poleceniem wydanym w konsoli

75

Odp: RUT 955 OFW pakiety

smbclient miało kopiowanie plików. A czy działa na openwrt to już musisz sprawdzić.

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