Thomas Risi Softwareentwicklung

Die Wetterstation WMR100
Downloads usbwmr.dll + wmrdatenlogger.xls
Zur Ausführung benötigen Sie die VB6-Laufzeitbibliotheken sofern noch nicht auf Ihrem System verfügbar.

Um was geht's?

Vor Kurzem bin ich, per Online-Auktion, günstig zu einer Wetterstation vom Typ WMR100 der Firma Oregon Scientific gekommen. Naja, eigentlich hat mich dieses Thema nie sonderlich interesssiert, zumindest nicht privat. Aber es ist doch ganz nützlich, wenn man weiß wie warm es gerade auf der Terrasse ist.

Die Wetterstation, oder genauer, das Wettermeß-System, besteht aus einer Basisstation mit LCD-Anzeige und integriertem Temperatur/Feuchte-Sensor. Zudem gibt es einen Windmesser, ebenfalls mit Temperatur/Feuchte-Sensor, und einen Regenmesser, die ihre Daten per Funk an der Basisstation abliefern. Desweiteren besteht die Möglichkeit, das Gerät mit weiteren Sensoren (bis zu 10) für Temperatur/Feuchte oder UVI auszustatten. Ich habe mir noch zusätzliche T/F-Sensoren und einen UV-Sensor besorgt. Einige Temperaturfühler befinden sich in Räumen, und je einer in Kühlschrank und Gefriertruhe im Einsatz ;-)

Die Basisstation kann ihre gesammelten Daten über einen USB-Anschluß an einen Computer schicken. Und diese Daten können dann von einer geeigneten Software verwendet werden. Und das ist eigentlich auch der Grund, warum dieser Artikel auf meiner Webseite zu finden ist. Die verfügbare Software hat mich nämlich nicht überzeugt. Deshalb habe ich mir ein eigenes Programm erstellt, das die Daten der Wetterstation zur weiteren Nutzung anbietet. Eine Möglichkeit wäre z.B. eine Einbindung in die Lufttechnische Arbeitsmappe. Es gibt sicher viele nützliche Anwendungen für ein derartiges Programm, und mit etwas Programmierkenntnis können Sie es in Ihren eigenen Anwendungen (z.B. Excel, Word, .Net, usw.) verwenden. Sie können sich das Programm Downloaden und die Verwendung ist kostenfrei.


Wie funktioniert's?

Das Programm ist mit VB6 (VB Classic) erstellt, und in eine COM+ DLL kompiliert. Es muß zwingend als COM+-Anwendung verwendet werden. Und wie das funktioniert ist weiter unten ausführlich beschrieben. Sobald die Anwendung läuft, greift sie den USB-Stream der Basisstation ab und wertet diesen aus. Die Daten der Wetterstation treffen in ziemlich unregelmäßigen Abständen ein, und bei manchen Daten dauert es etwas länger bis sie geliefert werden. Da es keine Dokumentation hierzu gibt, mußte ich erst die richtigen Informationen aus dem Datenstream raussuchen. War nicht einfach, aber die meisten habe ich wohl gefunden.

Folgende Informationen werden ausgegeben ...


Im Download befindet sich eine Excel-Beispieldatei wmrdatenlogger.xls, die die Daten von T/F-Sensor1 mitschreibt. Hier der Quellcode der Beispieldatei ...

Option Explicit Private WithEvents wmr As usbwmr.wmr100 Private Sub Workbook_Open() ' Verweis auf usbwmr muß gesetzt sein Set wmr = CreateObject("usbwmr.wmr100") ' Den Datenbereich zuerst löschen ThisWorkbook.Worksheets("Tabelle1").Range("A2:C65536").Clear End Sub ' Sobald neue Daten verfügbar sind wird das Event getriggert Private Sub wmr_NewData(s As String) On Error Resume Next Const SensorID = 1 Dim h() As Double: h = wmr.Humidity Dim t() As Double: t = wmr.Temperature Dim rng As Range ' Temperatur/Feuchte Sensor 1 If t(SensorID) <> 0 Or h(SensorID) <> 0 Then Set rng = ThisWorkbook.Worksheets("Tabelle1").Cells(Rows.Count, 1).End(xlUp) If t(SensorID) <> rng.Offset(0, 1) Or h(SensorID) <> rng.Offset(0, 2) Then rng.Offset(1, 0) = Time rng.Offset(1, 1) = t(SensorID) rng.Offset(1, 2) = h(SensorID) End If End If End Sub

Einrichten der COM+-Anwendung

Ich weiß natürlich, das der eine oder andere von COM+ noch nie gehört hat. Aber jeder hat es auf seinem Windows-System. Und da ich auf einen Installer verzichtet habe (ist ja nur eine Datei) werde ich Ihnen den Weg zur COM+-Anwendung erklären. Um die Schritte nachzuvollziehen müssen Sie mit Administratorrechten am System angemeldet sein. Für die spätere Verwendung ist das aber nicht erforderlich.

Entpacken Sie das Zip-Archiv in ein beliebiges Verzeichnis.

Kopieren Sie die Datei usbwmr.dll in das Windows-Systemverzeichnis. Drücken Sie hierzu auf 'Start/Ausführen ...', und geben dort '%windir%\system32' ein und klicken dann auf OK.

Bild 0

Klicken Sie auf 'Start/Ausführen ...' (oder 'Win + R'), geben dann 'dcomcnfg' ein und auf OK klicken.

Bild 1

Die Konsole für die Komponentendienste öffnet sich. Klicken Sie sich auf der linken Seite bis zu 'COM+-Anwendungen' durch.

Bild 2

Erstellen Sie eine neue COM+-Anwendung. Selektieren Sie links den Punkt 'COM+-Applikation', dann einen Rechtsklick und 'Neu/Anwendung' anklicken.

Bild 3

Ein Assistent begrüßt Sie. Klicken Sie dann auf Weiter.

Bild 4

Klicken Sie jetzt auf 'Eine leere Anwendung erstellen'.

Bild 5

Geben Sie einen Namen für die Anwendung an, z.B. WMR100. Selektieren Sie dann 'Aktivierungstyp/Serveranwendung', und klicken auf 'Weiter'.

Bild 6

Legen Sie als Anwendungsidentität 'Interaktiver Benutzer' fest. Das können später ggf. wieder ändern. Klicken Sie auf 'Weiter'.

Bild 7

So, damit ist der Assistent zufrieden. Wenn Sie auf 'Fertig stellen' klicken, wird eine neue COM+-Anwendung erstellt.

Bild 8

Die neue COM+-Anwendung namens WMR100 erscheint bereits neben den anderen COM+-Anwendungen.

Bild 9

Doch damit ist die Sache noch nicht ausgestanden, denn es ist noch keine Komponente enthalten. Bei der Komponente handelt es sich um unsere 'usbwmr.dll', die jetzt eingefügt werden muß. Erweitern Sie hierzu auf der linken Seite den Eintrag WMR100 und klicken auf 'Komponenten/Neu/Komponente'.

Bild 10

Es meldet sich nun ein anderer Assistent, der Ihnen bei der Installation der Komponente behilflich ist. Klicken Sie auf 'Weiter'.

Bild 11

Klicken Sie auf 'Neue Komponente(n) installieren'.

Bild 12

Suchen Sie jetzt nach der Datei usbwmr.dll, die Sie im ersten Schritt in das Windows-Systemverzeichnis kopiert hatten. Wählen Sie sie aus, und klicken auf 'Öffnen'.

Bild 13

Kontrollieren Sie noch mal, und klicken Sie auf 'Weiter'.

Bild 14

Fast ist es vollbracht. Klicken Sie auf 'Fertig stellen'.

Bild 15

Damit ist unser Programm einsatzbereit. Wenn Sie jetzt die Beispieldatei wmrdatenlogger.xls starten, und das Symbol (Kugel in Schachtel) beobachten, wird die Kugel anfangen sich zu drehen. Unsere COM+-Anwendung läuft. Es kann aber einen Moment dauern, bis die ersten Daten da sind. Wie gesagt, läßt sich die Basisstation etwas Zeit.

Bild 16

Bewerten Sie bitte dieses Programm.
1 2 3 4 5
Weniger nützlich Sehr nützlich
Bitte teilen Sie uns mit, warum Sie das Programm so bewertet haben. (optional)