USB-Thermomether TEMPer1 mit dem Raspberry auslesen

 

temper1

 

 

Auch wenn mein USB-Thermometer aus diesem Beitrag mittlerweile in die Jahre gekommen ist und ich die im Beitrag vorgestellte Technik nicht mehr einsetze, wäre es zu schade, das Gerät unbenutzt in der Ecke liegen zu lassen. Daher  suchte ich nach einer Möglichkeit, dieses Thermometer auch auf dem Raspberry Pi einzusetzen und von dort die Temperaturen auszulesen.

Aktualisierung
Mittlerweile benutze ich die TEMPer1-Sensoren gar nicht mehr, da ich diese durch DS18B20-Sensoren abgelöst habe.
Dieser Artikel zeigt das Anschließen und den Betrieb an einem Raspberry Pi.

 

Gefunden habe ich viele Scripts bzw. Programme, jedoch wollte keins von denen recht zuverlässig arbeiten. Als wirklich erfolgsversprechend stellte sich ein Perl::Modul heraus, dass speziell für dieses Thermometer entwickelt wurde.

Wie „Device::USB::PCSensor::HidTEMPer::TEMPer::Internal“ installiert und genutzt wird, zeige ich in diesem Beitrag.

 

 

1. USB-Thermometer anschließen
Zunächst sollte natürlich das Thermometer an dem Raspberry angeschlossen werden. Entweder nutzt man dazu einen der beiden USB-Ports, falls ein solcher noch nicht belegt sein sollte. Oder man expandiert die Anschlüsse mittels USB-Hub, welcher jedoch zwingend über eine eigene Stromversorgung verfügen sollte.

Nach dem Anschließen sollte darüber Ereignismeldungen, angezeigt mittels

dmesg

erscheinen, die wie etwa so aussehen könnte:

 

dmesg

 

Das sagt uns, dass zumindest die Erkennung des USB-Geräts erfolgreich war.

 

 

2. System aktualisieren
Wie immer aktualisieren wir zunächst als Nutzer „root“ unseren Raspberry, um mit den aktuellsten Paketen arbeiten zu können. Dazu wie auch in allen anderen Raspberry-Beiträgen:

apt-get update
apt-get upgrade

 

 

2. Perl-Pakete und ihre Abhängigkeiten installieren
Die folgende Zeile installiert die notwendigen Pakete sowie die Abhängigkeiten.

apt-get install libusb-dev build-essential libusb-1.0.0 libinline-perl libdevice-usb-pcsensor-hidtemper-perl

 

 

3. Das Perl-Script
Das folgende Script läd alle notwendigen Bibliotheken und liest aus dem angeschlossenen Thermometer die interne Temperatur in der Einheit Celsius aus.

#!/usr/bin/perl
use strict;
use warnings;
use Device::USB::PCSensor::HidTEMPer;
my $pcsensor = Device::USB::PCSensor::HidTEMPer->new();
my @devices = $pcsensor->list_devices();
foreach my $device ( @devices ){
   print $device->internal()->celsius() if defined $device->internal();
}

Entweder führt man das Script nun via

perl scriptname.pl

aus, oder fügt der Datei das Attribut des „ausführbar seins“ hinzu:

chmod +x scriptname.pl

In diesem Fall würde ein

./scriptname.pl

bzw.

/pfad/zu/scriptname.pl

reichen.

perlausgabe

 

Nun könnte man sich an dem erfolgreichen Ergebnis erfreuen, oder die Werte mit anderen Scripts weiterverarbeiten. Eine Möglichkeit dazu wäre openHAB, um sich stets die aktuelle Temperatur auf einem externen Gerät anzeigen zu lassen.