Casetop – Jedes Handy wird ein Laptop

computer

Jedes Mal wenn ich darüber nachdenke mir ein Tablet zu holen (das Touchpad im WSV mal außen vor) muss ich daran denken dass ja irgendwie nur eine große Version meines Handys ist; Wenn ich dafür einen größeren Bildschirm hätte könnte ich mir die doppelte Hardware eigentlich sparen.
Auch Ubuntu bestätigt meine Gedanken mit ihrem Spruch

In every dual-core phone, there’s a PC trying to get out.

, soweit ich weiß gibt es dieses Ubuntu for Android aber noch nicht, und Android ist zu Zeit auch nicht mein meist genutztes mobiles OS.

Und jetzt habe auf Twitter (zumindest glaube ich das) einen Link zu einem interessanten Kickstarter Projekt gefunden: Casetop – Every Phone Becomes a Laptop

HowTo Psensor Server + API nutzen

internet

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

sudo apt-add-repository ppa:jfi/ppa

die stabilen, oder

sudo apt-add-repository ppa:jfi/psensor-unstable

für die Entwicklungsversionen aus. Mit

sudo apt-get update
sudo apt-get install psensor-server

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

psensor-server

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:

start on runlevel [2345]
stop on shutdown
respawn
 
exec sudo -H -n -u USERNAME psensor-server

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:

[ { "id": "lmsensor acpitz-virtual-0 temp1", "name": "temp1", "type": 257, "min": 47,000000, "max": 48,000000, "last_measure": { "value": 48,000000, "time": 1308696973 } } ]

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:

Installation von Nginx mit PHP und MySQL unter Ubuntu/Debian ohne Lighthttpd/Spawn-fcgi

internet

Viele Anleitungen für Nginx die ich im Internet gefunden habe, sagen immer man soll sich das Spawn-fcgi Packet kompilieren, oder gleich Lighttpd für PHP installieren. Dabei gibts seit PHP 5.3.3 ein wunderschönes neues Feature: PHP-FPM! PHP-FPM ist eine alternative PHP FastCGI Implementation, mit einigen coolen Zusatzfeatures. Wer mehr Infos möchte, kann gerne die Seite von PHP-FPM besuchen.

Die folgende Installation wird auf einem jungfräulichen Ubuntu 10.04 durchgeführt. In etwa kann man das auf jede Debian Distribution projizieren.

Vorbereitung:

Als erstes müssen wir die eine Quelle hinzufügen, um an PHP-FPM zu kommen:

sudo apt-get install python-software-properties

sudo add-apt-repository ppa:nginx/php5.3

Wenn ihr wollt, könnt ihr auch die Launchpad Quelle von Nginx hinzufügen, um die neuste stabile Version von Nginx zu bekommen:

sudo add-apt-repository ppa:nginx/stable

Nach einen Update der Quellen…

sudo apt-get update

… können wir mit dem installieren unserer Packete anfangen:

sudo apt-get install nginx php5-cli php5-common php5-suhosin mysql-server

Denkt daran ein sichere root-Passwort festzulegen!

Und im 2. Schritt erst PHP-FPM um Probleme mit cli zu vermeiden

sudo apt-get install  php5-fpm php5-cgi

Eventuell erhaltet ihr die Fehlermeldung „[ERROR] [pool www] the chdir path ‚/var/www‘ does not exist or is not a directory“. Um das Problem zu beheben erstellt einfach der Ordner „/var/www“

nginx:

Startet nun den Server neu, und gebt eure IP in einen Browser ein. Wenn ihr ein

Welcome to nginx!

zusehen bekommen, läuft nginx!

Nun zu….

MySQL:

Den MySQL könnt ihr via

sudo service mysql start

starten. Um zu prüfen ob alles läuft, könnt ihr den Befehl

mysqladmin ping -p

verwende. Nach Eingeben eures Passwort für root, solltet ihr die Meldung „mysqld is alive“ zurück bekommen. Weiter gehts mit…

PHP:

Nun da nginx läuft, müssen ihm noch zeigen dass er PHP nutzen soll. Das machen wir indem wie die Rauten in der Datei „/etc/nginx/sites-available/default“ oder“ /etc/nginx/nginx.conf“ (je nach nginx Version) vor folgenden Zeilen entfernen:

location ~ .php$ {

fastcgi_pass 127.0.0.1:9000;

fastcgi_index index.php;

include fastcgi_params;

}

Nun noch den nginx via

sudo service nginx restart

neustarten, und wir sind fertig! Um zu prüfen ob nginx und php laufen, erstelle einfach eine index.php unter „/usr/share/nginx/www/“ oder „/var/www/“ (je nach Version) mit folgendem Inhalt:

<?php
phpinfo();
?>
und ruft diese Datei in einem Browser auf. Wenn ihr in etwa sowas seht:
Screenshot 2011 03 18 15h 53m 19s

… läuft PHP erfolgreich!

Mit nginx , PHP und MySQL steht euren Web-Projekten nun nix mehr im Wege. Das ganze könnt ihr noch konfigurieren, das würde allerdings den Rahmen dieser Anleitung sprengen. Anfänger fangen zB hier mit nginx an, php etc sollte man erst konfigurieren wenn man sich ein bisschen eingearbeitet hat.

Danke an interfacelab.com und howtoforge.com die mir beim Erstellen dieser Anleitung hilfreich waren!

Fragen und Anregungen gerne in die Kommentare posten 🙂

 

Updates:

  1. PPA für 5.3 eingefügt