1. Cześć Gość. Czy wiesz, że według analizy rynku urządzenia:

    • QNAP - stanowią 63% rynku,
    • Synology i pozostali - tylko 37% rynku?

    To forum przeglądasz dzięki sponsorowi - firmie QNAP oraz zespołowi QNAP Club Polska.

Synology jako serwer monitoringu temperatury pomieszczeń

Dyskusja w 'Konfiguracja - Instrukcje "How To"' rozpoczęta przez użytkownika piter76, 16 Kwiecień 2012.

Ładowanie...
  1. Pepek
    Offline

    Pepek Nowy użytkownik Noobie

    Dołączył:
    22 Luty 2013
    Wiadomości:
    21
    Local Time:
    15:38
    Oceny:
    +0 / 0 / -0
    Followers:
    0
    Synology:
    DS112
    mam taki
    Kod (Text):
    1. TTY /dev/usb/ttyUSB0
    2. READ_TIME 1000
    3. LOG_TYPE 1
    4. LOG_FORMAT "%.2C"
    5. CNT_FORMAT "%.2C"
    6. HUM_FORMAT "%b %d %H:%M:%S Sensor %s C: %.2C F: %.2F H: %h%%"
    7. SENSORS 2
    8. ROM 0 0x28 0x98 0x53 0x63 0x01 0x00 0x00 0x66
    9. ROM 1 0x28 0x9E 0x3B 0x63 0x01 0x00 0x00 0xFB
    temperatura.sh
    Kod (Text):
    1. #!/bin/sh
    2.  
    3. ILE=1
    4. LOGS='/volume1/web/temperatura/logs'
    5. RCFILE='/volume1/web/temperatura'
    6. cd $RCFILE
    7.  
    8. ### Dla bazy tekstowej :
    9. for i in $( seq 0 $ILE ); do
    10.  
    11. DATA=`date +"%d.%m.%Y; %H:%M:%S; "`
    12. TEMP=`digitemp_DS9097 -q -c $RCFILE/.digitemprc -t $i`
    13. OUT=`printf "% 7s\n" "$TEMP";`
    14.  
    15. echo "$DATA$OUT" >> $LOGS/sensor_$i.txt
    16.  
    17. done
    18. ### ^^^^^ Koniec dla bazy tekstowej
    19.  
    20. ### Odkomentuj jesli masz bazę MySQL a zakomentuj wpisy dla bazy tekstowej
    21. #digitemp_DS9097m -q -c $RCFILE/.digitemprc -e

    EDIT POST
    odnośnie mojego poprzedniego postu
    Działa wporządku już.
    Doszedłem do wnisku że gdy się odznaczy Pokaż na wykresach to jest OK
    [Nieprawidłowy link obrazu]:http://viskomp.home.pl/1.png
    Gdy jest zaznaczone to mam
    [Nieprawidłowy link obrazu]:http://viskomp.home.pl/2.png
    A zwykłe słupki wogóle mi niedziałają
    [Nieprawidłowy link obrazu]:http://viskomp.home.pl/3.png
    Bez zmian jakieś sugestie??
     
  2. mariuszsal
    Offline

    mariuszsal Guest

    Oceny:
    +0 / 0 / -0
    Followers:
    0
    Albo coś urwałeś z pliku albo masz nie źle. Wyedytuj go zgodnie z oryginałem, reszta od HUM_FORMAT zostaw swoje..

    Poniżej poprawny format logowania w pliku .digitemprc:

    Kod (Text):
    1. TTY /dev/ttyUSB0
    2. READ_TIME 1000
    3. LOG_TYPE 1
    4. LOG_FORMAT "%d.%m.%Y; %H:%M:%S; %.2C"
    5. CNT_FORMAT "%d.%m.%Y; %H:%M:%S; %.2C"
     
  3. Pepek
    Offline

    Pepek Nowy użytkownik Noobie

    Dołączył:
    22 Luty 2013
    Wiadomości:
    21
    Local Time:
    15:38
    Oceny:
    +0 / 0 / -0
    Followers:
    0
    Synology:
    DS112
    Już wszystko dziala. Zapisuje do pliku i poprawnie prezentuje wyniki.
    Teraz postanowilem przerobic to na baze mysql ale przy wykonaniu pliku tenperatura.sh mam blędy. Mianowicie zakomentowalem dane tekstowe i odkomentowalem ostatni wiersz i w nim mam błedy
    Kod (Text):
    1. #!/bin/sh
    2.  
    3. ILE=3
    4. LOGS='/volume1/web/temperatura/logs'
    5. RCFILE='/volume1/web/temperatura'
    6. cd $RCFILE
    7.  
    8. ### Dla bazy tekstowej :
    9. #for i in $( seq 0 $ILE ); do
    10. #
    11. #DATA=`date +"%d.%m.%Y; %H:%M:%S; "`
    12. #TEMP=`digitemp_DS9097 -q -c $RCFILE/.digitemprc -t $i`
    13. #OUT=`printf "% 7s\n" "$TEMP";`
    14. #
    15. #echo "$DATA$OUT" >> $LOGS/sensor_$i.txt
    16. #
    17. #done
    18. ### ^^^^^ Koniec dla bazy tekstowej
    19.  
    20. ### Odkomentuj jesli masz bazę MySQL a zakomentuj wpisy dla bazy tekstowej
    21. digitemp_DS9097m -q -c $RCFILE/.digitemprc -e
    oryginalnie było
    Kod (Text):
    1. digitemp_DS9097m -q -c $RCFILE/.digitemprc -e
    ale niema takiego polecenia i usunąlem literke "m" ale teraz mam że argument -e jest niepoprawny, zmieniłem go na -a, temp w konsoli pokaazuje ale do bazy nic niezapisauje. Używa ktoś tego z bazą MySql a nie na plikach?
     
  4. mariuszsal
    Offline

    mariuszsal Guest

    Oceny:
    +0 / 0 / -0
    Followers:
    0
    Gdyby ktoś chciał dalej monitorować swoje temperatury na nowym DSM 4.2 to przygotowałem nowe drivery (na razie Marvell i Cedarview)
    Instalacja była omawiana już na forum. Jak będą problemy to pytamy. Jeśli ktoś potrzebuje na inne platformy to albo kompiluje sam (są już źródła) lub pisze to przygotuję.

    http://dslub.dyndns.info/index.php?dir=ftdi%2F
     
  5. prychol
    Offline

    prychol Nowy użytkownik Noobie

    Dołączył:
    17 Lipiec 2011
    Wiadomości:
    19
    Local Time:
    17:38
    Oceny:
    +0 / 0 / -0
    Followers:
    0
    Witam
    Od kilku dni męczę się z uruchomieniem pomiarów. Rezultat jest taki,że albo w logu mam samą datę bez temperatury albo dwie daty i temperatura, albo wcale nie chce logować, poniżej przykład:
    25.03.2013; 11:14:01;
    25.03.2013; 11:15:01;
    25.03.2013; 12:49:01; 25.03.2013; 12:49:02; 21.69
    25.03.2013; 12:50:01; 25.03.2013; 12:50:02; 21.75

    Moje pliki:
    temperatura.sh
    Kod (Text):
    1. #!/bin/sh
    2.  
    3. ILE=1
    4. LOGS='/volume1/web/temperatura/logs'
    5. RCFILE='/volume1/web/temperatura'
    6. cd $RCFILE
    7.  
    8. ### Dla bazy tekstowej :
    9. for i in $( seq 0 $ILE ); do
    10.  
    11. DATA=`date +"%d.%m.%Y; %H:%M:%S; "`
    12. TEMP=`digitemp_DS9097 -q -c $RCFILE/.digitemprc -t $i`
    13. OUT=`printf "% 7s\n" "$TEMP";`
    14.  
    15. echo "$DATA$OUT" >> $LOGS/sensor_$i.txt
    16.  
    17. done
    18. ### ^^^^^ Koniec dla bazy tekstowej
    19.  
    20. ### Odkomentuj jesli masz bazę MySQL a zakomentuj wpisy dla bazy tekstowej
    21. #digitemp_DS9097 -q -c $RCFILE/.digitemprc -e
    .digitemprc
    Kod (Text):
    1. TTY /dev/usb/ttyUSB0
    2. READ_TIME 1000
    3. LOG_TYPE 1
    4. LOG_FORMAT "%d.%m.%Y; %H:%M:%S; %.2C"
    5. CNT_FORMAT "%d.%m.%Y; %H:%M:%S; %.2C"
    6. HUM_FORMAT "%b %d %H:%M:%S Sensor %s C: %.2C F: %.2F H: %h%%"
    7. SENSORS 1
    8. ROM 0 0x10 0x86 0x6C 0x5E 0x02 0x08 0x00 0x67
     
  6. Pepek
    Offline

    Pepek Nowy użytkownik Noobie

    Dołączył:
    22 Luty 2013
    Wiadomości:
    21
    Local Time:
    15:38
    Oceny:
    +0 / 0 / -0
    Followers:
    0
    Synology:
    DS112
    w .digitemp daj
    Kod (Text):
    1. LOG_FORMAT "%.2C"
    2. CNT_FORMAT "%.2C"
    3. HUM_FORMAT "%b %d %H:%M:%S Sensor %s C: %.2C F: %.2F H: %h%%"
    zamiast
    Kod (Text):
    1. LOG_FORMAT "%d.%m.%Y; %H:%M:%S; %.2C"
    2. CNT_FORMAT "%d.%m.%Y; %H:%M:%S; %.2C"
    3. HUM_FORMAT "%b %d %H:%M:%S Sensor %s C: %.2C F: %.2F H: %h%%"
    I z tego co widzę masz jeden sensor więc w temperatura.sh
    zmienna ile=0 ponieważ maszyny liczą liczby od zera
    Kod (Text):
    1. #!/bin/sh
    2.  
    3. ILE=0
    4. LOGS='/volume1/web/temperatura/logs'
    5. RCFILE='/volume1/web/temperatura'
    6. cd $RCFILE
    7.  
     
  7. prychol
    Offline

    prychol Nowy użytkownik Noobie

    Dołączył:
    17 Lipiec 2011
    Wiadomości:
    19
    Local Time:
    17:38
    Oceny:
    +0 / 0 / -0
    Followers:
    0
    Dzięki @Pepek, już działa :). W logu mam podobnie jak Ty przed temperaturą 3 spacje zamiast jednej.
    Ale teraz kolejny problem, ponieważ chciałbym logować do bazy mysql, ale niestety nie mogę.
    I teraz tak wygląda mój plik temperatura.sh:
    Kod (Text):
    1. #!/bin/sh
    2.  
    3. ILE=0
    4. LOGA='/volume1/web/temperatura/logs'
    5. RCFILE='/volume1/web/temperatura'
    6. cd $RCFILE
    7.  
    8. ### Dla bazy tekstowej :
    9. #for i in $( seq 0 $ILE ); do
    10.  
    11. #DATA=`date +"%d.%m.%Y; %H:%M:%S; "`
    12. #TEMP=`digitemp_DS9097 -q -c $RCFILE/.digitemprc -t $i`
    13. #OUT=`printf "% 7s\n" "$TEMP";`
    14.  
    15. #echo "$DATA$OUT" >> $LOGS/sensor_$i.txt
    16.  
    17. #done
    18. ### ^^^^^ Koniec dla bazy tekstowej
    19.  
    20. ### Odkomentuj jesli masz bazę MySQL a zakomentuj wpisy dla bazy tekstowej
    21. digitemp_DS9097 -q -c $RCFILE/.digitemprc -e
    Po ręcznym uruchomieniu pliku dostaję komunikat:
    Kod (Text):
    1. # ./temperatura.sh
    2. digitemp_DS9097: invalid option -- e
    3. DigiTemp v3.5.0 Copyright 1996-2007 by Brian C. Lane
    4. GNU Public License v2.0 - http://www.digitemp.com
    5. Compiled for DS9097
    6.  
    7.  
    8. Usage: digitemp [-s -i -I -U -l -r -v -t -a -d -n -o -c]
    9.                 -i                            Initalize .digitemprc file
    10.                 -I                            Initalize .digitemprc file w/sorted serial #s
    11.                 -w                            Walk the full device tree
    12.                 -s /dev/ttyS0                 Set serial port
    13.                 -l /var/log/temperature       Send output to logfile
    14.                 -c digitemp.conf              Configuration File
    15.                 -r 1000                       Read delay in mS
    16.                 -v                            Verbose output
    17.                 -t 0                          Read Sensor #
    18.                 -q                            No Copyright notice
    19.                 -a                            Read all Sensors
    20.                 -d 5                          Delay between samples (in sec.)
    21.                 -n 50                         Number of times to repeat
    22.                                               0=loop forever
    23.                 -A                            Treat DS2438 as A/D converter
    24.                 -O"counter format string"      See description below
    25.                 -o 2                          Output format for logfile
    26.                 -o"output format string"      See description below
    27.                 -H"Humidity format string"    See description below
    28.  
    29. Logfile formats:  1 = One line per sensor, time, C, F (default)
    30.                   2 = One line per sample, elapsed time, temperature in C
    31.                   3 = Same as #2, except temperature is in F
    32.         #2 and #3 have the data seperated by tabs, suitable for import
    33.         into a spreadsheet or other graphing software.
    34.  
    35.         The format string uses strftime tokens plus 5 special ones for
    36.         digitemp - %s for sensor #, %C for centigrade, %F for fahrenheit,
    37.         %R to output the hex serial number, and %N for seconds since Epoch.
    38.         The case of the token is important! The default format string is:
    39.         "%b %d %H:%M:%S Sensor %s C: %.2C F: %.2F" which gives you an
    40.         output of: May 24 21:25:43 Sensor 0 C: 23.66 F: 74.59
    41.  
    42.         The counter format string has 2 special specifiers:
    43.         %n is the counter # and %C is the count in decimal.
    44.         The humidity format uses %h for the humidity in percent
    45.  
    46. Press any key to continue...
    47.  
     
  8. Pepek
    Offline

    Pepek Nowy użytkownik Noobie

    Dołączył:
    22 Luty 2013
    Wiadomości:
    21
    Local Time:
    15:38
    Oceny:
    +0 / 0 / -0
    Followers:
    0
    Synology:
    DS112
    co do MySQL sprawa jest bardzo skomplikowana i ja osobiście poddałem się. -e wywala błąd bo niema takiego parametru zastępowałem go -t ale to i tak niewiele daje. Brak zapytań zapisujących sczytane dane do bazy. Ogólnie pisałem w sprawie do autora wątku, sam powiedział że na Synology nie udało się zrobić bo coś trzeba specjalnie przekompilowywać. On to uruchomił ale na normalnym Linuxie.

    Także u mnie to działa na plikach tekstowych. Napewno wolniej ale bajer jest i działa :)
     
  9. prychol
    Offline

    prychol Nowy użytkownik Noobie

    Dołączył:
    17 Lipiec 2011
    Wiadomości:
    19
    Local Time:
    17:38
    Oceny:
    +0 / 0 / -0
    Followers:
    0
    Aha, no to nie ma co dalej męczyć tematu MySQL :)
    To teraz kolejny problem już z samą stroną www. Po wyświetleniu strony mam taki komunikat:
    Kod (Text):
    1. Warning: include_once(ofc-library/open_flash_chart_object.php): failed to open stream: No such file or directory in /volume1/web/temperatura/index.php on line 46 Warning: include_once(): Failed opening 'ofc-library/open_flash_chart_object.php' for inclusion (include_path='.:/usr/syno/php/lib/php') in /volume1/web/temperatura/index.php on line 46
    [Nieprawidłowy link obrazu]:http://89.67.40.6/foto/pronas/Schowek01.jpg
    konfigurator.php wygląda tak:
    [Nieprawidłowy link obrazu]:http://89.67.40.6/foto/pronas/Schowek03.jpg
    Cokolwiek nie wpiszę i daję Zapisz ustawienia, to żadne zmiany nie są zapamiętane.
    Idzie to wszystko jak po grudzie. Na razie jest jeden czujnik, ale zamierzam podłączyć jeszcze 8 sztuk, które teraz są podłączone do komputera.
     
  10. Pepek
    Offline

    Pepek Nowy użytkownik Noobie

    Dołączył:
    22 Luty 2013
    Wiadomości:
    21
    Local Time:
    15:38
    Oceny:
    +0 / 0 / -0
    Followers:
    0
    Synology:
    DS112
    co do pierwszego punktu też miałem ten warning i żeby w oczy nie kuło to po prostu zakomentowałem 46 linijkę kodu w index.php - nie wpływa to na działanie termometru.

    A co do konfiguratora to pokaż plik.config.php
     
  11. prychol
    Offline

    prychol Nowy użytkownik Noobie

    Dołączył:
    17 Lipiec 2011
    Wiadomości:
    19
    Local Time:
    17:38
    Oceny:
    +0 / 0 / -0
    Followers:
    0
    Po zakomentowaniu index.php wyświetla się pusta strona:
    [Nieprawidłowy link obrazu]:http://89.67.40.6/foto/pronas/Schowek04.jpg

    config.php
    Kod (Text):
    1. <?php
    2. define("DB_NAME", "digitemp");              // nazwa bazy
    3. define("DB_USER", "digitemp");              // użytkownika bazy
    4. define("DB_PASS", "digitemp");              // hasło bazy
    5. define("DB_HOST", "localhost");             // adres dostępu do bazy
    6. define("DB_TABLE_PREFIX", "");
    7.  
    8. $sensor[0] = "sensor_0.txt";//test
    9.  
    10. $sim_kol = array(   "r" => "Czerwony",
    11.                     "g" => "Zielowny",
    12.                     "b" => "Niebieski",
    13.                     "c" => "Jasnoniebieski",                   
    14.                     "o" => "Pomorańczowy",
    15.                     "p" => "Fioletowy",
    16.                     "y" => "Żółty" );
    17.  
    18. define(KONFIGURATOR, true);
    19. define(PATH, '/var/web/temperatura/');
    20. define(LOGS, '/var/web/temperatura/logs/');
    21. define(CRON, 1); //Co ile minut odbywają sie pomiary temperatur
    22. define(OS, 1); // Który sensor do dany dla osi X
    23. define(LINIA, 30); // Długość pojedynczej linii pomiaru
    24. define(BAZA, "text"); // Rodzaj bazy danych ( text lub mysql )
    25. define(SIMPLE, 1); // Korekcja pomiarow dla widoku simple.php 0 - bez korekcji, 1 - przedostatni pomiar
    26. define(DWIE_KOLUMNY, true); //Widok osobno.php w jednej lub dwuch kolumnach
    27.  
    28. ?>
     
  12. Pepek
    Offline

    Pepek Nowy użytkownik Noobie

    Dołączył:
    22 Luty 2013
    Wiadomości:
    21
    Local Time:
    15:38
    Oceny:
    +0 / 0 / -0
    Followers:
    0
    Synology:
    DS112
    w jakim katalogu masz ten programik czy nie w /volume1/web/temperatura/ ?

    jeśli tak to zmień
    Kod (Text):
    1. define(PATH, '/var/web/temperatura/');
    2. define(LOGS, '/var/web/temperatura/logs/');
    na
    Kod (Text):
    1. define(PATH, '/volume1/web/temperatura/');
    2. define(LOGS, '/volume1/web/temperatura/logs/');
     
  13. prychol
    Offline

    prychol Nowy użytkownik Noobie

    Dołączył:
    17 Lipiec 2011
    Wiadomości:
    19
    Local Time:
    17:38
    Oceny:
    +0 / 0 / -0
    Followers:
    0
  14. Pepek
    Offline

    Pepek Nowy użytkownik Noobie

    Dołączył:
    22 Luty 2013
    Wiadomości:
    21
    Local Time:
    15:38
    Oceny:
    +0 / 0 / -0
    Followers:
    0
    Synology:
    DS112
    już sam nie wiem może
    Kod (Text):
    1. define(OS, 1); // Który sensor do dany dla osi X
    ustaw (OS, 0)

    a ile masz już wyników zczytanych danych w .txt ?
     
  15. prychol
    Offline

    prychol Nowy użytkownik Noobie

    Dołączył:
    17 Lipiec 2011
    Wiadomości:
    19
    Local Time:
    17:38
    Oceny:
    +0 / 0 / -0
    Followers:
    0
    Ustawiłem (OS, 0) i dalej to samo.
    Plik .txt wyczyściłem teraz trochę i mam teraz trochę ponad 1000 wyników
     
  16. Pepek
    Offline

    Pepek Nowy użytkownik Noobie

    Dołączył:
    22 Luty 2013
    Wiadomości:
    21
    Local Time:
    15:38
    Oceny:
    +0 / 0 / -0
    Followers:
    0
    Synology:
    DS112
    patrząc jeszcze na swój plik. spróbuj w konfigurator.php zmienić kilka linijek
    na takie:
    Kod (Text):
    1. function lista($ile = 2) {
    Kod (Text):
    1. function zapisz($ile = 1) {
    Kod (Text):
    1. function alarms($ile = 1) {
     
  17. prychol
    Offline

    prychol Nowy użytkownik Noobie

    Dołączył:
    17 Lipiec 2011
    Wiadomości:
    19
    Local Time:
    17:38
    Oceny:
    +0 / 0 / -0
    Followers:
    0
    Niestety, dalej bez zmian
     
  18. unr3al2
    Offline

    unr3al2 Guest

    Oceny:
    +0 / 0 / -0
    Followers:
    0
    Sprawdź czy w wynikach nie masz błędów.
    Jak będą to je skasuj.
     
  19. prychol
    Offline

    prychol Nowy użytkownik Noobie

    Dołączył:
    17 Lipiec 2011
    Wiadomości:
    19
    Local Time:
    17:38
    Oceny:
    +0 / 0 / -0
    Followers:
    0
    OK, już bangla :D
    Kolega @Pepek podesłał swoje pliki, które podmieniłem i zaczęło hulać.
    A czy ktoś wie, czy w Digitempie można wprowadzić korekty jak np. w Lämpömittari (jeden z czujników bardzo się "rozjeżdża" przy wyższych temperaturach).
    Oto wprowadzone korekty:
    [Nieprawidłowy link obrazu]:http://89.67.40.6/foto/pronas/Schowek06.jpg
     
  20. Pepek
    Offline

    Pepek Nowy użytkownik Noobie

    Dołączył:
    22 Luty 2013
    Wiadomości:
    21
    Local Time:
    15:38
    Oceny:
    +0 / 0 / -0
    Followers:
    0
    Synology:
    DS112
    Moim zdaniem nie.
    digitemp jest tylko do ogólnie pojętego sczytywania danych z 1-wire - można uruchomić z parametrami http://linux.die.net/man/1/digitemp

    Aby jakieś korekcje na czujniku robić trzeba by było w samym kodzie php robić do konkretnego czujnika jakieś kalkulacje i wyliczenia żeby prawidłowo pokazywał w Twoim przypadku.
     

Poleć tę stronę

  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Odrzuć powiadomienie.