Package DigiTemp |
Dieses Paket ermöglicht das abfragen beliebig vieler Dallas 1820 Temperatursensoren am seriellen Port des Routers. Auf der Website des MiniWebservers ( opt_httpd ) taucht nach der installation im rechten Menue automatisch der Menuepunkt "Temperatur" auf.
zum installieren: OPT_DIGITEMP='yes' setzen
default: no
Das Prinzip der Sensoren beruht auf einen 2-Draht-Bus an den alle Sensoren angeschlossen werden. Jeder Sensor hat eine eindeutige ID mit der er identifiziert werden kann; diese kann auf der Website durch "Sensoren Initialisieren" ausgelesen werden.
Alle angeschlossenen Sensoren werden automatisch beim booten des Routers initialisiert, wobei die Sensoren nach ihrer ID sortiert aufgelistet werden. kleinste ID = sensor 1 usw....
Das Paket besteht aus folgenden Dateien:
etc/rc.d/rc700.temperatur # Startskript files/usr/local/bin/digitemp # Digitemp binary files/usr/local/bin/temperatur.sh # Skript zum auslesen der Sensoren files/usr/local/bin/templog.sh # Skript zum loggen der Werte files/usr/local/bin/tac # Binary zum rueckwertigen ausgeben von Dateien files/usr/local/bin/nohup # Script zum starten von Programmen im Hintergrund files/lib/libm.so.0 # Bibliothek benoetigt fuer digitemp files/usr/local/htdocs/main_Temperatur.cgi # Website der Opts files/usr/local/htdocs/balken.gif # fuer logging auf der Website files/usr/local/htdocs/balken2.gif # fuer logging auf der Website doc/deutsch/opt/temperatur.html # diese Seite doc/deutsch/opt/Temperatur_Sensor.JPG # Anschlussplan der Sensoren doc/deutsch/opt/Temperatur_Interface.JPG # Bauplan des Interfaces
Werden während des Betriebs neue Sensoren angeschlossen muss auf der Website einmal "Sensoren initialisieren" aufgerufen werden. Dieses kann zur Folge haben, das sich die Sensornummern , bzw. die Sensornamen auf der Seite verschieben
Serieller Port an dem der Sensor angeschlossen ist. (1,2,3,4)
default: 2
Intervall in dem die Sensoren ausgelesen werden in Sekunden. (Werte unter 20 sec nicht empfehlenswert)
default: 60
Anzahl der angeschlossenen Sensoren
default: 2
Name des Sensors x (darf keine Leer und Sonderzeichen enthalten )
Schaltet das Logging für Sensor x ein / aus
WICHTIG !!!! für diese Feature muss opt_cron/easycron installiert sein
default: no
Gibt an, wo das Logfile des Sensors x liegt und wie es heisst.
Gibt das Intervall an in dem der Wert des Sensors x in Logfile geschrieben wird. das Intervall liegt im cron format vor, das im opt_cron/easycron naeher erlaeutert wird.
die 5 werte stehen fuer: Minute Stunde Tag Monat Wochentag.
* steht fuer jede (stunde Minute etc.)
zahl steht fuer die Uhrzeit / Datum
0-59 steht fuer einen bereich von Minuten / Tagen
0-59/5 steht fuer alle 5 Minuten
Beispiele:
* * * * * : jede minute
0 * * * * : jede volle Stunde
0-59/5 * * * * : alle 5 Minuten
0 12 * * * : jeden Tag um 12
Benoetigte Bauteile:
Anzahl | Bauteil | Reichelt Best.Nr. |
---|---|---|
1 Stück | Dallas Semiconductor DS1820 Temperatursensor (alternativ DS18S20 DS18B20) | DS 1820 |
2 Stück | Schottky Dioden (1N5818 oder BAT42) ( nicht alle funktionieren ) | BAT 42 |
1 Stück | Zener Diode 6.2V (1N5234) | ZF 6,2 |
1 Stück | Zener Diode 3.9V (1N5228) | ZF 3,9 |
1 Stück | Widerstand 1,5 kOhm | Metall 1,5k |
1 Stück | RS232C weiblicher Stecker zum Löten und ein Gehäuse dafür | D-SUB BU 09 |
x Meter | 2-poliges Kabel ( am besten verdrillt und geschirmt ) |
Name | DB-25 | DB-9 |
---|---|---|
DTR | 20 | 4 |
RXD | 3 | 2 |
TXD | 2 | 3 |
GND | 1,7 | 5 |
Folgende Sensoren sollten am Interface funktionieren:
DS1820 DS18S20 DS18B20 DS1822 DS1920
am besten benutzt man abgeschirmte 2polige verdrillte Leitungen zum anschluss der Sensoren,
wie man sie z.B. in CAT5 Kabel findet.
Wenn mehrere Sensoren verwendet werden, empfiehlt es sich immer einen einzeln anzuschliesen und zu
zu initialisieren um sich dann die ID aufzuschreiben.
Wenn dann spaeter alle Sensoren angeschlossen werden, kann man besser Identifizieren welcher welche
Nummer bekommen hat.
Die aktuellen Temperaturen werden immer unter /var/run/sensorX gespeichert.
wenn ihr die Temperatur auf's Display haben wollt reicht also ein Eintrag aller:
EASYCRON_1_COMMAND='cat /var/run/sensor1 >/etc/lcd_text1.txt'
EASYCRON_1_TIME='* * * * *'
in opt_eayscron.
Dank geht an:
Brian C. Lane (http://www.brianlane.com) für DigiTemp v1.6 for Linux
Stefan Krister für die Bereitstellung der Binaries für Fli4l v2.1.10
Für Fragen, Anregungen Kritik usw.:
Schreibt eine Email an Johannes Hermen <jhermen@gmx.de>
Angepasst an Fli4l 2.1.10 von Gerd Walter <fli4l@gdw.claranet.de>