Codeschnipsel

Printserver auf dem Pi

Damit man auf einem am Raspi angeschlossenen Drucker aus dem Netzwerk heraus drucken kann, installiert man CUPS:

$ sudo apt-get install cups

Gibt diesen im Netzwerk frei und am besten mit dem Zusatz remote-admin, um den Printserver auch aus dem LAN administrieren zu können:

$ sudo cupsctl --share-printers --remote-printers -remote-admin

Dann noch den betreffenden User zum Drucker-Admin machen:

$ sudo usermod -a -G lpadmin pi

CUPS hat eine Weboberfläche, auf welche man mittels https://192.168.178.xxx:631/admin gelangt. Die lokale Netzwerkadresse an der betreffenden Stelle natürlich mit der Eures Raspis ersetzen.

System-Temperatur beim Banana Pi

In der Vergangenheit hat bei uns ein kleines bash-Skript beim Raspi die System-Temperatur (aus einem Verzeichnis) geholt:

#!/bin/bash
cat /sys/class/thermal/thermal_zone0/temp | awk '{print(substr($0,1,2)"."substr($0,3,2))}'

Das funktioniert nicht mehr, das Verzeichnis ist beim Banana nun nicht mehr vorhanden. Auch „/opt/vc/bin/vcgencmd“ ist nur für den Raspberry Pi. Um das auf den Banana-Pi anzupassen, muss es lauten:

#!/bin/bash
cat /sys/devices/platform/sunxi-i2c.0/i2c-0/0-0034/temp1_input | awk '{print(substr($0,1,2)"."substr($0,3,2))}'

Und fertig.
 

Swen Hopfe

 

FHEM-Installation auf dem Pi

Das folgende für den Raspi mit Debian Wheezy. Sollte die nicht in Ordnung sein, zuerst die Einstellung der richtigen Zeitzone

$ sudo dpkg-reconfigure tzdata

aufrufen, damit "fhem" einwandfrei funktioniert. Im grafischen Interface wählt man dann Europa und Berlin aus und erhält danach die anzuzeigende Zeitzone mit der hoffentlich richtigen lokalen Zeit.

Jetzt sicherstellen, das alle für FHEM relevanten Perl-Pakete installiert sind:

$ sudo apt-get -f install && sudo apt-get install perl libdevice-serialport-perl libio-socket-ssl-perl libwww-perl libxml-simple-perl -y

Dann FHEM herunterladen und installieren:

$ sudo wget http://fhem.de/fhem-5.5.deb && sudo dpkg -i fhem-5.5.deb

OLED am Pi

Und zum diversen Beitrag auf unserer Projekteseite hier noch das passende Codeschnipsel. Damit könnt ihr nachvollziehen, wie man ein Sainsmart-OLED mit 128x32 Pixel an einen Raspi über den SPI-Bus anbindet.

Das gilt sowohl für einen konventionellen Raspi mit kurzer GPIO-Leiste als auch für die Plus-Varianten und den Pi2, hier sucht man sich einfach die entsprechenden Anschlüsse auf dem 40Pin-Header. Unser Beispiel (vom Pi-Guy) funktioniert hier genauso gut. Hat man übrigens ein Display für I2C, dann geht das ganz ähnlich, soll aber hier nicht Fokus sein.

"Lighty" installieren

Der "lighttpd" ist dann das Leichtgewicht unter den HTTP-Servern. Bei uns kommt er auf dem Hausserver (Banana Pi) zum Einsatz. Hier eine kleine Anleitung dazu, wie man das Teil auf Banana oder Raspberry zum Laufen bringt. Zuerst:

$ sudo apt-get install lighttpd

Dann die PHP-Unterstützung...

$ sudo apt-get install php5-common php5-cgi

…und installieren mysql und fastcgi enablen.

$ sudo apt-get install mysql-server mysql-client php5-mysql

Nach diesem Schritt wird man in einem grafischen Interface nach dem Passwort des my-sql-Users gefragt.

$ sudo lighty-enable-mod fastcgi-php

Und re-starten den Service, welcher nun nach jedem Hochfahren des Pi anliegt:

FHEM fuer TTS vorbereiten

Klar wollten wir auch eine Sprachausgabe der wichtigsten Werte unserer Hausinstallation. Derzeit auf Knopfdruck an der Fernbedienung im Wohnzimmer verfügbar. Grundlage bildet die Audio-Schnittstelle des Banana (beim Raspi genauso vorhanden) und ein darauf laufender FHEM-Server. Da gibt es in der folgenden Anleitung also keine Unterschiede...
 
Hauptsache ein Debian-Wheezy ist drauf. Und das dann zu realisieren, ist nicht mal sonderlich schwierig. Hat man ein “pures” Linux zur Verfuegung, muss man zuerst „mplayer“ (Grundlage) installieren:
 
$ sudo apt-get install mplayer
Anschliessend mit „visudo“ den „mplayer“ fuer alle aufrufbar machen und im Texteditor die folgende Zeile anfuegen:
 
$ sudo visudo

Banana Pi - SSD ueber SATA

Gut, dass der Raspberry-Pi-Nachbau einen SATA-Port hat, an dem man auch eine Platte (für unsere Zwecke am besten eine SSD) mit guter Transfer-Geschwindigkeit anschließen kann. Am Banana verhält sich das dann auch nicht anders als bei einem kleinen Linuxer (in unserem Fall mit Debian-Distribution).
 
Zuerst also die Partitionen identifizieren, dann die SSD (wenn diese wie bei uns "sda" ist) partitionieren und mit ext4 formatieren...

$ sudo fdisk -l
$ sudo fdisk /dev/sda
$ sudo mkfs.ext4 /dev/sda1

Dann diese an ein existierendes Verzeichnis mounten (Rechte für den eigenen User für hier "disk1" vorher entsprechend setzen):

$ sudo mount /dev/sda1 /mnt/disk1

Ueber telnet (mit dem fhem-Server) kommunizieren

Codeschnipsel die Nächste. "fhem" ist seit geraumer Zeit meine Hausautomatisierungs-Lösung der Wahl. Dort kann man selbst bis zur Programmierebene eingreifen und ganz verschiedene Hardware einbinden, ohne in einer teuren und statischen Lösung der kommerziellen Anbieter gefangen zu sein.
 
Möchte man Werte seiner Sensoren z.B. auf Webseiten (oder wie bei uns auch auf einem digitalen Bilderrahmen und dem LCD des Hausservers) anzeigen oder von Ferne schalten, dann fragt man diese am besten remote über Telnet ab. Fhem bietet eine entsprechende Schnittstelle über den Port 7072. Gibt man diesen nicht nach außen frei oder sichert andersweitig ab, dann kann man Abfragen auch ohne Passwortabsicherung realisieren und es ist keine Interaktion und nur wenig Code für Abfragen und Kommandos notwendig.
 

Raspberry Pi als FM-Sender

Mit einem Raspberry Pi kann man unkompliziert und ohne großen Hardware-Aufwand einen FM-Sender aufbauen.

Das hier zu Grunde liegende Projekt wurde ursprünglich von der "Imperial Collage Robotik Society" erstellt. Ansonsten braucht man noch den Pi selbst und eine Sendeantenne. Dafür reicht anfangs ein einfacher Draht von etwa 75 Zentimetern (an GPIO Port 4 = Pin 7 der Steckerleiste letzte Version). An dieser Stelle aber vor allem zur Software...

Diese kann man von

http://developer-blog.net/data/Pifm.tar

herunterladen.

Im Verzeichnis unserer Wahl entpacken wir dann das tar-Archiv mit

tar -xf Pifm.tar

Hacks für eine WiFi-SD-Card

Bei einer SD-Karte mit WiFi hat man bisher ungeahnte Möglichkeiten, denn dort gibt es nicht nur Speicher. Bei einer Karte wie der Transcend WiFi-SD arbeitet ein Linux, was nicht nur die Peripherie für eine Funkschnittstelle bedient, sondern auch einige interessante Dienste bereitstellt. Manche von denen aktiviert man erst, wenn man etwas hinter die Kulissen schaut.

Oben genannte Karte bietet nicht nur einen eigenen Hotspot, sondern kann sich interessanterweise auch in ein bestehendes WLAN einwählen. Hat man also die Transcend mittels Android-App dazu grundlegend eingerichtet (WLAN-Zugangsdaten des eigenen Netzwerks), kann man weitere Einstellungen auch über dessen Weboberfläche vornehmen.

Seiten