Freesco, NND, CDN, EOS http://forum.freesco.pl/ |
|
Czujniki temperatury i NND http://forum.freesco.pl/viewtopic.php?f=24&t=15646 |
Strona 2 z 2 |
Autor: | pectosol [ niedziela, 3 lutego 2008, 13:32 ] |
Tytuł: | |
wykresy sa zrobione na rrdtool... to cały sysytem tworzenia i zbierania danych, oraz rysowania wykresów. rewelacyjny Prosty w obsłudze, baardzo konfigurowalny, ale niestety nie ma dobrego manuala po polsku. tutaj http://temperatura.one.pl/ sa moje wykresy (trzeba nacisnąc na wykres aby zobaczyć więcej - tak jak w mrtg) nie są jeszcze opisane |
Autor: | Gucio [ niedziela, 3 lutego 2008, 13:37 ] |
Tytuł: | |
Wiem, że to jest robione na rrdtool, próbowałem trochę poprzerabiać skrypty dostępne w sieci, ale niestety nic z tego na razie nie wyszło:( możesz udostępnić Twoje skrypty?? |
Autor: | d4rk [ niedziela, 3 lutego 2008, 16:15 ] |
Tytuł: | |
pectosol pisze: tutaj http://temperatura.one.pl/
sa moje wykresy (trzeba nacisnąc na wykres aby zobaczyć więcej - tak jak w mrtg) nie są jeszcze opisane pectosol możesz opublikować twoje skrypty i jakiś opis do tego, bo od kilku dni probuję zrobić takie wykresy jak ty masz i coś mi nie wychodzi. Próbowałem przerobić te co zrobił czerwo ale niestety coś mi to nie wychodzi |
Autor: | pectosol [ niedziela, 3 lutego 2008, 16:20 ] |
Tytuł: | |
ok...może to być początek czegoś wielkiego Aby był porządek trzeba stworzyć katalogi /etc/rrdtool/ a w nim /etc/rrdtool/bazy/ i /etc/rrdtool/skrypty/ (tu użyłem katalogów jakie stworzył automagiczny konfigurator Marska - ale mogą być dowolne ważne aby zmienić ścieżki wszędzie) Na początek musimy zrobić bazę w której bedą przechowywane dane. W jednej bazie może być kilka mierzonych wartości. Robimy ją jednorazowo. Rrdtool jest zestawem programów które wykonuje się z parametrami. A ponieważ tych parametrów jest dużo i często są długie dlatego wygodnie jest je umieścić w jednym pliku-skrypcie. oto przykładowy plik który służył do stworzenia mojej bazy rrdtool create /etc/rrdtool/bazy/temperatura.rrd --step 300 \ DS:tpiec:GAUGE:600:-1:105 \ DS:twoda:GAUGE:600:-1:105 \ DS:tdom:GAUGE:600:-5:55 \ DS:tcopow:GAUGE:600:-1:105 \ DS:tdwor:GAUGE:600:-27:55 \ RRA:AVERAGE:0.5:1:1200 \ RRA:MIN:0.5:12:2400 \ RRA:MAX:0.5:12:2400 \ RRA:AVERAGE:0.5:12:2400 znak \ oznacza przełamanie wiersza, czyli powyższy zapis jest równoznaczny z wpisanym w jednej lini. teraz gdy mamy bazę należy zapisać w nią dane. sposobów pewnie jest nieskończenie wiele np z crona, lub przy pomocy sleep itp. Ja stworzyłem jeden plik wykonywalny który jest odpalany z crona co 3 min. czyli crontab -e i dopisujemy: a w katalogu /etc/rrdtool/skrypty/ tworzymy plik wykonywalny o nazwie calosc a w nim #!/bin/sh #tu dopisujemy sktypty które maja byc odpalana z crona /etc/rrdtool/skrypty/temperatura.upd Dzięki temu nie będziemy musieli tworzyc dodatkowych wpisów w cronie jesli zapragniemy jeszcze coś dodać. Plik temperatura.upd wyglada tak #!/bin/bash . /etc/rrdtool.conf a=(`digitemp -a -q`) tpiec=${a[1]} twoda=${a[2]} tdom=${a[3]} tcopow=${a[4]} tdwor=${a[5]} rrdtool update /etc/rrdtool/bazy/temperatura.rrd \ -t tpiec:twoda:tdom:tcopow:tdwor \ N:$tpiec:$twoda:$tdom:$tcopow:$tdwor \ > /dev/null Wcześniej trzeba mieć działajacy digitemp. ... od tego momentu dane są zbierane. Aby narysować wykres bedziemy potrzebować jeszcze jeden skrypt w /etc/rrdtool/skrypty/ nazwiemy go temperatura.www a w nim #!/bin/sh rrdtool graph /var/www/rrdtool/picture/"$1".png \ --end now --start end-"$2" --width 600 --height 180 \ DEF:copow=/etc/rrdtool/bazy/temperatura.rrd:tcopow:AVERAGE \ DEF:woda=/etc/rrdtool/bazy/temperatura.rrd:twoda:AVERAGE \ DEF:dom=/etc/rrdtool/bazy/temperatura.rrd:tdom:AVERAGE \ DEF:piec=/etc/rrdtool/bazy/temperatura.rrd:tpiec:AVERAGE \ DEF:dwor=/etc/rrdtool/bazy/temperatura.rrd:tdwor:AVERAGE \ LINE1:copow#000000:"temp. powrot wody co" \ LINE1:dom#FF8C00:"temp. w domu" \ LINE1:woda#CD5C5C:"temp. c.w.u" \ LINE1:dwor#0000CB:"temp. na zewnatrz" \ LINE1:piec#FF0000:"temp. na piecu" \ >/dev/null skrypt tworzy w katalogu dla www obrazki-wykresy uruchamia sie go z dwoma parametrami pierwszy to nazwa pliku wynikowego a drugi to okres za jaki ma byc tworzony wykres czyli polecenie temperatura.www test 1h stoworzy w katalogu /var/www/rrdtool/picture/ plik o nazwie test.png z wykresem godzinowym. -----edit---- można używać następujących parametrów: s (sekundy), h (godziny), d (dni), w (tygodnie), m (miesiące) y (lata) --------------------- Mozna go uruchamiać z crona - rozwiązanie dobre dla stron odwiedzanych przez wielu uzytkowników jednocześnie, kosztem użycia CPU. Mozna uruchamiać podczas wywołania strony www - spada uzycie CPU. Do drugiego rozwiązania potrzebny bedzie np lighttp lub apache z włączoną obsługą php lub cgi. Ja zobiłem to na lighttp z cgi i ssi (to wszytko jest właczone standardowo przy instalacji). dla porządku stwórzmy jeszcze dwa katalogi; /var/www/rrdtool/ i /var/www/rrdtool/picture/ Teraz w katalogu dla /var/www/rrdtool tworzymy index.shtml a w nim np: <html> <head> <title>temperatura</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" </head> <body> <!--#exec cmd="/etc/rrdtool/skrypty/temperatura.www temp-day 24h"--> <b><center> <a href="/rrdtool/temperatura.shtml"><img src="/rrdtool/picture/temp-day.png" al <br><br> </b></center> </body> </html> ja mam jeszcze jeden plik temperatura.shtml <html> <head> <title>temperatura</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" </head> <body> <!--#exec cmd="/etc/rrdtool/skrypty/temperatura.www temp-week 168h"--> <!--#exec cmd="/etc/rrdtool/skrypty/temperatura.www temp-month 1m"--> <!--#exec cmd="/etc/rrdtool/skrypty/temperatura.www temp-year 1y"--> <b><center> <br> <br><br> <img src="/rrdtool/picture/temp-day.png" alt="Temperatura dobowa" /> <br><br> <img src="/rrdtool/picture/temp-week.png" alt="Temperatura tygodniowa" /> <br><br> <img src="/rrdtool/picture/temp-month.png" alt="Temperatura miesieczna" /> <br><br> <img src="/rrdtool/picture/temp-year.png" alt="Temperatura roczna" /> <br><br> </b></center> ważne jest rozszerzenie .shtml bo tylko dzięki temu skrypty odpalą się. i tyle ... powinno działać, ale tu jedna bardzo ważna uwaga należy nadać odpowiednie prawa własności skryptom i katalogom. Piszę to dlatego bo np lighttpd uruchamia skrypty na prawach nobody . Objaw jest taki że skrypt tworzy pliki ale po otwarciu przez www nic sie nie dzieje. Gdyby jednak komuś było za mało opcji to proponuję przestudiować stone autora rrdtool i przeczytać dokumentację http://oss.oetiker.ch/rrdtool/doc/index.en.html |
Autor: | Gucio [ niedziela, 3 lutego 2008, 16:32 ] |
Tytuł: | |
Wielkie dzięki:)Wieczorem spróbuję to uruchomić. Mam pytanie, jakie prawa mają mieć katalogi i skrypty żeby wszystko ładnie działało?? |
Autor: | pectosol [ niedziela, 3 lutego 2008, 17:55 ] |
Tytuł: | |
jak teraz przeglądam skrypty to widzę że są na prawach i grupie roota z uprawnieniami 755... bo tak ostatecznie sobie zmieniłem Ale wiem że na początku miałem z tym problem i dlatego zwróciłem na to uwagę. |
Autor: | viater [ sobota, 16 lutego 2008, 00:38 ] |
Tytuł: | |
MalyPL pisze: Witam
https://memcenter.maxim-ic.com/guest/register.mvp Stąd można dostać kilka sampli czujników temperatury. Dokładnie to 4 sztuki z rodzny ds18. w wyszukiwrace wpiszcie ds18s20 lub ds18b20 to ma być na 1-wire. Wczoraj przyszła przesyłka - 4szt. DS18S20+ I to nawet całkiem szybko - 31.01 wypełniłem formularz. |
Autor: | JakubC [ sobota, 16 lutego 2008, 01:35 ] |
Tytuł: | |
jestem więc chyba jedyną osobą, której nie przysłali gratisów. Mimo, że próbowałem 10 razy. |
Autor: | pectosol [ sobota, 16 lutego 2008, 10:58 ] |
Tytuł: | |
chyba tak mi też przysłali, a zamawiałem 4 szt. DS2438 |
Autor: | JakubC [ niedziela, 17 lutego 2008, 02:29 ] |
Tytuł: | |
Może po prostu nie lubią mojego domu Zamówię na adres firmy. EOT |
Autor: | PtX [ poniedziałek, 1 czerwca 2009, 22:18 ] |
Tytuł: | |
Że tak zapytam... Jak to skubaństwo uruchomić ? Ślęcze nad postami od 6 godzin i jak narazie nic mi nie wypaliło. Jak wydaje polecenie: To obrazek się pojawia. Tylko szkoda, że jest pusty i potem już nic się nie dzieje... Nie jest to takie proste wcale... przynajmniej dla mnie |
Autor: | pectosol [ wtorek, 2 czerwca 2009, 20:54 ] |
Tytuł: | |
najpierw sprawdz czy digitemp odczytuje czujniki poprawnie. Potem czy skrypt zapisuje poprawnie do bazy (najpierw "ręcznie", później z crona) Najłatwiej sprawdzić obserwując czy zmienia sie czas zapisu pliku. Ja też trochę się nameczyłem, najczęstsze problemy wynikają z braku praw zapisu dla pliku lub katalogu. Dzieje się tak dlatego że katalogi i bazy są tworzone "z palca" jako root, natomiast skrypty i rrdtool czesto odpalane są z usera. Dlatego trzeba pilnowac praw plików i katalogów |
Autor: | PtX [ środa, 3 czerwca 2009, 22:56 ] |
Tytuł: | |
Digitemp odczytuje prawidłowo. 3 Czujniki mam już na mrtg i działają. Ale to mi nie wystarcza bo jakoś mały zakres ma mrtg. Wszystkim katalogom gdzie są skrypty i pliki z www dałem na próbe chmod 777. Czas zapisu obrazka sie nie zmienia w ogóle . |
Strona 2 z 2 | Strefa czasowa UTC+2godz. |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |