PHP und sudo

Wenn man Sensoren mit dem Raspberry übr eine PHP-Seite abfragen will, kommt man immer wieder in Konflikt mit den Benutzerrechten. Der Benutzer www-data, unter dem der Apache läuft und die PHP Seite somit ausgeführt wird, hat nicht genügend Rechte um die Abfrage auszuführen.

Ich zeige euch in diesem Artikel, was angepasst werden muss, damit der Benutzer www-data Sensoren abfragen kann.

Problem

Bestimmte Befehle auf der Kommandozeile lassen sich nur mit root Rechten ausführen. Dafür exisitiert der befehl sudo, mit dem ein Benutzer Befehlen mit root Rechten ausfühen kann. So ein Befehl ist zum Beispiel hostname. Mit diesem Befehl kann man den Namen des Rechners ändern. Wenn Sie den Befehl in der Konsole ausführen, wird ihnen der Name des Raspberry Pi ausgegeben. In der Regel ist das der Name raspberry. Also probieren wir mal den Befehl in einer PHP-Seite auf den Raspberry Pi auszuführen um den Rechnernamen in test zu ändern.

Wenn wir nun diese Seite im Browser aufrufen, sollte die Ausgabe raspberry raspberry sein. Der Rechnername worde also nicht geändert. Mehr Aufschluß gibt die Log Datei /var/log/apache2/error.log. Dort stehen nun ...  mehr lesen

Temperaturmessung mit DS18B20

Der Temperatursensor DS18B20 kann bei der vergossenen Ausführung, die für ca. 2,00 Euro erhältlich ist, auch zur Messung in feuchten Umgebungen eingesetzt werden. Er arbeitet im Gegensatz zu den Sensoren DHT22 und DHT11 mit dem 1-Wire-Bus. Das bedeutet, dass die Datenleitung zwingend an den GPIO Pin 7 (BMC 4 / WiringPi 7) angeschlossen werden muss. Wenn zusätzliche Sensoren angeschlossen sind, müssen diese einen anderen PIN nutzen.

Aufbau

In den Schaltbild ist ein unvergossender Temeratursensor abgebildet. Die Schaltung ist für einen vergossenen Sensor die Gleiche. Der Wiederstand hat einen Wert von 4,7K Ohm. Ohne diesen Wiederstand wird der Temperatursensor nicht erkannt. ...  mehr lesen

Internet of local Things

Mit dem Internet der Dinge (Internet of Things) können Sie von jedem Ort der Welt Geräte zu Hause steuern. So können Sie z.B. ein Heizugsthermometer mit dem Handy auf 23 Grad einstellen. Das möchte ich aber gar nicht. Ich möchte mit meinem Handy Geräte zu Hause nur über mein WLAN einstellen können. Das sind in erster Linie Geräte bei mir im Garten, wie Teichpumpen, Gartenbeleuchtung und Gartenbewässerung. Diese Geräte sollen sich nach bestimmten Regeln oder manuell ein- und ausschalten lassen und ich möchte die Möglichkeit haben den Status bestimmter Geräte auszulesen. ...  mehr lesen

Raspberry Pi SQLite Datenbank

Eine SQLite Datenbank ist auf einem Raspberry Pi eine alternative zur gebräuchlichen MySQL Datenbank.

Vorteile

  • Die Daten werden in einfachen Textdateien gespeichert
  • Verbraucht weniger Speicher
  • Keine ständig laufenden Serverprozesse, die konfiguriert, gestartet oder gestoppt werden müssen
  • Replkation durch Kopieren der Datenbank Dateien
  • Unterstützt große Teile des SQL Standards

Installation

Die Installation der SQLite Datenbank gestaltet sich auf einem Raspberry Pi sehr einfach. Einfach folgenden Befehl ausführen:

Nach der Installation kann man Datenbanken mit dem Befehl sqlite3 verwalten. Der Befehl sqlite3 test.db erstellt eine neue Datenbank test.db, wenn diese noch nicht vorhanden ist, und öffnet die Verwaltungskonsole von sqlite3. Innerhalb dieser Konsole können Sie SQL-Befehl an die Datenbank senden.Wenn kein Pfad zur Datenbank angegeben wird, wird diese in dem Verzeichnis erstellt, in dem Sie sich gerade befinden. ...  mehr lesen

Raspberry Pi 433 MHz – Teil 2

Einleitung

Im ersten Teil dieses Artikel habe ich gezeigt, wie man einen 433 MHz Temperatursensor einer Wetterstation auf dem Raspberry mit pilight auslesen kann. Doch nur das Auslesen mit dem Befehl pilight-receive ist ja nun nicht so richtig befriedigend. Wir wollen die Daten ja auch speichern und grafisch anzeigen lassen. Es existieren im Netz ein paar Beiträge zu diesem Thema, bei denen die Ausgabe des Befehls pilight-receive in einem Shellscript in eine Textdatei umgeleitet wird. Diese Script wird dann über einen Cron Job in definierten Zeitabständen aufgerufen. Die erzeugteTextdatei müsste man dann wiederum auslesen ,den Sensor mit den Werten identifizieren und die Daten z.B. in einer Datenbank oder einer CSV-Datei speichern. ...  mehr lesen

Raspberry Pi 433 MHz – Teil 1

Hardware

Man kann mit dem Raspberry Pi 433 MHz Signale sowohl empfangen als auch senden. Je nach Anwendungsfall gibt es dafür verschiedene Bibliotheken. Die Hardware, die benötigt wird, besteht aus einen 433MHz Empfänger und einen 433MHz Sender. Beide sind zusammmen für ein paar Euro erhältlich sind. Zusätzlich habe ich mir einen Funksender für eine Wetterstation bei PEARL bestellt. Dieser kostet ca. 4,00 € zuzüglich Versand.

433MHz Sender und Empfänger

433MHz Sender und Empfänger

Funksender Wetterstation

Funksender Wetterstation

Die Empfänger und Sender kosten als Paar nur etwa 2,00€, sind aber dementsprechend mit Vorsicht zu geniesen. Ich habe hier mehrere davon und musste feststellen, dass sie mal mehr und mal weniger funktionieren. Bei dem einen Enpfänger zeigt pilight überhaupt keine Daten an, bei dem zweiten nur einen Teil der Daten, und bei einem baugleichen dritten Empfänger alle Daten. Daher beschäftige ich mich im zweiten Teil dieses Artikel mit alternativen Empfängern und Sendern. ...  mehr lesen