Projekte mit ELV-WS300-Series Empfängern

Seit geraumer Zeit gibt es von ELV Wetterstationen und Sensoren, die im 868Mhz-Band senden. Diese Serie wird bei ELV mit WS300, bei Conrad mit WS555 bezeichnet. Damit kann man bis zu 8 externe Temperatursensoren der Typen S300TH,ASH2000,PS50 usw., einen Kombsensor und den eingebauten Innensensor der WS300(Temperatur+Luftdruck) nutzen. Der Kombisensor kann Windgeschwindigkeit, Regenmenge und Temperaturdaten senden (KS300).

S300TH
Eine Erfassung der Windrichtung oder der Helligkeit wie beim WS2500-System ist nicht vorgesehen. Für die Nutzung mit dem PC sind der Datenlogger WS300PC und der InternetWetterEmpfänger IPWE1 und seit März 2009 auch der USB-Empfänger WDE1 vorgesehen.

Die WS300PC ist eine im Display abgespeckte Version der WS300, aber mit USB Interface und wird mit einer Software für Windows (WeatherProfessional) geliefert, welche die Daten in einer lokalen Postgresql-DB ablegt. Die USB-Schnittstelle ist mit einem Standard-FTDI-Chip ausgestattet, allerdings ist, wie bei ELV üblich, das Schnittstellenprotokoll nicht offengelegt. Einige findige Bastler haben aber mittlerweile funktionierende Alternativlösungen im Internet veröffentlicht.
WS300PC

Der Wetterempfänger IPWE1 kann die gleichen externen Sensoren empfangen, hat aber keine eigenen Sensoren wie die WS300PC. Im Kern besteht er aus einer ARM7-Referenzimplementation mit Empfängermodul und Ethernetschnittstelle. Zur Übermittlung der empfangenen Daten wurde ein Mini-Webserver und ein Telnetinterface vorgesehen. Dazu wurden offenbar Komponenten aus der Entwicklungssuite von KEIL verwendet. Das Webinterface besitzt eine Statusseite mit allen aktuellen Messwerten sowie eine Historie für die letzten 5 Messwerte. Weiterhin können die Netzwerkkonfiguration (DHCP oder Statisch) und Namen für Sensoren eingestellt werden. Mehr nicht. Insbesondere kann das Layout nicht an den eigenen Geschmack angepasst werden.
Das Telnetinterface wird als "Highlight für Homeautomatition" angepriesen, ist aber meiner Meinung nach für diesen Zweck nur seeehr bedingt brauchbar. Zum einen muss man einen TelnetClient fernsteuern, der auch die Steuerzeichen versteht, dann kann man Kommandos nicht einfach automatisch absetzen, sondern muss pro Zeichen eine Pause von ca. 100ms machen und zuletzt werden einige Parameter und Ergebnisse als Binärzahlen erwartet und zurückgegeben. Das führt wiederum zur Kollision mit dem Telnetprotokoll, so das z.B. die Abfrage des Sensors 3 nachvollziehbar die Verbindung beendet. Bei Interesse kann ich ein Testprogramm in Perl anbieten. Eine Einfache TCP oder UDP-Connection wäre wesentlich einfacher gewesen.
Es ist nicht vorgesehen, die Firmware zu aktualisieren. Da aber alle dafür notwendigen Pins auf Steckerleisten geführt werden, kann man das Gerät wenigstens als günstiges ARM7-Entwicklungsplattform nehmen, wenn man nicht alle Ports des ARM braucht.
IPWE1
IPWE1 innen
IPWE1 Web Oberfläche
Ich habe ein einfaches Programm geschrieben, mit dem man die Status-Webseite automatisiert auslesen, mittels verschiedener regulärer Ausdrücke geparst und die Daten dann direkt oder über eine Textdatei weiterverarbeiten kann.
IPWE1 Gui
Das gleiche Prinzip wird auch bei meinem Modul WS300Series-Modul für IPSymcon angewendet. Das Programm mit einer GUI ipwe1gui.exe und eine reine Kommandozeilenversion für Windows ipwe1.exe kann man downloaden.

Der Wetterdaten-Empfänger WDE1 (siehe ELV-Journal 2/2009) ist im Gegensatz zu den bisherigen Empfängern für eigene Entwicklungen konzipert. Er besteht aus einer Empfangseinheit mit ATMega-Prozessor und einen abtrennbaren! USB-Seriellwandler mit Cyprus Chipsatz, welcher von Linux und von Windows unterstützt wird. Der WDE1 hat keinen eigenen Puffer, sondern sendet wie der ELV-Wetterdatenempfänger unmittelbar nach dem Empfang die Daten, aber in einem textbasierten, mit Semikolon getrennten "OpenLog"-Format. Die Auswertung ist deshalb besonders einfach. Nacteilig ist, das Konsolenprogramme immer die Schnittstelle pollen müsen, was zu einer hohen CPU-Last führt. In Windows kann man Events nutzen. Beispielhaft dafür habe ich ein Kommandozeilenprogramm und eine Gui-Version erstellt, welche die gleiche Logdatei wie für den IPWE1 erstellen.
(10.09.2010: mit Fix für negative Temperaturen)
WDE1
WDE1 innen
WDE1 GUI

Index
Disclaimer
© 2008-2010 Thomas Dreßler
Alle Rechte vorbehalten
letzte Änderung 10.09.2010