pattyland's Blog

Alles was einen Stecker hat und mehr kann als waschen…

HowTo Psensor Server + API nutzen

| 1 Kommentar

Psensor ist ein grafischer Temperatur Monitor für Linux von wpitchoune.net. Psensor gibt es, wenig dokumentiert, aber auch in einer Server Version, um die Temperatur auch aus der Ferne überwachen zu können. Da ich gerade überlege einen Homeserver zu basteln, wollte ich dieses Feature mal ausprobieren. Im folgenden möchte ich kurz zeigen wie Psensor Server und die API unter Ubuntu 11.04 installiert und genutzt werden können.

Voraussetzt das LM-Sensors installiert und eingerichtet ist. Dazu gibt es bereits vielen Anleitungen, zB im ubuntuusers Wiki.

Von Psensor gibt es 2 PPA’s, eins mit den stabilen und eins mit den Entwicklungsversionen, je nachdem was ihr möchtet ihr entweder

die stabilen, oder

für die Entwicklungsversionen aus. Mit

wird der Server installiert. Ihr könnt den Server jetzt mit

starten. Sinnvoll ist es aber einen Eintrag unter /etc/init/psensor-server.conf anzulegen, um den Server bei jedem Boot automatisch zu starten. Ein Beispieleintrag sieht so aus:

So wird der Server beim erreichen der Runlevel 2-5 automatisch von UpStart unter den Usernamen „USERNAME“ (hier natürlich euren Namen eintragen) gestartet, gestoppt wenn das System runterfährt und neugestartet falls er abstürtzt.

 

Nachdem der Server nun läuft, könnt ihr über die Adresse http://hostname:3131/monitor.lua die Uptime, Auslastung und natürlich Temperaturen, Drehzahlen und alles was LM-Sensors sonst noch so auslesen kann, einsehen. Standardmäßig werden die Werte alle 5 Sekunden aktualisiert. So sieht die Seite bei mir aus:

Psensor Monitoring Page

Die Anzahl der LM-Sensor kompatiblen Sensoren und Lüfter hält sich wie man sieht bei mir in Grenzen. 😉  Je nach Komponenten sieht hier deutlich mehr. Diese Seite sollte nicht öffentlich zugänglich gemacht, da dieser mini Webserver überhaupt keinen Schutz von irgendwelchen Angriffen bietet. Für diesen Zweck hat der Entwicker eine API entwickelt, die uns alle relevanten Daten im JSON Format liefert.

Die API ist unter http://hostname:3131/api/1.0/sensors erreichbar, und liefert in meinen Beispiel folgenden zurück:

Eine ID des Sensors, einen Namen, einen Typ, die minimale und maximale Temperatur und die letzte Messung mit Temperatur und Zeit. Mit JavaScript oder PHP könnte man dieses JSON Dokument laden und dann auf seine Homepage ausgeben. Als kleines Beispiel habe ich eine kleine iPhone WebApp entwickelt, die mit Ajax die Werte von der Psensor Server API ausließt, und iPhone optimiert ausgibt:

Links:

Autor: Sören Müller

I'm a 25 years old software developer from Germany. I ♥ the things of the internet and the internet of things.

Ein Kommentar

  1. Nice IPhone client! 🙂

    FYI, you can convert easily the numeric type of the sensor into a string, the constants are defined by:
    http://wpitchoune.net/svnpub/psensor/trunk/src/lib/psensor.h (the enum psensor_type at the begining of the header file).

    I am not sure because I had to use google translate to read your article but it seems that you complain about the lack of documentation. Feel free to send me an email if you have a question.

Schreibe einen Kommentar

Pflichtfelder sind mit * markiert.