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.
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 SubEinrichten 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.

















|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||