Raspberry Pi – oh wei

Raspberry Pi – oh wei

Raspberry Pi – oh wei

Spielen mit dem RaspberryPi

Bilderchen fehlen ja noch.
Der RaspberryPi ist eine Computerplatine, die einen energiesparenden Prozessor enthält und auf einen ganzen Teil eines normalen Computers verzichtet, dafür eine Reihe anderer Spielemöglichkeiten mitbringt.

Also probieren wir es. Wie es bei jedem Spiel so ist, Anleitungen sind rar, das heißt selten. Beim Computer kommt dann hinzu, sie enthalten nicht die aktuellsten Informationen.

Was man so braucht: ist zunächst den Raspberry (version 256 MB oder 512 MB), eine SD-Karte mit mindestens 4 GB, deren Geschwindigkeit nicht die obere Grenze leisten muß, die ergeben mitunter Schreib-/Leseprobleme. Eine Stromversorgung aus einem USB-Lader mit 5V 1A reicht völlig aus und liegt vielleicht schon von einer Kamera oder Handy herum. Der Stecker zum Raspberry ist Mikro-USB in der ovalen Ausführung,die leider wieder seltener sind.

Die Entscheidung fällt zugunsten der großen Version, da diese auch einen Ethernetanschluß mitbringt und man das Teil über ein Netzwerk ansprechen kann, was den Vorteil des Sparens mitbringt. Man braucht damit für den Computer keine Tastatur und keinen eigenen Monitor, wir steuern über Kabel. Überhaupt: Tastatur wird mit einem USB-Anschluß realisiert. Beim Monitor geht es über ein HDMI- oder Cinchkabel. Kein 9poliger VGA-Anschluß!

Und schon geht es los:
Ein Betriebssystem, die Software muß her. Glücklicherweise das richtige gewählt. Rasbian von der Seite http://www.raspberrypi.org/downloads.

Das Angebot „New out of thes Box Software“ offline und network install macht erst einmal Zicken. Schauen wir uns später genauer an, sind da doch mehrere Operationssysteme drin.

Rasbian ist ein Debian-Linux und bootet von der SD-Karte, wenn es denn erst einmal darauf ist. Dafür wird ein anderer Computer/Laptop mit (SD/MMC) Kartenleser gebraucht, die Schreibsoftware wird für Windows zur Verfügung gestellt. Wer so etwas nicht hat, der kauft eben den Chip mit Rasbian drauf, kostet auch nicht die Welt und einen Chip braucht man ohnehin, wo soll der Pi sonst etwas abspeichern?

Bevor es nun wirklich los geht, brauchen wir noch ein kleines Progrämmchen, welches eine Ferntastatur für Windows bietet. Gibt es auch bei Raspberry.org und nennt sich Putty, eine mnemonische Namensgebung: put tty, setze Teletyper, Ferntipper. Warum nimmt man nicht das aus der alten Softwarekiste?

Nun den Raspberry die SD-Karte rein und verkabelt, Strom und Netzwerkabel. Die Kontrolleuchten tun ihre Arbeit. Der Putty wird gestartet und verlangt eine IP-Adresse. Welche hat nun der Raspberry? IP-Adresse bedeutet ohnehin schon das Vorhandensein eines Netzwerkes mit einem Adressverwalter, den fragen wir. In den meisten Fällen sitzt der im externen Router zm Internet, er kann aber auch in einem Arbeitscomputer residieren. Windows Netzwerkinfrastruktur zeigt meinen Netzwerverwalter an und mit der Abfrage der Eigenschaften wird die IP des Verwalters herausgerückt. Diese Angabe in der Adresszeile des Internetbrowsers öffnet die Verwaltungsseite des Routers. Irgendwo in seinen Datenbeständen findet sich der Eintrag raspberry ist angeschlossen und hat die Adresse: 192.168.0.X. Putty bekommt diese (am besten dauerhaft eintragen) und da ist die login-Konsole. Das default Login ist laut Download-Seite Pi / Raspberry. Funktioniert.

Tja, Befehlszeileneingabe. Unter DOS habe ich den Norton-Commander gerne benutzt, weil das Wandern im Verzeichnisbaum einfacher ist. Unter den Unix-Derivaten läuft so etwas ähnliches, der Midnight-commander, kurz mc. Der muß her. Mit „apt-get mc“ wird er installiert. Da waren wir doch schon einen Schritt weiter: aptitude ist auch auf dem Installationsmedium und man sieht einfach mehr.
—————-

Nach so einigem hin und her (Webserver, Ftp-Server installieren) und im eigenen Netz probieren, soll das Teil aus dem Internet erreichbar sein. Einen kostenlosen Account hole ich mir von Selfhost, den hatte ich vor Jahren schon einmal und das hatte damals funktioniert. Heute natürlich nur mit neuen Tücken und Fallgruben, denn es hängt ein Router dazwischen, der ist ein Türsteher. „Du darfst hier nicht rein“, „Du darfst nur nach Raspberry“. Und natürlich, die gleichen Fehler wie damals: Tippfehler, falsche Schreibweise funktioniert nicht und frißt Zeit, weil man erst nach x Vaterunser richtig auf den Monitor sieht.

Hier ging es zu Raspberry hinter meinem Router: rabensoft.selfhost.eu. Ich bin am Basteln – Offline!
Also für normale Webseiten war das System richtig flott, ja von außerhalb. Also keine Datenbank mit Contentmanagementsystem. Vom PC über Internet auf die Seiten gab es Probleme, dauerte zu lange – vielleicht ist bei selfhost auch ein Filter am Wirken, es ist ja die gleiche IP, Anfragender und Antwort. Das erste mal hat mein Firefox auch gemeckert und mußte eine geänderte Einstellung bekommen.

GPIO Port
General purpose input output Port mit digitalen Temperatursensor
Zunächst einmal: Wie kommt man an die Ports heran ohne dauernd am Raspberry herumzufummeln?
Die Bastelkiste von diversen ausgeschlachteten PCs enthält den schon lange ausgemusterten 25 poligen seriellen Anschluß mit Pfosten- und Gehäusestecker. Paßt prima und man hat schon sein Steckboard.

Bei zwei Bauteilen eine „stabile Grundplatte“ zu nehmen, wäre ja ein bischen übertrieben. Einen digitalen Temperatursensor DS18B20 (wußte garnicht, von der Existenz eines solchen) und einen Begrenzungswiderstand, die meisten empfehlen 4,7 kOhm, aber die Bandbreite soll von 4,7 k-Ohm bis zehn kOhm sein. (Fundstelle ohne Begründung, Standardwert aus dem Datenblatt)

Bei mir sieht das zum Testen so aus:
Zum erweiterten Kontaktieren werde ich aus Büroklammern Lötbare Steckkontakte basteln.
Datenblatt zum Temperatursensor http://datasheets.maximintegrated.com/en/ds/DS18B20.pdf.

Die Versorgungsspannung kann auch auf 5 Volt erhöht werden, was für längere Leitungen nützlich sein kann.

Die Abfrage des Sensors ist Dank der Kernel-Module sehr einfach. Für den „DS18B20“ Temperatursensor sind die Kernel-Module w1-gpio und w1-therm zuständig.Es ist sonst keine weitere Software notwendig.

Kernel-Module laden
sudo modprobe w1-gpio
sudo modprobe w1-therm

die Daten werden unter dem Pfadf /sys/bus/w1/devices/ Kennung des Sensors abgelegt bzw. sind dort abrufbar. (Dauert zu lange um dort abgelegt zu sein. Auch sind sie nicht lesbar, wenn nicht angeschlossen.)

Ausgabe der Temperatur:
cat /sys/bus/w1/devices/28-*/w1_slave

Irgendwie ist das System gemütlich, wenn nicht gar lahm. Die möglichen 127 Sensoren am Bus habe ich garnicht. Bei drei gibt es schon immer wieder Lesefehler.
Nächster Knackpunkt ist das Zwischenspeichern auf dem Chip. Gerade bei Messdaten, die häufig anfallen, wird auch häufig geschrieben, das kostet Zeit. Wann tritt die Materialermüdung bei einem Chip ein?
Die grafische Auswertung bringt auch Probleme mit. Um Schreibzugriffe zu sparen, sollen die Grafiken nur bei Abfrage aus dem Netz erstellt werden. Das script funktioniert, aber es bestehen Zweifel, ob die neu erstellte Grafik über das Netz ausgegeben wird, denn die Anzeige ist schneller als gnuplot zeichnet, also wird die veraltete Grafik ausgeliefert.
Nach Jahren der Nutzung ist das System ruhend, da sich die eingesetzten Speicherchips zu oft zerstört haben und dann trotz versuchten Datensicherungen neuen Programmieraufwand verursacht haben. Vielleicht ändert sich das, wenn man einen neueren Raspi nimmt, der umprogrammiert werden kann, so daß er auf einer Festplatte arbeitet. Ob sich bei mir der Aufwand lohnt, weiß ich nicht.