Schlagwort-Archive: Raspberry Pi

DS18B20 mit Openhab am Raspberry Pi: Von Bash zu Python

1
0

Werbung:

Stand der Dinge:

Nachdem ich mittlerweile alles ziemlich gut im Griff hatte, gab es immer wieder Punkte, die mich gestört haben. Zum Beispiel hatte ich die Onewire (1-Wire)-Sensoren vom Typ DS18B20 immer über ein Shellscript aufgerufen. Der im Netz zu findende Aufruf ist im Prinzip immer ähnlich und es gibt nur feine Nuancen die sich ändern. Das „klassische“ Beispiel ist folgende onewire.sh:

#Temperatur des Sensors auslesen
INPUT=`cat /sys/bus/w1/devices/$1/w1_slave | tail -n1 | cut -d '=' -f2`
TEMP=`echo "scale=2; $INPUT / 1000" | bc`

#INPUT=$(cat "/sys/bus/w1/devices/$1/w1_slave" |tail -n1 |cut -d\"=\" -f2)
#TEMP=$(echo "scale=2; $INPUT / 1000" | bc)

# Wert ausgeben
echo $TEMP

Erläuterung des klassischen Skripts:

Dabei wird per CAT-Befehl die Datei aufgerufen, in der derDS18B20- Sensor seinen Temperaturwert ablegt. Um das Skript nicht für jeden Sensor neu auflegen zu müssen wird die Sensornummer über einen Aufrufparameter an das Skript übergeben. Da jeder Sensor sein eigenes Verzeichnis hat kann der Übergabeparameter (im Skript ‚$1‘) also einfach in den Pfad eingefügt werden, die Datei mit dem Gewünschten Inhalt ist die „w1_slave“. Mit dem „tail“ Befehl wird die letzte Zeile der Datei ausgewählt und mit „cut“ Befehl alles nach dem „=“ Zeichen Ausgeschnitten und an die Variable „Input“ übergeben. Im nächsten Schritt wird die Zahl mit „scale“ und „bc“ noch etwas zurechtgestutzt, weil sie mehrstellig ist, aber der tatsächliche °C-Wert erst durch die Division mit 1000 erzeugt wird. Mit dem Echo wird das Ergebnis letztendlich ausgegeben.

Was das Problem ist:

So weit so gut. Aber dieses Shellskript hat einen kleinen Haken: Auf vielen Installationen von Openhab, besonders auf dem Raspberry Pi oft anzutreffen, liefert dieses Skript kein Ergebnis! Warum das so ist, liegt an den Dateirechten, die man nach jedem Neustart von Openhab neu setzen müsste. Das wäre zwar mit einer Zeile Code geregelt, aber was wenn man das mal Vergisst? Oder man möchte einfach das System so einfach wie möglich halten ohne zu viele kleine Anpassungen und Skripte zu schreiben, die dann bei einer Neuinstallation neu gelernt und erinnert werden müssen?

DS18B20 mit Openhab am Raspberry Pi: Von Bash zu Python weiterlesen

1
0

Raspberry Pi – Watchdog nutzen

0
0

Watchdog auf dem Raspberry Pi

Was ist ein Watchdog?

Ein Watchdog ist ein Wachhund. Besser als die Übersetzung des Namens, kann man seine Aufgabe auch gar nicht beschreiben. Er passt auf und führt für vorgegebene Szenarien festgelegte Schritte aus. Somit ist er ähnlich wie ein Cronjob, der regelmäßig bestimmte Dinge prüft und Aktionen durchführt, wenn Bedingungen nicht erfüllt sind.

Wie richte ich einen Watchdog auf dem Raspberry Pi ein?

Hardwareseitig bringt der Raspberry Pi alles mit was man braucht, der Watchdog ist auf dem BCM2708 des Raspberry Pi schon verbaut. Dieser Chip – sofern er aktiviert ist, erkennt anhand von regelmäßigen Signalen des Watchdog Daemons, ob bestimmte Bedingungen erfüllt sind. Ist das System überlastet, bleiben beispielsweise die Signale aus und der Chip bootet das System neu. Es kann aber auch die Temperatur oder ähnliches überwacht werden.

In diesem Beispiel werden wir einen einfachen Watchdog erstellen, der im Abstand von einer Minute checkt ob das System noch reagiert oder nicht.

sudo modprobe bcm2708_wdog
echo "bcm2708_wdog" | sudo tee -a /etc/modules
sudo apt-get install watchdog

Damit wird erstmal das Kernelmodul geladen um den Chip zu aktivieren, danach wird der deamon geladen. Diesen werden wir jetzt konfigurieren:

sudo nano /etc/watchdog.conf

Jetzt muss die Datei noch angepasst werden. Wir sehen im ersten Schritt zunächst, dass die Datei viele Einträge enthält, die mit einem Doppelkreuz (#) auskommentiert sind. Um den Wachhund in Zukunft „scharf“ zu schalten entfernen wir das Doppelkreuz vor folgenden beiden Einträgen und passen ggf. die Zeichen nach dem Gleichheitszeichen an:

watchdog-device        = /dev/watchdog
max-load-1             = 24

Mit watchdog-device wird das Watchdogziel angegeben, max-load-1 hat den Hintergrund, dass der Test im Zeitraum von 1 Minute durchgeführt wird. max-load-5 wären 5 Minuten.

Ist dieser Schritt abgeschlossen, kommen wir zum wichtigsten Schritt:

sudo /etc/init.d/watchdog restart

Jetzt wird das System automatisch neu gestartet wenn das System überlastet ist.

Eine ganz gute Übersicht findet man in den einschlägigen man-pages oder z.B. hier.

0
0

Fernzugriff auf den Raspberry Pi – Teil 8 (Den Raspberry Hardwareseitig absichern)

0
0

Hardwareseitige Absicherung? Damit meine ich nicht, den Raspberry Pi weg zu schließen um ihn vor physischem Zugriff zu schützen (auch wenn das eine gute Methode ist um die Sicherheit zu erhöhen, weil die Gefahr gerne unterschätzt wird).

Tatsächlich geht es mir um die Erhöhung der Ausfallsicherheit des Raspberry Pi und die Konfiguration um einen Serverbetrieb aufrecht zu erhalten.

Fernzugriff auf den Raspberry Pi – Teil 8 (Den Raspberry Hardwareseitig absichern) weiterlesen

0
0

Fernzugriff auf den Raspberry Pi – Teil 5 (FTP – Die eigene Dokumentenverwaltung)

0
0

Der eigene FTP-Server

Einen eigenen FTP-Server zu betreiben ist gar nicht so schwer, wie man glauben könnte. Auch hier geht die Installation sehr einfach.

Aber wozu braucht man einen FTP-Server überhaupt?

Wann immer man Dateien, egal welche, kopieren, bearbeiten oder Sichern möchte und zusätzlich von verschiedenen Geräten, oder sogar vom Internet aus darauf zugreifen möchte, ist es hilfreich, beziehungsweise unumgänglich, einen Speicher rund um die Uhr, also im 24/7 betieb verfügbar zu haben. Hat man einen eigenen Webserver ist ftp eine super Lösung um seine Dateien zu aktualisieren oder zu erweitern. Weiter kann man so anderen Leuten schnell Zugriff auf Dokumente geben und man kann auf den lahmen Versand via E-Mail verzichten. (Angemerkt sei: E-Mail wurde niemals dafür entwickelt, große Dateien hin und her zu schicken. Dafür ist das Protokoll vollkommen ungeeignet).
Der FTP-Server bietet einem den Dateizugriff fast so an, wie man es von seinem lokalen Dateisystem gewohnt ist Fast, weil durch die Sicherheitsaspekte wird es nicht ganz so komfortabel, aber das ist zu verschmerzen.

Fernzugriff auf den Raspberry Pi – Teil 5 (FTP – Die eigene Dokumentenverwaltung) weiterlesen

0
0

Fernzugriff auf den Raspberry Pi – Teil 3 (SSH – Secure Shell)

1
0

Die einfachste Variante: SSH

Die fiese Konsole – Manche lieben sie, manche hassen sie… ich finde sie nützlich für das was ich tun will

SSH auf dem Raspberry installieren/aktivieren

Mittels der Secure Shell ist es möglich auf den Raspberry Pi zuzugreifen und die wichtigsten Dinge zu erledigen. Die aktuelle Raspian (Debian für den Raspberry Pi) Distribution (im November 2014) bringt schon alles mit, was man hierfür benötigt. Noch sollte der Raspi aber direkt ansprechbar sein, also über HDMI mit einem Display und mit mindestens einem USB-Keyboard, besser noch Maus ausgestattet sein.

Fernzugriff auf den Raspberry Pi – Teil 3 (SSH – Secure Shell) weiterlesen

1
0

Fernzugriff auf den Raspberry Pi – Teil 2 (Technische Grundlagen)

0
0

Die Technische Seite / Umsetzung

Prinzipiell wird man immer über eine Art Netzwerk auf ein entferntes Gerät zugreifen, das kann ein Mobilfunknetz (über GPRS,EDGE,UMTS,LTE…), ein WLAN (Wireless local area network also „kabelloses lokales Netzwerk“ oder auch ein LAN sein. Mit hoher Wahrscheinlichkeit wird man also auch eine Verbindung über das „Internet“ benutzen (selbst wenn es ein Heimnetzwerk ist… die Unterschiede sind gar nicht so groß wie viele annehmen). Da zur Zeit Raspian eine der am meisten benutzen „Distributionen“, also eine Betriebssystemvariante – hier Debian Linux – die speziell auf den Rasperry Pi erstellt, ist, werde ich im weiteren auch davon ausgehen, dass Raspian in einer halbwegs aktuellen Version Verwendung findet.

Den im Netzwerk angeschlossenen Raspberry wiederfinden!

Um zu verstehen, wie man den Pi wiederfindet und warum es so kompliziert werden kann, muss man ein paar Dinge über Netzwerke wissen.

Fernzugriff auf den Raspberry Pi – Teil 2 (Technische Grundlagen) weiterlesen

0
0

Fernzugriff auf den Raspberry Pi – Teil 1

0
0

Grundlagen

Was ist Fernzugriff?

Der Raspberry Pi mit Tastatur, Maus und an einen Fernseher, Display oder Monitor angeschlossen ist eine feine Sache! Was aber wenn er am Dachboden hängt oder im Keller platziert ist um dort vielleicht Messaufgaben oder Serveraufgaben wahrzunehmen? Dort hat man oft keine Tastatur, Maus oder Display zur Hand.  Man muss also den Raspberry auch ohne diese Dinge – aus der Ferne – ansprechen können.
Die Idee ist also, von einem anderen Rechner im Netzwerk auf den Raspberry so zuzugreifen bzw. ihn bedienen, als wäre er direkt neben einem „wie gewohnt“ verbunden.

Womit werde ich es zu tun bekommen und mit was muss ich mich anfreunden?

Hierzu gibt es unterschiedliche Techniken, jede hat ihre Vor- und Nachteile, aber in der Regel, kann man davon ausgehen, dass es gewisse komforteinschränkungen gibt und auch nicht alles immer mit nur einem Tool/Werkzeug zu erledigen ist.

Fernzugriff auf den Raspberry Pi – Teil 1 weiterlesen

0
0