501

(93 odpowiedzi, napisanych Termometr)

no i znowu będe potrzebował pomocy. Podjąłem moją pierwszą przygodę z php, korzystając już z przykładów stacji meteo z zegarami w php. Chciałbym też wygenerować taki zegar dla mojego pomairu napięcia. Zainstalowałem php na routerze i zrobiłem nowy skypt o zawartości:

<?php
header('Content-Type: image/png');
$img = imagecreatefrompng('strzalka_th.png');
$img2 = imagecreatefrompng('tlo.png');
$col = imagecolorallocate($img, 255, 255, 255);
$black = imagecolorallocate($img, 0, 0, 0);
$width = 300;
$height = 300;
$xa = 430;
$ya = 430;
$tlo = imagecreatetruecolor($width, $height);
$tlo = imagecolorallocatealpha($tlo, 255, 255, 255, 100);
$plik=fopen("/tmp/owfs/26.8E0CEB000000/VDD", "r");
$higro=fgets($plik, 10);
fclose($plik);
###tester
#$higro=80;
###
$angle = -360/133*($higro-43.89);
#obracanie strzałki
$coltrans = imagecolorallocatealpha($img, 255, 255, 255, 100);
$img = imagerotate($img, $angle, $coltrans);
imagesavealpha($img, true);
$xb = $xa*abs(sin(deg2rad($angle)))+$xa*abs(cos(deg2rad($angle)));
$yb = $xb;
$punktx = ($xb-$width)/2+0;
$punkty = ($yb-$height)/2+0;
imagecopy($img2, $img, 0, 0, $punktx, $punkty, 300, 300);
imagesavealpha($img2, true);
imagepng($img2);
?>

jednak przy próbie odpalenia wywala błędy...

Polecenie '"./tempera_php.sh"'
zawiodło zwracając kod wyniku 2 oraz komunikat błędu
./tempera_php.sh: line 1: can't open ?php: no such file
./tempera_php.sh: line 2: syntax error: unexpected word (expecting ")").

obrazki strzałki i tła mam w tym samym katalogu co skrypt php. Prosze o wyrozumiałość, ponieważ to moja pierwsza przygoda z php smile

502

(93 odpowiedzi, napisanych Termometr)

ok dzięki wykres już jest, teraz zrobie sobie dla napięcia zasilania i później do tego w php zegar smile rozumiem że zanim zaczne próbować pisać skrypt w php to należy zainstalować php na routerze (opisane na eko.one) ??? i jeszcze jedna sprawa. Chciałbym żeby po każdym uruchomieniu routera katalog /tmp/owfs sam się robił i od razu uruchamiał. Czyli chyba najprosciej dodać odpowiednie komendy do rc.local??? można prosić o podpowiedź jak miałoby to wyglądać? wiem że uruchamianie ma być 

owfs -u /tmp/owfs

a jakiej komendy użyć najpierw żeby zrobił się katalog /tmp/owfs ???

503

(93 odpowiedzi, napisanych Termometr)

jest ; wiec znak konca lini jest, chyba ze o co innego Ci chodzi. Kod wygląda tak

#!/bin/bash

RRD=/root/pomiary.rrd
TOOL='/usr/bin/rrdtool'
NOW=`date -u +%s`
TEMP=`sed 's/^[ ]*//' /tmp/owfs/26.8E0CEB000000/temperature`

#petla
if [ -n "$TEMPOUT" ];

then


$TOOL update $RRD $NOW:$TEMP;

rrdtool graph /mnt/hdd1/temp12.gif -t 'Temperatura' \
-A -w 600 -h 200 --vertical-label 'Temperatura [C]' -Y -s end-24h -E \
DEF:t=$RRD:temp_out:AVERAGE LINE1:t#00af00:Temperatura \
DEF:tmax=$RRD:temp:MAX DEF:tmin=$RRD:temp_out:MIN \
'GPRINT:t:LAST:Ostatni pomiar\: %2.1lf C\j' \
'GPRINT:tmin:MIN:Minimum \: %2.1lf C' \
'GPRINT:tmax:MAX:Maximum \: %2.1lf C\j';


mv -f /mnt/hdd1/temp12.gif /mnt/hdd1/temp12.gif


else

echo"aaa";

504

(93 odpowiedzi, napisanych Termometr)

no tak kilka błędów przez przeoczenie. If-a nie było a baze rrd przypadkiem nazwałem rdd (literówka) i jej nie widział. Błędów mniej, ale teraz mi wywala

Polecenie '"./tempera.sh"'
zawiodło zwracając kod wyniku 2 oraz komunikat błędu
./tempera.sh: line 31: syntax error: unexpected end of file.

505

(93 odpowiedzi, napisanych Termometr)

powracam do tematu. Otwarłem sobie skrypt przez vi i nie widze w nim lini windowsowych.

root@Gargoyle:~$ vi /www/tempera.sh
#!/bin/bash

RRD=/mnt/hdd1/pomiary.rrd
TOOL='/usr/bin/rrdtool'
NOW=`date -u +%s`
TEMP=`sed 's/^[ ]*//' /tmp/owfs/26.8E0CEB000000/temperature`

$TOOL update $RRD $NOW:$TEMP;

rrdtool graph /mnt/hdd1/temp12.gif -t 'Temperatura' \
-A -w 600 -h 200 --vertical-label 'Temperatura [C]' -Y -s end-24h -E \
DEF:t=$RRD:temp_out:AVERAGE LINE1:t#00af00:Temperatura \
DEF:tmax=$RRD:temp_out:MAX DEF:tmin=$RRD:temp_out:MIN \
'GPRINT:t:LAST:Ostatni pomiar\: %2.1lf C\j' \
'GPRINT:tmin:MIN:Minimum \: %2.1lf C' \
'GPRINT:tmax:MAX:Maximum \: %2.1lf C\j';


mv -f /mnt/hdd1/temp12.gif /mnt/hdd1/atemp12.gif


else

- /www/tempera.sh 1/23 4%

basha nie miałem, ale już mam zainstalowany. Teraz przy ręcznej próbie wykonania skryptu w WinScp wywala mi:

Polecenie '"./tempera.sh"'
zawiodło zwracając kod wyniku 2 oraz komunikat błędu
ERROR: opening '/mnt/hdd1/pomiary.rrd': No such file or directory
ERROR: opening '/mnt/hdd1/pomiary.rrd': No such file or directory
mv: cannot rename '/mnt/hdd1/temp12.gif': No such file or directory
./tempera.sh: line 22: syntax error near unexpected token `else'
./tempera.sh: line 22: `else'.

I jeszcze jedno. Dlaczego po ponownym uruchomieniu znika mi katalog /tmp/owfs i musze go od nowa za każdym razem tworzyć.

506

(54 odpowiedzi, napisanych Oprogramowanie / Software)

no zauważyłem że wr1043 więcej niż 640x480 nie wyciągnie, ale u mnie działają 2 kamerki jedna na 640x480 , a druga na połowie z tego. Czyli w sumie więcej wyciąga jak piszesz smile ale już jak obie dam na 640x480 to nie pójdą, więc to jest max. Mr3420 ma lepsza przepustowość USB niż wr1043? A to ciekawe, a myślałem że to mniej wydajny routerek. A nie wiecie jak jest z mr3220?? pójdzie na nim na 1280x960 kamerka uvc??

507

(54 odpowiedzi, napisanych Oprogramowanie / Software)

dzięki za opis! zamówiłem już dv9000, bo akurat znalazłem na miejscu to sobie odbiore osobiscie wiec koszt kamerki 6zł big_smile

508

(54 odpowiedzi, napisanych Oprogramowanie / Software)

a no to idealnie smile przy tej cenie tych kamerek, to wychodzi bardzo tani monitoring

509

(54 odpowiedzi, napisanych Oprogramowanie / Software)

kto szuka ten znajdzie big_smile http://eko.one.pl/forum/viewtopic.php?id=1906&p=19 post nr 472
swoją drogą to nawet jest to opisane w motion.conf na samym dole, czyli daleko nie trzeba było szukać smile kamerki już działają. Dzięki!
Przy okazji jeszcze pytanie. Doczytałem że pod motion działają kamerki z lapków DV6000/DV9000. Jak się je podłącza?? bo mają tylko interfejs do podłączenia do płyty głównej, a da się tam bezpośrednio kabelek USB zamontować?? ewentualnie, czy ktoś ma gdzies schemacik tych pinów jak to podłączyć...

510

(54 odpowiedzi, napisanych Oprogramowanie / Software)

czy aby na pewno ten opis konfiguracji wielu kamer na motion był tutaj na tym forum? bo przeszukałem już chyba wszystkie tematy z kamerkami i motion i nic takiego nie znalazłem... dzięki za przykład smile choć jak narazie jest dla mnie troche niezrozumiały...

511

(93 odpowiedzi, napisanych Termometr)

nie rozumiem o które końce chodzi?? mój skryp umieściem sobie w /www i wygląda tak:

#!/bin/bash

RRD=/mnt/hdd1/pomiary.rrd
TOOL='/usr/bin/rrdtool'
NOW=`date -u +%s`
TEMP=`sed 's/^[ ]*//' /tmp/owfs/26.8E0CEB000000/temperature`

$TOOL update $RRD $NOW:$TEMP;

rrdtool graph /mnt/hdd1/temp12.gif -t 'Temperatura' \
-A -w 600 -h 200 --vertical-label 'Temperatura [C]' -Y -s end-24h -E \
DEF:t=$RRD:temp_out:AVERAGE LINE1:t#00af00:Temperatura \
DEF:tmax=$RRD:temp_out:MAX DEF:tmin=$RRD:temp_out:MIN \
'GPRINT:t:LAST:Ostatni pomiar\: %2.1lf C\j' \
'GPRINT:tmin:MIN:Minimum \: %2.1lf C' \
'GPRINT:tmax:MAX:Maximum \: %2.1lf C\j';


mv -f /mnt/hdd1/temp12.gif /mnt/hdd1/atemp12.gif


else

echo"aaa";

"zrób to w normalnym edytorze który to potrafi " tzn jakim? a nie chodzi tutaj o zrobienie pliku/skryptu wykonywalnym?? Jak to powinienem prawidłowo zrobić, bo nie wiem czy tu cos źle nie zrobiłem.

512

(93 odpowiedzi, napisanych Termometr)

dzięki! mam juz katalog i pliki z odczytanymi danymi m.in. Vcc czyli to o co mi chodziło. Zrobiłem sobie teraz wstępny skrypt do prezentacji na wykresie, ale coś nie moge go ręcznie wykonać. W WinScp wywala

Polecenie '"./tempera.sh"'
zawiodło zwracając kod wyniku 127 oraz komunikat błędu
-ash: ./tempera.sh: not found.

513

(93 odpowiedzi, napisanych Termometr)

z digitemp raczej nie uzyskam vcc, więc próbuje z owfs. Tylko nie bardzo rozumiem jak się za niego zabrać... Tzn zainstalowałem sobie owfs, ale nie moge nigdzie znaleźć jego katalogu. Wspomagam się http://openrouter.info/index.php?option … ;Itemid=61. Tylko nie rozumiem tej części:

W OpenWrt wykorzystujemy gotowy dysk /tmp a w innym systemie dopisujemy do /etc/rc.local :

/home/user/skrypty/ramdysk.sh
mkdir /mnt/ram/owfs
/opt/owfs/bin/owfs -u /mnt/ram/owfs

skrypt ramdysk tylko gdy nie mamy /tmp w ramie (zapewne można też inaczej):

dd if=/dev/zero of=/dev/ram0 bs=1k count=32768
mkfs.ext3 -m 0 /dev/ram0 15000
mount -t ext3 /dev/ram0 /mnt/ram
chmod 0777 /mnt/ram

"stujemy gotowy dysk /tmp" - mam katalog tmp więc co tej częsci z dopisywaniem do rc.local nie wykonuje?? i dalsza część też "skrypt ramdysk tylko gdy nie mamy /tmp w ramie " więc co nie robie tego skryptu ramdysk.sh??
Z góry prosze o wyrozumiałość, bo jak narazie to nie rozumiem co i jak z owfs...

514

(54 odpowiedzi, napisanych Oprogramowanie / Software)

hmm jakos nie moge znaleźć. Od godziny przeszukuje forum i nic. Jesteś może w stanie dac namiary na ten opis? Swoją drogą może jeśli to tak działa i jest sprawdzone to dodać to do poradnika z webcam smile

515

(54 odpowiedzi, napisanych Oprogramowanie / Software)

Mam takie pytanie odnośnie pakietu motion. Czy ktoś próbował używać go do obsługi więcej niż jednej kamery jednocześnie? Da się tak w ogóle? Jakieś podpowiedzi co zrobić, aby uzyskac  podglądy z 2 kamer jednoczesnie? Mogą być na innych portach, czyli osobnych stronkach.
Przy okazji kolejna kamerka działająca pod OpenWrt i motion, przez huba pasywnego: Creative VF0520

516

(93 odpowiedzi, napisanych Termometr)

no właśnie na http://www.digitemp.com/ piszą że DS2438 jest obsługiwany. Jednak mimo to digitemp jest raczej do odczytu temperatur... Ale z tego co tutaj doczytałem w tym temacie, kilka postów wyżej to ktoś juz próbował ten układ i działa mu odczyt napięcia, tylko nie wiem czym je odczytuje... może próbować przez owfs??? tylko szkoda, bo mam juz wszystko na digitempie zrobione, wszystkie skrypty itd...

517

(93 odpowiedzi, napisanych Termometr)

witam! podjąłem dalszą walkę z 1-wire pod OpenWrt i tym razem wykonuję pomiar napięcia z wykorzystaniem układu DS2438, oraz układu 1-Wire/Usb MP00200A. No i niestety pojawiły się problemy... Po podłączeniu DS2438 do 1-Wire, otrzymuje z digitempa temperaturę, jednak nic poza tym, nie odczytuje mi napięć, mimo że w układzie mam zasialnie pod Vdd( podciągnięte z MP00200A). To samo zasilanie dałem też pod Vad, ale ciągle podaje mi wartości -1 dla wszystkich napięć sad

root@Gargoyle:~$ digitemp_DS2490 -a -A
DigiTemp v3.5.0 Copyright 1996-2007 by Brian C. Lane
GNU Public License v2.0 - http://www.digitemp.com
Found DS2490 device #1 at 001/005
Oct 23 00:12:23 Sensor 0 VDD: -1.00 AD: -1.00 CAD: 0 C: 21.44


dodam tez ze nie dawałem rezystora podciągającego miedzy 1-wire a Vdd. Pytanie, czy dobrze wywołuje odczyt danych z układu? dlaczego ciągle dostaje te "-1" dla napięć?
http://img812.imageshack.us/img812/5135/2438c.jpg

518

(92 odpowiedzi, napisanych Oprogramowanie / Software)

więc zrobiłem sobie tak jak pisałem wyżej i łącze sie teraz do ftp jako: ftp://217.28.180.202:9900. Z tym że pojawiły się kolejne problemy, teraz tam gdzie działo wczesniej ok to wywala błąd 425 sad pingi idą bez problemu

519

(92 odpowiedzi, napisanych Oprogramowanie / Software)

pingu jeszcze nie sprawdzaliśmy, ale zobaczymy. Tylko dlaczego nie odnajduje adresu akurat u niej, a w tym samym czasie inni łączą się bez problemu, więc adres jest widoczny. Wyczytałem gdzies że problem może tkwić np w antywirusie, który nie dopuszcza połączeń z określonych portów, m.in. z ftp. Więc pomyślałem że tymczasowo sprawdze to zmieniając port dla ftp na inny i wtedy adres wyglądałby np: 217.28.180.202:9001. Tylko teraz pytanie czy się tak da i czy dobrze myśle, ze port dla ftp moge zmienić w /etc/vsftpd.conf. Ale jak tam zmienie z 21 na ten 9001 to chyba wystarczy łaczyć sie normalnie ftp://217.28.180.202 ? czy tak jak wczesniej napisałem adres razem z portem.

520

(92 odpowiedzi, napisanych Oprogramowanie / Software)

czy komuś zdarzyło się, że z niektórych sieci nie mozna się zalogowac na ftp? mam taką sytuację, że praktycznie wszędzie mi działa ftp, ale np znajoma ma neostrade i nie może wejsc juz na mój ftp, wywala jej błąd 404. W czym moze tkwic problem? Firewall na jej routerze, albo coś nie tak w systemie/przeglądarce?

521

(1 odpowiedzi, napisanych Oprogramowanie / Software)

Witam. Będe miał do podłączenia właśnie taki sprzęt na netii i chodzi mi o to czy dodatkowe pakiety które należy wgrać do obsługi modemu zmieszczą się jeszcze w standardowym flash, bez potrzeby robienia extroota? Z tego co doczytałem do w standardowym firmware ten TL obsługuje tylko modemy 3-g, więc trzeba go będzie zaopatrzyć w OpenWrt smile

522

(93 odpowiedzi, napisanych Termometr)

działa smile wykresik się generuje i co minute odświeża na www smile jeszcze raz dzięki za pomoc i cierpliwość tongue

523

(93 odpowiedzi, napisanych Termometr)

Dziękuje, pomiary działają juz tak jak chciałem smile teraz czas na jakies wykresy. Więc tak zaintalowałem sobie gnuplot i biblioteki które chciał. Zrobiłem skrypt do wykresu korzystając z przykładu z forum i teraz jak chce go wywołać to krzyczy o biblioteke

root@Gargoyle:~$ /www/gnuplot.sh
gnuplot: can't load library 'libpangocairo-1.0.so.0'


a nigdzie nie moge jej znaleźć sad jakaś rada gdzie szukać?

524

(93 odpowiedzi, napisanych Termometr)

No tak zapomniałem dodac. W ten sposób z konsoli działa mi od samego początku. Czujnik zwraca temperaturę więc nie w tym problem smile Po całkowitym wyłączeniu routera i ponownym uruchomieniu pojawiły się pomiary. I ładnie co minute nowe, ale tylko do 5 pomiaru sad i na tym koniec, więcej nie dodaje... czyżbym coś nie tak zrobił w cronie

0,1,2,3,4,5 * * * * /usr/sbin/gettemp.sh

525

(93 odpowiedzi, napisanych Termometr)

mam teraz taki problem, że przez pewien czas miałem wyniki pomiarów w txt. A po ich ręcznym usunięciu już następne mi się nie pojawiają. Co minute zwiększa się tylko rozmiar pliku txt o 1B. Zmieniłem czas zapisu temp z 10min na 1min.
Mój skrypt gettemp.sh wygląda tak:

export HOME=/root
echo `digitemp_DS2490 -t 0 -q -o "%Y-%m-%d %H:%M:%S %.2C" | grep -v Found` >> /mnt/hdd1/temperature.txt

i plik powstał w nowym katalogu, ale zmienia sie tylko jego rozmiar, a wyników brak...
natomiast w cronie mam to:

0,1,2,3,4,5 * * * * /usr/sbin/gettemp.sh