Temat: Webcam z wykorzystaniem przycisków

Witam. Chciałbym skonfigurować tak przycisk w routerze, że po jego naciśnieciu będe mógł włączać opcje robienia zdjęć i wyłączać. Jak działa obsługa przycisków juz wiem, tylko nie bardzo wiem jak powinny wygladać polecenia. Poprzez WinSCP zmienia się to prosto, bo w ustawieniach motion jest: output_normal on i można dawać output_normal off. Byłbym bardzo wdzięczny za podpowiedź jak stworzyć polecenia do przycisku, aby wykonywał mi te 2 funkcje.

2

Odp: Webcam z wykorzystaniem przycisków

sed -ie 's/output_normal.*/output_normal on/'
killall motion
motion

Mniej więcej coś takiego.

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

3

Odp: Webcam z wykorzystaniem przycisków

spróbowałem narazie bez przycisku, bezpośrednio wklepując komendy w putty i niestety nie zadziałało sad czegos mu brakuje

root@Gargoyle:~$ sed -ie 's/output_normal.*/output_normal on/'
sed: -i requires an argument

4

Odp: Webcam z wykorzystaniem przycisków

sed -ie 's/output_normal.*/output_normal on/' /etc/motion.conf

oczywiście smile

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

5

Odp: Webcam z wykorzystaniem przycisków

Albo korzystając z serwera http w motionie

 wget -s  http://localhost:8082/0/config/set?output_normal=off 

8082 to numer portu z opcji control_port w konfiguracji motion
i działa od razu - nie trzeba nawet restartować motiona smile

6

Odp: Webcam z wykorzystaniem przycisków

To lepsze rozwiązanie, faktycznie. Bo nie grzebie się po plikach bez celu.

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

7

Odp: Webcam z wykorzystaniem przycisków

hmm wersja od Cezarego zadziałała ok, z localhostem cos nie bardzo...

root@Gargoyle:~$ wget -s http://localhost:8080/0/config/set?output_normal=on
Connecting to localhost:8080 (127.0.0.1:8080)
wget: cannot connect to remote host (127.0.0.1): Connection refused

skąd adres localhosta 127.0.0.1???

8

Odp: Webcam z wykorzystaniem przycisków

Choćby z /etc/hosts.

9 (edytowany przez kamillo 2011-09-21 10:24:04)

Odp: Webcam z wykorzystaniem przycisków

1. Hmm dalej nie bardzo wiem dlaczego nie chce się łączyć z localhostem.
2. Przetestowałem wczoraj wersję Cezarego na przycisku i coś się posypało... tzn po wprowadzeniu nowego przycisku próba logowania do gargoyle wyglądała tak:
http://img825.imageshack.us/img825/1108/gargoylee.jpg
Natomiast sam mój przycisk wygląda tak:

 config 'button'
    option 'button' 'BTN_1'
    option 'action' 'released'
    option 'handler' 'sed -ie 's/output_normal.*/output_normal on/' /etc/motion.conf; killall motion; motion'
    option 'min' '0'
    option 'max' '2'

co jest z nim nie tak że router zaczyna szaleć??

10

Odp: Webcam z wykorzystaniem przycisków

Albo zepsułeś /etc/config/gargoyle albo zapchałeś cały flash i nie może nic zrobić.

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

11

Odp: Webcam z wykorzystaniem przycisków

no ale jak wracam do domyślnej wersji  /etc/config/system tak jak świeżo po instalacji to dostęp przez gargoyle wraca do normy i router juz nie szaleje... tylko po dodaniu tych nowych przycisków coś mu nie pasuje. A co do pamięci to wszystko jest na extroot zrobione...

12

Odp: Webcam z wykorzystaniem przycisków

Bo uci nie działa. Zauważ że masz przy handler pojedyncze apostrofy, on interpretuje to jako sed a z resztą nie wie co zrobić i psuje uci. skrypt sobie z tego zrób i jego wołaj  - najprościej, lub "wyeskejpuj' apostrofy w sedzie.

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

13

Odp: Webcam z wykorzystaniem przycisków

z tym tworzeniem skryptu to moge mieć problem, bo jeszcze nigdy sie w to nie bawiłem. Poczytałem troche na eko.one o przyciskach i stworzyłem taki plik w /etc/hotplug.d/button

if [ "$ACTION" = "pressed" ]; then
        if [ "$BUTTON" = "BTN_1" ]; then
            sed -ie 's/output_normal.*/output_normal on/' /etc/motion.conf; killall motion; motion 
        fi
    fi

no ale co dalej ? jak mam to wywołać?
A może będzie mi łatwiej pozbyć się tych apostrof w seedzie, tylko co masz na myśli "wyeskejpuj" tzn co mam z nimi zrobić?

14

Odp: Webcam z wykorzystaniem przycisków

Nie! Po prostu:

#!/bin/sh
sed -ie 's/output_normal.*/output_normal on/' /etc/motion.conf
killall motion
motion 

Nazwij to np. motion_on.sh i dodaj do /bin. Robisz go wykonywalnym, czyli chmod 755 /bin/motion_on.sh, i jako handler podajesz /bin/motion.sh

Masz już obsługę przycisków, wiec jej używaj.

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

15

Odp: Webcam z wykorzystaniem przycisków

dziękuje za szczegółową podpowiedź smile cos juz działa ale nie do końca. Mianowicie działa tak ze po uruchomieniu routera jeśli motion było na off to zadziała przycisk on ale juz off nie zadziała żeby ponownie wyłączyć. I odwrotnie czyli po uruchomieniu jak w opcji było on to zadziała mi off, ale kolejny raz juz nie moge włączyć. Czyli tak jakby przyciski działają tylko na początku... w /bin mam 2 pliki ze skryptami: motion_off.sh

#!/bin/sh
sed -ie 's/output_normal.*/output_normal off/' /etc/motion.conf
killall motion
motion

oraz motion_on.sh

#!/bin/sh
sed -ie 's/output_normal.*/output_normal on/' /etc/motion.conf
killall motion
motion 

moje przyciski on/ off wyglądają tak:

config 'button'
    option 'button' 'BTN_1'
    option 'action' 'released'
    option 'handler' '/bin/motion_on.sh'
    option 'min' '0'
    option 'max' '3'
config 'button' 
    option 'button' 'BTN_1'
    option 'action' 'released'
    option 'handler' '/bin/motion_off.sh'
    option 'min' '4'
    option 'max' '15'

16

Odp: Webcam z wykorzystaniem przycisków

jak moge jeszcze sprawdzić czy skrypty sa prawidłowo zrobione wykonywalne? Co moze być nie tak że przyciski zadziałają tylko raz sad

17

Odp: Webcam z wykorzystaniem przycisków

Proste - po prostu naciśnij przycisk i ma przestawić w skrypcie. Być może po prostu motion nie idzie w tlo i skrypt się nie kończy.

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

18

Odp: Webcam z wykorzystaniem przycisków

tzn po nacisnieciu pierwszy raz przycisku po uruchomieniu routera widze w /etc/motion.conf ze zmienia sie z on/ na off lub odwrotnie. Ale dzieje sie to tylko raz. Teraz zauważyłem że jak wklepie w putty killall motion i od nowa uruchomie motion to od razu wskakuje to co chciałem czyli output_normal on.