TEMPer class

Reads measured values from USB TEMPer thermometers and hygrometers.

Archived content: This source code is currently inactive and may be outdated or no longer maintained or functional.

Das Problem

Die Firma PCsensor bietet in ihrem Online-Shop oder auf eBay kostengünstige Temperatur- und Luftfeuchtesensoren unter dem Namen „TEMPer“ für den USB-Anschluss an. Die sind sehr praktisch, um den PC zur Überwachung von Temperaturen einzusetzen. Leider ist die mitgelieferte Software wirklich nicht besonders ansprechend (ihr chinesischer Ursprung ist unübersehbar) und viel mehr als das Protokollieren von Messwerten in eine CSV-Datei und eine mehr oder weniger übersichtliche Diagrammdarstellung bietet das bunte Fenster nicht an.

Da ich diesen Sensor aber zur Raumklima-Überwachung mit meinem eigenen Monitoring-Programm einsetzen wollte, musste ein eigener .NET-Adapter dafür her. Glücklicherweise ist das mitgelieferte Programm ebenfalls eine .NET-Anwendung, so dass ich recht einfach herausfinden konnte, wie der Zugriff funktioniert. (Der Hersteller wollte mir das auf Anfrage nicht verraten und hat gar nicht geantwortet.) Dafür wird zusätzlich eine mitgelieferte DLL benötigt, die den USB-HID-Code enthält, um mit dem Sensor zu kommunizieren.

Die Lösung

Diese TEMPer-Klasse unterstützt zwei verschiedene Sensortypen: TEMPer1 und TEMPerHUM. Beide Sensoren benötigen jeweils eine andere DLL, die verschiedene Schnittstellen anbietet. Diese Unterscheidung ist bereits in der TEMPer-Klasse integriert, so dass hier mit einer Schnittstelle beide Gerätetypen unkompliziert verwendet werden können. Die ebenfalls von dieser Firma angebotenen 1-Wire-Produkte werden von dieser Klasse nicht unterstützt!

Die genaue Verwendung ist am besten in der Beispielanwendung zu sehen, die ebenfalls zum Download verfügbar ist.

Compatibility: .NET Version 2.0 or newer

TODO: Erwähnen, dass es nur mit x86-Prozessen funktioniert

Download

TEMPer.cs22.1 KiBQuelltext der TEMPer-Klasse

TempTest.7z79 KiBQuelltext der Beispielanwendung inkl. DLLs

Licence and terms of use

Copying and distribution of this file, with or without modification, are permitted provided the copyright notice and this notice are preserved. This file is offered as-is, without any warranty. (GNU All-Permissive licence)

Statistic data

  • Created on 2011-06-30, updated on 2011-08-19.
  • Ca. 250 lines of code, estimated development costs: 250 - 1 000 €