Schlagwort-Archive: Raspberry Pi

WLAN-Stick am Raspberry Pi einrichten

Dies wird eine Notiz zu meiner persönlichen Erinnerung. Obwohl ich schon lange mit dem Pi arbeite, hatte ich erst jetzt Gelegenheit, ihn auch mittels eines Wifi-USB-Sticks mit einem WLAN zu verbinden.

Dazu bin ich der Anleitung von datenreise gefolgt, welche auch für den mir zur Verfügung stehenden Adapter von CSL funktioniert.

Anleitung: datenreise – Raspberry Pi – WLAN einrichten (Edimax)

Der Raspberry Pi 2 als Desktop-Ersatz

In diesem Artikel möchte ich von meinen Erfahrungen berichten, den Raspberry Pi 2 als Ersatz für den Dekstop-PC zu nutzen.

Damit ich meinen alten Desktop-PC endgültig einmotte, möchte ich mit dem Raspberry Pi 2 folgende Aufgaben erledigen:

  1. Aufruf und Lektüre diverser Internetseiten
  2. E-Mail mit Webmail im Browser
  3. Youtube Video wiedergeben
  4. Nutzung verschiedener Social-Media- und Community-Seiten

Für meinen Versuch verwende ich einen Raspberry Pi 2 Modell B mit einer Class 10 SDHC microSD-Karte. Als Betriebssystem kommt Raspbian[1. Raspbian-Download von www.raspberrypi.org] [2. Raspbian Homepage] zum Einsatz. Da sowohl Raspbian, als auch Ubuntu in direkter Linie von Debian abstammen, muss ich mich nicht großartig umgewöhnen, sondern kann direkt mit der Nutzung loslegen.

raspberry-pi-2

Raspberry Pi 2

Wer bei der Installation von Raspbian auf der der microSD-Karte Hilfe benötigt, kann diese im Artikel „Auf den Pi gekommen“ finden.

Der Testverlauf oder auch meine kleine Spielerei

Ist das Image auf der Karte installiert, bootet der Pi 2 in 18-19 Sekunden bis zum Login. Damit ist der Bootvorgang ca. 17 Sekunden schneller als der meines Pi 1. Der Start der grafischen Oberfläche dauert bei meinem ersten Pi ca. 13 Sekunden. Der Pi 2 schafft dies bereits in ca. 8 Sekunden. Das ist auf jeden Fall schneller als mein alter Desktop PC mit klassischen Festplatten. ;-)

Die weiteren Ergebnisse meines Tests sind sehr subjektiv. Der in Raspbian enthaltene Webbrowser Epiphany startet zügig und Webseiten wie www.ubuntuusers.de oder www.raspberrypi.org lassen sich komfortabel ansurfen. Auch der Webmailer Roundcube und XING lassen sich flüssig bedienen. Die Geschwindigkeit ist nicht ganz so hoch wie auf einem aktuellen PC oder Notebook, jedoch ist die Bedienung flüssig und ich fühle mich bisher nicht eingeschränkt.

Beim Besuch von Facebook oder Youtube ist der Spaß dann jedoch vorbei. Facebook wird nur in der Mobilversion angezeigt und Youtube gibt nur die Meldung aus, dass Epiphany nicht unterstützt wird. An dieser Stelle muss ein anderer Browser her. Ich habe mich für Iceweasel entschieden, welcher dem Firefox gleicht.

Dieser Browser braucht schon deutlich länger zum Start. Und auch in diesem Browser hat man an Facebook keine Freude. Es ruckelt, hakt und ist nach meinem Empfinden unbenutzbar. Leider wirken auch Youtube Videos eher wie ein Daumenkino. Dies könnte daran liegen, dass der GPU nur 64 MB RAM zugewiesen sind. Ich habe diesen Wert auf 128 MB erhöht und den Test wiederholt. Während die Benutzung von Facebook immer noch keinen Spaß macht, laufen die Youtube Videos schon deutlich flüssiger ab.

Der Raspberry Pi 2 scheut das Blitzlicht

Im Internet findet man Berichte, dass der Raspberry Pi 2 allergisch auf Blitzlicht reagiert. So schreibt z.B. Golem, dass man den Pi nur ohne Blitz fotografieren kann.

Diesen Bericht kann ich bestätigen. Der Blitz meiner Canon IXUS 115 HS brachte meinen Pi wiederholt zum Absturz.

Fazit

Der Raspberry Pi 2 mag kein vollwertiger Ersatz für einen Desktop PC sein. Dazu ist er aufgrund seiner Hardware einfach zu schwach auf der Brust. Jedoch kann sich der Einsatz eines Desktop PC von Nutzer zu Nutzer sehr unterscheiden. So dass der Pi so manchen Anforderungen bereits genügen mag.

Für Facebook und Youtube werde ich den Pi zukünftig sicher nicht verwenden. Dafür habe ich aber auch noch ein Tablet oder meinen Smart-TV. Für die Internetrecherche oder das Online-Banking ist der Pi jedoch hervorragend geeignet. Damit bekommt er seinen festen Platz auf meinem Schreibtisch. Mein alter Desktop-PC hingegen wird damit leben müssen, dass er mir sein Betriebssystem so schnell nicht wieder zeigen wird.

Raspi-SHT21 in Version 1.2.0 veröffentlicht

Auf GitHub habe ich die Version 1.2.0 des Raspi-SHT21 veröffentlicht.

Raspi-SHT21 ist ein Projekt zur Messung und Visualisierung von Umweltdaten, auf Basis des Raspberry Pi und des SHT21-Sensors.

Der Raspi-SHT21 eignet sich zur Messung von Temperatur und Luftfeuchtigkeit, z.B. in Serverräumen, Kühlräumen, Gewächshäusern, Terrarien, etc. Die ermittelten Werte werden auf dem Raspi in einer CSV-Datei gespeichert und über eine Webseite visualisiert.

Standardmäßig erfolgt die Messung alle 10 Minuten. Das Messintervall kann über eine Konfigurationsdatei an die persönlichen Bedürfnisse angepasst werden. Über die Konfigurationsdatei können ebenfalls Grenzwerte für die Temperatur und Luftfeuchtigkeit festgelegt werden, bei deren Über- bzw. Unterschreiten eine Warnung per E-Mail versendet werden kann.

example-of-configuration-file

Muster der Konigurationgsdatei

Wie man den Raspi zum Versand von E-Mail konfigurieren kann, wird im Artikel Postfix mit Gmail beispielhaft beschrieben.

Die Version 1.2.0 enthält neben den Kernfunktionen auch ein Plugin für die Integration in Nagions/Icinga. So können neben der E-Mail Alarmierung des Raspi auch die Warn- und Alarmfunktionen des Monitoring-Systems verwendet werden.

Das Projekt wurde unter der GNU GPLv3 veröffentlicht und darf von jedermann genutzt und weiterentwickelt werden.

Der Raspi-SHT21 stellt insgesamt eine effiziente und kostengünstige Alternative zu kommerziellen Produkten dar.

Bei allgemeinen Fragen nutzt gern die Kommentarfunktion zu diesem Artikel. Für Fehlermeldungen und Featurerequests nutzt bitte Issue-Funktion des GitHub-Repository.

Quellen und weiterführende Links:
[Artikelwettbewerb] Der Raspberry Pi im professionellen Einsatz
Konzept zur Überwachung von Temperatur und Luftfeuchtigkeit
Überwachung von Temperatur und Luftfeuchtigkeit mit dem SHT21
Visualisierung von Umweltdaten
Postfix mit Gmail als Smarthost
SHT21 Breakout Board

Den Pi nach Update Fehler wiederbeleben

Nach einem routinemäßigen

sudo apt-get update && sudo apt-get upgrade

hatte es sich zunächst „ausgepied“. Bis auf die rote LED zeigte mein Pi nach dem Reboot keine Lebenszeichen mehr.

In diesem Artikel beschreibe ich kurz und dreckig, wie ich meinen Raspberry Pi nach missglücktem Update wiederbelebt habe, ohne ihn komplett neu installieren zu müssen.

Das Problem
Das Problem trat auf, als ich meinem Pi nach einem Routine-Update neugestartet habe. Ein Blick in die Datei /var/log/apt/term.log zeigt die letzte Update-Ausgabe:

Vorbereitung zum Ersetzen von gnupg 1.4.12-7+deb7u3 (durch .../gnupg_1.4.12-7+deb7u4_armhf.deb) ...
Ersatz für gnupg wird entpackt ...
Trigger für man-db werden verarbeitet ...
Trigger für install-info werden verarbeitet ...
gnupg (1.4.12-7+deb7u4) wird eingerichtet ...
raspberrypi-bootloader (1.20140618-1) wird eingerichtet ...
Memory split is now set in /boot/config.txt.
You may want to use raspi-config to set it
Keine Umleitung »Umleitung von /boot/bootcode.bin durch rpikernelhack«, keine entfernt.
Keine Umleitung »Umleitung von /boot/fixup.dat durch rpikernelhack«, keine entfernt.
Keine Umleitung »Umleitung von /boot/fixup_cd.dat durch rpikernelhack«, keine entfernt.
Keine Umleitung »Umleitung von /boot/fixup_x.dat durch rpikernelhack«, keine entfernt.
»Umleitung von /boot/kernel.img zu /usr/share/rpikernelhack/kernel.img durch rpikernelhack« wird entfernt
»Umleitung von /boot/kernel_cutdown.img zu /usr/share/rpikernelhack/kernel_cutdown.img durch rpikernelhack« wird entfernt
»Umleitung von /boot/kernel_emergency.img zu /usr/share/rpikernelhack/kernel_emergency.img durch rpikernelhack« wird entfernt
»Umleitung von /boot/start.elf zu /usr/share/rpikernelhack/start.elf durch rpikernelhack« wird entfernt
»Umleitung von /boot/start_cd.elf zu /usr/share/rpikernelhack/start_cd.elf durch rpikernelhack« wird entfernt
»Umleitung von /boot/start_x.elf zu /usr/share/rpikernelhack/start_x.elf durch rpikernelhack« wird entfernt
libraspberrypi0 (1.20140618-1) wird eingerichtet ...
libraspberrypi-bin (1.20140618-1) wird eingerichtet ...
libraspberrypi-dev (1.20140618-1) wird eingerichtet ...
libraspberrypi-doc (1.20140618-1) wird eingerichtet ...
Log ended: 2014-06-26  21:00:56

Leider hat mir diese Ausgabe nicht wirklich geholfen, die Fehlerursache genau zu identifizieren. Da der Pi jedoch den Bootvorgang verweigerte, musste der Fehler irgendwo in der Partition /boot liegen.

Meine Lösung
Diese Lösung mag nicht die Beste sein. Jedoch hat sie funktioniert. ;-) Ich benötigt dafür ein Ubuntu-System mit Cardreader. (Ein anderes Linux wird es sicherlich auch tun.)

  1. Aktuelles Raspbian Image von www.raspberrypi.org herunterladen.
  2. Zip-Archiv entpacken und das enthaltene Image im Ubuntu Filesystem einhängen.
  3. SD-Karte des Raspberry Pi einlegen und die enthaltenen Partitionen ebenfalls einhängen.
  4. Nun vergleichen wir den Inhalt der beiden /boot-Partitionen.

Bei dem Vergleich fiel mir auf, dass die folgenden vier Dateien in der /boot Partition meiner SD-Karte fehlten:

-rwxr-xr-x 1 root root   17824 Jun 19 21:59 bootcode.bin
-rwxr-xr-x 1 root root    2090 Jun 19 21:59 fixup_cd.dat
-rwxr-xr-x 1 root root    5845 Jun 19 21:59 fixup.dat
-rwxr-xr-x 1 root root    8822 Jun 19 21:59 fixup_x.dat

Diese habe ich dann einfach aus dem gemounteten Image auf die /boot-Partition der SD-Karte kopiert, die SD-Karte wieder in meinen Raspi gesteckt, ihn eingeschaltet und mich gefreut. Der Pi bootet wieder. Meine Daten und installierten Dienste funktionieren alle noch wie gewohnt. Mission accomplished. :-)

Visualisierung von Umweltdaten

In dieser Fortsetzung des Artikels „Überwachung von Temperatur und Luftfeuchtigkeit mit dem SHT21“ kümmern wir uns um die Visualisierung der gemessenen Daten.

Um die Messdaten auf dem Pi in einem Webbrowser anzeigen zu können, muss zuerst ein Webserver auf dem Pi installiert werden. Ich habe mich für lighttpd[1. http://www.lighttpd.net/] entschieden, da dieser besonders wenig Systemressourcen benötigt. Außer dem Webserver selbst installiere ich noch PHP und aktiviere FastCGI.

sudo apt-get install lighttpd php5-cgi
sudo adduser pi www-data
sudo chown -R www-data:www-data /var/www
sudo chmod -R 775 /var/www
sudo lighty-enable-mod fastcgi
sudo /etc/init.d/lighttpd force-reload

Das DocumentRoot des Lighttpd ist /var/www. Mit obigen Code haben wir auch gleich die Benutzerrechte korrekt gesetzt.

An das Ende der Datei /etc/lighttpd/lighttpd.conf müssen wir noch den folgenden Code einfügen:

# enable PHP and FastCGI
fastcgi.server = (".php" => ((
        "bin-path" => "/usr/bin/php-cgi",
        "socket" => "/tmp/php.socket"
        )))

Im Anschluss muss der Webserver einmal neugestartet werden.

sudo service lighttpd restart

Jetzt kopieren wir den Inhalt des Ordners Raspi-SHT21-V3_0_0/www in das DocumentRoot /var/www/. Zur grafischen Darstellung unserer Messdaten entpacken wir noch die Javascript Libary[2. https://github.com/flot/flot/archive/v0.7.zip] von www.flotcharts.org[3. http://www.flotcharts.org/] in das Verzeichnis /var/www/js/. Wichtig: Nehmt die Version 0.7 von GitHub. Mit der Version 0.8.1 werden die Graphen nicht angezeigt.

Damit unsere Webanwendung die Daten aus unserer Datei sht21-data.csv auslesen kann, muss der Pfad zu dieser Datei noch in der index.php angepasst werden. Es geht aber auch noch etwas einfacher. Ich habe statt dessen einfach einen Symlink im DocumentRoot erstellt, welcher auf die Datei zeigt.

ln -s ~/Raspi-SHT21-V3_0_0/sht21-data.csv sht21-data.csv

Damit haben wir alles was wir brauchen und können unsere Umweltdaten im Browser betrachten.

raspi webapplication

Browseransicht

Alle Ziele dieses kleinen Weekend-Projects wurden erreicht und wir können nun Temperatur und Luftfeuchtigkeit im Serverraum überwachen. Mein Kollege freut sich bestimmt schon, sich noch ein paar Gedanken zur Integration in Icinga zu machen.[4. http://www.icinga.org/] ;-)

Viel Spaß beim Nachbau.

Überwachung von Temperatur und Luftfeuchtigkeit mit dem SHT21

Im Artikel „Konzept zur Überwachung von Temperatur und Luftfeuchtigkeit“ habe ich Überlegungen angestellt, um die Temperatur und die Luftfeuchtigkeit in einem Serverraum mit Hilfe des Raspberry Pi zu überwachen. In diesem Artikel geht es nun zur Sache.

Voraussetzung für das weitere Vorgehen ist ein RaspPi, welcher in das Netzwerk integriert ist und auf den wir mittels SSH zugreifen können.

Im Vorfeld habe ich in einigen Internetforen recherchiert, um einen geeigneten Sensor für den Pi zu finden. Mir ist wichtig, dass ich nur einen Sensor benötige, um sowohl die Temperatur als auch die Luftfeuchtigkeit messen zu können. Schließlich habe ich mich für den SHT21 entschieden, welchen es bereits konfektioniert z.B. im Online-Shop von emsystech gibt.

Beim Anschluss des SHT21 wird der I2C-Bus des Sensors mit dem PIN 1 des Pi verbunden.

Die Software, um den Sensor auszulesen kann von der Seite des Herstellers heruntergeladen werden. Die in diesem Tutorial verwendete Version kann am Ende dieses Artikels heruntergeladen werden. Inzwischen wird die Software auf GitHub gepflegt. In der dortigen README.md sind die nötigen Informationen enthalten, um die Software zu installieren und den Raspi-SHT21 in Betrieb zu nehmen.

Die Informationen im weiteren Verlauf dieses Artikels sind veraltet und sollten nicht mehr für neue Installationen genutzt werden. Ich lasse sie online, um bereits bestehende, ältere Installationen nachvollziehen zu können.

Das Archiv wird im Home-Verzeichnis des Pi platziert und dort entpackt.

pi@jk-raspberrypi ~ $ ls -lh
insgesamt 44K
drwxr-xr-x 2 pi pi 4,0K Nov 13 21:41 Desktop
-rw-r--r-- 1 pi pi 5,7K Feb  3  2013 ocr_pi.png
drwxrwxr-x 2 pi pi 4,0K Mär 10  2013 python_games
-rw-r--r-- 1 pi pi  26K Jul  5 09:24 Raspi-SHT21-V3_0_0.zip
pi@jk-raspberrypi ~ $ unzip Raspi-SHT21-V3_0_0.zip 
Archive:  Raspi-SHT21-V3_0_0.zip
   creating: Raspi-SHT21-V3_0_0/
  inflating: Raspi-SHT21-V3_0_0/function-cosm-push.sh  
  inflating: Raspi-SHT21-V3_0_0/function-ftp-upload.sh  
  inflating: Raspi-SHT21-V3_0_0/sht21  
  inflating: Raspi-SHT21-V3_0_0/sht21.sh  
   creating: Raspi-SHT21-V3_0_0/source/
  inflating: Raspi-SHT21-V3_0_0/source/buildrun.sh  
  inflating: Raspi-SHT21-V3_0_0/source/i2c.c  
  inflating: Raspi-SHT21-V3_0_0/source/i2c.h  
  inflating: Raspi-SHT21-V3_0_0/source/main.c  
  inflating: Raspi-SHT21-V3_0_0/source/makefile  
  inflating: Raspi-SHT21-V3_0_0/source/raspi.c  
  inflating: Raspi-SHT21-V3_0_0/source/raspi.h  
  inflating: Raspi-SHT21-V3_0_0/source/sht21  
  inflating: Raspi-SHT21-V3_0_0/source/sht21.c  
  inflating: Raspi-SHT21-V3_0_0/source/sht21.h  
  inflating: Raspi-SHT21-V3_0_0/source/std_c.h  
  inflating: Raspi-SHT21-V3_0_0/start-sht21-service.sh  
  inflating: Raspi-SHT21-V3_0_0/stop-sht21-service.sh  
   creating: Raspi-SHT21-V3_0_0/www/
  inflating: Raspi-SHT21-V3_0_0/www/index.php  
   creating: Raspi-SHT21-V3_0_0/www/js/
  inflating: Raspi-SHT21-V3_0_0/www/layout.css  
pi@jk-raspberrypi ~ $

Die Dateien sht21 und sht21.sh müssen noch ausführbar gemacht werden. Z.B. sudo chmod 755 sht21.

Bevor das Programm ausgeführt werden kann, muss noch der I2C-Treiber aktiviert werden. Hierzu befolgen wir diese 5-Schritt-Anleitung.

Nach dem Neustart können wir die Sensorwerte mit dem Programm sht21 abfragen. Je nachdem mit welchem Parameter man das Programm aufruft wird die Ausgabe unterschiedlich formatiert:

pi@jk-raspberrypi ~/Raspi-SHT21-V3_0_0 $ ./sht21 S
21.5	43
pi@jk-raspberrypi ~/Raspi-SHT21-V3_0_0 $ ./sht21 L
temperature=21.5
humidity=43
pi@jk-raspberrypi ~/Raspi-SHT21-V3_0_0 $ ./sht21 C
Temperature,21.5
Humidity,43
pi@jk-raspberrypi ~/Raspi-SHT21-V3_0_0 $ ./sht21
Raspi-SHT21 V3.0.0 by Martin Steppuhn (www.emsystech.de) [Nov 19 2012 23:35:05]
Options:
   S : [20.0 99]
   L : [temperature=20.0][humidity=99]
   C : [Temperature,20,0][Humidity,99]
RaspberryHwRevision=2
0	21.5	43
1	21.5	43
2	21.5	43
3	21.5	43
4	21.5	43

Damit haben wir zwei weitere Ziele unseres kleinen Projekts erreicht.

Dank des RaspberryPi können wir nun die Temperatur und die Luftfeuchtigkeit überwachen und das unabhängig von vorhandener Hardware.

Ich möchte an dieser Stelle dem Team von emsystech.de danken. Dank des tollen Sensors, des Sourcecodes und der Tipps auf ihrer Website war der Aufbau der Überwachung ein Kinderspiel.

Aktuell schreiben wir die Messwerte alle 10 Minuten in eine CSV-Datei. Wie wir diese Messwerte in einem Webbrowser visualisieren können, beschreibe ich in einem folgenden Artikel.

Konzept zur Überwachung von Temperatur und Luftfeuchtigkeit

Es ist schön, wenn man Hobby und Beruf miteinander verbinden kann. So auch in diesem Fall. Ich arbeite als IT-Systemadministrator in einem mittelständischen Unternehmen. Wir betreiben zwei Serverräume an unserem Standort, in denen wir die Temperatur und die Luftfeuchtigkeit überwachen möchten.

Ich möchte versuchen, auf Basis meines Raspberry Pi eine Lösung zu entwickeln, die wir auch auf der Arbeit einsetzen können und die preislich günstiger als kommerzielle Fertiglösungen ist.

Dieses Wochenendprojekt soll folgende Ziele erreichen:

  • Überwachung von Temperatur und Luftfeuchtigkeit
  • Darstellung der Messwerte auf einer Webseite bzw. in einem Monitoringsystem
  • Dedizierte Lösung – Kein Anschluss von Sensoren an vorhandene Server
  • Günstiger Preis

Werfen wir zuerst einen Blick auf die Kosten.

Kosten für benötigte Hardware und Zubehör

ProduktPreis
Raspberry Pi Model B (512MB), Mainboard39,99 €
Gehäuse für Raspberry Pi Type B7,99 €
Secure Digital SDHC Card 8 GB, Speicherkarte10,99 €
Adapter DVI-D auf HDMI6,99 €
SHT21 für Raspberry Pi35,00 €
System-S Netzteil Netzkabel Adapter Ladegerät Micro USB mit 2A12,99 €
Summe113,95 €

Eine Recherche im Internet ergab, dass vergleichbare Lösungen[1. Web-Thermo-Hygrobarograph mit deutscher Web-Oberfläche][2. MultiSensor-LAN][3. sensorProbe2 inkl. Temperatur-Feuchtigkeitssensor] meist im Bereich 350 – 500 EUR liegen. Deutlich günstiger erhält man noch die Lösungen von Tinkerforge.[4. Tinkerforge Starterkit: Serverraum-Überwachung][5. Tinkerforge Starterkit: Wetterstation] Hier muss man ca. 160 EUR für eine Lösung investieren. Die Wetterstation gibt es zwar schon für 119,99 EUR, doch reicht diese allein nicht aus. Man benötigt für unseren Einsatzzweck noch einen Raspberry Pi dazu.

Damit ist die angestrebte Lösung schon mal die günstigste im Vergleich. Ein Ziel erreicht, noch drei offen. Auf den Aufbau und die Entwicklung der Lösung gehe ich in einem folgenden Artikel ein.