Überblick 

weatherinfo.pl ist ein simples CGI-Skript, welches aus den ipwewd-generierten Daten eine kleine Webseite baut. Beispiel: siehe Wetterinfo-Box auf der Startseite (Hauptmenü -> Home).

Voraussetzungen

  • Halbwegs aktuelles Linux Betriebssystem, z.B. Debian 3.1 (Sarge) oder besser
  • Perl-Interpreter
  • ipwewd

Lizenz

GPL V3

weatherinfo.pl wurde unter der General Public License (GPL) veröffentlicht.

Überblick 

Mit Hilfe des ipwewd können die Wetterdaten vom IP-Wetterdatenempfänger IPWE 1 automatisiert abgeholt werden.  ipwewd konnektiert sich über das http-Protokoll mit dem IP-Wetterdatenempfänger und legt die bereitgestellten Wetterdaten in Dateien ab oder versendet sie über das TCP-Protokoll an weitere Verarbeitungstools.

Schnittstellen

ipwewd stellt zwei Dateischnittstellen zur Verfügung:

  • Die Datei "ipwe.current" enthält den jeweils den zuletzt empfangenen Datensatz mit den jeweiligen Wetterdaten
  • Die Datei "ipwe.history" enthält alle empfangenen Datensätze und baut somit eine Historie auf

 

Als weitere Schnittstelle kann ipwewd die Wetterdaten über eine TCP-Verbindung an einen sogenannten Weather Data Processor (WDProc) versenden. Ein WDProc ist eine Folgeverarbeitung, die aufgrund der empfangenen Wetterinformationen Aktionen durchführt. 

Welche der drei Schnittstellen zum Einsatz kommen, lässt sich parametrisieren. 

Das Datensatzformat ist für alle Schnittstellen identisch:
timestamp;type;address;description;temperature;humidity;wind-speed;rain;raining;

  • timestamp: Vergangene Zeit in Sekunden seit 1.1.1970 00:00:00 Uhr
  • type: Sensortyp, z.B. Kombisensor, etc.
  • address: Adresse des Sensors
  • description: Optionale Beschreibung des Sensors (in IPWE 1 einzurichten, falls gewünscht)
  • temperature: Außentemparatur
  • humidity: Luftfeuchtigkeit in %
  • wind-speed: Windgeschwindigkeit
  • rain: Regenmenge (letzte 24 h)
  • raining: Regen-Sofortmeldung ("y" oder "n")

Beispieldatensätze:

1219542710;Kombi;;;12.0;88;4.4;1.2;n;
1219542860;Kombi;;;11.9;89;4.4;1.2;n;
1219543010;Kombi;;;11.9;89;4.7;1.2;n;
1219543160;Kombi;;;11.9;89;2.7;1.5;y;
1219543310;Kombi;;;11.9;89;4.4;1.5;n;

Voraussetzungen

  • Halbwegs aktuelles Linux Betriebssystem, z.B. Debian 3.1 (Sarge) oder besser
  • Perl-Interpreter in der Version 5.8.4

Weiterhin sind folgende Perl-Module erforderlich:

  • LWP::UserAgent
  • HTML::TreeBuilder
  • HTML::FormatText
  • Proc::Daemon
  • IO::Socket
  • Proc::PID::File;

Lizenz

GPL V3

ipwewd wurde unter der General Public License (GPL) veröffentlicht.

Changes:

Version 1.2 (23.08.2008) - Regen-Sofortmeldung + PID
Das Datensatzformat hat sich leicht geändert. Es wurde ein neues Feld "raining" (s.o.) angehängt. Es dient zur Sofortmeldung bei Regen.
Diese Version generiert ein  Prozess-Id-File wie es für UNIX-Daemons üblich ist. Dies ermöglicht vereinfachte Initskripte zum automatischen Start des Deamons.

Version 1.1 (15.08.2008) - CPU-Load und Networkload reduziert
Die Vorgängerversion prüfte den IPWE sekündlich auf neue Daten ab. Da der Sensor jedoch nur alle 150 Sekunden neue Daten an den IPWE liefert, macht eine sekündliche Abfrage keinen Sinn. Diese Version schläft für ca. 148 Sekunden nachdem sich die Daten aktualisiert haben. Hierdurch werden CPU- und Netzwerklast auf ein Minimum reduziert.

Version 1.0 (04.07.2008) - Veröffentlichtes Ursprungsrelease

Attachments:
Download this file (ipwewd.zip)ipwewd.zip[ipwewd Version 1.2]2 kB2016-02-22 20:35

Achtung: ELV hat den IPWE 1 leider nicht mehr im Sortiment. Er ist zwischenzeitlich nicht mehr erhältlich (Stand 25.10.2014).

 

Der IP-Wetterdatenempfängers IPWE 1 besitzt einen integrierten Webserver über den die aktuellen Informationen bezüglich Außentemperatur, Windstärke, Luftfeuchtigkeit und Niederschlagsmenge mittels Browserzugriff abgefragt werden können. Weiterhin hält der IPWE 1 die letzten 5 Datensätze zum Abruf bereit, die von den jeweiligen Außensensoren empfangen wurden. Ebenfalls implementiert ist ein Telnet-Server, welcher dieselben Informationen über das Telnet-Protokoll zugänglich macht. Der IPWE 1 ist (leider nur) als Bausatz über das Elektronikversandhaus ELV erhältlich.

IP-Wetterdatenempänger IPWE 1

BILD 1: IP-Wetterdatenempfänger

Funktionsweise

Die Wetterdaten erhält der IPWE 1 über ein Funksignal im 868 MHz-Bereich von einem oder mehreren Außensensoren. Erwähnt werden soll hierbei der Kombisensor KS 300, der Außentemperatur, Windstärke, Luftfeuchtigkeit und Niederschlagsmengen erfasst und die gemessenen Werte ca. alle 150 Sekunden aussendet.
Die Reichweite beträgt laut Herstellerangaben im Freien ca. 100m. Als Empfangsmodul kommt ein Überlagerungsempfänger zum Einsatz. Wenn höhere Reichweiten erzielt werden sollen oder wenn eine Empfangsverbesserung innerhalb von Räumlichkeiten notwendig ist, kann der Überlagerungsempfänger möglicherweise durch ein Superhet-Empfangsmodul ausgetauscht werden. Ausprobiert habe ich das allerdings nicht. Hier wäre ich für Erfahrungen dankbar.
Die Außensensoren sind batteriebetrieben, so dass auf das Verlegen von Leitungen verzichtet werden kann. Der IPWE 1 wird über ein Steckernetzteil mit Strom versorgt.
Die IP-Addresse kann fest auf dem Gerät eingestellt oder über einen DHCP-Server bezogen werden. Da das Gerät gewissermaßen als Server agiert, sollte im DHCP-Betrieb der DHCP-Server immer dieselbe IP-Addresse für den IPWE 1 vergeben.

Wissenswertes vor dem Kauf 

Über die Meinung des Herstellers "Ein Telnet-Server sorgt zusätzlich für einen einfachen Zugriff per Kommandozeile, so kann der IPWE 1 auch in eigene Softwareprojekte eingebunden werden" lässt sich streiten. Zwar funktioniert der interaktive Zugriff über "telnet" einwandfrei, die Schwierigkeiten treten jedoch auf, sobald über eigene Programme der Telnet-Server automatisiert abgefragt werden soll. Dieser verhält sich nämlich nicht wie ein üblicher Telnet-Dienst unter UNIX bzw. Linux, sondern scheint ziemlich exotisch implementiert worden zu sein. Weiterhin ist die Implementierung einer Programmierschnittstelle über Telnet nicht gerade als gelungen zu bezeichnen. Glücklicherweise braucht ihr euch mit diesem Manko nicht herumschlagen, wenn ihr unseren ipwewd-Dämon zum Abholen der Daten verwendet. Die Funktionsweise des ipwewd ist in einem eigenen Artikel beschrieben.

Wirklich unschön ist, dass es derzeit keine Funksensorsen für Windrichtung, Luftdruck und Helligkeit gibt, die ihre Daten an den IPWE 1 übertragen könnten. Demzufolge ist auch die eingebrannte Software nicht für die Auswertung solcher Sensoren ausgelegt.
Wer mit diesen Einschränkungen leben kann, ist dennoch mit dem IPWE 1 gut bedient, da sich die generierten Daten über ein Netzwerk an weitere Computersysteme übertragen und in beliebiger Art und Weise weiterverarbeiten lassen. 

Wer sich den IPWE 1 kaufen möchte, braucht auch Funksensoren, die die Daten erfassen und an diesen übermitteln. Die günstigte und flexibelste Lösung scheint hier der Kombisensor KS 300 zu sein. Bitte hierbei beachten, dass dieser Kombisensor einzeln (als Bausatz) erhältlich ist, aber auch als Paket zusammen mit einer Wetterstation WS 300. Das Paket hat einerseits einen wesentlichen Preisvorteil gegenüber dem alleinigen Kauf des Kombisensors, außerdem ist er hierbei bereits fertig montiert.

Hinweise zum Bau des IPWE 1

Alle SMD Bauteile sind bereits vorbestückt, so dass sich der Aufbau auf das Bestücken der ca. 20 konventionellen Bauteile beschränkt. In erster Line handelt es sich hierbei um Elektrolytkondensatoren, Quarze, Buchsen, Taster und das Empfangsmodul. Die notwendigen Werkzeuge beschränken sich auf einen Mikroschneider oder einen kleinen Seitenschneider, einer Spitzange sowie Lötkolben und Lötzinn.

Leiterplatte des IPWE 1

Bild 2: IPWE 1 im fertig bestückten Zustand

Da die Lötaugen verhältnismäßig klein sind, ist ein wenig Übung im Umgang mit dem Lötkolben erforderlich. Empfehlenswert sind dünne Lötspitzen und entsprechendes Lötzinn. Ein paar Grundlagen über elektronische Bauelemente schaden auch nicht - zumindest sollte man gepolte Bauteile von ungepolten unterscheiden können.

Das aus Plexiglas bestehende Gehäuse nimmt die Leiterplatte stabil ohne zusätzliche Verschraubungen auf.

 

Sonstiges

Die Bauanleitung mit weiteren technischen Informationen inklusive Schaltplan steht unter www.elv.de zum Download zur Verfügung. Ebenfalls dort zu finden sind die Beschreibungen zu den optionalen Komponenten.

Leiterplatte des IPWE 1

Bild 3: IPWE 1 Rückseite (im Gehäuse)

Erforderliche Komponenten:

1 x IP-Wetterdatenempfänger IPWE 1 Komplettbausatz
1 x Steckernetzteil (6V - 9V)

Optionale Komponenten:

Funk-Kombi-Sensor KS 200/KS 300,
Funk-Innen-/Außensensor S 300 IA,
Funk-Temperatur-/Luftfeuchtesensor ASH 2200,
Pool-Sensor PS 50
Wetterstation WS 300 (für den Betrieb des IPWE 1 nicht erforderlich). 

ipwewd und IPWE.pm

Zur automatischen Übertragung der Wetterdaten auf den PC ist auf unserer Homepage das Tool "ipwewd" (IPWE Daemon for Web Access)" erhältlich. Seit kurzem gibt es auch das Perl-Modul IPWE.pm. Dieses Modul bietet über eine objektorientierte API einfachen Zugriff auf die Informationen des IPWE 1. Nähere Infos sind in den zugehörigen Artikeln zu finden.

 

Überblick 

Um Uhrzeit und Datum auf den Bus zu bringen, ist keine physikalische EIB-Funkuhr notwendig. eibtime.pl wandelt die Systemzeit eines Linux-PCs in ein EIB-kompatibles Format um und schickt diese über EIBD auf zugehörige Gruppenadressen für Datum und Uhrzeit. Dies ermöglicht so die Anzeige der aktuellen Zeit- und Datumsinformationen auf Ausgabegeräten wie Infodisplays, Raumcontrollern usw.

Wer seinen PC / Server zudem noch von einem öffentlichen Zeitserver synchronisieren lässt, bekommt somit eine hochgenaue Uhrzeit, quasi ohne Investitionskosten, auf den Bus. Als Zeitserver empfiehlt sich pool.ntp.org.

Voraussetzungen

  • Linux Betriebssystem
  • Perl-Interpreter, Version nahezu egal
  • Martin Köglers EIBD von der TU Wien

Lizenz

 

eibtime.pl wurde unter der General Public License (GPL) veröffentlicht.

Attachments:
Download this file (eibtime.pl)eibtime.pl[Version 1.0b]1 kB2014-10-18 06:23