Differences between revisions 8 and 9
Revision 8 as of 2012-03-07 05:37:41
Size: 7142
Editor: dslb-084-058-137-231
Comment: change in diagram webcam3 to webcam4
Revision 9 as of 2012-07-01 07:41:18
Size: 10240
Editor: dslb-084-058-131-038
Comment: added Fehlersuche
Deletions are marked like this. Additions are marked like this.
Line 5: Line 5:
Version mit Linux und Adaption an die NSLU2 Box Version mit Linux und Adaption an die NSLU2 Box
 * Betrieb mit Analog Sensoren ab Februar 2009
 * Betrieb mit Digital Sensoren ab April 2010 (Redundanter Betrieb)
Line 7: Line 9:
 1. Hardware<<BR>>Es werden Termperatur Sensoren LM35 eingesetzt, mit Operationsverstärker TL082 (Schaltplan: heizung_HW.doc) und dem Meßmodul m232 (Schaltplan: ELV_M232_Schaltplan.pdf) von ELV. <<BR>> Zur Modernisierung wurden jetzt busfähige digitale Temperatur Sensoren DS18S20 eingesetzt, mit einem passiven RS232-1-wire Wandler (DS9097). Das Python Programm wurde angepasst (heizung16.py -> heizung20.py).  1. Hardware<<BR>>Es werden Termperatur Sensoren LM35 eingesetzt, mit Operationsverstärker TL082 (Schaltplan: heizung_HW.doc) und dem Meßmodul m232 (Schaltplan: ELV_M232_Schaltplan.pdf) von ELV.

Zur Modernisierung (Vereinfachung) wurden jetzt busfähige digitale Temperatur Sensoren DS18S20 eingesetzt, mit einem passiven RS232-1-wire Wandler (DS9097). Das Python Programm wurde angepasst (heizung16.py -> heizung20.py).
Line 27: Line 31:
  S81moin -> standaloneserver;   "/etc/rc3.d/S81moin" -> standaloneserver;
Line 29: Line 33:
  S82heizung -> { heizung20 webcam4 };   "/etc/rc3.d/S82heizung" -> { "heizung20.py" "webcam4.sh" };
Line 31: Line 35:
  heizung20 -> delay60s;
  delay60s -> heizung20;
  webcam4 -> uvccapture -> tail_300min -> gnuplot [weight=8];
  "heizung20.py" -> delay60s;
  delay60s -> "heizung20.py";
  "webcam4.sh" -> uvccapture -> tail_300min -> gnuplot [weight=8];
Line 47: Line 51:
  delay30s -> webcam4;   delay30s -> "webcam4.sh";
Line 102: Line 106:
=== Server Wartung ===
Um Änderungen oder Fehlersuche zu machen muss man sich auf den Server einloggen:
{{{
# Mac Os X: Application iTerm
$ ssh root@192.168.17.81 (Digital Sensoren, LKG300DB0) oder
$ ssh root@192.168.17.82 (Analog Sensoren, LKG95AC9E)
Passwort eingeben

$ dfu # /bin/dfu = date;free;uptime;uname -a

rudi@192.168.17.81's password:
Last login: Sun Jul 1 06:40:34 2012 from rudis-mac-pro.fritz.box
rudi@LKG300DB0:~$ dfu
Sun Jul 1 08:56:58 CEST 2012
              total used free shared buffers
  Mem: 30376 28008 2368 0 2152
 Swap: 94664 40 94624
Total: 125040 28048 96992
 08:56:59 up 2:36, load average: 0.10, 0.15, 0.10
Linux LKG300DB0 2.6.21.7 #1 PREEMPT Mon Dec 24 23:12:24 UTC 2007 armv5teb unknown

root@LKG95AC9E:/home/rudi/heizung$ dfu
Sun Jul 1 08:54:17 CEST 2012
              total used free shared buffers
  Mem: 30376 27492 2884 0 1464
 Swap: 136544 2364 134180
Total: 166920 29856 137064
 08:54:17 up 661 days, 13:21, load average: 0.00, 0.04, 0.01
Linux LKG95AC9E 2.6.21.7 #1 PREEMPT Mon Dec 24 23:12:24 UTC 2007 armv5teb unknown

# Datenfiles sind in:
root@LKG95AC9E:/home/rudi/heizung$ ls -ls /var/volatile/www/
   4 -rw-r--r-- 1 rudi rudi 42 Jul 1 09:01 heizdata.csv
  16 -rw-r--r-- 1 rudi rudi 12600 Jul 1 09:01 heizdata300s.txt
  16 -rw-rw---- 1 rudi www-data 12506 Jul 1 08:27 moin_rot.log
  12 -rw-r--r-- 1 rudi rudi 11718 Jul 1 09:01 shot.jpg
   8 -rw-r--r-- 1 rudi rudi 6335 Jul 1 09:01 temperaturM.png
}}}

=== Fehlersuche ===
Zum Glück läuft in den meisten Fällen die Datenerfassung (Temperatur) durch, auch wenn die Web Seite nicht aktualisiert wird.

Bei der analogen Datenerfassung ist die '''Anbindung USB Web Cam''' das Hauptproblem.

Bei der digitalen Datenerfassung ist ein '''Speicherleck''' (memory leak) das Hauptproblem.

Bei Merkwürdigkeiten, die nicht mit einem '''reboot''' zu lösen sind, das '''Netzteil''' überprüfen. Das Original Netzteil (5V, 2A) geht erfahrungsgemäß nach einem Jahr Dauerbetrieb bei 230 VAC kaputt. Deshalb besser gleich durch ein stärkeres (5V, 3A) ersetzen.

 1. Web Seite oder Kamerabild bleibt im Datum stehen.
  Im Datenordner `/var/volatile/www` nachsehen, ob die Datenfiles das aktuelle Datum haben. <<BR>>
  Wenn `moin_rot.log` das aktuelle Datum hat, ist wahrscheinlich die USB Web Cam steckengeblieben. <<BR>>
  '''Lösung:''' USB Stecker der Web Cam ziehen und wieder stecken.
 1. Web Seite bleibt im Datum stehen (Digital Sensoren)
  Wenn der SWAP Speicher über 10 MB anzeigt (utility '''free''' zeigt in KB an), hilft nur ein:
 {{{
 $ reboot
 }}}

Dokumentation zur Temperaturmessung an der Heizung

Version mit Linux und Adaption an die NSLU2 Box

  • Betrieb mit Analog Sensoren ab Februar 2009
  • Betrieb mit Digital Sensoren ab April 2010 (Redundanter Betrieb)
  • Hardware
    Es werden Termperatur Sensoren LM35 eingesetzt, mit Operationsverstärker TL082 (Schaltplan: heizung_HW.doc) und dem Meßmodul m232 (Schaltplan: ELV_M232_Schaltplan.pdf) von ELV.

Zur Modernisierung (Vereinfachung) wurden jetzt busfähige digitale Temperatur Sensoren DS18S20 eingesetzt, mit einem passiven RS232-1-wire Wandler (DS9097). Das Python Programm wurde angepasst (heizung16.py -> heizung20.py).

  1. Messstellen:
    1. Vorlauf Heizung
    2. Ruecklauf Heizung
    3. Warm-Wasser Speicher
    4. Raumtemperatur Dachboden
    5. Aussen + Basis (zur Vererechnung)
    6. Aussen-Basis (zur Verrechnung)
    7. Aussen (Berechnet wegen Minus Temp.)
    8. Pumpenaktivität zur Laufzeitauswertung

  2. RS232
    Der DB25S Stecker am M232 Modul hat eine DCE (Data Terminal Equipment) Beschaltung und passt somit 1:1 auf den PC-Anschluss, mit 25-9 Pin Adapter. Am Steckernetzteil für das M232 Modul ist die 9V Einstellung passend (+12V).

  3. Test unter Linux Ubuntu 0804

Programmablauf Graph GraphViz

Es mussten ein paar Tricks eingebaut werden, damit der GraphViz Graph gut aussah. Zum Beispiel weight=8, damit die vertikale Linie gerade blieb, und { rank=same; "restart_moin"; "moin_run"; } um beide Elemente auf eine Ebene zu bekommen.
Die Graphen Beschreibung kann man sehen, wenn man die Wiki-Seite im raw Modus ansieht. Die Aktion GraphVizCleanup wird leider im Thema Explorer nicht angezeigt. Damit könnte man die Versuchs-Graphen (attachment:graphviz-SomeGraph-...) komfortabel in einer Maske löschen. Es geht aber auch mit der Attachment-Verwaltung, speziell da man dort zur besseren Orientierung auch das File Datum sehen kann.

graphviz-SomeGraph-d0d99f36f0e00acb8d9118807fd819ab964ec738.png

/etc/init.d/moin.sh

Damit wird zuerst der Ordner /var/volatile/www (RAM Disk) erzeugt und dann der Standalone Web Server des MoinMoin Wikis gestartet. Die RAM Disk wird für die häufig wechselnden Daten benutzt, damit der USB-Stick entlastet ist. Im Einzelfall werden in anderen Ordnern Symlinks davon gemacht. Folgende Files werden hier vorgehalten:

heizdata.csv     - Ein Minuten Messwert für die aktuelle Anzeige auf der Web Seite.
heizdata300s.txt - Die Messwerte der letzten 300 Minuten (5 Stunden).
                   Im Ordner /home/rudi/heizung gibt es ein Symlink davon für gnuplot.
moin_rot.log     - Rollierender Log File des moin Web Servers (maximal 32 KB groß).
moin_rot.log.1   - letzter Log File.
shot.jpg         - Aktuelles WebCam Bild. 
                   Im Attachment der Wiki Seite HeizungWebCam ist ein Symlink davon.
cam.jpg          - Temporäres WebCam Bild, wird nach Fertigstellung in shot.jpg umbenannt.
TemperaturM.png  - 5-Stunden Diagramm von gnuplot.
                   Im Attachment der Wiki Seite HeizungWebCam ist ein Symlink davon.

/etc/init.d/heizung.sh

Damit werden die Prozesse heizung20.py und webcam3.sh gestartet.

/home/rudi/heizung/heizung16.py

Das ist der Prozess zur Datenerfassung und Protokollierung der Temperaturen und des Pumpenlaufs im Zyklus von einer Minute. Er ist an einer Analog/Digital Wandler Schaltung (RS232 Gehäuse von Firma ELV) angebunden. Die Messdaten werden in einem File heizdata.txt gesammelt. Wenn eine Laufzeit von 2 Wochen erreicht ist, benennt das Programm ihn um in hdYYMMTT.txt und erzeugt einen neuen Datenfile heizdata.txt. Ebenso alle 2 Wochen, nach einem Wechsel, sollte man die Daten abholen, um sie zu sichern und weiter zu verarbeiten (Jahres Statistik).

/home/rudi/heizung/heizung20.py

Das ist der Prozess zur Datenerfassung und Protokollierung der Temperaturen und des Pumpenlaufs im Zyklus von einer Minute. Er ist an 1-wire Sensoren DS18S20 über ein RS232 Anschluss Modul DS9097 (Clone, DB9) angebunden. Das Pumpensignal wird über RS232 DSR Signal eingelesen.

/home/rudi/heizung/webcam3.sh

Dieser Prozess löscht zuerst ein eventuell übrig gebliebenes temporäres Bild (cam.jpg) der Webcam. Dann wird ein neues temporäres Bild mit der Webcam erzeugt und in den www Ordner kopiert (shot.jpg). Als nächstes werden die letzten 300 Zeilen (= 5 Stunden, File=heizdata300s.txt) des Temperatur Datenfiles in den www Ordner kopiert, und die aktuelle, letzte Zeile (heizdata.csv). Jetzt wird mit gnuplot ein Diagramm der letzten 5 Stunden erzeugt (temperaturM.png). Zuletzt wird geprüft, ob die Prozesse moin und heizung noch laufen, und gegebenenfalls neu gestartet. Bei einer Überlastung des Wikis kann der Prozess moin abstürzen.
Nach einer Pause von 28 Sekunden wird wieder von vorne angefangen.

/home/rudi/heizung/webcam4.py

Als Erweiterung zur Version 3 wurde noch eine Warte-Synchronisation zu dem Prozess heizung20.py eingefügt. Damit wird erreicht, dass nur entweder die Temperaturmessung oder Diagrammerstellung und Webcam Schnappschuss Erstellung laufen.

/home/rudi/heizung/digitemp_5s.py

Das ist ein Test Programm, um den Aufruf von digitemp mit 5 Sensoren zu testen. Dazu muss vorher ein Resource File erzeugt werden .digitemprc:

TTY /dev/ttyUSB0
READ_TIME 1000
LOG_TYPE 2
LOG_FORMAT "%b %d %H:%M:%S Sensor %s C: %.2C"
CNT_FORMAT "%b %d %H:%M:%S Sensor %s #%n %C"
HUM_FORMAT "%b %d %H:%M:%S Sensor %s C: %.2C F: %.2F H: %h%%"
SENSORS 5
ROM 0 0x10 0x50 0x0B 0x6D 0x01 0x08 0x00 0x75 
ROM 1 0x10 0xCC 0x10 0x6D 0x01 0x08 0x00 0xB5 
ROM 2 0x10 0xA1 0xF9 0x6C 0x01 0x08 0x00 0x9A 
ROM 3 0x10 0xC7 0x19 0x6D 0x01 0x08 0x00 0xBE 
ROM 4 0x10 0x37 0x2A 0x6D 0x01 0x08 0x00 0x06 

/home/rudi/heizung/test_dsr.py

Das ist ein Testprogramm, um den RS232 DSR Anschluss zu testen, der das Pumpen Lauf Signal weiter reicht.

Server Wartung

Um Änderungen oder Fehlersuche zu machen muss man sich auf den Server einloggen:

# Mac Os X: Application iTerm
$ ssh root@192.168.17.81  (Digital Sensoren, LKG300DB0) oder
$ ssh root@192.168.17.82  (Analog  Sensoren, LKG95AC9E)
Passwort eingeben

$ dfu  # /bin/dfu = date;free;uptime;uname -a

rudi@192.168.17.81's password: 
Last login: Sun Jul  1 06:40:34 2012 from rudis-mac-pro.fritz.box
rudi@LKG300DB0:~$ dfu
Sun Jul  1 08:56:58 CEST 2012
              total         used         free       shared      buffers
  Mem:        30376        28008         2368            0         2152
 Swap:        94664           40        94624
Total:       125040        28048        96992
 08:56:59 up  2:36, load average: 0.10, 0.15, 0.10
Linux LKG300DB0 2.6.21.7 #1 PREEMPT Mon Dec 24 23:12:24 UTC 2007 armv5teb unknown

root@LKG95AC9E:/home/rudi/heizung$ dfu
Sun Jul  1 08:54:17 CEST 2012
              total         used         free       shared      buffers
  Mem:        30376        27492         2884            0         1464
 Swap:       136544         2364       134180
Total:       166920        29856       137064
 08:54:17 up 661 days, 13:21, load average: 0.00, 0.04, 0.01
Linux LKG95AC9E 2.6.21.7 #1 PREEMPT Mon Dec 24 23:12:24 UTC 2007 armv5teb unknown

# Datenfiles sind in:
root@LKG95AC9E:/home/rudi/heizung$ ls -ls /var/volatile/www/
   4 -rw-r--r--    1 rudi     rudi           42 Jul  1 09:01 heizdata.csv
  16 -rw-r--r--    1 rudi     rudi        12600 Jul  1 09:01 heizdata300s.txt
  16 -rw-rw----    1 rudi     www-data    12506 Jul  1 08:27 moin_rot.log
  12 -rw-r--r--    1 rudi     rudi        11718 Jul  1 09:01 shot.jpg
   8 -rw-r--r--    1 rudi     rudi         6335 Jul  1 09:01 temperaturM.png

Fehlersuche

Zum Glück läuft in den meisten Fällen die Datenerfassung (Temperatur) durch, auch wenn die Web Seite nicht aktualisiert wird.

Bei der analogen Datenerfassung ist die Anbindung USB Web Cam das Hauptproblem.

Bei der digitalen Datenerfassung ist ein Speicherleck (memory leak) das Hauptproblem.

Bei Merkwürdigkeiten, die nicht mit einem reboot zu lösen sind, das Netzteil überprüfen. Das Original Netzteil (5V, 2A) geht erfahrungsgemäß nach einem Jahr Dauerbetrieb bei 230 VAC kaputt. Deshalb besser gleich durch ein stärkeres (5V, 3A) ersetzen.

  1. Web Seite oder Kamerabild bleibt im Datum stehen.
    • Im Datenordner /var/volatile/www nachsehen, ob die Datenfiles das aktuelle Datum haben.
      Wenn moin_rot.log das aktuelle Datum hat, ist wahrscheinlich die USB Web Cam steckengeblieben.
      Lösung: USB Stecker der Web Cam ziehen und wieder stecken.

  2. Web Seite bleibt im Datum stehen (Digital Sensoren)
    • Wenn der SWAP Speicher über 10 MB anzeigt (utility free zeigt in KB an), hilft nur ein:

     $ reboot

Liste der Seiten in dieser Category


Go Back to CategoryHeizung or StartSeite ; KontaktEmail (ContactEmail)

HeizungTempMess (last edited 2012-07-01 07:41:18 by dslb-084-058-131-038)