Skocz do zawartości
pablo

tclTempMonitor - sugestie, uwagi

Rekomendowane odpowiedzi

Napisz co czyta twoje czujniki co minutę i jak masz skonfigurowane czujniki w tclTM. Zalecam w obu przypadkach wykorzystywać owserver, który dokonuje odczuty czujników i buforuje je dla odczytu przez inne programy - to powinno zapobiec takim efektom jak u Ciebie.

 

Z pliku konfiguracyjnego...tak mam wpisane

 

-z http to dziala.

http://89.234.xx3.x08:3000/2851B2DA030000

 

z owserver nie.

"sensor1.address=89.234.xx3.x08:3001/2851B2DA030000

 

tak jest na procesie w openwrt.

t 1988 S /usr/bin/owhttpd -s 3001 -p 3000

23154 root 1988 S /usr/bin/owhttpd -s 3001 -p 3000

27631 root 1992 S /usr/bin/owserver msec_read 100 -d /dev/tts/1 -p 3001

27633 root 1992 S /usr/bin/owserver msec_read 100 -d /dev/tts/1 -p 3001

 

W ponizszy sposob robie pozytywne zczytywanie wszystkich czujnikow na porcie 3001

/opt/owfs/bin/owget -s 89.234.xx3.x08:3001 28.51B2DA030000/temperature > /home/krzysiekj/skrypty/owfs/8.txt

 

 

-------

Czekam na nowa wersje do testow.

Piszesz, ze zmieniasz kierunek funkcjonalosci. Zgadza sie, tylko moze cos dorzuce....program jako urzadzenie w fermentowni czy jak to nazwac moze w piwnicy, powinien pracowac na czym malym tzn na malym zasilaczu np na WRT54 pod openwrt na przyklad.

Jestem za i napewno bede tegoz projektu .....cenzorem :).

Pozdrawaim kj

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

z owserver nie.

"sensor1.address=89.234.xx3.x08:3001/2851B2DA030000

Tak na szybko. Adres i port serwera konfigurujesz w głównych ustawieniach programu, natomiast w ustawieniach czujnika podajesz sam adres.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Tak na szybko. Adres i port serwera konfigurujesz w głównych ustawieniach programu, natomiast w ustawieniach czujnika podajesz sam adres.

 

Jakby nie patrzyl to no init w polu temperatura.

 

 

kawalek configa po zmianie/dolozeniu adresu serwera;

gnuplot_exec=gnuplot

owserver_address=xx.xxx.xxx.xxx

owserver_port=3001

.......

sensor1.address=2851B2DA030000

sensor1.label=czujnik w kuchni

sensor1.max_alarm=0

sensor1.min_alarm=0

sensor1.plot=1

sensor1.source=owserver

sensor1.timestamp=-1

sensor1.updatetime=2012-09-14 16:20:40

sensor1.value=No init

sensors_count=2

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

...że tak spytam Pawle, kiedy teoretycznie/praktycznie nalezaloby sie spodziewac wersji tcltempmonitor o numerek wyzszy. w ktorym mozemy sie spodziewac pewnych zmian na plus ?

Pozdrawiam;

kj

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

sensor1.value=No init

Nie ma biblioteki ow w systemie lub nie może połączyć się do owserver - odpowiedni log powinieneś dostać przy starcie programu.

 

że tak spytam Pawle, kiedy teoretycznie/praktycznie nalezaloby sie spodziewac wersji tcltempmonitor o numerek wyzszy

Właściwie utknąłem na usuwaniu czujników ( oj prowizorki mnie dopadły ;) ) - chyba bez tego oddam kolejną wersję - być może jeszcze dziś (w weekend na pewno nie pchnę tego wózka do przodu)

 

Generalnie decyzja jest taka - w obecnej formie nie będę rozwijał już dalej programu poza możliwością usuwania czujników. Oczywiście będę poprawiał zauważone błędy czy wprowadzał kosmetyczne poprawki.

 

Kolejna wersja musi zostać bardzo przebudowana, by sprostała rosnącym oczekiwaniom ;)

Edytowane przez pablo

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Nie ma biblioteki ow w systemie lub nie może połączyć się do owserver - odpowiedni log powinieneś dostać przy starcie programu.

 

2012-09-15 16:37:45 | debug | timer timerHook

2012-09-15 16:37:45 | error | unable to check limits for sensor 1. Error: can't read "::config(sensor1.min_value)": no such element in array

while executing

"if { [info exists ::config(sensor$sensorIdx.value)] && $::config(sensor$sensorIdx.min_value) != "" && $::config(sensor$sensorIdx.value) < $::config(..."

(procedure "CheckLimitsNoCatch" line 3)

invoked from within

"CheckLimitsNoCatch $sensorIdx"

2012-09-15 16:37:46 | debug | timer timerHook

2012-09-15 16:37:46 | error | unable to check limits for sensor 1. Error: can't read "::config(sensor1.min_value)": no such element in array

while executing

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

2012-09-15 16:37:45 | debug | timer timerHook

2012-09-15 16:37:45 | error | unable to check limits for sensor 1. Error: can't read "::config(sensor1.min_value)": no such element in array

while executing

 

Dodam sobie a moze ew innym co beda mogli miec problem z owserverem i brakiem polaczenia po adresie IP z okreslonym portem.

Nalezy sciagnac i zainstalowac biblioteki w kolejnosci libowcapi-2.8 a nastepnie libow-tcl_2.8. Szukajac ich wykorzystujemy wyszukiwarki.

 

 

Pozdrawiam.

krzysztofj

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Czy ktoś mi powie jak pod windą sprawdzić adresy czujników?

W zasadzie w programie przydała by się opcja szukania czujników.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

W zasadzie w programie przydała by się opcja szukania czujników.

Dobrze mówisz ;)

Czy ktoś mi powie jak pod windą sprawdzić adresy czujników?

Jeśli korzystasz z digitemp to uruchom go w konsoli:

digitemp_DS9097 -i -s /dev/ttyS0

To zainicjuje plik konfiguracyjny. Powinny się wyświetlić adresy.

Następnie:

digitemp_DS9097 -a -q -o "%R %C"

Dostaniesz odpowiedź w formie adres - temperatura (tak je łatwo rozróżnisz - różnicując wpierw temperatury czujników ;) )

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Dostaniesz odpowiedź w formie adres - temperatura (tak je łatwo rozróżnisz - różnicując wpierw temperatury czujników ;) )

Byle mieć adresy, to w programie bez problemów można je rozróżnić i opisać :) Dzięki.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Nowa wersja w plikach.

Jejski liczę na Ciebie!

 

Parę uwag udało się uwzględnić.

Jedna ważna rzecz do zrobienia w tej wersji programu - usuwanie czujników.

Inne, to np więcej timerów.

 

Potem już tylko poprawianie błędów i drobne poprawki funkcjonalności.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Miałem nie robić manuala, ale skoro Paweł na razie zwalnia tempo zrobię coś dla zachęty dla windziarzy :)

Na początek sprzęt.

Całość należy wykonać zgodnie z instrukcją na wiki, ale uzupełniłem schemat numerkami żeby nie było wątpliwości. Wtyczkę ponumerowałem z takiego samego powodu. Dla wygody montażu dobrze jest pozaginać nóżki i poukładać na schemacie z tym że diodę 1 i 4 należy odwrócić o 180* , dlatego że numery pinów na schemacie nie są kolejno a wtyczce we wtyczce tak. Następnie kolejno lutujemy zaczynając od D1 i R1. W ten sposób ułożone elementy zajmują mniej miejsca w obudowie i nie straszy nas tarantula taka jak na wiki :P

 

Soft.

1. Ściągnąć i zainstalować ActiveTCL w wersji 8.5... x86 lub x64 (zgodnie z twoim systemem)

2. Ściągnąć i rozpakować snack2210-tcl.zip . Wejść do katalogu \bin\windows i skopiować wszystkie pliki do katalogu programu ActiveTCL czyli przy standardowej instalacji C:\Tcl

3. Ściągnąć i rozpakować tclTempMonitor1.0.6-a.zip z tego postu.

Plik spakowany zipem a nie tar.gz specjalnie dla windziarzy i zawiera już cygwin1.dll potrzebny do uruchomienia.

4. Ściągnąć i rozpakować digitemp-3.6.0.zip z tego postu (zip dla windziarzy) i skopiować dwa exe-ki z katalogu digitemp-3.6.0\win do głównego katalogu tclTempMonitor1.0.6-a

5. Ściągnąć i zainstalować gnuplot

6. Otworzyć katalog tclTempMonitor1.0.6-a, następnie prawa mysz na main.tcl i otwórz za pomocą tclsh85.exe w katalogu C:\Tcl\bin\

7. Uruchomiony program należy skonfigurować. Akcje-Konfiguruj

Zakładka Sounds. Podać ścieżki sounds/beep-10.wav itd w katalogu programu.

Zakładka Gnuplot. C:\Program Files\gnuplot\bin\gnuplot.exe

Zakładka Digitemp

Plik wykonywalny digitemp - digitemp_DS9097.exe

Adres portu szeregowego dla digitemp - /dev/ttys0 (jeśli to com1)

Plik konfiguracyjny digitemp (nadpisywany) - digitemp.cfg

 

Przed dodaniem czujników należy odczytać ich adresy.Menu start-cmd podać ścieżkę do katalogu gdzie jest digitemp_DS9097.exe i

digitemp_DS9097 -i -s /dev/ttyS0

To zainicjuje plik konfiguracyjny. Powinny się wyświetlić adresy.

digitemp_DS9097 -a -q -o "%R %C"

 

Dostaniesz odpowiedź w formie adres - temperatura (tak je łatwo rozróżnisz - różnicując wpierw temperatury czujników ;) )

Następnie:

Przy Akcje - Dodaj czujnik

Wpisujesz adres nowego czujnika i zaznaczasz diditemp.

post-96-0-02795900-1347874249_thumb.gif

post-96-0-34811000-1347874295_thumb.jpg

post-96-0-51522900-1347874319_thumb.jpg

tclTempMonitor1.0.6-a.zip

digitemp-3.6.0.zip

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Nowa wersja w plikach.

Na wykresie kolo danych archiwalnych jest błąd. Ja sobie go juz poprawiłem

jk

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Ale jaja przegapiłem wersję 7 :lol:

Manual do kosza :smilies:

 

Ale jak teraz napiszesz na nowo, to bedzie na wieki wieków, bo generalnie jest lepiej nawet poprawione jest to co ostatnio sie mi nie podobalo w wersji 1.0.6 a oczym nie napisalem tutaj.

Nie zdazylem sprawdzic czy w minutniku sa dalej tak male cyferki odliczania czasu. Bo w ten weekend musialem kukac by cos zobaczyc :)

jk

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Nowa wersja w plikach.

Jejski liczę na Ciebie!

Linux

Pakowanie zipem ostatniej wersji to nie był dobry pomysł. Po rozpakowaniu trzeba było ustawiać od nowa prawa, bo się nie chciał odpalić.

Dopiero po podaniu pełnej ścieżki

/usr/bin/digitemp_DS9097

pokazał temp. na czujniku. Z niedziałającego wykresu masz loga. Ups "Błąd Nie masz uprawnień do wysyłania tego typu plików" to będzie tar.gz log :cool:

 

Winda

Wszystko ok , ale w konsoli ...

7.log.tar.gz

post-96-0-75937700-1347897584_thumb.jpg

Edytowane przez Jejski

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Pakowanie zipem ostatniej wersji to nie był dobry pomysł

1.0.8 spakowałem już po "staremu"

Wszystko ok , ale w konsoli ...

Tym się nie przejmuj...

 

Co do loga - zainstaluj acticeTcl 8.5.12

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Witam;

 

Pragne donieść, że w wersji 1.08 beepy nie dzialaja, w wersji 1.07 beepy nie dzialaja a wersji 1.06 ...działaja. czyzby sos skopane z wyborem sciezek do pliku wdziekowego?.

 

Mam jeszcze taki pomysl. Zauwazylem ze zmienilo sie okienko w czujniku i sa tam zakladki, w ktorych zostaly przewalone opcje ktore byly w poprzednich wersjach w jednym slusznym okienku. Tez mi sie to nie podobalo, ale to obecne rozwiazanie to dobry kierunek.

I tak..... zauwazylem w roznych przepisach aby slod trzymac nie w dokladnie sztywnych temperaturach czy to białkowych czy meltozowych. Wiec aby nie byc tak sztywnym na wykresie ze jest to sztywno wpisane w zakladce Wykres wrzucic pola aby sobie delikwent mogl wpisac te inne temperatury ktore bylyby pozniej na wykresie z nazwami a nie np. 62C a ja mam miec z przepisy lub mojej glowy np 67C itd. A tak pilnuje temp. w polu ktora nie jest teraz w progu przerwy i ...mam stresa :).

 

Zauwazylem ze minutnik ma wieksze cyferki..jest ok ...ale programowanie może w malych okienkach a odliczanie czasu ladnie np niebieskie w duzym :)

 

Pozdrawiam.

kj

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Projekt już nierozwijany?

Rozwijany ale powoli ;)

Domknięta wersja będzie przypuszczalnie pod koniec lipca.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Uzywam go od poczatku ostatnich poprawek. I tylko z nim warzę. Rozwiazanie z wykresem jest swietne.

Mam pewne spostrzezenia ktorych mi brakuje w programie, np sred. przy taimerze temperatury w odliczaniu przerwy...i kilka tam jeszcze.

A tak to nie widze powodow do by zmieniac to rozwiazanie.

kj

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

witam, ja z innej beczki mam pytanie:

 

używam Linux Mint 12.04. Zainstalowałem Tlc 8.5, mam owfs (ale nie widzi czujników DS1820). Próba odpalenia main.tlc kończy się

can't find package widget
   while executing
"package require widget"
   (file "calendar.tcl" line 47)
   invoked from within
"source calendar.tcl"
   (file "gui.tcl" line 17)
   invoked from within
"source gui.tcl"
   (file "./main.tcl" line 25)

 

co jest grane?

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

witam, ja z innej beczki mam pytanie:

 

używam Linux Mint 12.04. Zainstalowałem Tlc 8.5, mam owfs (ale nie widzi czujników DS1820). Próba odpalenia main.tlc kończy się

can't find package widget
while executing
"package require widget"
(file "calendar.tcl" line 47)
invoked from within
"source calendar.tcl"
(file "gui.tcl" line 17)
invoked from within
"source gui.tcl"
(file "./main.tcl" line 25)

 

co jest grane?

 

Wydaje mi się, że brakuje biblioteki tklib ...

daj znać jeśli to nie to.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

dodaję całośc mojego przepychania się, bo może komus to pomoże

 

witam, ja z innej beczki mam pytanie:

 

używam Linux Mint 12.04. Zainstalowałem Tlc 8.5, mam owfs (ale nie widzi czujników DS1820). Próba odpalenia main.tlc kończy się

can't find package widget
while executing
"package require widget"
(file "calendar.tcl" line 47)
invoked from within
"source calendar.tcl"
(file "gui.tcl" line 17)
invoked from within
"source gui.tcl"
(file "./main.tcl" line 25)

 

co jest grane?

 

Wydaje mi się, że brakuje biblioteki tklib ...

daj znać jeśli to nie to.

 

aaaa, świetnie, po dodaniu tej biblioteki odpalił :)

 

a teraz dodawanie czujnika. Mam digitemp 3.5.0, Wyświetla po poleceniu -w -v

sudo digitemp_DS9097 -w -v
DigiTemp v3.5.0 Copyright 1996-2007 by Brian C. Lane
GNU Public License v2.0 - http://www.digitemp.com
Turning off all DS2409 Couplers
.....
Devices on the Main LAN
10F4346202080060 : DS1820/DS18S20/DS1920 Temperature Sensor
10AA785A020800C1 : DS1820/DS18S20/DS1920 Temperature Sensor
10F6575A02080005 : DS1820/DS18S20/DS1920 Temperature Sensor
10A9230102080031 : DS1820/DS18S20/DS1920 Temperature Sensor
10F5346202080057 : DS1820/DS18S20/DS1920 Temperature Sensor

TclTempMon też uruchamiam z sudo.

Zrobiłem dokładnie tak: dodaj czujnik, uruchomiłem digitemp z terminala, żeby poznać adresy, chyba dodałem jeden czujnik i przy próbie dodania kolejnego dostałem komunikat

can't read "::config(sensor1.source)": no such element in array
can't read "::config(sensor1.source)": no such element in array
   while executing
"if {  $::config(sensor$sensorIdx.source) == "owserver" } {
  lappend owsensors $sensorIdx $::config(sensor$sensorIdx.address)
 } elseif {$::co..."
   (procedure "::sensors::readAllTemps" line 11)
   invoked from within
"::sensors::readAllTemps $tsmp"
   (procedure "timerHook" line 18)
   invoked from within
"timerHook $hook $tsmp "
   (procedure "::tclTM::main" line 9)
   invoked from within
"::tclTM::main"
   ("after" script)

Nie jestem biegły w zarządzaniu linuksem (linux mint 12.04), więc co prawda założę, że to przejęcie portu przez digitempa, ale nawt jeśli to nie wiem jak to sprawdzić ..

 

ok poradziłem sobie, po chwili jakby zwolnił się port i mogłem dodawać dalej.

Ale mam jeszcze

2013-10-07 07:49:53 | warning | Digitemp initilization faild!

digitemp ma ustawione 755

i

| warning | No possible to play sound  Install snack on linux or twapi on windows

pomimo, że zainstalowałem libsnack2-alsa (libsnack2 dawał bła o niemożności odpalenia /dev/mixer)

 

ok, zabawa trwa dalej.

Wskazałem nie ten co trzeba plik digitemp- powienien być digitemp_DS9097 bez U na końcu (a propos initialization faild).

Teraz działa jak należy - bez dźwięku na razie

 

Czy rozmiar okna wykresów można powiększyć (zwiększajac jego rozdzielczość w efekcie)?

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się


×