76

(268 odpowiedzi, napisanych Oprogramowanie / Software)

Nie działa wyłączanie kamerki z poziomu GUI, czyli jak zaznaczam włącz webcam to włącza a po odznaczeniu powinien wyłaczyć a tego nie robi

77

(268 odpowiedzi, napisanych Oprogramowanie / Software)

Własnie wolał bym z GUI ale nie działa prawidłowo bo nie chce wyłączyć kamerki chyba ze tak ma być że nie wyłącza ale wątpie

78

(268 odpowiedzi, napisanych Oprogramowanie / Software)

no tak i działa jak się zaznaczy t.j. włącza kamerkę ale po odznaczeniu kamerka się nie wyłącza a myślę że powinna, jedynie enable w /etc/config/mjpg-streamer zmienia tylko stan na 0

Więc sądzę że gdzieś trzeba zmienić kolejność wczytywania w js aby to prawidłowo działało

79

(268 odpowiedzi, napisanych Oprogramowanie / Software)

Faktycznie miałem w /etc/config/mjpg-streamer enabled 0 i po przestawieniu ręcznie na 1 skrypt w konsoli tj. /etc/init.d/mjpg-streamer działa bez usuwania wspomnianych linijek ale w GUI nadal nie działa prawidłowo gdyż nie wyłącza kamerki po odznaczeniu checkboxa i zapisaniu ustawień, dopiero jak w /etc/config/mjpg-streamer zmienie znów 0 na 1 i w GUI kliknę zapisz z odznaczonym checkboxem to wyłącza kamerke

Widocznie skrypt w js najpierw wpisuje stan do enabled a potem wywołuje /etc/init.d/mjpg-streamer

80

(268 odpowiedzi, napisanych Oprogramowanie / Software)

init.d/mjpg-streamer :

#!/bin/sh /etc/rc.common
# Copyright (C) 2009-2012 OpenWrt.org

START=50

SERVICE_DAEMONIZE=1
SERVICE_WRITE_PID=1

PROG=/usr/bin/mjpg_streamer

error() {
    echo "${initscript}:" "$@" 1>&2
}

section_enabled() {
    config_get_bool enabled "$1" 'enabled' 0
    [ $enabled -gt 0 ]
}

start_instance() {
    local s="$1"
    local auth=""

    section_enabled "$s" || return 1

    config_get device "$s" 'device'
    config_get resolution "$s" 'resolution'
    config_get fps "$s" 'fps'
    config_get yuv "$s" 'yuv' 0
    config_get port "$s" 'port'
    config_get www "$s" 'www' "/usr/lib/mjpg-streamer/www"
    config_get username "$s" 'username'
    config_get password "$s" 'password'

    [ $yuv = "1" ] && yuv="-y" || yuv=""

    [ -c "$device" ] || {
        error "device '$device' does not exist"
        return 1
    }

    [ -n "$username" -a -n "$password" ] && {
        auth="--credentials $username:$password"
    }

    service_start /usr/bin/mjpg_streamer \
        --input "input_uvc.so $yuv --device $device --fps $fps --resolution $resolution" \
        --output "output_http.so --www $www --port $port $auth"
}

stop_instance() {
    local s="$1"

    section_enabled "$s" || return 1

    service_stop /usr/bin/mjpg_streamer
}

start() {
    config_load 'mjpg-streamer'
    config_foreach start_instance 'mjpg-streamer'
}

stop() {
    config_load 'mjpg-streamer'
    config_foreach stop_instance 'mjpg-streamer'
}

usunięcie  || return 1 z linijek section_enabled "$s" || return 1
pozwala uruchomić skrypt z init.d i z przeglądarki również włącza i wyłącza kamerkę.

Nie rozumiem w jakim celu zostały one wpisane hmm

81

(268 odpowiedzi, napisanych Oprogramowanie / Software)

sam program odpala po poleceniu:

root@Gargoyle:~# mjpg_streamer -i "input_uvc.so -d /dev/video0" -o "output_http.
so"
MJPG Streamer Version: svn rev: Unversioned directory
 i: Using V4L2 device.: /dev/video0
 i: Desired Resolution: 640 x 480
 i: Frames Per Second.: 5
 i: Format............: MJPEG
Adding control for Pan (relative)
UVCIOC_CTRL_ADD - Error: Invalid argument
Adding control for Tilt (relative)
UVCIOC_CTRL_ADD - Error: Invalid argument
Adding control for Pan Reset
UVCIOC_CTRL_ADD - Error: Invalid argument
Adding control for Tilt Reset
UVCIOC_CTRL_ADD - Error: Invalid argument
Adding control for Pan/tilt Reset
UVCIOC_CTRL_ADD - Error: Invalid argument
Adding control for Focus (absolute)
UVCIOC_CTRL_ADD - Error: Invalid argument
mapping control for Pan (relative)
UVCIOC_CTRL_MAP - Error: Invalid argument
mapping control for Tilt (relative)
UVCIOC_CTRL_MAP - Error: Invalid argument
mapping control for Pan Reset
UVCIOC_CTRL_MAP - Error: Invalid argument
mapping control for Tilt Reset
UVCIOC_CTRL_MAP - Error: Invalid argument
mapping control for Pan/tilt Reset
UVCIOC_CTRL_MAP - Error: Invalid argument
mapping control for Focus (absolute)
UVCIOC_CTRL_MAP - Error: Invalid argument
mapping control for LED1 Mode
UVCIOC_CTRL_MAP - Error: Invalid argument
mapping control for LED1 Frequency
UVCIOC_CTRL_MAP - Error: Invalid argument
mapping control for Disable video processing
UVCIOC_CTRL_MAP - Error: Invalid argument
mapping control for Raw bits per pixel
UVCIOC_CTRL_MAP - Error: Invalid argument
 o: www-folder-path...: disabled
 o: HTTP TCP port.....: 8080
 o: username:password.: disabled
 o: commands..........: enabled
^Csetting signal to stop
 i: cleaning up ressources allocated by input thread
force cancellation of threads and cleanup resources
 o: cleaning up ressources allocated by server thread #00
done

82

(268 odpowiedzi, napisanych Oprogramowanie / Software)

No właśnie nie ma i z GUI startuje normalnie a z konsoli nie chce hmm a przecież GUI korzysta z /etc/init.d/mjpg-streamer start

83

(268 odpowiedzi, napisanych Oprogramowanie / Software)

Ok ale jeszcze dziwniejsze jest to że jak jest wyłączone to nie można z konsoli uruchomić za pomocą /etc/init.d/mjpg-streamer start

84

(268 odpowiedzi, napisanych Oprogramowanie / Software)

Jest jakiś błąd z webcam w GUI i chyba z /etc/init.d/mjpg-streamer, otóż po włączeniu checkboxem w GUI kamerka się załącza ale po odznaczeniu i zapisaniu już nie wyłącza kamerki, nie można też jej wyłączyć z konsoli tj /etc/init.d/mjpg-streamer stop, ale jak się uruchomi w GUI a potem w konsoli z palca zrobię /etc/init.d/mjpg-streamer stop to kamerka sie wyłącza.

85

(233 odpowiedzi, napisanych Oprogramowanie / Software)

Kamerka:   SC-13HDL12639P "wymontowana z laptopa"
sterownik: uvcvideo

Działa bez problemów

86

(256 odpowiedzi, napisanych Termometr)

Widzisz smile tak Cię zrozumiałem, ale ok nie róbmy OT

87

(256 odpowiedzi, napisanych Termometr)

xury napisał/a:

Może, i ciąg trzech zer występować gdzie indziej, ale na pewno nie ciąg trzech zer z przecinkiem "000," smile

A zobacz jak jest zapisany ciąg znaków i jaki jest znak oddzielający czas od temperatury smile

88

(256 odpowiedzi, napisanych Termometr)

@Jaack ja Cię doskonale rozumiem i jeśli te 000 da się wykluczyć z pliku to ok ale jak widzisz mimo wszystko 19 znaków mniej a 3 to jednak różnica. Co więcej czy odczyt nie jest wystarczający co 10 min ? daje to tylko 144 odczytów na dobę smile

89

(256 odpowiedzi, napisanych Termometr)

Zmniejszcie sobie częstotliwość odczytów to i danych będzie mniej, co więcej nie wiem czy jest to poprawione ale przy przekroczeniu granicy ( nie pamiętam jakiej ilości ) wpisów w pliku strona z wykresem przestaje się wyświetlać.

90

(256 odpowiedzi, napisanych Termometr)

@Jaack możesz się ze mną nie zgodzić ale chyba jednak czytanie ostatniego wpisu i porównanie z czasem routera będzie bardziej automatyczne oczywiście jeszcze do tego sprawdzenie czy plik istnieje i czy nie jest pusty aby skrypt działał prawidłowo smile

Ale to jest tylko moja propozycja

91

(256 odpowiedzi, napisanych Termometr)

Jaack napisał/a:

Czas jest zapisywany, jak już pewnie z kodu powyżej wyczaiłeś w takim formacie:
[1416349960000,te.mp]

Jeśli chodzi o zapis dla wykresu to wiedziałem tylko nie wiem czemu myślałem że masz dodatkowy plik z pomiarem w jakimś innym formacie stąd  moje pytanie.
Pomijając to @xury się już postarał w php.

A jeśli chodzi o sprawdzanie czy istnieje timestamp.txt to moim zdaniem wystarczy dodać jeden warunek "if" na początku który to sprawdza i jeśli brak to tworzy go i wpisuje bieżący czas smile

92

(256 odpowiedzi, napisanych Termometr)

Ok ok nie zgodność rozumienia smile

W każdym bądź razie niech @Jaack określi czy w php czy bash smile to się sklei gotowe rozwiązanie

93

(256 odpowiedzi, napisanych Termometr)

Nadal źle smile
Nie chodzi o samo wyciągnięcie danych tylko jeszcze trzeba porównać te dane z czasem routera który aktualizuje się po pewnym czasie z internetu aby nie robił się bałagan na wykresie jak wyżej.

np coś takiego:

#!/bin/sh

jakas_data="2014-11-18 18:10:09"

last_data=$(date -d "$jakas_data" +%s)


if [ "$last_data" -gt `date +%s` ] ; then
echo 1
fi

Jeśli zwraca 1 znaczy że źle
Jak dostanę to o co prosiłem tzn format daty zapisanej w pliku to zrobie gotowca

94

(256 odpowiedzi, napisanych Termometr)

Tu nie chodzi o generowanie wyniku lecz o porównanie ostatniej zapisanej daty pomiaru z bieżącym czasem.

95

(256 odpowiedzi, napisanych Termometr)

pokaż mi tylko w jaki sposób masz zapisane dane w pliku z pomiarami.

96

(256 odpowiedzi, napisanych Termometr)

Ups smile nie zauważyłem.
Niestety w php Ci nie pomogę ale w bash'u jest to dość proste więc jak Ci pasuje to wieczorem coś skleję smile

97

(256 odpowiedzi, napisanych Termometr)

A nie prościej jest pobrać ostatnią zapisaną datę z pliku pomiarów i porównać ją z bieżącym czasem ?

98

(3 odpowiedzi, napisanych Oprogramowanie / Software)

Rozumiem że xinetd działa tak iż jeśli połączenie na porcie zostanie przerwane to proces programu uruchomionego przez niego powinien zostać "ubity" no więc zrobiłem sobie prosty skrypt a w nim:

#!/bin/sh
socat udp-listen:5000,fork - | madplay - -Q

uruchamiając z palca działa jak trzeba a przerywając działanie skryptu, socat jak i madplay zostają przerwane.
Jednak xinetd już tak nie robi, tzn przerywam połączenie na porcie a socat i madplay wisi w procesach.
Wiem że xinetd po jakimś czasie dopiero zwalnia zasoby zajęte przez wywołany program ale nawet po 30 min procesy wisiały.

Czy nie da sie tego wykorzystać w taki sposób czy może jest coś jeszcze do zrobienia ?

99

(3 odpowiedzi, napisanych Oprogramowanie / Software)

ok już lata smile

przy UDP
powinno być
socket_type = dgram

100

(3 odpowiedzi, napisanych Oprogramowanie / Software)

coś mu nie pasuje tylko nie wiem co

root@Gargoyle:~# xinetd -d
14/10/27@18:11:59: DEBUG: 7530 {handle_includedir} Reading included configuration file: /etc/xinetd.d/sriming [file=/etc/xinetd.conf] [line=6]
Service defaults
        Bind = All addresses.
        Only from: All sites
        No access: No blocked sites
        No logging

Service configuration: stremmp3
        id = stremmp3
        flags = IPv4
        socket_type = stream
        Protocol (name,number) = (udp,17)
        port = 5000
        wait = no
        user = 0
        group = 0
        Groups = no
        PER_SOURCE = -1
        Bind = All addresses.
        Server = /dodatki/skrypty/strim.sh
        Server argv = strim.sh
        Only from: All sites
        No access: No blocked sites
        No logging

14/10/27@18:11:59: ERROR: 7530 {svc_activate} socket creation failed (Protocol not supported (errno = 120)). service = stremmp3
14/10/27@18:11:59: ERROR: 7530 {cnf_start_services} Service stremmp3 failed to start and is deactivated.
14/10/27@18:11:59: DEBUG: 7530 {cnf_start_services} mask_max = 0, services_started = 0
14/10/27@18:11:59: CRITICAL: 7530 {init_services} no services. Exiting...