Chip Magazin Raspberry Pi Handbuch No 03 2015

May 17, 2018 | Author: doemaascrum | Category: Raspberry Pi, Areas Of Computer Science, Computer Hardware, Software, Digital Technology
Share Embed Donate


Short Description

The german magazine "Chip Magazin Raspberry PI Handbuch". Edition 3 year 2015....

Description

148 Seiten Know-how und Workshops

Raspberry Pi 2 03/2015 9,95 €

Das ultimative

Handbuch

Handbuch

tra 30 Seiten Ex

Windows 10 – fürs Pi kostenlos

e Das best

Zubee, Dhispölarys,

Gehäus -Karten, Audio Kameras

Schritt für Schritt: Eigene Programme und Elektronik-Projekte mit Windows

Praxis

Ubuntu auf dem Pi, Fernzugriff, Troubleshooting, Retro-Spiele

Projekte

Musikbox, Wetter-Monitor, Mediacenter, Hausüberwachung, Ampelschaltung

Server

Ihr Pi als NAS, Dropbox-Ersatz, Webserver oder WhatsApp-Client Ein Sonderheft von CHIP

Anonym im Web Das Pi als Zugang zum Tor-Netzwerk

Raspberry Pi

StarterPaket

Österreich: 11,50 € Schweiz: 19,50 sfr Benelux: 11,50 €

Das ultimative

Raspberry Pi 2

Das ultimative Raspberry Pi 2 Handbuch

Mit DVD

Auf DVD

▶ Zwei komplette Bücher als PDF • Schnelleinstieg Raspberry Pi • Linux mit Raspberry Pi ▶ Über 5 Stunden Video-Workshops • RasPi mit Windows 10 IoT Core • Home Automation mit Windows 10 ▶ Betriebssysteme & Tools ▶ Microsoft Visual Studio 2015 Community Edition

DT-Control geprüft:

Beiliegender Datenträger ist nicht jugendbeeinträchtigend

Professionelle Qualität zu attraktiven Preisen!

2x 1. Platz in der Kategorie „Produktverfügbarkeit“ in den Produktbereichen „Optoelektronik / Displays“ und „Passive Bauelemente“.

Jetzt kostenlos anfordern! Katalog 01|2016 45 Jahre Erfahrung über schneller 24-Std.-Versand  über 50.000 Produkte am Lager  kein Mindermengenzuschlag

ElektronikDistributor Distributor Elektronik des desJahres Jahres2015 2015

Raspberry Pi B Das kapazitive 10-Finger-TouchDisplay von Raspberry Pi Touch-Display Adapter-Board DSI-Flachbandkabell hrauben Abstandshalter, Schrauben und Verbindungskabel abel 17,8 cm (7“) TFT LCD-TouchTouchDisplay, 800 x 480 Pixel keine externe Strommversorgung nötig

Jetzt mit 900 MHz Quad-Core ARM! RASPBERRY PI 2 B

37,50

Meh

r Kra vier durch ft Kern e!

RASPBERRY PI 7TD

Industrie-Gehäuse

• qualitativ hochwertiges, widerstandsfähiges und dennoch schickes Industrie-Gehäuse für Ihren Raspberry Pi 2 • Vorder- und Rückseite aus CNC-gefertigtem Vollaluminium

RPI CASE ALU SI RPI CASE ALU BK

18,90 20,50

jetzt abonnieren!

Newsletter Abbonieren und profitieren   

NEU

Das ultimative Sensor-Shield Beschleunigungssensor 3D-Gyroskop / Winkelgeschwindigkeitssensor sensor Magnetometer (Kompass)) Luftdrucksensor Luftfeuchtigkeitssensor Temperatursensor 8 x 8-LED-Matrix-Display kleine Joystick mit 5 Knöpfen pfen

NEU RPI SENSE HAT

für alle Raspberry Pi Version inkl. SD-Karten-Adapter 6 verschiende Betriebssysteme vorinstalliert

Preisreduzierungen

Jetzt bestellen!

www.reichelt.de w

+49 (0)4422 955-333

39,

95

Raspberry Pi OS, 8 GB

Neuheiten beste Angebote

Bestell-Hotline:

79,

95

Jetzt auch für Linux und Windows10

RASP OS 8GB 1.4

9,90

Jetzt bestellen!

reichelt.de

Preise in € inkl. gesetzl. MwSt., zzgl. Versandkosten reichelt elektronik, Elektronikring 1, 26452 Sande (D)

@reichelt_el

Tagespreise! Preisstand: 28.9.2015

Editorial

Windows 10 – jetzt auch fürs Pi Liebe Leserinnen und Leser, Ende September erhielt ich – und mit mir alle anderen Teilnehmer am Windows Developer Program for IoT – Post von Microsoft. Der Inhalt: Die Vorstellung eines Raspberry-Pi-Starterkits, inklusive RasPi 2, Gehäuse, Netzteil, Erweiterungs-Board, WLAN-Adapter, Sensoren, Leuchtdioden – und einer microSD-Karte mit Windows 10.

Thorsten Franke-Haverkamp Redaktionsleiter

30 Seiten Windows-Spezial Keine Frage, der Software-Gigant aus Redmond meint es ernst und will nun auch die Bastler- und Entwicklergemeinde um den beliebten Minirechner für sich gewinnen. Doch Windows und Raspberry Pi – passt das wirklich zusammen? Die ersten Eindrücke sind vielversprechend, allerdings ist die Einstiegshürde (noch) deutlich höher als unter Linux. Deswegen haben wir uns entschlossen, Ihnen einen besonderen Service zu bieten: einen 30-seitigen Schwerpunkt zu Windows 10 auf dem RasPi. Ab Seite 68 führen wir Sie Schritt für Schritt in die ersten Projekte und den Umgang mit dem neuen, fürs Pi völlig kostenlosen System ein. Viele tolle Projektideen Ansonsten finden Sie in diesem Heft natürlich das, was das RasPi so beliebt gemacht hat: seine universelle Einsetzbarkeit und die schier unendlich vielen Projekte – unter Linux. Wir haben für Sie viele neue Projekte ausgesucht und in unseren Workshops vorgestellt: vom Mediacenter de luxe über eine Retro-Spielkonsole bis hin zur selbst gebauten Wetterstation. Und natürlich kommen auch Tipps und Tricks für die tägliche Praxis mit dem Pi nicht zu kurz. Viel Spaß beim Lesen und viel Freude mit Ihrem Raspberry Pi wünscht Ihnen

Thorsten Franke-Haverkamp

Starter-Kit mit Windows 10: Microsoft setzt aufs RasPi – unser Schwerpunkt beginnt auf Seite 68

Das RasPi im Wohnzimmer: So machen Sie aus dem Mini ein Mediacenter der Extraklasse (Seite 46)

Wetterstation: Mit überschaubarem Aufwand und preiswertem Zubehör legen Sie sofort los (Seite 52)

3

Inhalt

Seite 52

40 Ampelschaltung programmieren

Grundlagen

In diesem Workshop lernen Sie, wie Sie mit Ihrem Mini-PC kommunizieren – er schickt Ihnen sogar Statusmeldungen

08 RasPi-Modelle im Überblick

46 Filme und TV mit OpenELEC

10 Topaktuell: Das Raspberry Pi 2

50 Anonym im Netz unterwegs

12 Dieses Zubehör brauchen Sie

52 So bauen Sie eine Wetterstation

14 Die Software fürs Pi: Raspbian

56 Das Raspberry Pi 2 als Backup-Server

16 Feintuning fürs Betriebssystem

60 Die große Projekt-Galerie

Fast jedes Jahr kommt ein neues Raspberry Pi auf den Markt. Was unterscheidet die einzelnen Versionen?

Beste Voraussetzungen für Projekte aller Art: Der jüngste Spross der Pi-Familie hat richtig Power Das Raspberry Pi selbst ist nur eine einfache Platine. Ein paar Komponenten sind also notwendig, um richtig durchzustarten Wir zeigen Ihnen Schritt für Schritt, wie Sie Ihren Mini-PC mit einem Betriebssystem ausstatten. Kompliziert ist das nicht

Raspbian bietet einige Möglichkeiten, das System den eigenen Bedürfnissen anzupassen und zu optimieren

18 Überblick über die Benutzeroberfläche

Mit LXDE bringt Raspbian eine bedienerfreundliche grafische Schnittstelle mit – wir zeigen die wichtigsten Elemente

Ein RasPi, ein HDMI-Kabel, eine externe Festplatte oder eine NAS – fertig ist das Mediacenter

Dieses Projekt zeigt Ihnen, wie Sie Ihr Raspberry Pi als Gateway ins Tor-Netzwerk einrichten

Mit einem Temperatursensor sammelt das RasPi Temperaturdaten und vergleicht diese mit einem Wetterdienstsystem

Klein, leistungsstark und sparsam – es gibt viele gute Gründe, das Pi als Server einzusetzen

Ein Überblick über besonders spannende und originelle Projekte sowie Bastelideen rund ums Raspberry Pi

Windows 10

20 Tools für den RasPi-Alltag

70 Erste Schritte mit Windows 10

22 Es muss nicht immer Raspbian sein

74 So gelingt der Einstieg in Visual Studio

Von der Bildbearbeitung bis zum Mailingprogramm: So macht das Arbeiten mit dem Pi noch mehr Spaß

Je nachdem, was Sie mit Ihrem Pi vorhaben, gibt es auch gute Alternativen zum Standard-Betriebssystem

Projekte

Wir zeigen Ihnen, welche Schritte nötig sind, damit auf dem Raspberry Pi die Windows-Fahne weht Selbst Einsteiger haben eine Chance, sogenannte Universal Windows Apps zum Leben zu erwecken

78 Jetzt geht’s richtig los: Das erste Projekt Anhand eines einfachen Beispiels erläutern wir ausführlich die Vorgehensweise bei der Umsetzung eigener Projekte

26 Musik streamen mit Pi MusicBox

82 Per IoT-Browser ins Internet

30 Alles im Blick: Hausüberwachung

84 LED-Tasten-Schaltung nachbauen

34 Netzwerkspeicher im Eigenbau

88 Grundlagen des Schaltungsdesigns

Mit der Distribution Pi MusicBox erhalten Sie Zugriff auf Medien aus vielen verschiedenen Quellen

Dieses Projekt zeigt Ihnen, wie Sie mit einem Pi und einem passiven Infrarotsensor ein Alarmsystem aufbauen

So machen Sie aus Ihrem Raspberry Pi und einem USB-Stick eine NAS mit vielen Komfortfunktionen

4

42 Raspberry Pi per WhatsApp steuern

Ein paar Mausklicks genügen – schon sind Sie im Web. Firefox, Epiphany und Co. brauchen Sie dafür nicht Dieser Workshop zeigt Ihnen, wie jede Leuchtdiode auf Knopfdruck gehorcht. Mit hohem Lerneffekt! Mit der Entwurfssoftware Fritzing lässt sich alles Mögliche anstellen, unter anderem Farbspiele mit Leuchtdioden

Titelfoto: Nikolaus Schäffler

Seite 10

Mit Ihrem Pi, günstigen elektronischen Bauteilen und ein wenig Quellcode bauen Sie Ihre eigene Ampelschaltung

Inhalt

Seite 84 Seite 132 90 So bringen Sie den Rover zum Laufen

Der Bau von Robotern gehört zu den anspruchsvollsten RasPi-Projekten – und bereitet den meisten Spaß

94 Schaltzentrale: Core Webserver

Die grundlegende Steuerung des RasPi erfolgt über den integrierten Webserver – das Wichtigste im Überblick

Zubehör 130 Schutz für die Platine: Gehäuse

Staub und Erschütterungen mag das Pi nicht. Ein Case ist also sinnvoll – und einige Modelle sind dazu noch richtig stylish

132 Besserer Klang dank Audiokarten

Die analoge Soundausgabe des Raspberry Pi ist mehr als bescheiden. HiFiBerry & Co. schaffen Abhilfe

134 Compute Module

Wenn Sie kommerzielle Raspberry-Pi-Projekte planen, ist diese Pi-Variante genau das Richtige für Sie

136 Pi2Go Lite

Der preisgünstige Einstieg in die Welt der Robotik

137 Drucken im Kleinstformat: Pipsta

Seite 118 Praxis 102 Ubuntu auf dem Pi

Es funktioniert tatsächlich: So nutzen Sie Ubuntu als Desktop-Betriebssystem auf dem Raspberry Pi

106 Das Raspberry Pi aus der Ferne steuern Sie können auf Maus, Tastatur und Co. am Pi verzichten, wenn Sie es per SSH oder VCN vom PC aus dirigieren

108 Spielspaß für zwischendurch

Das Raspberry Pi macht auch als Mini-Spielekonsole eine gute Figur. Praktisch: Die Games gibt’s gratis im Pi-Store

110 Alte Games emulieren

In Nostalgie schwelgen: Mit der Software RetroPie erwecken Sie Spieleklassiker zu neuem Leben

114 Troubleshooting

Manchmal macht das RasPi nicht das, was es soll. Wir zeigen die häufigsten Probleme und ihre Lösungen

118 Richtig kommunizieren mit dem Pi

Für Ungeübte ist der Umgang mit der Kommandozeile erst einmal etwas ungewohnt – wir erleichtern den Einstieg

122 Durchblick im Dateisystem

Wie ordnet und strukturiert Raspbian die Daten? Und wie wird der Speicherplatz erweitert? Lesen Sie hier, wie es geht

124 Tipps & Tricks

Oft sind es Kleinigkeiten, die dem Pi-Nutzer das Leben entscheidend erleichtern. Hier eine Reihe hilfreicher Tipps

Der Mini-Thermodrucker sitzt huckepack auf dem Pi und gibt Daten – etwa von Sensoren – auf Papier aus

138 Pi-Kameramodul / Cambox

Eine Kamera ist für viele Projekte ein Muss

139 Displays

Für mobile Projekte benötigt man auch ein kleines, portables Display. Der Trend geht zu 7 Zoll

140 PiFace Digital & Control / XLoBorg

Wenn Sie mehr Anschlüsse oder Bewegungssensoren benötigen, sollten Sie diese Erweiterungen in Betracht ziehen

142 Rapiro / Lightberry

Erlernen Sie mit dem Bausatz von Rapiro die Prinzipien der Robotik oder gönnen Sie Ihrem Fernseher Ambient-Lighting

143 Arcade Kit / BrickPi

Mit dem Arcade Kit wird das RasPi zur Spielekonsole. BrickPi ist ein Adapter für Lego-Mindstorms-Projekte

144 Tastatur / Edimax / Pi USV +

Hier finden Sie praktisches Zubehör wie einen WLANAdapter oder Pi USV+ für eine gesicherte Stromversorgung

145 Anonymebox

Sie möchten sich im Internet bewegen, ohne dass NSA & Co. Sie ausspähen? Mit dieser Box surfen Sie via Tor-Netzwerk

146 PIR Alarm

Eine Alarmanlage für 16 Euro ruck, zuck selber bauen

Service 3 Editorial 98 DVD-Inhalt 127 Impressum

Pi 2 b e rr y Rasp buch Hand

i mit Ra sPdow s 10 Win

n, tallatiote & ra Ins jek 201 5 ten Ext te Pro 30 Sei agen, ers ual Studio Grundl run g in Vis Einfüh S, zum zur NAr Proxy Pi d Ihr ode So wir x-Ersatz Dropbo ! u. v. m. onitor e-Beispielen tte r-M ox, We lärt. Mit Cod Musikb rlich erk ausfüh Spiele Retrogrif f, , Fernzu ntu Ubu Audioplays, e, Dis Gehäus, Kameras Kar ten

Ra sP

Se i al s

Pr ojek

rver

te

is r Prax be hö st e Zu Das be

DT-Control

geprüft: träger r Daten dBeiliegende jugen ist nicht tigend beeinträch

5

Grundlagen

So gelingt der Einstieg

Wir stellen Ihnen alle RasPi-Modelle vor und zeigen, wie Sie Ihr Pi startklar machen. Zudem erfahren Sie, welche Zusatztools den Alltag mit dem Minirechner erleichtern

08 RasPi-Modelle im Überblick

Fast jedes Jahr kommt ein neues Raspberry Pi auf den Markt. Was unterscheidet die einzelnen Versionen?

10 Topaktuell: Das Raspberry Pi 2

Beste Voraussetzungen für Projekte aller Art: Der jüngste Spross der Pi-Familie hat richtig Power

12 Dieses Zubehör brauchen Sie

Das Raspberry Pi selbst ist nur eine einfache Platine. Ein paar Komponenten sind also notwendig, um richtig durchzustarten

14 Die Software fürs Pi: Raspbian

Wir zeigen Ihnen Schritt für Schritt, wie Sie Ihren Mini-PC mit einem Betriebssystem ausstatten. Kompliziert ist das nicht

16 Feintuning fürs Betriebssystem

Raspbian bietet einige Möglichkeiten, das System den eigenen Bedürfnissen anzupassen und zu optimieren

18 Überblick über die Benutzeroberfläche

Mit LXDE bringt Raspbian eine bedienerfreundliche grafische Schnittstelle mit – wir zeigen die wichtigsten Elemente

20 Tools für den RasPi-Alltag

Von der Bildbearbeitung bis zum Mailingprogramm: So macht das Arbeiten mit dem Pi noch mehr Spaß

22 Es muss nicht immer Raspbian sein

Foto: iStockphoto/Gabor

Je nachdem, was Sie mit Ihrem Pi vorhaben, gibt es auch gute Alternativen zum Standard-Betriebssystem

6

Grundlagen

Raspberry Pi 2 Das aktuelle Pi-Modell bringt doppelt so viel Arbeitsspeicher und bis zu sechsfache Leistung

Seite 10

Das RasPi-OS auf einen Blick Raspbian ist ein speziell aufs Pi angepasstes Debian. Wir zeigen die wichtigsten Funktionen und Tools

Seite 14

Nützliche Programme Möchten Sie Ihr Pi wie einen „richtigen“ Computer nutzen, sollten Sie einige Zusatztools installieren

Seite 20 7

Grundlagen

RasPiParade

Jedes Jahr kommen neue Modelle des Raspberry Pi auf den Markt. Wo liegen die Unterschiede und Gemeinsamkeiten der einzelnen Geräte? Hier die wichtigsten Produktdetails INFO Auch wenn sich die Modelle unterscheiden – in puncto Betriebssystem herrscht Einigkeit: Das OS Raspbian läuft auf jeder Modellvariante.

D

ie Entwicklung des Raspberry Pi ist eine riesige Erfolgsgeschichte: Seit dem Verkaufsstart im Februar 2012 wurden rund sechs Millionen des von der Raspberry-Pi-Foundation entwickelten Einplatinenrechners verkauft. Ursprünglich als preiswerte Lernplattform für Schüler und Studenten in England konzipiert, fand der Minirechner schnell seinen Weg in Elektroniklabors und private Bastelprojekte. Kein Wunder, ist das Raspberry Pi doch überaus vielseitig. Sie können es als stromsparende NAS im Netzwerk einsetzen oder auch als Mediacenter konfigurieren. Versierten Bastlern bietet das Raspberry Pi eine solide

RasPi für alle: Jedes Modell hat seine spezifischen Merkmale

Modelle RASPBERRY PI A+ RASPBERRY PI B 22 Euro 70,4 x 57,2 x 12 mm 23 Gramm

32 Euro 93 x 63,5 x 20 mm 40 Gramm

RASPBERRY PI B+ RASPBERRY PI 2 32 Euro 93 x 63,5 x 20 mm 45 Gramm

38 Euro 93 x 63,5 x 20 mm 45 Gramm

SD-Karte

microSD-Karte

SD-Karte

microSD-Karte

microSD-Karte

Broadcom BCM2835

Broadcom BCM2835

Broadcom BCM2835

Broadcom BCM2835

Broadcom BCM2836

CPU

ARM1176JZF-S/700 MHz

ARM1176JZF-S/700 MHz

ARM1176JZF-S/700 MHz

ARM1176JZF-S/700 MHz

ARM Cortex-A7/900 MHz

GPU

Broadcom VideoCore IV

Broadcom VideoCore IV

Broadcom VideoCore IV

Broadcom VideoCore IV

Broadcom VideoCore IV

256 MByte

256 MByte

512 MByte

512 MByte

1024 MB

26 Pins

40 Pins

26 Pins

40 Pins

40 Pins

5-V-Micro-USB-Anschluss

5-V-Micro-USB-Anschluss

5-V-Micro-USB-Anschluss

5-V-Micro-USB-Anschluss

5-V-Micro-USB-Anschluss

1x

1x

2x

4x

4x

3,5-mm-Klinke/ Composite Video

3,5 mm Klinke/ Composite Video

Ein gemeinsamer 4-poliger Anschluss für Audio und Video Q Q

Speichermedium Prozessor

Arbeitsspeicher GPIO (P1)

ANSCHLÜSSE

Strom

USB 2.0

HDMI

Q

Ein gemeinsamer 4-poliger Anschluss für Audio und Video Q

Q

Ein gemeinsamer 4-poliger Anschluss für Audio und Video Q

Kamera-Connector (CSI)

Q

Q

Q

Q

Display-Connector (DSI)

Q

Q

Q

Q

Q

Netzwerk

Q

Q

Q (10/100 MBit-Ethernet)

Q (10/100 MBit-Ethernet)

Q (10/100 MBit-Ethernet)

5 V, 500 mA (2,5 W) 1A

5 V, 100–230 mA (0,5–1,2 W) 2A

5 V, 700 mA (3,5 W) 1A

5 V, 500–600 mA (2,5–3 W) 2A

5 V, max 800 mA (4 W) 2A

Audio-/ Videoausgang

STROMVERSORGUNG

Leistungsaufnahme

Eingangsstrom maximal Q JA Q NEIN

8

20 Euro 93 x 63,5 x 17 mm 31 Gramm

Fotos: KnowHowTec, Linux Format

RASPBERRY PI A Preis (ca.) Abmessungen (Gesamtgröße) Gewicht

Grundlagen Grundlage, um zum Beispiel elektronische Schaltungen zu entwickeln oder Geräte zu steuern. Und als preiswerter Einstiegsrechner eignet es sich perfekt für Schüler und Jugendliche – etwa für den Informatikunterricht. Derzeit besteht die Raspberry-Pi-Familie aus fünf Modellen. Den Anfang machte im Jahr 2012 das Raspberry Pi B, es folgte Anfang 2013 das Modell A. Schnell entwickelte sich der Einplatinenrechner zum Verkaufshit, kein Wunder also, dass man mit den seit 2014 erhältlichen Modellen A+ und B+ nochmals nachlegte. Dabei handelte es sich nicht um grundlegende Neuentwicklungen, die Nachfolger brachten jedoch zahlreiche Detailverbesserungen mit. Jüngster Spross der erfolgreichen Familie ist das seit Februar 2015 erhältliche Raspberry Pi 2. Mit seinem Vierkern-Prozessor ist es rund sechsmal schneller als seine Vorgänger. Zweite große Neuerung: Das RasPi 2 ist Windows-tauglich. Weitere Informationen zum jüngsten Pi finden Sie auf Seite 10, dem Thema Windows 10 auf dem RasPi widmen wir ab Seite 68 eine ganze Rubrik im Heft. Als Sechster im Bunde kommt übrigens noch das Raspberry Pi Compute Module Development Kit hinzu. Das nur etwa speicherriegelgroße Raspberry-Pi-Modul ist jedoch als Prototyping-Kit für industrielle Anwendungen gedacht – dafür spricht auch der Preis von zirka 100 Euro. Daher fehlt es in unserer Tabelle. Die anderen fünf Pis finden Sie links unten in der Übersicht. Doch für welches RasPi sollte man sich nun entscheiden? Wie so oft im Leben heißt die Antwort: Es kommt darauf an ... nämlich darauf, welche Projekte Sie mit Ihrem Modell planen. Genaueres lesen Sie im nächsten Abschnitt. Hinweis: Keine echte Option mehr sind die Ursprungsmodelle A und B, auch wenn sie noch lieferbar und der Vollständigkeit halber in unserer Tabelle enthalten sind.

Das unterscheidet die Modelle ...

Soll Ihr Raspberry Pi im Dauerbetrieb laufen, ist sicher der geringe Stromverbrauch des A+ ein wichtiger Faktor. Die Leistungsaufnahme wurde beim Modellwechsel von A auf A+ sogar nochmals verringert. Auch seine selbst für RasPiVerhältnisse winzigen Abmessungen sprechen für das Modell A+, ebenso wie der im Vergleich zu den B-Modellen noch etwas günstigere Preis. Mit nur 23 Gramm ist das A+ überdies ein echtes Leichtgewicht. Herz des Raspberry Pi A+ ist ein 700-MHz-Prozessor. Dies hat er mit dem großen Bruder B+ gemeinsam, allerdings hat das A+ mit 256 MByte nur halb so viel Arbeits-

speicher wie das B+. Das Raspberry Pi 2 bringt sogar 1 GByte Arbeitsspeicher mit. Speicherintensive Anwendungen sind also mit dem Modell A+ nicht möglich, was bei den meisten Embedded-Projekten jedoch nicht weiter ins Gewicht fallen dürfte. Verzichten müssen Sie beim Modell A+ auf einen EthernetAnschluss, möchten Sie also Ihr Raspberry Pi als Server oder Netzwerkspeicher betreiben, sollten Sie zu einem der B-Modelle greifen. Auch die Anzahl der USB-Schnittstellen spricht für die B-Modelle. Bei Modell B+ und Raspberry Pi 2 sind immerhin vier USB-Anschlüsse verbaut, beim A+ nur zwei.

... und das haben sie gemeinsam

Alle Modelle besitzen eine GPIO (General Purpose Input Output)-Schnittstelle, mit der sich Elektronik-Projekte aller Art programmieren lassen. Die Schnittstelle verfügt seit der Modellserie A+/B+ über 40 Pins. Auf http://elinux.org/RPi_ Low-level_peripherals finden Sie ausführliche Informationen über die Belegung der Pins. Bezüglich der Videoanschlüsse verwendet das Raspberry Pi einen HDMI-Port. Für Monitore mit DVI-Ausgang benötigt man einen Adapter. Über HDMI zeigt das Pi auf modernen Bildschirmen Filme beziehungsweise Fotos in Full-HD-Auflösung (1.920 x 1.080) an. Ebenfalls allen Modellen gemeinsam ist, dass sie nicht über eine Festplatte verfügen. Stattdessen nehmen sie (micro)SDKarten auf. Bevor Sie Ihr Raspberry Pi das erste Mal in Betrieb nehmen, müssen Sie daher das Betriebssystem auf die SDKarte aufspielen und diese anschließend in das RasPi einstecken (Genaueres zur Installation von Raspbian oder anderen Betriebssystemen finden Sie auf Seite 14). Und noch etwas gilt es zu beachten: Das Raspberry Pi ist zwar unschlagbar günstig. Aber außer der Platine selbst ist im Lieferumfang nichts enthalten. Um einige zusätzliche Investitionen werden Sie daher vermutlich nicht herumkommen. Aber vielleicht haben Sie ja eine ungenutzte Maus, einen Monitor oder eine microSD-Karte bei der Hand, die Sie dem RasPi spendieren können. Und für die Stromzufuhr begnügt sich der Minicomputer mit einem ausgedienten Smartphone-Ladegerät. Dieses muss allerdings über einen Micro-USB-Stecker verfügen und sollte mindestens 1.000 mA liefern (mehr zum Thema Grundausstattung finden Sie auf Seite 12). Nicht zwingend notwendig, aber dennoch empfehlenswert ist ein Gehäuse, mit dem Sie die empfindlichen Komponenten auf der Platine schützen. Sie sind schon für wenig Geld zu haben. Einige besonders praktische, originelle oder „unkaputtbare“ Exemplare stellen wir ab Seite 130 vor. //re, jr

Die Raspberry Pi Foundation Hinter der Entwicklung des Raspberry Pi standen erst einmal keine kommerziellen Interessen, sondern eine gemeinnützige Organisation. Die 2009 in Großbritannien gegründete Raspberry Pi Foundation hat sich der Förderung von Informatikunterricht an Schulen und Universitäten verschrieben. Unter www.raspberrypi.org stellt die Stiftung viele hilfreiche Informationen rund um das Raspberry Pi zur Verfügung. Das Angebot reicht von Video-Guides für Einsteiger über die Bereitstellung von Raspberry-Pi-Software bis hin zum

offiziellen Raspberry-Pi-Blog, in dem Sie alles über aktuelle Projekte und Vorhaben rund um das Raspberry Pi finden. Sie suchen Anregungen für coole Projekte rund um das RasPi? Dann laden Sie sich von Raspberrypi.org doch einfach die MagPi herunter, eine (englischsprachige) Monatszeitschrift, die von der Community herausgegeben wird. Auch das „Forum“ ist einen Besuch wert. Es ist sehr übersichtlich in einzelne Themenbereiche gegliedert. Unter Community/Other languages gibt es sogar einen deutschsprachigen Bereich.

9

Grundlagen

Volle Power: Raspberry Pi 2

1 GByte Arbeitsspeicher

Damit auch speicherhungrige Anwendungen laufen, wurde der Arbeitsspeicher verdoppelt

Revolution beim Raspberry Pi: Das Modell 2 bringt sechsfache Leistung und läuft auf Wunsch sogar mit Windows 10

microSD-Karten-Slot Statt SD-Karten schluckt das RasPi 2 microSD-Karten (Slot auf der Rückseite)

Stromversorgung

Die Spannungsregler sind wie bei den Plus-Modellen neu, doch es bleibt beim 5V-Micro-USB-Anschluss

HDMI

Der Anschluss sitzt wie gewohnt mittig auf der Platine

E

igentlich war das Modell 2 erst für 2017 eingeplant. Dann jedoch überraschte die Raspberry Pi Foundation die Community mit dessen Präsentation bereits 2015. Besonders erfreulich: Dank Vierkern-Prozessor ist das neue Raspberry Pi 2 rund sechs Mal schneller als seine Vorgänger. Für die größte Überraschung aber sorgte, dass auf ihm neben Linux auch Windows 10 läuft. Diesem Thema widmen wir ab Seite 68 eine ganze Rubrik im Heft. Die neue Version 2 gibt es zunächst für das Modell B; das Raspberry 2 Modell A soll frühestens Ende 2015 folgen. Doch der Reihe nach, werfen wir erst einmal einen Blick auf die größte Veränderung: Im Gegensatz zu den Modellen A/A+ und B/B+ sitzt nicht mehr der Broadcom BCM2835 mit einem Prozessorkern auf der Platine, sondern der Broadcom BCM2836 mit vier Kernen. Auch die Taktfrequenz wurde von 700 auf 900 MHz angehoben. Je nach-

10

Audio und Video

Audio und CompositeVideo sitzen wie beim B+ nun gemeinsam an einem vierpoligen 3,5-mm-Anschluss

dem, welchen Benchmark man zugrunde legt, ergibt sich dadurch eine Leistungssteigerung um den Faktor sechs. Man kann also von einer regelrechten Leistungsexplosion sprechen. Zusammen mit der Verdoppelung des Arbeitsspeichers im Vergleich zu den Modellen B/B+ auf 1 GByte hat das Gerät jetzt genug Dampf für anspruchsvolle Projekte. Zudem bootet das RasPi 2 nun doppelt so schnell. Genau das war die Motivation für die RasPi-Foundation: Laut dessen Chef, Eben Upton, soll das Raspberry Pi in Zukunft nicht mehr nur ein reiner Bastler-Rechner sein, sondern sich zum vollwertigen PC-Ersatz mausern. Gleichzeitig bleibt das RasPi 2 aber voll kompatibel zu allen bisherigen Projekten: Die 40 GPIO-Pins sind ebenso identisch wie die Anschlüsse für Kamera und Display. Selbst der Preis bleibt nahezu unverändert: Das Raspberry Pi 2 ist im Handel ab zirka 38 Euro erhältlich. //tfh

Fotos: Raspberry Pi Foundation, Microsoft

Kamera-Connector

Der Anschluss für Kameramodule ist wie beim B+ ein paar Millimeter zur Seite gewandert

Grundlagen Neuer BCM2836-Prozessor

Der neue Prozessor ist ein ARM Cortex-A7 Quad-Core mit 900 MHz Taktfrequenz

40-Pin-GPIO

Statt 26 Pins bietet der GPIO-Port 40 (wie beim A+ und B+). Allerdings bleibt die Belegung der ersten 26 Pins wegen der Kompatibilität gleich

4 x USB

Neben Maus und Tastatur lässt sich hier etwa ein WLAN-Stick anschließen

Windows 10 für Raspberry Pi 2 ist kostenlos. Um regelmäßig Updates zu erhalten, melden Sie Sie sich unter http://bit.ly/ 1A2DloO für das Entwicklerprogramm an

Netzwerk

Es bleibt wie beim B und B+ bei 10/100MBit/s-Ethernet

Linux oder Windows – Sie haben die Wahl Der Wechsel des Prozessors von ARMv6 auf ARMv7 bedeutet weit mehr als nur der Wechsel einer kleinen Ziffer. Neben der gewaltig angestiegenen Leistung kann das Raspberry Pi 2 nun mit allen Systemen betrieben werden, die den ARMv7-Befehlssatz unterstützen. Also beispielsweise mit einem regulären Debian mit ARMv7-Kernel oder eben Windows 10. Ein speziell auf ARMv6 angepasstes Debian, wie es das Raspbian für die Modelle A/A+/B/B+ noch darstellt, wäre daher in Zukunft überflüssig.

Um das neue Raspberry Pi 2 in Betrieb zu nehmen, laden Sie am besten ein aktuelles Noobs herunter (www.raspberrypi.org/downloads). Dort stehen wie gewohnt diverse Betriebssysteme zur Wahl – darunter auch Raspbian, Pidora und Arch Linux oder Mediacenter wie OSMC oder OpenELEC. Sie können aber auch fertige Images downloaden wie etwa ein vollwertiges Ubuntu mit Mate-Desktop oder das leichtgewichtige Snappy Ubuntu Core. Ein Ubuntu-Package für Noobs gibt es hingegen derzeit noch nicht.

Geradezu revolutionär ist die Tatsache, dass Sie das Raspberry Pi 2 ab sofort auch mit Windows 10 betreiben können – und zwar kostenlos. Microsoft stellt der Maker-Community künftig eine speziell fürs Pi angepasste Version gratis zur Verfügung. Wer interessiert daran ist, kann sich kostenlos als Windows-IoT-Entwickler registrieren, um auf dem Laufenden zu bleiben. Weitere Informationen zu Windows 10 für das Raspberry Pi (und andere Einplatinenrechner) finden sich auf der Seite https://dev.windows. com/de-de/iot.

11

Grundlagen

Dieses Zubehör brauchen Sie

Von Maus bis Monitor: Einige Komponenten sind schon notwendig, damit die Arbeit mit dem Minirechner richtig Spaß macht TIPP Ein Gehäuse für das Raspberry Pi ist zwar nicht unbedingt notwendig, schützt aber die empfindlichen Komponenten. Einen Überblick über RasPiCases finden Sie ab Seite 130.

S

pätestens wenn Sie Ihr soeben erworbenes Raspberry Pi aus der Verpackung nehmen, werden Sie feststellen, dass außer der Platine selbst nichts im Lieferumfang enthalten ist. Aber keine Bange, vermutlich müssen Sie nicht alle hier vorgestellten Komponenten zusätzlich erwerben. Das eine oder andere haben Sie vielleicht ungenutzt zu Hause liegen, etwa eine Tastatur oder Maus. Auch beim Netzteil stehen die Chancen gut, dass Sie um einen Neukauf herumkommen. Sie können nämlich problemlos ein Handyladegerät mit Micro-USB-Anschluss verwenden. Achten Sie jedoch auf dessen Spezifikationen: Schauen Sie sich also einmal das Kleingedruckte auf dem Netzteil an – zur Not mithilfe einer Lupe. Die Ausgangsstromstärke sollte mindestens 800 Milliampere betragen. Wir empfehlen jedoch deutlich mehr. Wollen Sie zum Beispiel eine externe Festplatte anschließen, die ohne eigene Stromversorgung auskommt, dann sollten es etwa 2 Ampere sein. Das Betriebssystem für das Raspberry Pi wird auf einer microSD-Karte gespeichert (RasPi 1, Modell B: SD-Karte). Hier reicht eine kleine, schnelle Karte völlig aus. Karten mit großer Speicherkapazität bringen kaum etwas, da hier wirklich nur das Betriebssystem gespeichert werden muss. Mit einer 4 bis 8 GByte große microSD-Karte der Klasse 10 können Sie nichts falsch machen. Möchten Sie übrigens in ein „richtiges“ Raspberry-PiDisplay investieren, das direkt aufs Pi aufgesteckt wird: Auf Seite 139 stellen wir einige Modelle vor. //tfh, re

Fotos: Hersteller, iStockphoto

1

6

Aktuelle Monitore lassen sich direkt per HDMI-Kabel an die HDMI-Buchse anschließen. Für ältere Modelle benötigen Sie einen Adapter von DVI auf HDMI.

12

1

3

2

Monitor

7

Tastatur

Eine – gerne auch drahtlose – Tastatur brauchen Sie. Achten Sie darauf, dass Sie bei der Konfiguration des Systems die deutsche Tastaturbelegung aktivieren.

Maus

Auch eine (drahtlose) Maus als Eingabegerät ist unverzichtbar. Ebenso wie die Tastatur verbinden Sie sie über einen der USB-Anschlüsse mit dem Raspberry Pi.

Grundlagen

7

microSD-Karte

Sie wird auf der Unterseite des Geräts eingesteckt (Anschluss nicht im Bild zu sehen). Da das Raspberry Pi keine Festplatte mitbringt, dient die Karte als Bootmedium. Außerdem speichert sie Programme und Daten.

4

5 2 INFO

3

4

5

WLAN

Die B-Serie des RasPi bringt Ethernet mit. Einen WLANChip besitzt jedoch keines der Modelle: Für Funkverbindungen benötigen Sie einen WLAN-Adapter.

Um das RasPi in Betrieb zu nehmen, benötiten Sie einige Kabel. Die wichtigsten: Ein Ethernetkabel für den Netzananschluss und ein HDMI-Kabel für die Verbindung zu Monitor oder TV-Gerät.

6

USB-Hub

Neuere Raspberry-Pi-Modelle haben im Gegensatz zu ihren Vorgängern immerhin vier USB-Anschlüsse. Oft reicht dies jedoch nicht. Dann hilft ein aktiver USB-Hub.

Netzteil

Ohne Netzteil mit Micro-USB-Stecker geht gar nichts. Es kann ruhig ein altes Handyladekabel sein, muss jedoch mindestens 800 mA liefern.

13

Grundlagen

Noobs: So klappt die Installation

Simpel, flott und elegant: Mit Noobs (New Out Of the Box Software) laden Sie eines von sechs Betriebssystemen auf Ihr Raspberry Pi. Linux-Kenntnisse sind dazu nicht nötig TIPP Wenn Sie ein neues OS installieren wollen, drücken Sie beim Booten von Noobs die [Shift]-Taste. Sie gelangen dann in den Auswahlbildschirm.

N

oobs (New Out Of the Box Software) lässt sich mit einer kleinen, aber feinen Speisekarte vergleichen: Noobs präsentiert Ihnen nach dem Booten des Rechners sechs verschiedene Betriebssystemvarianten. Sie können zwischen Klassikern wie Raspbian und Spezialitäten wie RISC OS oder Pidora wählen. Die Lieferung erfolgt via Download frei Haus. Ist Noobs erst einmal installiert, können Sie übrigens auch nachträglich das Betriebssystem des Raspberry Pi wechseln – ein weiteres gewichtiges Argument für diesen Installationsmanager. Damit ist Noobs nicht nur ein empfehlenswertes Tool für Einsteiger, sondern ebenso ein Werkzeug für Experten. Sie ersparen sich damit das zeitraubende Flashen des Bootmediums ebenso wie das nervige Wechseln der SD-Karte. Denn gerade bei den neueren Modellen mit der nur fingernagelgroßen microSD-Karte ist der Austausch zuweilen eine fummelige Angelegenheit.

Starten und loslegen

Alles, was Sie für den Start des RasPi benötigen, ist eine mindestens 8 GByte große (micro)SD-Karte, die mit FAT32 formatiert wurde – und natürlich Noobs. Sie bekommen den Installationsmanager direkt von der Raspberry Pi Foundation unter der Adresse www.raspberrypi.org/downloads. Wichtig zu wissen: Noobs ist in zwei verschiedenen Varian-

ten erhältlich, nämlich als Offline-Version, die bereits mehrere Betriebssysteme enthält, sowie als Netzwerkversion (Noobs Lite). Bei dieser leichtgewichtigen Variante (rund 20 MByte) müssen Sie sich das jeweilige OS allerdings nachträglich aus dem Netz ziehen. Mit dem Aufspielen von Noobs auf die SD-Karte und der Auswahl eines Betriebssystems nach dem Booten ist es nicht getan: Es sind anschließend einige kleinere Konfigurationsarbeiten fällig, die Sie mit dem Tool raspi-config erledigen. Das sogenannte „Raspberry Pi Software Configuration Tool“ startet automatisch, nachdem die Installation des Betriebssystems abgeschlossen ist. Worauf es ankommt und welche Optionen das Tool bietet, lesen Sie auf Seite 16.

Alternative Methoden

Experten wissen es: Noobs ist nur eine von vielen Möglichkeiten, um das RasPi mit einem Betriebssystem zu versorgen. Falls Sie sich zu den versierten Usern zählen, können Sie unter Windows auch mit dem „Win32 Disk Imager“ (auf Heft- DVD ) arbeiten. Mit diesem Tool lassen sich SDKarten flashen, zudem speichert es Eins-zu-eins-Backups der SD-Karte. Unter Linux arbeiten Sie mit dem Kommando dd, um das Image auf die SD-Karte zu überspielen. Der Befehl wird mit Parametern kombiniert, etwa so: sudo dd bs=1m if=[img] of=/dev/[sdcard]. //jr

Noobs herunterladen

1

Image auswählen

Öffnen Sie die Seite www.raspberrypi.org in Ihrem Browser und klicken Sie auf Downloads. Wählen Sie „Noobs Offline and network install“ mit einem Klick auf Download ZIP.

14

2

Noobs laden

Je nach Windows-Version erscheint nun ggf. die Abfrage, was mit der Datei geschehen soll. Wählen Sie Datei speichern und OK. Die Datei wird im Download-Verzeichnis gespeichert.

3

Noobs entpacken

Wechseln Sie in den Download-Ordner. Klicken Sie die Datei mit der rechten Maustaste an und wählen Sie Alle extrahieren. Entpacken Sie die Dateien in einen beliebigen Ordner.

Grundlagen

Noobs auf SD-Karte kopieren und starten

1

SD-Karte konfigurieren

Bereiten Sie die SD-Karte (8 GByte und mehr) vor. Mit einem Rechtsklick wählen Sie im Kontextmenü Formatieren. Aktivieren Sie die Optionen FAT und Schnellformatierung.

2

OS übertragen

Kopieren Sie den kompletten Inhalt des Ordners mit dem Dateimanager auf die formatierte SD-Karte. Die Verzeichnisstruktur von Noobs muss dabei exakt beibehalten werden.

3

Noobs booten

Schließen Sie Tastatur, Maus und Monitor an. Stecken Sie die SD-Karte ins Raspberry und booten Sie das Betriebssystem. Der Startbildschirm von Noobs erscheint.

Betriebssystem konfigurieren

1

Sprache ändern

Wenn Sie gleich in Noobs die Sprache anpassen, müssen Sie sich in raspi-config nicht mehr um diese Einstellungen kümmern. Wählen Sie Deutsch unten in der Auswahlliste.

2

OS festlegen

In diesem Beispiel wählen wir Raspbian aus und legen eine zusätzliche Datenpartition an. Setzen Sie die entsprechenden Häkchen und klicken Sie oben in der Leiste auf Install.

3

Löschen bestätigen

Diesen Warnhinweis sollte man ernst nehmen. Noobs überschreibt die komplette SD-Karte. Wenn nichts Wichtiges darauf ist, können Sie die Frage ohne Sorge mit Ja beantworten.

Mit Raspbian in den Desktop booten

1

Installation beenden

Mit OK schließen Sie die Installation des OS ab. Noobs verbleibt auf der Karte. Beim Booten können Sie durch Drücken der [Shift]-Taste ein anderes Betriebssystem installieren.

2

raspi-config startet

Nach dem Klick auf OK bootet das System neu. Raspbian wird geladen, im Anschluss startet raspi-config. Hier nehmen Sie die Feineinstellungen vor (siehe Seite 16).

3

Der LXDE-Desktop

Wenn Sie bei raspi-config die Option Enable Boot to Desktop aktiviert haben, startet Ihr Raspberry Pi in Zukunft immer mit der grafischen Benutzeroberfläche.

15

Grundlagen

Den Minirechner richtig einstellen

Bereits mit Noobs können Sie dem RasPi die passenden Einstellungen mit auf den Weg geben. Wer Raspbian von Hand installiert, benötigt raspi-config für die Konfiguration Speicherplatz erweitern

Deutsche Tastatur

Mit Expand Filesystem sorgen Sie dafür, dass das Betriebssystem die SD-Karte vollständig als Speicher nutzt.

Ab Werk verwendet Raspbian die englische Tastaturbelegung. Stellen Sie auf den deutschen Zeichensatz um.

Neues Passwort

Übertakten

Aus Sicherheitsgründen sollten Sie das Standardpasswort „raspberry“ für den Benutzer „pi“ gleich bei der Konfiguration ändern.

E

Sie können noch mehr Leistung aus dem RasPi herausholen. Dazu aktivieren Sie die Option „overclock“.

s gibt viele Möglichkeiten, das Raspberry Pi mit einem Betriebssystem zu bestücken. Die für Einsteiger bequemste ist zweifellos Noobs. Der Installationsmanager kümmert sich um die Erstkonfiguration von Raspbian. So weit, so gut: Wer sich intensiver mit dem Linux-Zwerg beschäftigt, muss sich aber irgendwann in die Tiefen des Betriebssystems begeben. Das ist nötig, um eigene Projekte zu verwirklichen oder um das letzte Quäntchen an Leistung aus der Hardware herauszukitzeln. Solche Aufgaben erledigen Sie mit raspi-config. Sein Vorteil: Auch Linux-Einsteiger können damit ohne Kommandozeile die Systemkonfiguration ändern.

16

Praktisch: raspi-config meldet sich automatisch nach dem ersten Systemstart. Apropos, wenn Sie Raspbian ohne die Hilfe von Noobs installieren, müssen Sie die deutsche Tastaturbelegung nachträglich aktivieren. Von Haus aus verwendet Raspbian nämlich den amerikanischen Zeichensatz, was bedeutet, dass auf der Tastatur die Buchstaben „Z“ und „Y“ vertauscht sind und die Umlaute fehlen. Mit raspi-config greifen Sie tief ins System ein: Sie übertakten damit bei Bedarf die CPU, ändern wenn nötig die Speicherkonfiguration oder geben die SD-Karte komplett für die Root-Partition frei, tauschen das Standardpasswort gegen ein individuelles aus und vieles mehr.

Grundlagen 1 Konfigurationstool starten

Raspbian startet bei der Erstkonfiguration mit raspi-config. Das gilt auch, wenn Sie Noobs zur Installation des Betriebssystems verwendet haben. Sie können das Tool zudem jederzeit nachträglich von der Konsole aus aufrufen, entweder direkt auf der Kommandozeile oder über das LXTerminal, wenn Sie unter der grafischen Benutzeroberfläche LXDE arbeiten. Für die Konsole lautet der Befehl sudo raspi-config Der Standardbenutzer heißt in der Grundkonfiguration immer pi. Wird nach „Passwort“ gefragt, tippen Sie raspberry ein (das ist die Grundeinstellung). Sie können später weitere Benutzer hinzufügen und auch das Standardpasswort neu wählen – wozu wir Ihnen dringend raten, wenn Sie Ihr RasPi in einer Netzwerkumgebung einsetzen. Wichtig: Alle Änderungen, die Sie in den folgenden Schritten vornehmen, wirken sich erst nach einem Neustart aus.

2 Ganze SD-Karte nutzen

Der folgende Schritt ist optional. Wenn Sie Ihr RasPi mit Noobs einrichten, können Sie die Option bereits dort aktivieren. Richten Sie Raspbian alternativ von Hand ein, wählen Sie Expand Filesystem (siehe Bildschirmfoto auf der Seite gegenüber). Der Grund: Von Haus aus ist das RootDateisystem auf 2 GByte beschränkt. Wenn Sie eine 16GByte-Karte verwenden, wird davon nur ein kleiner Teil genutzt. Diese Grundeinstellung wurde von den Entwicklern des Pi mit Absicht gewählt, damit Raspbian auf möglichst vielen (micro)SD-Karten läuft – auch auf kleinen und preiswerten. Wenn Sie große SD-Karten als Speichermedium einsetzen, sollten Sie diese Option auf jeden Fall nutzen. Erst mit dem Expand-Befehl wird der übrige Speicherplatz freigegeben. Das geschieht beim nächsten Bootvorgang.

3 Lokalisierung

Der Punkt Internationalisation Options ist sehr wichtig: Die dortigen Vorgaben wirken sich auf die Sprache in den Programmen und im Startmenü aus. Ferner sind davon die Tastaturbelegung (Umlaute), die Währungseinstellungen (Euro) sowie die Uhrzeit betroffen. Wählen Sie bei Change Locale die Option de_DE.UTF-8. Bestätigen Sie Ihre Auswahl durch Drücken der Leertaste. Für die Uhrzeit (Change Timezone) gilt: Stellen Sie Europe und Berlin ein. Bei Change Keyboard Layout ist Generic 105-key (Intl) PC eine gute Wahl. Hinweis: Nachdem das System und das Config-Tool aktualisiert sind, startet das Tool beim nächsten Mal mit leicht modifizierter Optik.

4 Raspberry Pi übertakten

Experimentierfreudigen RasPi-Besitzern bietet das ConfigTool die Option, Taktrate und Betriebsspannung zu erhöhen (Overclock). Damit lassen sich die Leistungsreserven der Hardware ausreizen – mit negativen Folgen für die Systemstabilität und die Lebensdauer. Im Overclock-Menü finden Sie Parameter, die noch einen geregelten Betrieb garantieren sollen. Damit ist aber lange nicht das Ende der Fahnenstange erreicht: Theoretisch geht noch mehr, wie zum Beispiel die Seite http://elinux.org/RPi_Overclocking# Overclocking zeigt. Die dort gezeigten Parameter sollten Sie nur dann ausprobieren, wenn Sie Profi sind und die Folgen ganz genau abschätzen können. Im allerschlimmsten Fall wird die Hardware beziehungsweise die CPU des Raspberry Pi durch falsche Einstellungen irreparabel beschädigt.

5 Memory Split nutzen

Unter dem Menüpunkt Advanced Options | Memory Split geben Sie an, wie viel Speicher Sie dem Grafikchip des Raspberry zuteilen wollen. Sie können in der Eingabezeile zwischen diesen Parametern wählen: 16, 32, 64, 128 oder 256. Im Regelfall fahren Sie mit 64 MByte GPU-Speicher am besten. Es gibt aber Fälle, in denen andere Einstellungen sinnvoller sind. Verwenden Sie das Pi etwa als Server ohne Monitor, ist es zweckmäßiger, der GPU weniger Speicher zuzuteilen. Andere Beispiele dazu: 32-MByte-GPU-Speicher: Für eine grafische Benutzeroberfläche und Programme, die keinen Gebrauch von Video oder 3D-Rendering machen. 64-MByte-GPU-Speicher: Für grafische Benutzeroberflächen und Apps, die gelegentlich Videos abspielen oder mit 3D-Effekten arbeiten. 128-MByte-GPU-Speicher: Eine Vorgabe für Apps, die intensiv Multimedia-Elemente nutzen oder Spiele mit 3DRendering.

INFO Wenn Sie das Passwort ändern, sehen Sie keinerlei Hinweise – auch keine Sternchen. Das ist der geltende Sicherheitsstandard unter Linux, also auch bei Raspbian.

6 In den Desktop booten

Es gibt mehrere Arten, wie das Raspberry Pi Sie nach dem Booten von Raspbian empfangen kann: Ganz nüchtern mit der Kommandozeile, wenn Sie Linux-Experte sind, freundlicher und entgegenkommender, falls Sie sich noch zu den Einsteigern zählen, oder etwas verspielter, wenn Sie gerne mit der Scratch-Oberfläche zum Beispiel Spiele programmieren möchten. Die letztere Option steht Ihnen normalerweise zur Verfügung, wenn Sie das Tool RasPiConfig mit einem Update auf den neuesten Stand gebracht haben (siehe Schritt 8). Die Bootvarianten legen Sie im Abschnitt Enable Boot to Desktop/Scratch fest (drei Varianten). Falls Sie sich für die Kommandozeile entscheiden, gelangen Sie mit folgendem Befehl zur grafischen Benutzeroberfläche zurück: startx Tipp: Wenn Sie die Bootvariante Scratch aktivieren, kommen Sie zunächst nicht aus dieser Oberfläche heraus. Mit Datei | Beenden landen Sie im Textbildschirm. Dort haben Sie fünf Sekunden Zeit, mit [Strg]+[C] den Shutdown zu unterbrechen. Dann geben Sie in der Kommandozeile folgenden Befehl ein: sudo raspi-config Aktivieren Sie danach – wie eben beschrieben – wieder den klassischen Kommandozeilenmodus oder die grafische Benutzeroberfläche.

7 Overscan deaktivieren

Auf der Konfigurationsseite wählen Sie nun Advanced Options | Overscan. Seine Deaktivierung sorgt dafür, dass der Raspberry-Pi-Desktop später den ganzen Bildschirm ausfüllt. Haben Sie den Eintrag markiert, drücken Sie [Enter], stellen die Einstellung mit den Pfeiltasten auf Disable um und bestätigen mit [Enter].

8 RasPi-Config aktualisieren

Es lohnt sich, RasPi-Config regelmäßig auf den aktuellsten Stand zu bringen, da neue Funktionen hinzukommen. Zuweilen ändern oder verschieben sich dadurch aber Menüpunkte. Bei einer alten RasPi-Config-Version wählen Sie auf der Hauptseite ganz unten update. Nach dem Update finden Sie diesen Befehl in der neuesten Version an anderer Stelle unter dem Punkt Advanced Options | Update. //jr

17

Grundlagen

Raspbian auf einen Blick

Auf DVD

Für den Einstieg in Raspbian brauchen Sie nur wenige Kommandos. Dazu kommen noch einige kleine Tools – schon haben Sie alles zusammen, um mit dem Raspberry Pi loszulegen Menüleiste sitzt jetzt ganz oben

So peppen Sie das Panel auf

LXDE präsentiert sich nun mit Pull-down-Menüs. Das Interface wirkt in der neuen Version aufgeräumter. Auf dem Desktop ist nur noch der Mülleimer zu sehen.

Per Rechtsklick fügen Sie dem Panel weitere InfoElemente hinzu. In diesem Beispiel ist es ein Icon für Netzwerkdaten. Die Infos erscheinen, wenn man mit der Maus über das jeweilige Symbol streicht.

So finden Sie neue Software

Eigene Ordner anlegen

Wenn Sie neue Programme installieren, werden diese von Raspbian automatisch in die jeweiligen Menükategorien einsortiert.

R

TIPP Werfen Sie regelmäßig einen Blick auf die DownloadSeite des Raspberry-Projekts. Das OS wird regelmäßig aktualisiert und verbessert.

18

aspbian ist definitiv die beste Linux-Distribution für die ersten Schritte mit dem Raspberry Pi. Das gut ausgestattete Betriebssystem basiert auf Debian, ist speziell auf die Hardware des RasPi zugeschnitten und bietet mit LXDE zudem eine grafische Benutzeroberfläche. Mit dem vorinstallierten Browser Epiphany gelangen Sie ins Internet, mit Editoren wie Leafpad und Nano passen Sie zum Beispiel Systemdateien an, dazu kommen Tools wie der PDF Viewer oder Spiele wie Minecraft Pi.

System aktualisieren

Im Folgenden machen wir Sie mit einigen grundlegenden Schritten vertraut, die Ihnen den Umgang mit Raspbian erleichtern. Dazu gehört zum Beispiel die Aktualisierung des Betriebssystems. Geben Sie diese Befehle ein: sudo apt-get update sudo apt-get upgrade Mit dem ersten Kommando werden die Paketlisten neu eingelesen, mit dem zweiten Befehl aktualisieren Sie die

Klicken Sie rechts auf den Desktop, wenn Sie eigene Verzeichnisse anlegen wollen. Dann erscheint ein spezielles Kontextmenü.

Pakete. Diese Arbeitsschritte lassen sich auch von einem anderen Rechner via SSH und PuTTY erledigen. Eine einfach zu handhabende Alternative zu apt-get ist der Paketmanager Synaptic, den Sie von der grafischen Benutzeroberfläche starten. Allerdings ist er zu diesem Zeitpunkt noch nicht verfügbar. Mit welchem Befehl er nachinstalliert wird, lesen Sie direkt im Anschluss.

Software installieren

Zusätzliche Programme laden und installieren Sie ganz elegant von der Kommandozeile aus. Beispiele: sudo apt-get install synaptic sudo apt-get install mc sudo apt-get install shutter Synaptic ist der grafische Paketmanager (er läuft unter LXDE); hinter „mc“ verbirgt sich der überaus praktische Dateimanager Midnight Commander. Mit dem Screenshot-Programm Shutter dokumentieren Sie zum Beispiel wichtige Dialogboxen und deren Einstellungen.

Grundlagen Neue Software suchen

Der Befehl apt-get ist der Schlüssel, um Pakete aus dem Internet herunterzuladen und auf dem Raspberry Pi zu installieren. Gerade haben Sie erfahren, wie man Pakete installiert. Jetzt geht es darum, neue Software zu finden. In diesem Beispiel suchen wir nach Schachprogrammen: apt-cache search chess | less In der Liste finden Sie alle Pakete, auf die Ihr Suchbegriff zutrifft. Um ein Paket installieren zu können, benötigen Sie immer seine exakte Bezeichnung. Das ist der Name, der vor dem Bindestrich steht. Benutzen Sie die Pfeiltasten, um innerhalb der Liste nach oben oder unten zu navigieren.

Synaptic als Installationshelfer

Versierte Linux-User arbeiten mit der Konsole sicherlich flotter als mit der Benutzeroberfläche LXDE. Doch ohne Zweifel lässt sich mit dem grafisch orientierten Paketmanager Synaptic unter LXDE wesentlich bequemer arbeiten. Im Bildschirmfoto rechts oben sehen Sie das Programm im Einsatz: Über das Feld Suche lässt sich die passende Software relativ leicht aufspüren, auch der Überblick über Tools, die ähnliche Funktionen bieten, ist wesentlich besser. Wenn Sie Synaptic – wie anfangs beschrieben – heruntergeladen haben, können Sie es nun über LXDE (die grafische Benutzeroberfläche) starten. Klicken Sie links oben auf Menu | Einstellungen | Synaptic-Paketverwaltung. Als Passwort für den Benutzer pi geben Sie raspberry an. Und so nutzen Sie Synaptic: Um ein Programm zu installieren, setzen Sie einfach ein Häkchen davor und klicken auf Anwenden – den Rest erledigt Synaptic. Der Paketmanager kümmert sich auch um etwaige Abhängigkeiten und sorgt dafür, dass alle erforderlichen Pakete installiert werden. Mit Synaptic halten Sie Raspbian ebenfalls auf dem neuesten Stand: Klicken Sie dazu nacheinander auf Neu laden | Alle Aktualisierungen vormerken | Anwenden. Wenn Sie Synaptic von einem entfernten Rechner aus bedienen wollen, müssen Sie auf dem Raspberry Pi einen VNC-Server installieren. Die Gegenstelle kann dann zum Beispiel ein Linux- oder Windows-Rechner beziehungsweise ein Mac sein. Weiterführende Infos zum Fernzugriff aus RasPi finden Sie auf Seite 106.

sehen, welche Daten im Archiv verborgen sind. Tipp: Wenn Sie als Root arbeiten und tief ins System eingreifen wollen, starten Sie den Midnight Commander mit sudo mc Warnhinweis: Als Admin mit Root-Rechten können Sie das System beschädigen! Dann ist eine Neuinstallation nötig.

Mit Synaptic versorgen Sie das RasPi mit der nötigen Software, etwa mit Spielen

LXDE-Desktop kennenlernen

Wer Raspbian schon länger kennt, darf sich auf ein neues Design einstellen: Menü und Taskleiste sind nach oben gewandert, Midori hat dem Browser Epiphany Platz gemacht und der Desktop wirkt aufgeräumter– nur der Papierkorb befindet sich darauf. Der neue Desktop lässt sich individuell anpassen. Dazu klicken Sie auf Menu, wählen Einstellungen und öffnen eines der Konfigurationsmenüs. Falls Sie den Midnight Commander suchen: Er versteckt sich nach der Installation unter Systemwerkzeuge, der Paketmanager Synaptic dagegen landet stattdessen im Menü Einstellungen. //jr

Der Midnight Commander erspart Ihnen viele kryptische Linux-Befehle

Dateien und Ordner verwalten

Wenn Sie mit Raspbian arbeiten, müssen Sie früher oder später Einträge in Systemdateien ändern, Skripte editieren, Verzeichnisse anlegen, Dateien kopieren, verschieben oder löschen. Alle diese Aufgaben können Sie auf Kommandozeilenebene erledigen – zumindest wenn Sie sehr routiniert im Umgang mit Linux sind. In den meisten Fällen ist es praktischer, hierfür einen Dateimanager zu verwenden. Unser Vorschlag: Nehmen Sie den Midnight Commander (Startbefehl: mc). Er lässt sich auch in einem Terminal auf einem entfernten Rechner starten (via Telnet und SSH). Die Zweispaltenansicht sorgt für den perfekten Überblick bei Datei- und Verzeichnisoperationen – hinzu kommen die vielfältigen Optionen und Werkzeuge des Midnight Commanders. Sie können zum Beispiel nach Textschnipseln suchen (wichtig bei Skriptdateien). Texte lassen sich dank des integrierten Editors sofort bearbeiten, auch gibt es Vergleichsfunktionen für Dateien und Ordner. Zudem bietet mc Filteroptionen und vieles mehr. Ein weiterer Pluspunkt: Das Tool behandelt auf Wunsch gepackte Archive wie Verzeichnisse. Sie können also sofort

19

Grundlagen

Programme für einen guten Start

Damit Ihnen der Start möglichst leichtfällt, stellen wir Ihnen hier eine Auswahl von Tools vor, die Ihnen den RasPi-Alltag erleichtern – von der Bildbearbeitung bis zur Mailing-Software

S

chon ab Werk hat das RasPi einige Programme an Bord, etwa Editoren wie Leafpad oder Browser wie Epiphany. Sie müssen also nicht bei null anfangen und können bereits direkt nach dem Booten ins Internet. So richtig interessant und nützlich wird der Kleincomputer aber erst, wenn man ihn aufrüstet und mit zusätzlicher Software versorgt. Damit Sie keine Zeit verlieren, haben wir auf diesen Seiten lohnenswerte Apps für Sie zusammengestellt, mit denen Sie sofort produktiv arbeiten können. Gemeinsam ist allen, dass sie sich im Alltag bewährt haben. Die Palette reicht von professionellen Textverarbeitungs-

GIMP

Mit dem Bildbearbeitungsprogramm GIMP treiben Sie Ihr RasPi zweifellos an seine Leistungsgrenzen. Dafür bekommen Sie aber eine Software, die eine Vielzahl von professionellen Werkzeugen bietet, um Fotos und Grafiken zu gestalten. (sudo apt-get install gimp)

20

Abiword

programmen über E-Mail-Clients bis hin zu FTP-Lösungen. Angesichts der gigantischen Zahl an Linux-Programmen können wir an dieser Stelle nur eine exemplarische Auswahl treffen. Zusätzlich öffnet sich dem Raspberry mithilfe von Emulatoren sogar das weite Feld der DOS-Programme – für Abwechslung ist also gesorgt. Hinweis: Für jede App haben wir den jeweiligen Installationsbefehl für das LXTerminal vermerkt. Außerdem haben wir bei der Auswahl darauf geachtet, dass sich alle Apps automatisch ins Startmenü eintragen. GIMP etwa finden Sie unter Grafik/GNU Image Manipulation Program. //jr

Wenn Sie nur Texte schreiben wollen und die zahlreichen Zusatzpakete von LibreOffice nicht benötigen, ist Abiword eine interessante Alternative. Es ist sofort einsatzbereit – Sie müssen nicht einmal eine deutsche Sprachbibliothek nachinstallieren. (sudo apt-get install abiword)

Shutter

Ein leistungsstarkes Screenshot-Programm, mit dem Sie zum Beispiel wichtige Einstellungen in Dialogboxen festhalten. Erstklassig: Das integrierte Upload-Modul mit Schnittstellen zu Dropbox und anderen Diensten. Ein weiterer Pluspunkt ist der Grafik-Editor. (sudo apt-get install shutter)

Grundlagen

Icedove

DOSBox

Midnight Commander

Als E-Mail-Programm bietet sich Icedove an, die Debian-Variante von Thunderbird: Die Konfiguration ist selbsterklärend, es lassen sich mehrere Accounts einrichten, POP3 und IMAP werden unterstützt, es gibt ein Adressbuch und vieles mehr. (sudo apt-get install icedove)

Mit diesem Programm emulieren Sie einen Rechner inklusive DOS-Kommandozeile, die benötigt wird, um DOS-Programme auszuführen. Damit können Sie beispielsweise nahezu alle DOS-Spiele und -Programme auf dem RasPi laufen lassen. (sudo apt-get install dosbox)

Zu DOS-Zeiten war der Norton Commander als Dateimanager quasi Grundausstattung jedes PCs. Mit dem Midnight Commander bekommen Sie einen vollwertigen Ersatz mit klassischem Feeling, inklusive der Doppelfenster für Dateioperationen. (sudo apt-get install mc)

FileZilla

Synaptic Package Manager

Iceweasel

Selbst kommerzielle FTP-Programme sehen gegen FileZilla ziemlich alt aus – schon allein die Komfortfunktionen sind top: Abgebrochene Downloads nimmt das Tool nahtlos wieder auf; Warteschlangen kanalisieren den Datenfluss. (sudo apt-get install filezilla)

Versierte Linux-Anwender installieren ihre Programme mit apt-get per Kommandozeile. Es geht natürlich auch anders, etwa mit dem Synaptic Package Manager, der eine grafische Benutzeroberfläche besitzt. Hinweis: Der Start dauert eine Weile. (sudo apt-get install synaptic)

Falls Sie eine Alternative zu Epiphany suchen, dann sollten Sie Iceweasel ausprobieren, die Debian-Variante von Firefox. Der gut ausgestattete Browser zeichnet sich durch seine vielfältigen Konfigurationsoptionen und vielen Add-ons aus. (sudo apt-get install iceweasel)

Emulationen

Schneller Datentransfer: Unter allen FTP-Programmen ist FileZilla definitiv eines der besten und ausgereiftesten Programme

Spielefans kennen das Problem: Die alten Lieblingstitel von früher laufen meist nicht auf den modernen Rechnern, weil die Rahmenbedingungen nicht stimmen. An dieser Stelle kommen Emulatoren ins Spiel: Sie schaffen ein eigenes Biotop für Betriebssysteme und Konsolen, die schon längst vom Markt verschwunden sind. PiSNES zum Beispiel emuliert die Super Nintendo Games-Konsole. Auf diese Weise können Sie auf dem Raspberry Spiele laufen lassen, die für ein ganz anderes System entwickelt wurden. Ähnliches gilt für DOSBox und rpix86, die für Spiele gedacht sind, die früher unter dem Betriebssystem DOS liefen. Eine Garantie dafür, dass man jedes Spiel zum Laufen bringt, gibt es aber nicht. Mehr dazu erfahren Sie ab Seite 110.

21

Grundlagen

Top-Alternativen zu Raspbian Ob Multimedia-Center, Linux-Distributionen oder Entwicklungsumgebungen – es gibt für das Raspberry Pi 2 für jeden Zweck ein passendes Betriebssystem

Ubuntu Mate

Snappy Ubuntu Core

OpenELEC

PiNet

Ubuntu Mate ist 2014 als inoffizielles Projekt gestartet und zählt inzwischen zu den offiziellen Varianten der beliebten Linux-Distribution. Hauptunterscheidungsmerkmal ist der Mate-Desktop, der hier als Standard-Benutzeroberfläche zum Einsatz kommt. Wie Sie Ubuntu Mate auf dem Raspberry Pi 2 installieren, lesen Sie auf Seite 102.

Bei OpenELEC hat man sich dafür entschieden, die Benutzeroberfläche von Kodi zu behalten. Die grafische Darstellung war für ältere Pi-Modelle eine Herausforderung. Seit dem Pi 2 sind Ruckler allerdings passé. Wer das Pi 2 nicht ausschließlich als Mediacenter nutzen möchte, kann übrigens jetzt Kodi in Raspbian installieren (mehr dazu auf Seite 46).

22

Diese Variante von Ubuntu ist ein minimalistisches Serverabbild der Ubuntu Server Edition ohne grafische Oberfläche. Snappy wurde speziell für Entwickler und für cloudbasierte Projekte mit Blick auf Ubuntu Touch entwickelt. Eine Besonderheit ist die neue Paketverwaltung Snappy. Die üblichen DEB-Pakete können hier nicht installiert werden.

PiNet ist primär für Schulklassen gedacht. Mithilfe von PiNet können Sie die Benutzerkonten der Schüler und die Dateien zentral über einen PiNet-Server, der auf Ubuntu Server aufsetzt, verwalten. Die Schüler loggen sich auf einem beliebigen, entsprechend eingerichteten RasPi mit ihrem Account ins Netzwerk ein und greifen darüber auf ihre Dateien zu.

Grundlagen

Windows 10 IoT Core

Diese sehr reduzierte Windows-Variante ist ebenfalls speziell für Entwickler gedacht und kommt ohne den klassischen Windows-Desktop aus. Programme werden dabei auf einem anderen Rechner entwickelt und dann erst auf das Pi übertragen. Wie Sie mit Windows 10 IoT starten und was damit alles möglich ist, lesen Sie ab Seite 70.

Risc OS

Das schlichte System im Retrodesign der 90er installieren Sie ganz einfach über Noobs. Die Wurzeln von Risc OS reichen zurück bis in die 80er Jahre auf das 32-Bit-System Archimedes. Deswegen können Sie unter Risc OS problemlos den Emulator ArcEm nutzen, mit dem sich dann Spiele wie Elite! für Archimedes emulieren lassen.

OSMC

Das Betriebssystem OSMC ist die Weiterentwicklung der beliebten Distribution Raspbmc, die wiederum auf dem Mediacenter XBMC basiert. XBMC, jetzt Kodi, ist quasi die Mutter aller Mediacenter für das Raspberry Pi. Die sehr schlichte Benutzeroberfläche von OSMC ist für die begrenzten Ressourcen des Mini-PCs besonders geeignet.

RetroPie

Die auf Raspbian basierende Distribution RetroPie ist speziell für Liebhaber alter Spiele gedacht. Viele gängige Emulatoren etwa für Amiga, Atari 2600, Game Boy, Sega oder Sinclair ZX Spectrum sind hier bereits vorinstalliert. Wie Sie auf dem Raspberry Pi 2 RetroPie einrichten und Ihre Lieblingsspiele von damals emulieren, zeigen wir Ihnen ab Seite 110.

23

Projekte

Starten Sie durch: Innovative Projekte

Vom Mediaplayer über die Hausüberwachung bis zur Wetterstation: Auf diesen Seiten finden Sie viele Anregungen, was Sie mit Ihrem Raspberry Pi alles anstellen können

26 Musik streamen mit Pi MusicBox

Mit der Distribution Pi MusicBox erhalten Sie Zugriff auf Medien aus vielen verschiedenen Quellen

30 Alles im Blick: Hausüberwachung

Dieses Projekt zeigt Ihnen, wie Sie mit einem Pi und einem passiven Infrarotsensor ein Alarmsystem aufbauen

34 Netzwerkspeicher im Eigenbau

So machen Sie aus Ihrem Raspberry Pi und einem USB-Stick eine NAS mit vielen Komfortfunktionen

40 Ampelschaltung programmieren

Mit Ihrem Pi, günstigen elektronischen Bauteilen und ein wenig Quellcode bauen Sie Ihre eigene Ampelschaltung

42 Raspberry Pi per WhatsApp steuern

In diesem Workshop lernen Sie, wie Sie mit Ihrem Mini-PC kommunizieren – er schickt Ihnen sogar Statusmeldungen

46 Filme und TV mit OpenELEC

Ein RasPi, ein HDMI-Kabel, eine externe Festplatte oder eine NAS – fertig ist das Mediacenter

50 Anonym im Netz unterwegs

Dieses Projekt zeigt Ihnen, wie Sie Ihr Raspberry Pi als Gateway ins Tor-Netzwerk einrichten

52 So bauen Sie eine Wetterstation

Mit einem Temperatursensor sammelt das RasPi Temperaturdaten und vergleicht diese mit einem Wetterdienstsystem

56 Das Raspberry Pi 2 als Backup-Server Klein, leistungsstark und sparsam – es gibt viele gute Gründe, das Pi als Server einzusetzen

Ein Überblick über besonders spannende und originelle Projekte sowie Bastelideen rund ums Raspberry Pi

24

Foto: iStockphoto/Gabor

60 Die große Projekte-Galerie

Projekte

RasPi als Medien-Allrounder Egal ob Spotify oder eigene NAS: Dank Pi MusicBox streamen Sie Musik von allen möglichen Quellen

Seite 26

Wie wird das Wetter? So bauen Sie sich mit dem RasPi und einem Temperatursensor eine eigene Wetterstation

Seite 52

Coole Projekte Vom Kaninchen-Futterturm bis zur Klaviersimulation: Hier stellen wir originelle Pi-Ideen vor

Seite 60 25

Projekte

Songs streamen per Pi MusicBox M

usik ist inzwischen allgegenwärtig. Zusätzlich zu den vielen Songs auf Ihrer Festplatte haben Sie Zugriff auf unzählige Titel beispielsweise über Spotify oder Google Play. Mit der spezialisierten Distribution Pi MusicBox führen Sie diese Quellen zusammen und verwandeln das Raspberry Pi in einen universellen Musikplayer. Das Geheimnis von Pi MusicBox ist der Musikserver

Genial: Dank Pi MusicBox wird Ihr RasPi zu einem Musikserver mit zahlreichen Komfort-Features 26

Mopidy, der Medien aus einer Vielzahl von Quellen beziehen kann. Die Distribution versieht dessen mächtigen Unterbau mit einer schick gestalteten, browserbasierten Oberfläche, über die Sie die Wiedergabe und andere Einstellungen des Betriebssystems bequem steuern. Der Medienserver beherrscht dabei alle gängigen Audioformate, egal ob von Wechseldatenträgern, einer NAS oder über Internetradio – perfekt für Musikliebhaber also. Ihre vorhandene HiFi-Anlage können Sie problemlos mit der Distro nutzen, indem Sie sie über den Kopfhörer-Eingang, HDMI oder den USB-Port Ihres Raspberry Pi anschließen – schon können Sie abrocken. Das RasPi steuern Sie dann über beliebige PCs oder Android-Geräte im Netzwerk.

Foto: 123RF/Brosa, Samsung

Rock oder Klassik, MP3, WAV oder FLAC: Mit der Distribution Pi MusicBox holen Sie sich einen Spezialisten auf Ihr RasPi, über den Sie Ihre Musik bequem im Netzwerk streamen

Projekte

Das Herzstück der Pi MusicBox Die Pi MusicBox Distribution basiert auf dem Mopidy-Musikserver, der seinerseits auf einer angepassten Version des MPD-Servers beruht. MPD steht für Music Player Daemon – anders als typische Desktop-Musikplayer nutzt dieser ein Client-Server-Modell. Diese Teilung des Players in zwei Komponenten bringt mehrere Vorteile: Zum einen verbraucht MPD weniger Systemressourcen und zum anderen eröffnen

sich dadurch spannende Möglichkeiten wie eine ferngesteuerte Wiedergabe oder die Nutzung verschiedener Benutzeroberflächen. MPD beherrscht eine Vielzahl an Audioformaten, darunter Ogg Vorbis, FLAC, MP3 und weitere aus der FFmpeg-Bibliothek. Die Wiedergabe von Ogg- und MP3-HTTP-Streams, das Lesen und Cachen von Metadaten sowie native Unterstützung von Zeroconf stellen ebenfalls kein

Laden Sie von www.pimusicbox.com zunächst das komprimierte Image von Pi MusicBox herunter und entpacken Sie die ZIP-Datei in einen beliebigen Ordner. Nun verschieben Sie das Image mithilfe des dd-Befehls auf eine SD-Karte. Geben Sie dazu Folgendes in die Konsole ein: sudo dd if=musicbox0.6.img of=/dev/sdd Ersetzen Sie dabei den Abschnitt /dev/sdd mit dem Verzeichnis Ihrer SD-Karte. Windows-Nutzer verwenden ein externes Tool wie den Win32DiskImager (auf Heft- DVD ), um das Image auf die SD-Karte zu verschieben. Wenn Sie das RasPi über ein Ethernetkabel mit Ihrem Router verbunden haben, können Sie es direkt von der soeben erstellten SD-Karte booten. Nutzen Sie einen WLANAdapter, müssen Sie zuvor die Konfig-Datei der Distribution bearbeiten, damit diese Ihren Router findet. Navigieren Sie hierzu auf der SD-Karte in den Ordner /config und öffnen Sie die Datei settings.ini mit einem Texteditor. Zu Anfang des Dokuments finden Sie die beiden Variablen WIFI_NETWORK und WIFI_PASSWORD. Geben Sie neben diesen Variablen die Zugangsdaten Ihres Netzwerks ein und speichern Sie die Datei – allerdings funktioniert das laut Hersteller nur in Netzen mit WPA2-Verschlüsselung.

Problem dar. Aus diesen Gründen eignet sich MPD bestens für leistungsarme Server, während der Client auf jeder beliebigen Maschine im Netzwerk laufen kann. Mopidy bindet den MPD-Server geschickt ein, sodass viele seiner originalen Features erhalten bleiben. So können Sie den Server von jedem passenden Client aus bequem fernsteuern und Ihre Musiksammlung durchforsten.

Jetzt booten Sie das RasPi mit der fertig konfigurierten SD-Karte. Haben Sie einen Monitor angeschlossen, können Sie den Vorgang beobachten, ansonsten warten Sie ein paar Minuten und starten dann Ihren Browser auf einem beliebigen PC im Netzwerk. Geben Sie http://musicbox.local in die Adresszeile ein. Funktioniert das nicht, verwenden Sie stattdessen die IP-Adresse Ihres Raspberry Pi.

Pi MusicBox einrichten

Das Standardlayout von Pi MusicBox ist ziemlich langweilig, da zu Anfang noch keine Quellen für Ihre Musik festgelegt sind. Um das zu ändern, klicken Sie am linken Rand auf Settings, wo Sie sämtliche unterstützten Streamingdienste finden. Diese können Sie nun individuell aktivieren und nach Ihrem Geschmack konfigurieren. Über den Button Network öffnen Sie sämtliche Netzwerk-Parameter. Hier ändern Sie etwa den Namen der Arbeitsgruppe, unter der die Distribution auf WindowsComputern gelistet wird. Falls Sie nachträglich Ihr RasPi von Ethernet auf WLAN umstellen möchten, können Sie auch die SSID und das Passwort hinzufügen, ohne die Konfig-Datei zu verändern. Darüber hinaus haben Sie die Mög-

Streaming über Mobilgeräte

1

Streaming aktivieren

Pi MusicBox unterstützt auch die Wiedergabe über das DLNA-Protokoll. Standardmäßig ist es deaktiviert, doch Sie können damit etwa Musik vom Smartphone an das RasPi und die angeschlossenen Boxen senden. Um das Protokoll zu aktivieren, navigieren Sie im Webinterface zu Settings | MusicBox und setzen bei DLNA-Streaming ein Häkchen.

2

BubbleUPnP installieren

Die werbefinanzierte App BubbleUPnP gibt es kostenlos im Google Play Store. Installieren Sie diese wie gewohnt. Anschließend tippen Sie einmal auf das Menüsymbol auf der rechten Seite. Dort sollte Ihre Pi MusicBox aufgelistet sein. Wählen Sie diesen Server aus, um ihn als Standard festzulegen. Ab sofort wird jede Musik vom Handy an das RasPi gesendet.

3

Musik abspielen

Jetzt können Sie über jeden beliebigen Player die auf Ihrem Telefon gespeicherte Musik über den Server streamen. BubbleUPnP ist zudem in der Lage, Files von Clouddiensten wie Google Music, Dropbox oder OneDrive abzuspielen. Navigieren Sie dazu in der App in den Bereich Libraries und richten Sie die entsprechenden Dienste mit Ihren Zugangsdaten ein.

27

Projekte TIPP Um bessere Soundqualität zu erzielen, nutzen Sie eine RasPi-kompatible Soundkarte. Diese heißen auch Digital Audio Converter oder DAC (siehe Seite 132). Außerdem sollten Ihre Lautsprecher eine eigene Stromversorgung haben, damit das RasPi nicht unnötig belastet wird.

Die Distro bringt eine riesige Sammlung an Online-Radiosendern mit, aus denen Sie Ihre Favoriten wählen

lichkeit, via SSH auf Pi MusicBox zuzugreifen. Anders als bei normalen RasPi-Distributionen ist das aber nicht unbedingt notwendig. Wenn Sie sich dennoch dafür entscheiden, sollten Sie im nächsten Fenster auf jeden Fall das Standardpasswort für den Rootzugang ändern. Der nächste Menüpunkt lautet MusicBox und enthält viele spannende Einstellungsmöglichkeiten: Sie können im Feld Device Name etwa die Netzwerkidentität der Distribution ändern. Dadurch können Sie mehrere Instanzen der MusicBox im selben Netzwerk installieren, zum Beispiel kueche.local, wohnzimmer.local oder garage.local. Gibt es eine Radiostation, die die Distro nach dem Booten automatisch abspielen soll, fügen Sie einfach den passenden Link in das Feld Autoplay URL ein. Wenn Sie Wert auf bestmögliche Soundqualität legen, dann schauen Sie sich die Audioeinstellungen genauer an. Über ein Pull-down-Menü wählen Sie den passenden Ausgang, über den das RasPi alle Audiosignale sendet. Standardmäßig werden diese automatisch zum USB-Port geleitet, falls ein Gerät angeschlossen ist. Falls nicht, landen sie beim HDMI-Output und zuletzt am analogen Ausgang. Im Menü sind zudem verschiedene digitale Audiokonverter (DAC) aufgeführt, darunter solche von den Herstellern HiFiBerry oder IQ Audio. Nutzen Sie einen der kompatiblen DAC, sollten Sie Downsampling via USB deaktivieren, denn sonst rechnet die Distro alle Signale auf 44 kHz herunter. Von Haus aus durchsucht Pi MusicBox die SD-Karte, auf der sie installiert ist, sowie alle angeschlossenen Wechseldatenträger nach neuer Musik. Sie können jedoch auch festlegen, dass geteilte Samba-Ordner im Netzwerk gescannt werden, indem Sie unter Network Drive das entsprechende Verzeichnis eingeben (etwa //192.168.2.10/share/ musik). Der Suchvorgang kann je nach Anzahl der freigegebenen Ordner und Größe der angeschlossenen USBGeräte eine Weile dauern. Deshalb haben Sie die Möglichkeit, die Funktion über das Webinterface abzuschalten. Eine weitere praktische Funktion ist Resize Filesystem, wodurch Pi MusicBox so aufgebläht wird, dass es die ge-

samte SD-Karte einnimmt. Den gewonnenen Speicherplatz können Sie dann für noch mehr Musik verwenden. Diese Option sollten Sie jedoch mit Vorsicht genießen, da sie sich noch in der Betaphase befindet und Ihr ganzes Dateisystem beschädigen könnte.

Dienste konfigurieren

Es gibt verschiedene Wege, die Musik aus Ihrem Besitz auf die Pi MusicBox zu übertragen und später über Browse | Local Media im Webinterface abzuspielen. Zum einen können Sie die Titel wie bereits erwähnt über einen geteilten Samba-Ordner im Netzwerk abholen, indem Sie den entsprechenden Pfad angeben. Zum anderen haben Sie die Möglichkeit, einen oder mehrere USB-Speicher in beliebiger Größe an das Raspberry Pi anzuschließen, wodurch die Distro alle darauf gefundenen Dateien automatisch in die Bibliothek aufnimmt. Haben Sie die MusicBox mithilfe der Resize-Funktion erweitert, dann können Sie die Musik zudem direkt auf die SD-Karte kopieren. Dazu können Sie die SD-Karte entweder direkt in Ihren Computer stecken oder über das Netzwerk darauf zugreifen, während diese im RasPi steckt. Die MusicBox verfügt über eine praktische Samba-Umgebung und sollte im Dateimanager jedes Betriebssystems aufgeführt sein. Sobald Sie Musikdateien in den Samba-Ordner der Distro packen, werden diese automatisch auf die SD-Karte übertragen. Zusätzlich zu lokal gespeicherter Musik kann Pi MusicBox auch von etlichen Onlinediensten Medien beziehen. Sie können jeden davon unter dem Menüpunkt Services individuell konfigurieren. Dabei darf natürlich das beliebte Spotify nicht fehlen – Sie müssen lediglich die Zugangsdaten Ihres Spotify-Premium-Accounts in der Distribution hinterlegen und MusicBox kümmert sich um den Rest: So holt die Box etwa all Ihre gespeicherten Playlists ab, auf die Sie bequem über den Hauptbildschirm zugreifen. Falls Ihr Internetzugang nicht der flotteste oder Ihr Datenvolumen begrenzt ist, dann verringern Sie über das Menü in den Einstellungen von Spotify die Musikqualität, um den Traffic zu reduzieren. Pi MusicBox unterstützt auch SoundCloud, bisher aber nur als Beta. Zum Einrichten des Dienstes müssen Sie über www.mopidy.com/authenticate erst einen Authentifizierungstoken herunterladen und sich in Ihren Account einloggen. Die Seite spuckt dann eine lange Zeichenfolge aus, die Sie in den SoundCloud-Einstellungen in das Feld Token kopieren können. Ähnlich läuft es bei Google Play Music. Erst geben Sie Ihre Zugangsdaten in den Einstellungen ein. Falls die Musik aus dieser Sammlung nicht in der Pi MusicBox erscheint, müssen Sie zusätzlich eine alphanumerische AndroidGeräte-ID eingeben. Diese bringen Sie in Erfahrung, indem Sie auf Ihrem Android-Telefon den Code *#*#8255#*#* anrufen oder die App Device ID aus dem Google Play Store installieren. Darüber hinaus unterstützt Pi MusicBox auch die Scrobble-Funktion von Last.FM, die sich bestens dafür eignet, neue Musik zu entdecken. Um diese freizuschalten, geben Sie im Webinterface unter Last.FM Ihre Login-Daten ein. Genauso gehen Sie bei kleineren Diensten wie Gpodder, Dirble, Soma FM oder AudioAddict vor.

Musik und Podcasts abspielen

Sobald Sie alle gewünschten Quellen eingerichtet haben, navigieren Sie zurück ins Hauptmenü. Im Reiter Browse

28

Projekte sehen Sie eine Liste der verfügbaren Musik. Nun können Sie die unzähligen Genres durchforsten und einen Titel anklicken. Schon startet die Wiedergabe, die Sie über den Reiter Now Playing steuern. Über den Tab Playlists erreichen Sie schnell alle Listen von Spotify. Suchen Sie nach bestimmten Titeln oder Künstlern, wechseln Sie zum Reiter Search. Sobald Sie einen Suchtext eingeben, scannt Pi MusicBox alle Quellen gleichzeitig, was viel Zeit in Anspruch nehmen kann. Schnellere Resultate erhalten Sie, wenn Sie die Suche auf einen bestimmten Dienst einschränken. Falls Sie ein bestimmter OnlineStream interessiert, wechseln Sie zum Tab Stream und fügen Sie die URL in das entsprechende Feld ein. Beachten Sie, dass Links zu Container-Dateien wie M3U oder PLS nicht funktionieren. Dank dieser vielen Wege, auf denen Sie mit Pi MusicBox kommunizieren können, streamen Sie fortan bei jedem Anlass die passende Musik in Ihrem Heimnetz. //pd

Mit jeder neuen Version der Pi MusicBox kommen neue Streamingdienste hinzu

Verbindung mit Clients herstellen

1

Einen Desktop-Client aussuchen

Linux-Distributionen haben einige Clients in ihren Repositorys, darunter Ario, Glurp, Sonata, QMPDClient und mehr. Sie sind alle ähnlich intuitiv zu bedienen, also wählen Sie einen, der sich am besten in Ihre Arbeitsumgebung integrieren lässt. Manche Clients wie Cantata sind nämlich zeitgleich für Mac OS X und Windows verfügbar.

3

Den passenden Android-Client finden

Um Mopidy von einem Android-Gerät aus zu steuern, benötigen Sie ebenfalls einen MPD-Client. Im Google Play Store finden Sie eine ganze Reihe dieser Art, einschließlich des beliebten MPDroid. Die App ist völlig kostenlos und enthält angepasste Benutzeroberflächen für Smartphones sowie Tablets. MPDroid lässt Sie Ihre Musiksammlung durchsuchen und nach Kategorien wie Künstler, Album oder Genre sortieren.

2

Steuerung vom Desktop

Sie müssen die Anwendungen nun mit Ihrer Pi MusicBox verknüpfen. Manche Clients erfordern beim ersten Start eine manuelle Eingabe der MPD-Serverdaten, andere ermitteln diese dank Zeroconf automatisch. Meist genügt es, wenn Sie als Hostnamen musicbox.local eingeben und alle anderen Einstellungen unberührt lassen.

4

Steuerung von Mobilgeräten

Beim ersten Start der App müssen Sie die passenden Serverdaten eingeben. Zunächst legen Sie dabei das bevorzugte WLAN fest und geben dessen Zugangsdaten ein. Im nachfolgenden Screen tippen Sie auf den Button Host Parameter und geben die IP-Adresse der Pi MusicBox ein. Zurück im Hauptbildschirm können Sie anschließend in Ihrer Sammlung stöbern und die Wiedergabe starten.

29

Projekte

Hausüberwachung mit dem RasPi Der Mini-Computer überwacht Ihr Heim und alarmiert Sie, wenn Eindringlinge erkannt werden

E

in spannendes Einsatzgebiet für das Raspberry Pi ist die Aufnahme von Daten und Informationen aus der Umgebung, die danach auf verschiedene Arten ausgewertet werden. Notwendig sind nur ein wenig Fantasie, etwas Geschick und ein paar Zusatzkomponenten. Denken Sie etwa an Wetterstationen, die eine ganze Reihe von Infos aufnehmen: Temperatur, Windgeschwindigkeit, Luftfeuchtigkeit und Luftdruck. Alle diese Daten lassen sich speichern und mit etwas Know-how aufbereiten, um dann als Grafiken oder Tabellen in anderen Programmen und Projekten eingesetzt zu werden. Einer der einfachsten und preiswertesten Sensoren auf dem Markt ist der Passive Infrarot Sensor (PIR) (tinyurl.com/jwm95dm), der auch in vielen alltäglichen Geräten zu finden ist.

Infrarotsensor im Einsatz

Infrarotsensoren in passiver Bauform werden üblicherweise in Geräten wie Alarmanlagen verwendet. Mittlerweile sind sie so preiswert in der Herstellung, dass sie zum Beispiel auch in elektrischen Raumerfrischern eingesetzt werden, die dann auf Bewegung reagieren, indem sie einen Sprühstoß Raumduft abgeben. Ein solcher Sensor arbeitet nach einem sehr einfachen Prinzip: Zunächst sendet er einen Infrarotstrahl in den Raum. Gibt es keine Bewegung in der Umgebung und wird der Strahl somit nicht unterbrochen, erfolgt keine Reaktion. Rührt sich jedoch etwas, sodass das Infrarotsignal unterbrochen wird, sendet der Sensor ein Signal an ein weiteres Bauteil, was zu einer bestimmten Aktion führt. In diesem Projekt werden wir einen solchen PIR-Sensor zur Überwachung eines Areals einsetzen. Wenn dieser eine

Bewegung registriert, startet die Ausführung von Code. Darin enthalten ist eine Reihe von Aktionen. Dazu gehören ein Foto des Ereignisses und die Aufnahme von zehn Sekunden Video. Schließlich wird eine SMS an eine hinterlegte Rufnummer gesendet, die über das Ereignis – und damit über mögliche Einbrecher – informiert. Zur Veranschaulichung des Ablaufs lässt sich sehr gut Pseudocode nutzen, der die unterschiedlichen Sequenzen eines Programms sprachlich erklärt. In Pseudocode sieht unser Projekt demnach so aus: Der Sensor sendet einen Infrarotstrahl aus. Falls der Strahl unterbrochen wird: Sende ein Signal an das Raspberry Pi. Beim Empfangen des Signals wird das Raspberry Pi dies tun: Foto aufnehmen. Danach 10 Sekunden Video aufnehmen. Nachdem alles aufgenommen wurde, versucht das RasPi einen Text zu senden. Dieser enthält Bild und Video. Nachdem der Text gesendet wurde, wartet das Raspberry Pi 30 Sekunden, bevor der Prozess von vorne beginnt. Das naheliegendste Einsatzgebiet für unser Projekt ist die klassische Alarmanlage. Die Schaltung kann aber auch für andere Projekte genutzt werden. Verpacken Sie beispielsweise alle Bauteile in einem wasserdichten Gehäuse, können Sie im Sommer Ihren Garten überwachen und automa-

Typischerweise denken wir alle beim Wort Eingabe im Zusammenhang mit Computern an die Maus oder Tastatur. Dabei sind Sensoren wie der PIR nur ein Beispiel für alternative Methoden. Andere Bauteile, die Sie zum Input nutzen können, sind beispielsweise ein Ultraschallempfänger wie der HC-SR04 oder der XLOBorg. Er erkennt Lage und Geschwindigkeit und erfasst selbst Lageänderungen. Die Kamera für das Raspberry Pi und auch andere Webcams können gemeinsam mit der OpenCV-Bibliothek verwendet werden. Die Abkürzung OpenCV steht für Open Computer Vision. Mit dieser Bibliothek lassen sich verschiedenste Projekte umsetzen, die die Umgebung aufnehmen. Sie können zum Beispiel auch als Basis für die Gesichtserkennung an Eingangstüren dienen. Solche externen Sensoren eröffnen unzählige Möglichkeiten.

30

Fotos: Linux Format

Sensoren-Vielfalt

Projekte

tisch alle Tiere aufnehmen, die sich im Bereich des Sensors aufhalten. Natürlich eignet sich die Konstruktion gerade zur Beobachtung von Lebewesen, die besonders scheu sind. Platzieren Sie Kamera und Sensor zum Beispiel im Frühjahr in der Nähe eines Vogelnestes, gelingen Ihnen damit Aufnahmen von der Brutpflege, die Sie auf anderem Wege so kaum bekommen können.

Alarm, Alarm!

In diesem Projekt wird zur Benachrichtigung eine SMS verwendet. Textnachrichten funktionieren unabhängig vom genutzten Telefon oder Netz. Sie sind damit zuverlässiger als E-Mails oder Tweets, die eine Verbindung per 3G oder Wi-Fi voraussetzen. Dieses Projekt kann aber auch auf anderen Benachrichtigungen aufbauen. Oder Sie nutzen mehrere Alarme parallel. Wenn Sie eine E-Mail versenden wollen,

nutzen Sie die Bibliothek smtplib. Eine ausführliche Anleitung in englischer Sprache finden Sie unter www.mkyong. com/python/how-do-send-email-in-python-via-smtplib. Mit der Tweepy Lib setzen Sie per Python einen Tweet ab. Um auf Twitter zugreifen zu können, müssen Sie zunächst unter https://dev.twitter.com eine App anmelden. Nach der Anmeldung importieren Sie Ihren API-Key in Tweepy. Weiterführende Infos dazu finden Sie unter www.tweepy.org. Die Bilder und Videos in diesem Projekt werden lokal auf dem Raspberry Pi gespeichert. So können Sie später das Material bequem herunterladen. Wie im Pseudocode beschrieben, ist das Ziel des Projekts, ein Alarmsystem mit dem Raspberry zu konstruieren, das durch den PIR-Sensor aktiviert wird, sobald eine Bewegung auftritt. Nach Abschluss der Aufnahmen wird der Nutzer über das Ereignis informiert. Und so geht’s ... //sla

Komponenten verbinden

1

Den Sensor verbinden

Der Sensor benötigt drei Verbindungen, um arbeiten zu können. VCC mit 5 V als Spannungseingang, Ausgang und Erde (GND). Um den Sensor mit dem RasPi zu verbinden, brauchen Sie Jumper-Kabel (weiblich auf weiblich, Buchse auf Buchse). Solche Kabel finden Sie problemlos im Onlinehandel (tinyurl.com/jumperkabel). Suchen Sie auf dem Sensor nach dem VCC-Pin und drücken Sie vorsichtig ein Kabel darauf. Verbinden Sie es mit Pin 2 auf dem RasPi. Achtung: Das Pi immer vom Strom nehmen, wenn Sie etwas mit diesem GPIO genannten Bereich verbinden! Prüfen Sie erst die Verbindungen, bevor Sie es mit Strom versorgen.

3 2

Erde und Ausgang

Nun wiederholen Sie die Schritte. Verbinden Sie den Erde-Pin (GND) des Sensors mit seinem Pendant auf dem Pi (Pin 6). Schließlich verbinden Sie den Ausgang (Out) des Sensors mit Pin 7 des Raspberry. Auf einen Widerstand können Sie verzichten, da die Spannung am Ausgang Out nur 3V beträgt, was für das Raspberry Pi ungefährlich ist.

Kamera verbinden

Als Nächstes verbinden wir das Kamera-Modul (tinyurl.com/Raspi-Kamera). Suchen Sie dazu den passenden Port, der sich zwischen HDMIund Ethernet-Schnittstelle befindet. Heben Sie vorsichtig den kleinen Plastikhebel an und schieben Sie das Datenkabel sachte in die Buchse. Die silbernen Anschlüsse zeigen dabei in Richtung HDMI-Port. Ist alles verbunden, drücken Sie den Plastikhebel wieder vorsichtig an seinen Platz. Das Datenkabel wird damit sicher festgehalten.

31

Projekte

Software einrichten

1

Kamera aktivieren

Nachdem die Hardware installiert wurde, ist es Zeit, die Software zu konfigurieren, die zur Steuerung gebraucht wird. Öffnen Sie dazu im Betriebssystem des RasPi ein Terminal. Geben Sie dort ein: sudo raspi-config

Wählen Sie im Menü den Eintrag Enable the camera und drücken Sie Eingabe. Bestätigen Sie auch die Nachfrage. Kehren Sie zum Menü zurück und wählen Sie Finish.

3

Pip installieren ...

Um die Kamera mit Python nutzen zu können, müssen Sie picamera herunterladen. Am einfachsten geht das mit dem Paketmanager Pip. Pip funktioniert prinzipiell wie apt-get. Das Werkzeug übernimmt also die gleichen Aufgaben wie der Paketmanager des Raspberry. Installieren Sie Pip mit einem Terminal wie im Code des nächsten Schritts beschrieben.

5

Projektdateien öffnen

Um die Daten zu verwenden, müssen Sie den Editor idle verwenden. Mit Root-Rechten starten Sie das Programm über sudo idle

Im Programm wechseln Sie mit File | Open in den Ordner, in dem Sie die Projektdateien abgelegt haben. Öffnen Sie nun die Datei pir_alarm.py.

32

2

Testen Sie die Kamera

Sie haben das Raspberry angewiesen, die Eingabe der Kamera abzufragen. Zeit für einen Test, ob die Kamera auch richtig aufnimmt. Öffnen Sie ein Terminal und geben Sie dort raspistill -o test.jpg

ein. Kommt es zu Fehlermeldungen, prüfen Sie, ob Sie im vorherigen Schritt die Kamera tatsächlich aktiviert haben. Überprüfen Sie auch noch einmal die Steckverbindung.

4

... und dann Picamera

sudo apt-get update sudo apt-get install python-pip sudo pip install picamera

Pip installiert somit gleich im Anschluss auch picamera. Jetzt besorgen Sie sich den Quellcode des Projekts. Laden Sie das ZIP unter https://github.com/lesp/PIR_Alarm/archive/master.zip.

6

Extras hinzufügen

Im Quellcode ist eine Sektion für den Import von Zusatzfunktionen enthalten. Hier importieren Sie Bibliotheken. Zunächst time, das die Kontrolle des Programms ermöglicht. Danach datetime, um Datum und Uhrzeit nutzen zu können. Im Anschluss RPi.GPIO, die Sie besser in GPIO umbenennen. Schließlich noch picamera, was benötigt wird, um mit Python die Kamera zu steuern.

Projekte

Code anpassen

1

Signal-PIN speichern

2

Wir haben den Ausgang des Sensors mit Pin 7 des Raspberry Pi verbunden. Um den Code effizienter zu gestalten, speichern Sie diesen Wert. Dazu nutzen Sie eine Variable: pir = 7

Damit können Sie später leichter die Pin-Belegung – falls notwendig – auch im Programm ändern.

3

Code vereinfachen

4

Im Code suchen Sie den Block GPIO.setup(pir, GPIO.IN)

Die Zeile weist das Programm über die Variable an, auf das Signal von Pin 7 zu warten. Die nächste Zeile kürzt den Aufruf für die Kamera von picamera zu camera, was den Code vereinfacht. camera = picamera.PiCamera()

Textnachrichten aktivieren

Die Funktion sms() in Zeile 14 ist ein wichtiger Bestandteil, der von smspi.co.uk zur Verfügung gestellt wird – in Deutschland leider nur mit Umwegen. Mit den drei Argumenten to, message und hash übergeben wir die Zielnummer, die Nachricht und den Hashcode zur Nutzung des Gateways. Um den Service nutzen zu können, müssen Sie einen kostenlosen Account anlegen (siehe unten).

So funktioniert die Schleife

Wenn der Alarm ausgelöst wird. Rufe Uhrzeit und Datum ab und verwandle sie in einen String. Kürze den String auf 20 Zeichen. Lege die Nachricht und einen Dateinamen an. Nimm ein Foto auf und zeichne 10 Sekunden Video auf. Nutze die SMS-Funktion zum Versenden des Alarms. Ruhe 30 Sekunden. Wiederhole die Schleife, wenn der Alarm ausgelöst wird.

Textnachrichten mit SMSpi Das Team von http://smspi.co.uk hat einen Python-Code für dieses Projekt entwickelt. SMS-pi bietet einen kostenlosen SMS-Service für Projekte mit dem Pi. Zum Einsatz kommt dabei eine besondere API. Diese kann in den meisten Sprachen aktiviert werden, wie CURL, PERL, Python, PHP und Ruby. Um den Dienst nutzen zu können, müssen Sie sich für ein Konto anmelden. Außerdem benötigen Sie eine britische Telefonnummer für den SMS-Empfang. Ausländische Nutzer könnten dazu etwa Dienste wie receivesms online.com nutzen. Danach greifen Sie auf das Netzwerk mit einem Hashcode zu. Mit dem Dienst können Sie nicht nur SMS über das SMSpi-Netzwerk versenden, sondern

auch empfangen. Diese leiten Sie als E-Mail weiter oder nutzen die Nachricht in Webprogrammen. Nachdem Sie Ihren Hashcode erhalten haben, fügen Sie ihn im PythonCode in Zeile 11 ein. Wurde der Alarm eingerichtet und die Funktion geprüft, wollen Sie wahrscheinlich unterwegs auf die gespeicherten Bilder zugreifen. Das funktioniert mit dem Zugriff per SSH sehr gut. Diese Funktion müssen Sie allerdings erst über raspi-config freischalten. Mit einem Dateimanager greifen Sie anschließend per SSHFS auf den Ordner zu, in dem sich die Bilder befinden. Wenn Sie zu den Fortgeschrittenen gehören, installieren Sie sich lighttpd oder nginx, um den Content auf einem Server anzubieten.

Der Code speichert alle Bilder und Videos im gleichen Verzeichnis, in dem auch das Skript liegt

33

Projekte

Eine NAS im Eigenbau D

as Raspberry Pi ist überaus vielseitig. So lässt es sich etwa als Mediacenter nutzen oder für viele Bastelprojekte. Und es ist auch ein idealer Server. Was liegt also näher, als aus dem kleinen RasPi eine vollwertige NAS zu machen? Wir zeigen Ihnen, wie Sie den Mini in einen Netzwerkspeicher mit allen Extras verwandeln.

Vorbereitung: Die richtige Hardware

Zunächst einmal benötigen Sie natürlich ein Raspberry Pi. Wir empfehlen die aktuelle Version 2 Modell B, die dank neuem Prozessor ihre Leistung gegenüber dem Vorgängermodell in etwa versechsfacht hat. Sollten Sie noch das ältere Modell B oder B+ besitzen, müssen Sie jedoch nicht unbedingt aufrüsten. Für ein NAS-System für den Heimgebrauch reicht die Leistung noch aus. Nur die Modelle A oder A+ können Sie nicht verwenden – diesen fehlt schlicht der Netzwerkanschluss. Weiter benötigen Sie die übliche Raspberry-Pi-Grundausstattung, bestehend aus Netzteil mit Micro-USB-Anschluss, und eine microSD-Karte plus Kartenleser (Raspberry Pi 1, Modell B: SD-Karte). Details zu dieser Grundausstattung finden Sie auf Seite 12.

34

Maus, Tastatur und Monitor benötigen Sie im Prinzip gar nicht, nicht einmal für die ersten Schritte. Verwenden Sie das RasPi nur als NAS, können Sie es ebenso gut unter dem Schrank oder in der Abstellkammer verstecken wie jede andere NAS auch. Die Administration erfolgt bequem von einem beliebigen PC aus, ebenso wie der Zugriff auf die gespeicherten Inhalte. Letzteres funktioniert natürlich auch per Smartphone und Tablet. Neben der bereits erwähnten Grundausstattung benötigen Sie einen Speicher für die Daten. Das kann beispielsweise eine nicht mehr genutzte, externe Festplatte sein – oder schlicht ein USB-Stick. Da alle Raspberry-Pi-Modelle nur USB 2.0 unterstützen, lohnt es nicht, ein schnelles USB-3.0-Modell zu verwenden. Wir empfehlen Ihnen, es für einen ersten Test zunächst mit einem USB-Stick zu probieren. Für den Dauerbetrieb raten wir dazu, das RasPi in einem Gehäuse zu verstauen. Das ist zwar nicht zwingend erforderlich, allerdings würde das Gerät sonst im Betrieb ziemlich einstauben. Einen Überblick über RasPi-Gehäuse finden Sie auf Seite 130. Achten Sie in jedem Fall auf das für Ihr Modell (RasPi 2, B, B+) genau passende Gehäuse.

Fotos: Juliane Weber, Sertronics (AVC-Shop.de)

So machen Sie aus dem Raspberry Pi, der üblichen Grundausstattung sowie einem USB-Stick oder einer Festplatte einen Netzwerkspeicher mit vielen Komfortfunktionen

Projekte

Das Pi lässt sich leicht zum Netzwerkspeicher machen – idealerweise in einem stabilen Gehäuse

legen Sie die – idealerweise leere – microSD-Karte ein. Informationen zu OMV finden Sie auf der Projektseite www. openmediavault.org. Laden Sie von der Seite http://source forge.net/projects/openmediavault/files im Bereich „Raspberry Pi Images“ das für Sie passende Abbild herunter. Zum Zeitpunkt der Erstellung des Artikels war dies die Datei omv_2.0.15_rpi_rpi2.img.gz. Entpacken Sie das heruntergeladene gz-Archiv mit einem Packprogramm wie 7zip (auf DVD oder unter www.7-zip.org). Anschließend benötigen Sie ein Programm, um das Image auf die microSD-Karte zu schreiben. Wir empfehlen hierfür unter Windows Win32 Disk Imager (ebenfalls auf DVD oder unter http://sourceforge. net/projects/win32diskimager). Starten Sie Win32 Disk Imager und wählen Sie das ISO aus. Ihr Speicherkartenlaufwerk sollte das Tool automatisch richtig erkannt haben. Überprüfen Sie bitte ganz genau, ob es sich um das richtige Laufwerk handelt, denn schließlich werden alle vorhandenen Daten überschrieben! Starten Sie das Aufspielen des Images mit einem Klick auf Write.

Mit einem Tool wie Win32 Disk Imager schreiben Sie das Image des Betriebssystems auf die microSDKarte

Erster Start von OMV

Das System: Open Media Vault

Das Standard-Betriebssystem für das Raspberry Pi ist Raspbian, eine speziell angepasste Version der Linux-Distribution Debian. Allein schon mit ihr könnten Sie Freigaben anlegen und diese dann in Ihrem gesamten Netzwerk nutzen (siehe Kasten auf Seite 39). Seit Kurzem gibt es sogar Windows 10 kostenlos fürs Raspberry Pi 2. Auch hiermit sind selbstverständlich Freigaben fürs Heimnetz möglich. Vergleicht man diese einfachen Freigaben jedoch mit ausgewachsenen NAS-Systemen, so fehlen doch viele Features und vor allem der Komfort. Wir verwenden daher in diesem Workshop Open Media Vault (OMV), ein freies Betriebssystem für Netzwerkspeicher. Im Gegensatz zum weit verbreiteten FreeNAS basiert OMV nicht auf FreeBSD (welches das RasPi nicht unterstützt), sondern auf Debian. Es verwundert also nicht, dass es auch eine speziell aufs Raspberry Pi angepasste Version gibt – auch fürs Raspberry Pi 2. So lässt sich jedes Modell im Handumdrehen in eine NAS verwandeln. Zur ersten Einrichtung benötigen Sie einen Kartenleser. Schließen Sie diesen per USB an Ihren Rechner an und

Ist der Vorgang erfolgreich abgeschlossen, bereiten Sie das Raspberry Pi vor. Stecken Sie die microSD-Karte in den Schacht, bis sie ganz einrastet. Schließen Sie ein Netzwerkkabel an und stecken Sie den USB-Speicher an einen der USB-Anschlüsse. Jetzt sind Sie bereit zu starten: Schließen Sie das RasPi per Micro-USB mit dem Netzteil an. Der MiniComputer bootet sofort; einen An-Aus-Schalter gibt es nicht. Maus, Tastatur und Monitor benötigen Sie nicht. Die Konfiguration können Sie ab jetzt komplett von einem beliebigen Rechner aus durchführen. Dieser muss sich nur im selben Netzwerk befinden. Nun wird es spannend, denn Sie können sich zum ersten Mal in die grafische Administrationsoberfläche von Open Media Vault einloggen. Starten Sie dazu einen Browser auf einem beliebigen Rechner in Ihrem Netzwerk und geben Sie dort die IP-Adresse des Raspberry Pi an, beispielsweise so: 192.168.178.15 Falls Sie nicht wissen, wie die IP-Adresse Ihres neuen NASServers lautet, werfen Sie zum Beispiel einen Blick in die Netzwerkübersicht Ihres Routers. Alternativ hierzu öffnen Sie eine Konsole (unter Windows 10: Rechtsklick auf das Windows-Symbol links unten und dann Eingabeaufforderung). Geben Sie arp /a ein, um alle im Netz vorhandenen Rechner aufzulisten. Das standardmäßig angelegte WebAdministratorkonto bei OMV hat übrigens den Namen admin; das Passwort lautet openmediavault. Sie ändern

35

Projekte geschieht ebenfalls über den Dialog Dateisysteme. Markieren Sie das Laufwerk und klicken Sie auf Einbinden.

Öffentliche Freigaben

Erster Login: Ist das System eingerichtet, kann man sich von jedem Rechner im Netzwerk aus einloggen

dieses Passwort über System | Allgemeine Einstellungen | Web Administrator Passwort. Kernstück der Dateifreigaben in einem heterogenen Netzwerk mit Linux-, Windows- und anderen Clients ist eine Software namens Samba. Dabei handelt es sich um eine stabile und sehr oft benutzte Re-Implementierung des von Microsoft entwickelten Netzwerkprotokolls. Weil Windows, Mac OS X und Linux das Protokoll für den Zugriff auf entfernte Laufwerke nutzen können, ist dies die beste Lösung, um Dateifreigaben zu realisieren. Samba funktioniert schließlich plattformübergreifend. Sie müssen also zunächst Samba aktivieren. Dies erledigen Sie über Dienste | SMB/CIFS | Aktivieren. Klicken Sie auf Speichern und bestätigen Sie Ihre Änderung.

Speicher vorbereiten

Zunächst müssen Sie den via USB angeschlossenen Speicher einbinden – die übersichtliche Darstellung hilft dabei

36

Open Media Vault arbeitet am besten mit ext4-formatierten Speichern zusammen. Sie können Ihren USB-Stick oder Ihre Festplatte also entweder vorher – etwa unter Linux – mit ext4 formatieren oder diese Aufgabe Open Media Vault überlassen. Löschen Sie dazu gegebenenfalls die vorhandene Partition unter Datenspeicher | Reale Festplatten. Bestätigen Sie auch hier die Sicherheitsabfrage und warten Sie ein paar Minuten, bis der Speicher überschrieben ist. Klicken Sie dann auf Datenspeicher | Dateisysteme | Erstellen, wählen Sie das gewünschte Laufwerk aus (etwa Ihren USB-Stick oder die USB-Festplatte), vergeben Sie einen Namen und formatieren Sie das Laufwerk. Bestätigen Sie auch dieses und warten Sie, bis das Dateisystem initialisiert ist – das kann eine Zeit lang dauern. Anschließend können Sie das frisch formatierte Laufwerk einbinden. Dies

Nun steht der Datenträger zwar prinzipiell bereit, allerdings müssen Sie noch entsprechende Zugriffsrechte vergeben. Benutzer können Sie über Zugriffskontrolle | Benutzer verwalten. Zunächst genügt es aber, unter Zugriffskontrolle | Freigegebene Ordner auf Hinzufügen zu klicken. Wählen Sie den Datenträger aus und vergeben Sie – bei einem öffentlichen Ordner – Lese- und Schreibrechte für jeden (spezifische Rechte vergeben wir später). Im Bereich Dienste | SMB/CIFS klicken Sie auf Hinzufügen. Wählen Sie hier den freigegebenen Ordner aus, vergeben Sie einen Namen und gewähren Sie jedem den Gastzugriff. Wenn Nur Gäste ausgewählt ist, wird kein Passwort benötigt, um auf die Freigabe zuzugreifen. Auch hier müssen Sie wieder auf Anwenden klicken und die Änderungen bestätigen. Ab jetzt können Sie mit allen Rechnern im Netzwerk auf die Freigabe zugreifen – unabhängig vom jeweiligen Betriebssystem. Probieren Sie es gleich einmal aus: Öffnen Sie den Windows Explorer und durchsuchen Sie das Netzwerk. Ihr Raspberry Pi sollte dort auftauchen. Sie können nun einfach – etwa per Drag & Drop – Dateien auf das neue Netzlaufwerk kopieren. Dabei können Sie gleich einen ersten Geschwindigkeitstest machen: Wenn Sie knapp 12 MByte/s (das entspricht 96 MBit/s) messen, haben Sie bereits das theoretische Maximum erreicht. Der Flaschenhals ist hier nämlich die Fast-Ethernet-Schnittstelle des Raspberry Pi (100 MBit/s) – leider fehlt Gigabit-Ethernet auch beim neuesten Modell Raspberry Pi 2. Wenn Sie den neuen NAS-Speicher dauerhaft unter Windows als Netzlaufwerk verbinden wollen, haben wir einen kleinen Tipp: Klicken Sie im Windows Explorer die OMV-Freigabe mit der rechten Maustaste an, wählen Sie Netzlaufwerk verbinden, weisen Sie einen Laufwerksbuchstaben zu und aktivieren Sie Verbindung bei Anmeldung wiederherstellen.

Benutzer- und Zugriffsrechte

In den meisten Fällen sollen nicht alle Verzeichnisse allen Nutzern des Netzwerks zugänglich sein. Auch das können Sie in OMV recht einfach regeln – allerdings müssen Sie dies auch wieder quasi doppelt einrichten, nämlich sowohl über Freigegebene Ordner als auch über SMB/CIFS. Um sich mit dieser Systematik (Benutzer, Gruppen, Freigaben und Samba-Shares) vertraut zu machen, probieren Sie am besten ein wenig herum. Wir empfehlen Ihnen deshalb, das Sitzungslimit von 15 Minuten zu deaktivieren. Es nervt sonst, wenn Sie sich immer wieder neu in OMV anmelden müssen. Klicken Sie dazu auf System und Allgemeine Einstellungen. Tragen Sie neben „Sitzungszeitlimit“ „0“ ein. Dadurch wird das automatische Abmelden verhindert. Übernehmen Sie die Änderungen wie gewohnt mit Speichern | Anwenden und der Bestätigung. Legen Sie nun einen neuen Nutzer an: Klicken Sie auf Zugriffskontrolle | Benutzer | Hinzufügen. Wichtig sind der Name und das Passwort, welches Sie doppelt bestätigen müssen. Kommentar und E-Mail-Adresse sind optional. Der neue Nutzer wird automatisch der Gruppe „users“ (und nur dieser) zugeordnet. Sie können ihn per Mausklick aber auch anderen Gruppen hinzufügen. Wir empfehlen, es bei der Voreinstellung zu belassen. Aktivieren Sie zudem nicht

Projekte die Option „Der Benutzer darf sein Konto nicht ändern“. Nachdem Sie gespeichert und Ihre Änderungen angewendet haben, können Sie den neuen Nutzer gleich ausprobieren: Klicken Sie rechts oben auf das Menü-Symbol und auf Abmelden. Melden Sie sich nun als der soeben neu erstellte Nutzer an. Sie sehen eine sehr reduzierte OMV-Oberfläche, in der sich nur die User-Informationen ändern lassen. Melden Sie sich wieder ab und erneut als Administrator an (admin | openmediavault). Klicken Sie unter Zugriffskontrolle | Freigegebene Ordner auf Hinzufügen, um für den neuen Nutzer ein persönliches Verzeichnis einzurichten. Dieses sollte einen selbsterklärenden Namen erhalten. Wählen Sie den Datenträger aus – den Pfad erstellt OMV dann selbstständig. Markieren Sie unter „Berechtigungen“: „Administrator: lesen/schreiben, Benutzer: lesen/schreiben, Andere: kein Zugriff“. Bestätigen Sie mit Speichern. In der Liste der freigegebenen Ordner erscheint jetzt Ihr neues Verzeichnis, es hat allerdings noch den Status als „nicht verwendet“. Wechseln Sie zu Dienste | SMB/CIFS | Freigaben und klicken Sie auf Hinzufügen. Wählen Sie den gerade freigegebenen Ordner aus und markieren Sie ihn als nicht-öffentlich. Aktivieren Sie den Ordner mit Speichern und Anwenden. Wenn Sie jetzt beispielsweise mit dem Windows Explorer auf die Freigabe zugreifen wollen, müssen Sie zunächst Nutzername und Kennwort eingeben. Das Gleiche gilt natürlich auch, wenn Sie auf die Netzwerkfreigaben mit einem Linux-Rechner oder Mac zugreifen wollen – sowie auch beim mobilen Zugriff per Smartphone und Tablet. Haben Sie mehrere Nutzer angelegt und sind diese alle der Gruppe „users“ zugeordnet, dürfen alle auf die neu angelegte Freigabe zugreifen. Das lässt sich natürlich ändern: Wechseln Sie wieder zu Zugriffskontrolle | Freigegebene Ordner. Markieren Sie den Ordner und klicken Sie auf ACL. Unter „Benutzer/Gruppe Berechtigungen“ lässt sich jetzt exakt festlegen, wer was auf diesem Ordner machen darf (beispielsweise nur lesen). So können Sie einem Nutzer alle Rechte geben, anderen nur eingeschränkte oder gar keine. Vergessen Sie nicht, Häkchen bei Alle vorhandenen Berechtigungen ersetzen sowie Berechtigungen auf Dateien und Unterordner anwenden zu setzen. Das ist besonders wichtig, wenn sich schon Verzeichnisse und Dateien im Ordner befinden. Die Änderungen sind sofort wirksam, was Sie etwa mit dem Windows Explorer gleich überprüfen können. Experimentieren Sie ein bisschen mit Benutzern und Gruppen, um ein Gefühl dafür zu bekommen.

Vollzugriff für alle: Wollen Sie ein Laufwerk für alle Nutzer im Netz anlegen, ist dies die Option der Wahl

Sobald Sie einen Nutzer angelegt haben, kann sich dieser in OMV anmelden und etwa sein Passwort ändern

Nützliche Systemdienste

Obwohl Open Media Vault erst im April 2015 die Versionsnummer 2.x erreichte, ist das Open-Source-System recht stabil und zuverlässig. Kein Wunder, der Entwickler, Volker Theile, arbeitet doch seit 2009 daran und hatte bereits zuvor am FreeNAS-Projekt mitgewirkt. Mit dem Raspberry Pi hat das System zudem eine äußerst preiswerte und zuverlässige Hardwarebasis bekommen. Neben den grundlegenden Funktionen, die wir gerade vorgestellt haben, bietet das System zudem eine ganze Menge mehr. An erster Stelle ist die Aktualisierungsverwaltung zu nennen, die Sie unter System erreichen. Hier bringen Sie Open Media Vault mit wenigen Mausklicks auf den neuesten Stand. Ein Klick auf Prüfen startet die Suche nach Updates. Findet das System Aktualisierungen, wählen Sie diese aus und klicken auf Aktualisieren.

Haben Sie eine entsprechende Berechtigung vergeben, muss sich der Nutzer zunächst mit Passwort anmelden

Leistungsgrenzen Die hier vorgestellte NAS-Lösung kann von der Leistung her nicht mit speziellen NAS-Systemen mithalten, wie sie etwa Qnap, Synology & Co. anbieten. Dies liegt nicht so sehr an der CPU als vielmehr an der Fast-EthernetSchnittstelle des RasPi, die selbst bei der aktuellen Version 2 nicht über 100 MBit/s hinauskommt. Backups riesiger UHD-Filmarchive oder ganzer Rechner-Images sollten Sie daher eher auf einem dedizierten NAS-Gerät durchführen.

37

Projekte

Ein großes Plus von Open Media Vault ist die ausgesprochen komfortable Aktualisierungsverwaltung

Auf Wunsch lassen Sie sich per E-Mail über S.M.A.R.T.- Tests oder verfügbare Aktualisierungen benachrichtigen

Wenn SSH aktiviert ist, haben Sie vollen Shell-Zugriff – unter Windows etwa mithilfe des Programms Putty

Dokumentation Hat man das Grundprinzip von OMV einmal verstanden, ist die Administration relativ einfach. Bleiben dennoch Fragen offen, findet sich eine – allerdings nicht ganz vollständige – Dokumentation im englischsprachigen Wiki: wiki.openmediavault.org. Bei Fragen empfiehlt sich zudem ein Besuch des recht aktiven englischsprachigen Forums unter forums.openmediavault.org.

38

Ebenfalls sehr wichtig ist die permanente Überwachung der Festplatte oder des Speichermediums bei einer NAS. Hierzu setzt Open Media Vault auf die S.M.A.R.T.-Fähigkeiten des Datenspeichers und wertet dessen Daten aus. Dieses Smart Monitoring bieten Festplatten bereits von Haus aus. Die eingebaute Software der Platte analysiert dabei permanent den Datenträger und prognostiziert die Ausfallwahrscheinlichkeit. Diese Daten lassen sich durch OMV auswerten: Sie aktivieren dies über Datenspeicher | S.M.A.R.T. Standardmäßig sind als Intervall 1.800 Sekunden, also 30 Minuten, voreingestellt. Sie können das so übernehmen, sollten dann unter „Powermodus“ jedoch zumindest Schlafen auswählen, damit die Platte nicht alle 30 Minuten aus dem Sleep-Modus hochgefahren wird. Wichtiger als dies ist jedoch ein täglicher kurzer Test: Klicken Sie dazu auf Planmäßige Tests und auf Hinzufügen. Wählen Sie das Laufwerk aus, die Art des Tests und die Uhrzeit. Wollen Sie sich das Ergebnis dieses Tests per E-Mail zusenden lassen, können Sie auch das festlegen: Unter System | Benachrichtigungen | Einstellungen aktivieren Sie diese Funktion und geben die Zugangsdaten zu Ihrem Mailserver ein. Das kann jeder beliebige E-Mail-Dienst oder ein eigener Mailserver sein. Über das Register Benachrichtigungen legen Sie anschließend fest, über was Sie per Mail informiert werden wollen: Die Auswahl reicht vom S.M.A.R.T.Test bis hin zu Software-Aktualisierungen. Einige weitere nützliche Dienste sind bereits in OMV integriert und müssen nur aktiviert werden. Hierzu gehört zum Beispiel ein FTP-Server. Mit ihm können Sie etwa über das Internet auf Ihr NAS-System zugreifen. Allerdings benötigen Sie dafür einen DynDNS-Dienst: Diese Internetdienste hinterlegen Ihre aktuelle IP-Adresse unter einer vereinbarten, feststehenden Webadresse. Diese tragen Sie in Ihren Router ein. Ruft ein Anwender die Webadresse im Browser auf, liefert der DynDNS-Dienst die aktuelle IP-Adresse zurück. Empfehlenswerte, weil kostenlose Dienste sind unter anderem Selfhost.de oder No-IP.com. Ebenfalls wichtig für erfahrenere Linux-Anwender: der Shell-Zugriff via SSH. Sie aktivieren ihn ebenfalls über Dienste. Anschließend können Sie beispielsweise unter Windows über ein Programm wie Putty (auf DVD ) mittels Konsole auf das dem OMV zugrunde liegende Betriebssystem zugreifen. Die Standard-Zugangsdaten für den SSHZugriff als Administrator (nicht Web-Administrator) sind der Nutzer root mit dem Passwort openmediavault.

RAID-System aus mehreren Datenträgern aufbauen Da das Raspberry Pi 2 und das Modell B+ über vier USBPorts verfügen, liegt es nahe, mehrere Datenspeicher zu verwenden. Von da ist der Schritt zu einem RAID-Verbund nicht weit. Auch das lässt sich selbst mit einem so kleinen Rechner wie dem RasPi realisieren. Eine Beschleunigung über ein Software-Raid ist jedoch wenig sinnvoll – schließlich ist – wie bereits erwähnt – die Fast-Ethernet-Schnittstelle der Flaschenhals. Ein reines Mirroring (RAID 1) hingegen kann im Sinne der Ausfallsicherheit durchaus sinnvoll sein. Dabei werden zwei gleich große Datenträger einfach gespiegelt. So etwas lässt sich in Open Media Vault relativ leicht einrichten. Schließen Sie die beiden Datenträger an – sie sollten anschließend unter Datenspeicher | Reale Festplatten zu sehen sein. Wech-

Projekte seln Sie zu RAID Verwaltung und klicken Sie auf Erstellen. Nun vergeben Sie einen Namen, wählen das gewünschte RAID-Level (Mirror) und markieren die beiden Laufwerke. Nach dem Speichern und der obligatorischen Bestätigung wird der RAID-Verbund angelegt. Das kann je nach Datenträgergröße eine ganze Zeit dauern – bis hin zu mehreren Stunden. Anschließend wählen Sie über Datenspeicher | Dateisysteme | Erstellen Ihren neuen RAID-Verbund aus und erstellen ein neues Dateisystem. Anschließend können Sie wie gewohnt Ordner freigeben und Zugriffsrechte vergeben.

Monitoring und Nachrüstfunktionen Ein großes Plus von Open Media Vault sind die vielfältigen Monitoring-Funktionen. Die wichtigsten sehen Sie im Dashboard unter Diagnose. Hier können Sie sich auf einen Blick die CPU-Last, die aktivierten Dienste oder die Datenträgerauslastung anzeigen lassen. Noch interessanter ist aber beispielsweise der Verlauf der CPU-Last. So können Sie etwa Engpässe während der Nutzung der NAS aufspüren. OMV stellt dies grafisch hübsch aufbereitet unter Diagnose| Systeminformationen | Status | CPU-Auslastung dar. Hier werden Sie sehen, dass – vor allem beim stärkeren Raspberry Pi 2 – die Last meist nur bei wenigen Prozent liegt. Hellhörig sollten Sie jedoch dann werden, wenn die Peaks, also die Lastspitzen, länger andauern und das RasPi somit quasi eine Zeit lang lahmgelegt ist. Zum Schluss wollen wir noch auf die wirklich tollen Möglichkeiten zu sprechen kommen, OMV durch Plug-ins aufund nachzurüsten. Da der Unterbau des Systems Debian ist, lassen sich prinzipiell alle möglichen Serverdienste für Linux nutzen. So könnten Sie etwa Ihr RasPi quasi nebenbei als Webserver nutzen. Sinnvoll erscheint uns dies jedoch nur, wenn es mit der NAS-Nutzung irgendwie zusammenhängt. Das ist etwa bei Download- oder Mediaservern der Fall. Werfen Sie einmal einen Blick auf die Webseite www. omv-extras.org. Dort finden Sie jede Menge Plug-ins, also speziell an OMV angepasste Extras. Dabei müssen Sie die Plug-ins nicht herunterladen und manuell in Ihr System einbinden. Sie können diese sehr bequem aus der OMV-Oberfläche heraus installieren und aktivieren. Sie finden die verfügbaren Pakete unter System | Erweiterungen. Genügt Ihnen die Auswahl nicht, lassen sich unter System | OMV-Extras.org weitere Paketquellen einbinden. Hier legen Sie auch fest, ob Sie nur Pakete aus der Hauptpaketquelle verwenden wollen, oder auch solche, die noch in der Testphase sind. Zur Auswahl stehen etwa Tools zum Management logischer Volumes, aber auch zahlreiche Downloadmanager und Usenet-Newsreader. Sie wählen das gewünschte Plugin aus und klicken auf Installieren – alle Abhängigkeiten löst OMV automatisch auf und installiert benötigte Pakete mit. Beachten Sie jedoch, dass insbesondere bei den Paketen mit „Testing“-Status nicht immer alles hundertprozentig funktioniert. Sie können mit etwas Linux-Kenntnissen in solchen Fällen jedoch über die Konsole nachjustieren. Je nach Plug-in finden Sie die grundlegende Konfiguration der neuen Erweiterung anschließend unter Dienste. Unser Tipp: Probieren Sie ruhig einige Erweiterungen aus – unter Umständen finden Sie einen Dienst, den Sie sich bereits lange gewünscht haben und der alleine schon den Betrieb des RasPi als NAS rechtfertigt. //tfh

Mit OMV lassen sich zwei oder mehr Datenträger zu einem RAID-Verbund zusammenfassen

Dank umfangreicher Monitoring-Funktionen haben Sie Ihr NAS-System jederzeit im Griff

OMV lässt sich durch zahlreiche Plug-ins erweitern, hier zum Beispiel durch den Downloader CouchPotato

Raspbian Basis von Open Media Vault ist die Linux-Distribution Debian. Wollen Sie das Raspberry Pi nicht nur als NAS, sondern auch als Desktop-PC einsetzen, können Sie auch Raspbian verwenden, die speziell aufs Raspberry Pi angepasste Debian-Version (siehe unsere Einführung auf Seite 18). Sie finden fertige Images unter www.raspberrypi.org. Auch mit Raspbian lassen sich Samba-Shares anlegen und Serverdienste betreiben.

39

Projekte

Ampelschaltung programmieren

In diesem Workshop lernen Sie, wie Sie mit Ihrem Raspberry Pi, günstigen elektronischen Bauteilen und ein wenig Quellcode Ihre eigene Ampelschaltung bauen und steuern

Die GPIOKontakte des RasPi haben zwei Layouts für die Pins: BCM und Board. Mit der Funktion GPIO.setmode() informieren Sie das RasPi, welches von beiden Sie in Ihrem Projekt nutzen.

40

E

s gibt unzählige Systeme, die mithilfe von Software gesteuert werden – Kernreaktoren, Wetterstationen oder ganz schlichte Verkehrsampeln. Letztere können Sie einfach über Ihr Raspberry Pi und ein wenig Code in Python kontrollieren. Für dieses Projekt benötigen Sie ein beliebiges Modell des RasPi – in unserem Fall das Modell B in Version 2 – sowie ein Breadboard, drei LEDs (in Rot, Gelb und Grün), drei Widerstände mit 220 Ohm, einen Tastschalter, einen Signaltongeber und schließlich zwei Sets Schaltdrähte. Im CamJam EduKit #1 (camjam.me) sind alle Teile enthalten. Sie erhalten es für rund zwei Euro etwa bei Amazon. Zuerst müssen Sie die genannten Bauteile mithilfe des Breadboards entsprechend der Vorlage auf der rechten Seite miteinander verbinden. Sie sehen, die Verkabelung ist im Prinzip ganz einfach. Sind Sie mit dem Anschließen fertig, starten Sie den Desktop. Für dieses Projekt benötigen Sie Python 3, das Sie normalerweise im Programmier-Menü finden. Da Sie in diesem Projekt die GPIO ansteuern, müssen Sie die Anwendung jedoch über das Terminal als sudo starten. Klicken Sie dazu im oberen linken Eck auf das kleine schwarze Monitor-Symbol. Im Terminal geben Sie dann den folgenden Befehl ein und bestätigen diesen anschließend durch Drücken der Entertaste: sudo idle3 Damit öffnen Sie den Editor von Python 3, auch bekannt als IDLE (Integrated DeveLopment Environment). Darin coden Sie Ihr Projekt. Zuvor sollten Sie jedoch den logischen Ablauf der Ampelschaltung verinnerlichen: Start mit grüner LED, der „Verkehr“ kann fließen Warte, bis der User den Knopf drückt Knopf wird gedrückt Grüne LED ausschalten Gelbe LED einschalten 2 Sekunden warten Gelbe LED ausschalten Rote LED einschalten 10 Mal Grüne LED und Signaltongeber einschalten 0,2 Sekunden warten Grüne LED und Signaltongeber ausschalten Gelbe LED einschalten 2 Sekunden warten Rote und Gelbe LED ausschalten Wiederhole von Anfang Jetzt können Sie mit dem Programmieren loslegen. Navigieren Sie dazu in IDLE zu Datei | Neu, um ein neues Bearbeitungsfenster zu öffnen. Mit den ersten Zeilen Code im-

portieren Sie die Bibliotheken, die Ihnen dabei helfen, die GPIO-Pins auf dem Raspberry Pi zu nutzen und die Verzögerungen bei der Ampelschaltung zu kontrollieren. import RPi.GPIO as GPIO from time import sleep Nun konfigurieren Sie die GPIO. Überflüssige Fehlermeldungen stellen Sie mit folgendem Befehl ruhig: GPIO.setwarnings(False) Außerdem instruieren Sie Python, dass Sie das BroadcomLayout für die Pins verwenden (siehe Tipp links): GPIO.setmode(GPIO.BCM) Um die Bedienung der vielen verschiedenen GPIO-Pins zu vereinfachen, legen Sie fünf Variablen fest, die als Bezugspunkt für den jeweiligen Pin dienen. rot = 14 gelb = 15 gruen = 18 taster = 23 signalton = 25 Dadurch erkennen Sie stets, welche Pins für die LEDs, den Taster und den Signaltongeber stehen. Nun müssen Sie Python beibringen, wie er mit diesen Variablen umgehen soll: Die LEDs und der Signaltongeber sind Outputs, während der Tastschalter ein Input ist. GPIO.setup(red, GPIO.OUT) GPIO.setup(amber, GPIO.OUT) GPIO.setup(green, GPIO.OUT) GPIO.setup(buzzer, GPIO.OUT) GPIO.setup(button, GPIO.IN, pull_up_down=GPIO. PUD_UP)

Ampelschaltung einrichten

Im nächsten Schritt schreiben Sie die Hauptfunktionen des Codes, die die Ampel steuern. Beginnen Sie mit try und fügen Sie eine Schleife hinzu, indem Sie while true eingeben. Dann schalten Sie die grüne LED ein und lassen sich eine Nachricht über die Python Shell ausgeben, bevor Sie den Ablauf für 0,2 Sekunden aussetzen lassen: try: while True: GPIO.output(gruen,1) print(“Gruenes Licht für alle Autos”) sleep(0.2) Anschließend bestimmen Sie, was nach dem Knopfdruck passieren soll – das ist eine Menge Code, deshalb teilen wir diesen in ein paar Abschnitte auf. Startet der Code, wird der Wert True registriert, und beim Drücken des Buttons wird False ausgegeben. Dies ermöglicht der Abschnitt „GPIO.output(gruen,1)“. Setzen Sie also den Input-Pin, auf

Foto: Linux Format

INFO

Projekte

Was ist die GPIO? Was das Raspberry Pi zu einer so frei erweiterbaren Plattform macht, sind die vielzähligen Pins. Sie bilden die GPIO – General Purpose Input Output–, also Allzweckein- und ausgabe. Auf dem ersten RasPi standen nur 26 Pins zur Verfügung, doch seit Modell B+ besitzen alle Modelle GPIOs mit satten 40 Anschlüssen. Diese dienen dazu, elektronische Bauteile wie LEDs, Widerstände und Signaltongeber ans RasPi anzuschließen. Angesteuert werden die Elemente dann über Scratch GPIO oder wie in diesem Projekt via Python. Die GPIO kann auch genutzt werden, um I2C-Geräte (InterIntegrated Circuit) wie den Flotilla von Pimoroni anzustecken. I2C benötigt zur Steuerung meh-

rerer Geräte lediglich vier Kabel. Die GPIO unterstützt außerdem SPI (Serial Peripheral Interface), das häufig im Zusammenhang mit SDKarten zum Einsatz kommt. Für die meisten Projekte mit GPIO benötigen Sie zusätzliche Hardware wie Breadboards. Diese sind generell sehr praktisch, wenn Sie gern mit dem Raspberry Pi experimentieren oder prototypisch Schaltkreise aufbauen möchten. Über das vernetzte Raster auf dem Breadboard können Sie so ohne Aufwand Schaltdrähte und elektronische Komponenten miteinander verbinden. Sämtliche Bauteile sind sehr günstig und bei jedem gut sortierten Elektrofachhändler zu finden.

dem der Taster sitzt, auf High (True). Auf Knopfdruck ändert sich folglich der Wert auf Low (False). Dadurch startet die Sequenz, bei der die grüne LED ausgeht, die gelbe LED für zwei Sekunden leuchtet und schließlich von der roten LED abgelöst wird. if GPIO.input(button) == False: GPIO.output(gruen,0) GPIO.output(gelb,1) sleep(2) GPIO.output(gelb,0) GPIO.output(rot,1)

LEDs in Schleifen

Der zweite Abschnitt des Codes nutzt eine For-Schleife, die sich zehn Mal wiederholt. Dabei leuchtet die grüne LED und der Signalton erklingt. Danach schalten sich die gelbe und die rote LED für zwei Sekunden ein und danach wieder aus. Diese Schleife wiederholt sich, wenn der Benutzer den Tastschalter drückt – geschieht das nicht, bleibt die grüne LED solange eingeschaltet. for i in range(10): print(“ L O S “) GPIO.output(gruen,1) GPIO.output(signalton,1) sleep(0.2) GPIO.output(gruen,0) GPIO.output(signalton,0) sleep(0.2) GPIO.output(rot,1) GPIO.output(gelb,1) sleep(2) GPIO.output(gelb,0) GPIO.output(rot,0) Zu guter Letzt schließen Sie die Try-Struktur, damit das Programm eine Unterbrechung durch Keyboardeingaben akzeptiert. Üblicherweise stoppt die Tastenkombination [Strg]+[C] eine solche Anwendung. Sobald dieser Befehl eingeht, setzt das Programm alle GPIO-Pins auf ihre Standardwerte zurück und schließt den Code. except KeyboardInterrupt: GPIO.cleanup() Haben Sie den Code fertig geschrieben, müssen Sie ihn speichern. Klicken Sie dazu auf Run | Run Module. Nach ein paar Sekunden sollte die grüne LED zu leuchten begin-

Sie können die Drähte mit dem GPIO verbinden, während das RasPi läuft. Stellen Sie dabei jedoch sicher, dass es richtig verkabelt ist; ein Kurzschluss kann zum Reboot führen

nen. Sobald Sie auf den Knopf drücken, schaltet die Ampel auf Gelb und dann auf Rot. Zum Ende der Sequenz blinkt das grüne Licht wieder und gewährt den Autos freie Fahrt. Glückwunsch – Sie haben soeben Ihr erstes physisches System mit ein wenig Code in Python realisiert! Mit diesem Grundlagenwissen können Sie sich nun auch andere Beleuchtungsmuster für die LEDs ausdenken. In diesem Projekt verwendeten wir das CamJam EduKit #1, da es alle nötigen Komponenten mitbringt. Das Set eignet sich nicht nur für das Ampelmodell, sondern auch für viele weitere Input/Output-Projekte. Den vollständigen Code für alle Projekte finden Sie auf camjam.me. Das umfangreichere EduKit #2 enthält darüber hinaus Sensoren für passives Infrarot (PIR) oder die Umgebungstemperatur und umfangreiche Arbeitsblätter für die Projekte. Es ist aber (noch) nicht in Deutschland erhältlich, lässt sich jedoch über http://thepihut.com bestellen. //pd

Dieses Layout haben wir mithilfe der Anwendung Fritzing erstellt (fritzing.org). Das kostenlose Tool hilft Ihnen, Ihre Projekte flott zu planen und mit anderen Nutzern zu teilen

41

Projekte

Das RasPi per WhatsApp steuern N

Für die YowsubLibrary gibt es keine detaillierte Dokumentation, doch die mitgelieferten Beispielprojekte sind oft sehr hilf- und lehrreich

42

utzen Sie das Raspberry Pi für Projekte, bei denen weder Monitor noch Tastatur und Maus angeschlossen sind? Beliebte Anwendungsbeispiele hierfür sind Mediaplayer, NAS-Server oder Überwachungskameras. Falls das RasPi so arbeitet, ist es vermutlich irgendwo fest verbaut oder versteckt, sodass Sie nicht mehr so leicht herankommen. Natürlich können Sie sich jederzeit einloggen, doch wie überwachen Sie das Gerät in Echtzeit? Woher wollen Sie wissen, ob das RasPi nicht überhitzt oder sein Speicherplatz vollläuft? In diesem Workshop zeigen wir Ihnen, wie Sie diese Probleme lösen, indem Sie Ihrem RasPi zu einem eigenen Bewusstsein verhelfen ...

Genauer gesagt zeigen wir Ihnen, wie Sie das Tool sendxmpp auf dem Raspberry Pi installieren. Es erlaubt Ihnen, mithilfe des beliebten XMPP-Nachrichtenprotokolls mit dem kleinen Computer zu kommunizieren und umgekehrt. Dadurch bringen Sie das RasPi dazu, Ihnen Benachrichtigungen zu senden, wenn bestimmte Ereignisse eintreten. Zuerst benötigen Sie einen Account bei XMPP IM für Ihr Pi. Falls Sie nicht schon einen XMPP-Server verwenden, können Sie sich unter https://xmpp.net/directory.php bequem für einen eintragen. Wir haben im Test den Dienst Jabber.hot-chilli.net genutzt, da er einen hohen Sicherheitsstandard besitzt. Nach der Anmeldung sollten Sie das RasPi als „Freund“ hinzufügen – über diesen Kanal erhalten Sie nämlich später die Benachrichtigungen. Jetzt loggen Sie sich in das Raspberry Pi ein, aktualisieren die Repositorys und laden anschließend das Tool sendxmpp herunter, indem Sie sudo apt-get install sendxmpp in der Konsole eingeben. Es handelt sich dabei um ein Perl-Skript, das gleich die nötigen Abhängigkeiten mitbringt. Nach der Installation erstellen Sie im Hauptverzeichnis eine Datei namens sendxmpprc, die die Zugangsdaten des XMPP-Accounts enthält, den Sie soeben für Ihr Raspberry Pi eingerichtet haben: nano ~/.sendxmpprc [email protected] geheimes-passwort

Bilder: Linux Format

Hallo RasPi, wie geht es dir? In diesem Workshop lesen Sie, wie Sie mit Ihrem Minirechner kommunizieren und ihn dazu bringen, Ihnen regelmäßig Statusmeldungen zu schicken

Projekte

Videochats mit dem Raspberry Pi Wenn Sie das Raspberry Pi 2 als regulären Desktop-PC verwenden, können Sie einen Instant Messenger installieren und mit Ihren Freunden Text- und Videochats durchführen. Das XMPP-Protokoll aus diesem Workshop ist eines der populärsten zum Austausch von Nachrichten und wird auch von großen Diensten wie Google Chat verwendet. Einer der besten Clients für das RasPi ist Gajim, denn er bietet die perfekte Balance zwischen Dateigröße und Funktionsvielfalt. Gajim ist in den offiziellen Raspbian-Repositorys enthalten und Sie installieren ihn mit einem einfachen Befehl: sudo apt-get install gajim Nach der Installation verbinden Sie den Client

mit Ihrem XMPP-Account und können direkt die ersten Nachrichten verschicken. Alternativ schließen Sie eine Webcam an das RasPi an und tätigen Videoanrufe. Hierfür müssen Sie jedoch erst die gstreamer1.0-plugins-badsowie die python-farstream-Pakete installieren. Diese sind ebenfalls Teil der RaspbianRepos und können per apt-get installiert werden. Nach der Installation finden Sie in Gajim einen neuen Button, der einen Videochat startet. Gibt es Probleme bei der Audioübertragung, navigieren Sie zu Ändern | Einstellungen | Audio/Video und wählen den richtigen Output. Ist Ihre Bandbreite eingeschränkt, passen Sie hier auch die Qualität des Bildes an.

Natürlich müssen Sie den Usernamen und das Passwort aus dem Beispiel noch ersetzen. Speichern Sie die Datei. Nun senden Sie eine Nachricht an das RasPi: echo “Hallo, hier ist Raspi!” | sendxmpp -t [email protected] Dieser Befehl schickt eine Nachricht vom RasPi an die entsprechende XMPP-ID, die durch„-t“ festgelegt wird. Diese müssen Sie durch Ihre eigene ID ersetzen. Sind Sie in Ihren regulären Account eingeloggt, erhalten Sie obige Begrüßung von dem Konto des Raspberry Pi. Sie können auch Bash-Befehle ausgeben, etwa diesen: echo “Es ist der” $(date) | sendxmpp -t ihreuserid@ jabber.hot-chilli.net Der Befehl gibt Ihnen das aktuelle Datum aus. Hier ist noch einer, der sich vielleicht als nützlicher erweist: echo $(/opt/vc/bin/vcgencmd measure_temp) | sendxmpp -t [email protected] Damit steuern Sie die Temperatursensoren des RasPi an, und zwar mithilfe der Utilities, die über das Paket raspberrypi-firmware-tools mitgeliefert werden. Die Resultate werden anschließend wieder an Ihren Account geschickt. Dieser Befehl lässt Sie das Gerät überwachen. Möchten Sie alarmiert werden, falls die Temperatur einen Grenzwert überschreitet, dann übertragen Sie den Inhalt des ersten Programmcodes (siehe Kasten Seite 45) in eine Datei namens status.sh. Anschließend setzen Sie per crontab -e im Terminal einen Crontab-Eintrag und geben darin ein: */5 * * * * ~/status.sh Passen Sie hier noch den Pfad an, unter dem Sie die Datei gespeichert haben. Nun wird das Skript status.sh alle fünf Minuten ausgeführt – doch was passiert dabei genau? Das Skript speichert die Betriebstemperatur des Raspberry Pi in einer Variablen namens temp und prüft im Anschluss, ob der Wert 40 °C übersteigt. Falls ja, erhalten Sie eine Warnmeldung. Das Skript lässt sich erweitern, damit Sie mehr über die Vorgänge auf dem Gerät erfahren. Zum Beispiel können Sie sich auch benachrichtigen lassen, wenn eine bestimmte Meldung in einer Logdatei gefunden wird oder sobald sich der Status des Daemons ändert. Dabei hilft Ihnen das sendxmpp-Skript. Doch was nützen Ihnen die Warnungen, wenn Sie darauf nicht reagieren können? Schließlich müssen Sie sich dazu erst in das Raspberry Pi einloggen – schwierig, wenn Sie gerade unterwegs sind. Doch auch dafür gibt es eine clevere Lösung – per WhatsApp.

Gajim bietet einige interessante Plug-ins an, darunter OTR, mit dem Sie Ihre gesamte Kommunikation über Messenger verschlüsseln

Ihr bester Freund

WhatsApp ist einer der beliebtesten Instant Messenger. Er lässt sich auch mit dem Raspberry Pi verwenden, zum Beispiel indem Sie Ihren Freunden Nachrichten über das Gerät schicken oder das Pi selbst steuern – dabei hilft Ihnen die Python-Bibliothek Yowsup. Bevor Sie diese installieren können, benötigen Sie die Abhängigkeiten, die Sie sich mit dem Befehl sudo apt-get install git python-dev libncurses5-dev abholen. Danach geben Sie im Terminal git clone git://github.com/tgalal/ yowsup.git ein, um die Bibliotheken herunterzuladen. Installiert werden diese dann wie folgt: cd yowsup sudo python setup.py install Nun müssen Sie Ihre Mobilfunknummer zusammen mit WhatsApp registrieren. Erstellen Sie dazu im YowsupVerzeichnis eine Datei namens mydetails, die Folgendes enthält: nano mydetails cc=49 phone=4917612345678 Die cc-Zeile verweist auf den Ländercode, also 49 für Deutschland. In der nächsten Zeile geben Sie Ihre Telefonnummer ohne ein Leer- oder Pluszeichen ein. Speichern Sie die Datei und bitten Sie WhatsApp darum, einen Registrierungsschlüssel per SMS zu senden: python yowsup-cli registration --config mydetails --requestcode sms Nach ein paar Sekunden erhalten Sie eine Nachricht aufs Handy, die einen sechsstelligen Code enthält. Diesen geben Sie bei der Registrierung Ihrer Telefonnummer ein: python yowsup-cli registration --config mydetails --register xxx-xxx Ersetzen Sie xxx-xxx durch Ihren individuellen Code. Sie erhalten daraufhin eine Rückmeldung von WhatsApp, etwa: status: ok kind: free pw: jK0zdPJ9zz0BBC3CwmnLqmxuhBk= price: 0,89 price_expiration: 1434674993 currency: EUR cost: 0,89 expiration: 1463544490 login: 4917612345678

43

Projekte

Das Raspberry Pi versteht die Nachrichten leider nicht immer auf Anhieb – und es wird Ihnen keinen Mojito machen, egal wie lieb Sie darum bitten

type: new Der einzige für Sie relevante Passus befindet sich hinter der Variable pw. Dies ist Ihr Passwort. Kopieren Sie es und fügen Sie es in die Datei mydetails ein: cc=49 phone=4917612345678 password=jK0zdPJ9zz0M8G3CwmnLqmxuhBk= Das war’s auch schon. Die Yowsup-Bibliothek liefert eine Demo mit, dank der Sie Nachrichten senden und empfangen können. Diese starten Sie mit dem Befehl yowsup-cli demos --yowsup --config mydetails Nachdem der Yowsup CLI-Client gestartet ist, geben Sie /help ein, um alle verfügbaren Befehle gelistet zu bekommen. Das Feld [offline] bedeutet, dass Sie nicht mit den WhatsApp-Servern verbunden sind. Um das zu ändern,

geben Sie /L ein. Dadurch holt sich Yowsup die Kontodaten aus der Datei mydetails ab und verbindet sich mit dem Server. Der Status sollte nun [connected] lauten. Jetzt können Sie Nachrichten an andere WhatsApp-Nutzer verschicken. Um eine Nachricht an die beispielhafte Nummer 4917987654321 zu schicken, geben Sie folgenden Befehl ein und bestätigen ihn mit der Entertaste: /message send 4917987654321 “Hallo Kumpel, diese Nachricht kommt über mein Raspberry Pi zu dir!” Wenn Ihnen der Empfänger antwortet, wird Ihnen dies in der Konsole des RasPi angezeigt. Die Session beenden Sie durch Eingabe des Befehls /disconnect.

Wie geht’s dir, RasPi?

Der größte Vorteil der Yowsup-Bibliothek ist jedoch, dass Sie damit Aktionen auf dem Raspberry Pi ausführen können. So prüfen Sie per WhatsApp-Nachricht flott den verfügbaren Speicherplatz oder die aktuelle Betriebstemperatur – ist diese zu hoch, schalten Sie das Gerät einfach aus. Außerdem können Sie Einfluss auf die GPIOPins nehmen und dadurch Peripheriegeräte steuern. Zur Interaktion mit dem Pi können Sie den Programmcode 1 (siehe Kasten rechts) verwenden. Das Skript befolgt Anweisungen einer vordefinierten Nummer, erkennt Schlagwörter und antwortet Ihnen entsprechend. Schreiben Sie also etwas wie „Hallo Raspberry Pi!“, dann grüßt es zurück. Erhält das Skript eine Nachricht, die mit „Speicherplatz“ beginnt, führt das RasPi den Befehl df -h aus und schickt Ihnen die entsprechenden Werte. Das Skript nutzt dabei Klassen, die der italienische Blogger Carlo Mascellani entworfen hat. Diese sind in den zwei Files wasend.py und warecieve.py enthalten, die Sie über folgende Befehle herunterladen: wget http://www.mascal.it/public/wasend.py wget http://www.mascal.it/public/wareceive.py Im selben Verzeichnis legen Sie nun eine Datei namens pitalk.py an und übertragen den Inhalt von Programmcode 2 (siehe rechts) darin. Danach erstellen Sie das Shell-Skript talktome.sh, welches das pitalk.py startet: nano talktome.sh #!/bin/bash while : do sudo python /home/pi/yowsup/pitalk.py done Mit chmod +x talktome.sh machen Sie daraus eine ausführbare Datei – stellen Sie dabei sicher, dass diese bei jedem Boot des Raspberry Pi automatisch startet, indem Sie auf /etc/rc.local verweisen: sudo nano /etc/rc.local /home/pi/yowsup/talktome.sh Speichern Sie die Datei. Von nun an wird das Skript bei jedem Bootvorgang des RasPi automatisch geladen.

Das Skript parsen

Das umfangreiche und zudem komplexe Skript möchten wir für Sie noch etwas aufschlüsseln, damit Sie es besser durchschauen können. Die Funktion credential() am Anfang verknüpft das Skript mit Ihren Logindaten von WhatsApp – diese Parameter müssen Sie also noch anpassen. Der Befehl Answer() legt fest, mit welcher Telefonnummer Ihr RasPi kommunizieren soll, schließlich sollen nur Sie in der Lage sein, es zu steuern.

44

Projekte Nun definieren Sie die eigentlichen Aufgaben, die das RasPi über die WhatsApp ausführen soll. Die Funktion Refresh() etwa aktualisiert die Liste der Repositorys, Restart() startet das Pi neu. Temp() sowie Disk() sind komplexer: Erstere Funktion holt sich Infos zur Temperatur, verkürzt diese und gibt sie wieder aus. Disk() formatiert die Ausgabe des Befehls df -h für bessere Lesbarkeit. Die While-Schleife ist das Herzstück des Codes. Das Skript erstellt bei Eintreffen einer Nachricht eine Ausnahme namens MessageReceived. Die empfangene Botschaft beginnt mit der Telefonnummer des Absenders, gefolgt von der Botschaft, also “4917612345678 Botschaft”. Sobald die Ausnahme eintritt, konvertiert das Skript den String mithilfe von value.lower() in Kleinbuchstaben. Danach prüft es, ob die Botschaft von der autorisierten Nummer stammt. Falls nicht, erfolgt keine Antwort und der fremde Kontakt wird in einem Log gespeichert. Ist die Nummer jedoch autorisiert, dann analysiert das Skript den verbleibenden Text. Die Bedingungen unter If haben dann

die jeweils passende Antwort zur Folge. In unserem Beispiel sehen Sie verschiedene Möglichkeiten, die korrekten Zeichenfolgen zu ermitteln. if received[:5]==“Hallo”: Answer(“Hallo Thomas!”) wird ausgelöst, wenn die ersten fünf Zeichen H, a, l, l und o sind. Darauf antwortet das RasPi mit „Hallo Thomas!“ Im zweiten Beispiel reagiert das Pi, wenn es entweder Neustart oder Reboot empfängt. Die nächsten drei Funktionen agieren etwas anders: Die entsprechende Aktion wird immer ausgelöst, egal an welcher Stelle im Text sich das Schlagwort befindet. Wenn Sie also fragen „Hast du genug Speicherplatz frei?“, dann löst das Wort „Speicherplatz“ die Funktion Disk() aus. Ähnlich ist es mit „heiss“ für die Temperatur oder „aktualisieren“. Versteht Sie das RasPi nicht, sagt es Ihnen das ebenfalls. Auf diese Weise können Sie das Skript beliebig erweitern und sogar zur Heimautomation nutzen. Wenn Sie etwa ein Kameramodul an das RasPi anschließen und die PythonPicam-Bibliothek für die Aufnahmen verwenden, dann können Sie die Fotos und Videos an Ihr Handy senden. //pd

Programmcodes Programmcode 1: status.sh #!/bin/bash

temp=$(/opt/vc/bin/vcgencmd measure_temp | cut -c6-7) if [ “$temp” -gt 40 ]; then echo Meine Temperatur ist $(/opt/vc/bin/vcgencmd measure_temp). Mir ist zu warm, bitte schalte mich aus! | sendxmpp -t [email protected] fi Programmcode 2: pitalk.py import os, subprocess, yowsup, logging from wasend import YowsupSendStack from wareceive import YowsupReceiveStack, MessageReceived def credential(): return “4917612345678”,“jK0zdPJ9zz0BBC3CwmnLqmxuhBk=” def Answer(risp): try: stack=YowsupSendStack(credential(), [([“4917612345678”, risp])]) stack.start() except: pass return def Refresh(): Answer(“Repositorys werden aktualisiert.”) os.system(“sudo apt-get -y update”) Answer(“Repositorys sind aktuell.”) return def Restart(): Answer(“Starte neu...”)

os.system(“sudo reboot”) return def Temp(): t=float(subprocess.check_output([“/opt/vc/bin/ vcgencmd measure_temp | cut -c6-9”], shell=True)[:-1]) ts=str(t) Answer(“Meine Temperatur beträgt “+ts+” C”) return def Disk(): result=subprocess.check_output(“df -h .”, shell=True) output=result.split() Answer(“Speicher:\nGesamt: “+output[8]+”\ nVerwendet: “+output[9]+” (“+output[11]+”)\nFrei: “+output[10]) return while True: try: stack=YowsupReceiveStack(credential()) stack.start() except MessageReceived as rcvd: received=rcvd.value.lower() if received[:l en(“4917612345678”)]==“4917612345678”: received=received[len(“4917612345678”):] if received[:5]==“Hallo”: Answer(“Hallo Thomas!”) elif received[:7]==“Neustart” or received[:6]==“Reboot”: Restart() elif “Speicherplatz” in received: Disk() elif “heiss” in received: Temp() elif “aktualisieren” in received: Refresh() else: Answer(“Das verstehe ich nicht!”) else: #message from wrong sender with open(“/home/pi/whatsapp.log”,”a”) as mf: mf.write(“Unautorisierter Zugriff durch: “+received[ :len(“919968139981”)]+”\n”)

45

Projekte

Filme und TV mit OpenELEC M

it Kodi verwandeln Sie jeden PC in ein Multimedia-Center. Ursprünglich als Mediaplayer für die Xbox entwickelt, ist Kodi die Basis für viele bekannte Open-Source-Mediacenter, beispielsweise Plex, OSMC oder OpenELEC. Kodi ist die optimale Lösung, um Bild-, Musik- und Videodateien am PC zu verwalten und am Computer oder Fernseher wiederzugeben. Dabei ist es egal, ob die Multimedia-Dateien auf einer externen Festplatte, einem USB-Stick oder einer NAS gespeichert sind. Zusätzliche Funktionen können Sie durch kostenlose Add-ons nachrüsten und so sogar Live-TV über das Internet streamen (mehr dazu im Kasten rechts unten). Auf Wunsch lädt Kodi

46

weitere Informationen, etwa Cover und Hintergrundgrafiken, aus dem Internet und bindet diese direkt in die Datenbank ein. Das vereinfacht Liebhabern eines gepflegtes Film- und TV-Serien-Archivs die Arbeit sehr. Das Raspberry Pi ist trotz seiner eingeschränkten Hardwareausstattung problemlos in der Lage, Full-HD-Videos mit bis zu 30 Bildern pro Sekunde ruckelfrei darzustellen. Es ist so klein, dass man es hinter jedem Fernseher verstecken kann. Dabei ist es sehr leise und stromsparend. So eignet sich das RasPi hervorragend als Set-Top-Box-Ersatz. Es stehen Ihnen auf dem RasPi zwei Wege zu Kodi zur Verfügung. Zum einen können Sie Kodi ganz normal unter

Foto: Istockphoto

Ein RasPi, ein HDMI-Kabel und eine externe Festplatte oder eine NAS – fertig ist das Mediacenter. Der Aufbau ist so klein, er passt problemlos hinter jeden Fernseher

Projekte

Der Kodi-Ableger OSMC Wer Wert auf eine sehr schlichte, aber optisch ansprechende Benutzeroberfläche legt, sollte einen Blick auf OSMC werfen. Wie OpenELEC ist auch OSMC aus Kodi, ehemals XBMC, hervorgegangen. Tatsächlich ist OSMC der direkte Nachfolger des beliebten Mediacenters Raspbmc für das Raspberry Pi. Im Gegensatz zu OpenELEC setzt OSMC aber auf einem kompletten, aber schlanken Debian OS auf. Daher kann OSMC sehr viel mehr als OpenELEC, das darauf optimiert wurde, Kodi möglichst effizient laufen zu lassen. Auch OSMC lässt sich ganz einfach mit Noobs auf einer SD-Karte installieren. Das System ist ebenfalls plattformübergreifend und steht für Windows, Linux oder Mac OSX zur Verfügung. Die Bedienung ist jedoch Geschmackssache und für Nutzer von Kodi oder OpenELEC gewöhnungsbedürftig. Für Fans des mittlerweile eingestellten Raspbmc wird die letzte Versions des Klassikers weiterhin als Download bereitgestellt (https://osmc.tv/download).

Raspbian über die Paketverwaltung installieren. Wenn Sie jedoch das RasPi ausschließlich als Mediacenter nutzen möchten, empfiehlt es sich, mithilfe von Noobs statt Raspbian direkt OpenELEC als Betriebssystem zu installieren. OpenELEC ist eine extrem schlanke Linux-Distribution auf Basis eines vorkonfiguriertes Kodi-Mediacenters, die sich im Hintergrund von selbst automatisch aktualisiert. Sie ist optimal für leistungsarme Systeme geeignet. Auf der folgenden Seite zeigen wir Ihnen, wie Sie OpenELEC einrichten, die Grundeinstellungen konfigurieren sowie Multimedia-Dateien in die Datenbank aufnehmen, um Zusatzinformationen zu erweitern und wiederzugeben.

Kostenlose Fernbedienungs-Apps Wenn Sie OpenELEC zur Wiedergabe über Ihr Fernsehgerät nutzen wollen, verwenden Sie am besten ein Android- oder iOS-Gerät als Fernbedienung. Das erleichtert die Navigation

Die Oberfläche von OSMC ist stark reduziert und kommt ohne jegliche animierte Spielereien aus. Wie OpenELEC ist auch OSMC ein möglichst kompaktes, ressourcenschonendes Mediacenter

ungemein. Installieren Sie dazu eine der beiden kostenlos angebotenen Apps Official Kodi Remote für iOS und Kore oder Official Remote for Kodi (Android). Der Funktionsumfang lässt keine Wünsche offen. Sie navigieren damit durch Ihre mit Kodi verwalteten Foto-, Musik- und Videosammlungen, legen beliebige Playlists an, steuern die Wiedergabe und die Lautstärke und wechseln durch die einzelnen Kodi-Menüs. Wie einfach Sie Kodi mithilfe der offiziellen Android-App fernsteuern, lesen Sie im Workshop auf Seite 49. Verzichten müssen Sie bei den offiziellen Fernsteuerungs-Apps auf eine Streamingfunktion, die es Ihnen erlaubt, die mit Kodi verwalteten MultimediaDateien auf Smartphones und Tablets abzuspielen. Spielt das Streaming für Sie eine entscheidende Rolle, sollten Sie im Google Play Store unbedingt einen Blick auf die App Yatse, the XBMC/Kodi Remote werfen. Per In-App-Kauf können Sie die Streamingfunktion nachrüsten. //jaz

Fersehen mit Kodi – das IPTV-Add-on

Um TV über das Internet zu empfangen, müssen wir zunächst das Add-on IPTV aktivieren. Es ist bereits vorinstalliert. Gehen Sie zu Optionen | Addons | Deaktivierte Addons. Wählen Sie PVR IPTV Simple Client. Klicken Sie in den Add-onInformationen auf Aktivieren. Wählen Sie dann den Menüpunkt Konfigurieren.

Als Nächstes geben wir die Pfade an: Als Ort ist Entfernter Pfad (Internetadresse) vorausgewählt. Geben Sie http://tv.iptv.ink/iptv.ink als URL an. In EPG- Einstellungen sollte der Ort wieder Entfernter Pfad sein. Geben Sie http:// guide.tvip.ga/epg.xml als XMLTV-URL an, unter Senderlogos http://logo.tvip.ga.

Nun müssen wir noch die Option Live-TV aktivieren. Gehen Sie hierzu in Optionen | Live-TV in den Reiter Allgemein und setzen Sie bei Aktivieren die Markierung. Warten Sie einen Augenblick. Jetzt werden die Kanäle nachgeladen. Starten Sie das RasPi nun neu. Im Menüband finden Sie anschließend die neue Option TV.

47

Projekte

OpenELEC einrichten und starten

1

OpenELEC installieren

Der einfachste Weg führt über Noobs. Folgen Sie den Anweisungen auf Seite 14, um die SD-Karte entsprechend vorzubereiten, und wählen Sie schließlich statt Raspbian OpenELEC im Installationsmenü von Noobs. Wichtig: Damit Ihnen OpenELEC im Menü zu Auswahl steht, muss das Raspberry Pi zwingend per LAN-Kabel mit dem Internet verbunden sein. Wenn Sie ein Raspberry Pi 2 verwenden, wählen Sie OpenELEC Pi2. Bei einem älteren Modell wählen Sie OpenELEC Pi1. Sie können später OpenELEC auch mit einem WLAN-Stick mit dem Netzwerk verbinden. Hierzu müssen Sie in der weiteren Konfiguration SSH aktivieren.

3

OpenELEC einrichten

OpenELEC startet automatisch im Vollbildmodus. Nun können Sie einen Blick auf die Bedienoberfläche werfen. Als Erstes passen Sie am besten die Tastaturbelegung an. Wählen Sie im Menüband Optionen, klicken Sie auf Einstellungen und wählen Sie Darstellung. Unter Sprache & Region klicken Sie auf Tastaturbelegung und wählen im Drop-down-Menü German QWERTZ. Klicken Sie auf OK, um das Menü wieder zu verlassen. Als Zeitzonen-Region wählen Sie am besten Belgium.

5

Filme und TV-Serien hinzufügen

Videodateien fügen Sie genauso hinzu. Klicken Sie im Hauptmenü auf Videos | Dateien, wählen Sie Dateien |Videos hinzufügen und gehen Sie analog zu Schritt 4 vor, um Quellen hinzuzufügen. Danach geben Sie im Dialog Inhalt festlegen an, ob es sich bei den Videos um Filme oder TVSerien handelt und ob die Ordnernamen den Filmtiteln entsprechen. Diese Infos sind wichtig, damit OpenELEC Filmbeschreibungen und Cover aus dem Web laden kann. Fügen Sie diese Ordner also getrennt hinzu.

48

2

Der erste Start

Der Einrichtungsassistent von OpenELEC führt Sie Schritt für Schritt durch die Installation. Wählen Sie im Drop-down-Menü German aus. Die Menüsprache wird sofort entsprechend angepasst. Folgen Sie nun den weiteren Anweisungen. Mit Weiter springen Sie zum jeweils nächsten Dialog. Vergeben Sie einen Computernamen, den Sie im Netzwerk leicht wiederfinden. Aktivieren Sie SSH, um per Fernzugriff weitere Einstellungen vornehmen zu können. Samba benötigen Sie, um den Zugriff auf Dateien im Netzwerk bereitzustellen. Haben Sie alles abgeschlossen, können Sie einen WLAN-Stick via SSH (wie in Tipp 6 auf Seite 125) einrichten.

4

Dateien hinzufügen

Als Nächstes müssen Sie OpenELEC zeigen, wo Ihre Daten jeweils zu finden sind. Wählen Sie zum Beispiel im Hauptmenü Musik | Dateien und entscheiden Sie sich für Musik hinzufügen. Im Dialog Quelle für Musik hinzufügen klicken Sie auf Durchsuchen, geben den Speicherordner an und bestätigen mit zwei Klicks auf OK. Anschließend werden die Dateiinformationen geladen, was durchaus mehrere Minuten dauern kann. Informationen und Cover von getaggten MP3-Dateien werden übernommen.

6

Filme und TV-Serien abspielen

Fahren Sie im Hauptmenü mit dem Mauszeiger über den Eintrag Filme, werden am oberen Seitenrand die zuletzt hinzugefügten Videos eingeblendet. Klicken Sie auf einen dieser Einträge, beginnt das Mediencenter sofort mit der Wiedergabe. Entscheiden Sie sich hingegen für Filme | Kürzlich hinzugefügt, werden Ihnen die 25 zuletzt in die Datenbank aufgenommenen Videos präsentiert. Haben Sie Ihre Sammlung zuvor gut sortiert und zugeordnet, können Sie im Hauptmenü nun auch auf Serien zugreifen.

Projekte

OpenELEC mit dem Smartphone steuern 1 Remote-App suchen

2 Remote-App laden & starten

Statten Sie mit Ihrem Android-Gerät dem Google Play Store einen Besuch ab, tippen Sie oben rechts auf das Lupen-Icon und geben Sie den Suchbegriff Kore in die Eingabemaske ein. In der Liste der Fundstellen tippen Sie auf Kore, Official Remote for Kodi.

3 Remote-App einrichten

Öffnen Sie die App das erste Mal, werden Sie bei der Einrichtung von einem Schritt-für-Schritt-Assistenten begleitet. Damit wird die Konfiguration zum Kinderspiel. Tippen Sie zunächst auf Weiter. Die App sucht nun nach laufenden Kodi-Servern.

7

4 Media Center hinzufügen

Wird die App im Netzwerk fündig, wählen Sie den Server aus: Fertig. Ansonsten müssen Sie die Daten manuell eingeben. Tippen Sie dazu erneut auf Weiter und geben Sie die gewünschten Daten an. Starten Sie dann den Verbindungstest.

OpenELEC-Einstellungen

im Normalfall sollten Sie die App sofort mit OpenELEC nutzen können, so-fern Sie per WLAN mit dem richtigen Netzwerk verbunden sind. Denn die App sucht automatisch nach allen verfügbaren Mediacentern im Netzwerk. Bei Problemen klicken Sie im Hauptmenü von OpenELEC auf Optionen | Einstellungen |Dienste. Wählen Sie hier den Reiter Webserver.

Auf der App-Detailseite tippen Sie auf Installieren. Bestätigen Sie den folgenden Dialog mit Akzeptieren, um den Download aus dem Google Play Store zu starten und die App sofort zu installieren. Starten Sie die App anschließend durch Antippen von Öffnen; Sie werden vom Konfigurationsassistenten begrüßt.

5 Hauptmenü der Kore-App

Das Hauptmenü der App finden Sie links oben im Eck über die drei Striche. Hier greifen Sie auf die Inhalte zu: Filme, Serien, Musik, Dateien und Anwendungen. Den Fernbedienungsmodus aktivieren Sie ebenfalls über das Menü.

8

6 Multimedia abspielen

Um eine Datei abzuspielen, tippen Sie eine der Rubrikenüberschriften an. Möchten Sie etwa eine TV-Serie starten, wählen Sie Serien, tippen auf den entsprechenden Eintrag, entscheiden sich für eine Staffel und starten die gewünschte Folge.

Webserver aktivieren

Aktivieren Sie Steuerung von Kodi über HTTP erlauben. Erhalten Sie eine Fehlermeldung, wird der Standard-Port 80 bereits anderweitig verwendet. Geben Sie bei Port eine andere Portnummer ein, etwa 8080, und aktivieren Sie erneut Steuerung von Kodi über HTTP erlauben. Vergeben Sie, wenn gewünscht, einen Benutzernamen und ein Passwort.

49

Projekte

Anonym ins Netz

Sie wollen im Netz unerkannt bleiben? Dann nutzen Sie Ihr RasPi als Access Point, der allen Netzwerkverkehr durch das Anonymisierungsnetzwerk Tor (The Onion Router) leitet INFO Sie wollen lieber eine Fertiglösung, um per Pi das TorNetzwerk zu nutzen? Die Firma Pi3g bietet eine solche "Anonymisierungsbox" an (siehe hierzu Seite 145).

TIPP Bekommen Sie LocaleFehler, wenn Sie sich von extern mit dem Pi verbinden, stellen Sie sicher, dass Sie Ihre Locale nicht weiterleiten. Editieren Sie dafür /etc/ ssh/ssh_config und kommentieren Sie die Zeile mit SendEnv LANG LC_* aus.

50

T

or auf jedem Gerät einzurichten, ist ein ziemlicher Aufwand. Wenn Sie stattdessen ein Raspberry Pi als Gateway und WLAN-Access-Point nutzen, spart das jede Menge Zeit. Für das Projekt benötigen Sie ein Raspberry Pi, eine SD-Karte mit Raspbian, ein EthernetKabel, das den Router mit dem Pi verbindet, und eine mit dem Raspberry Pi kompatible USB-WLAN-Netzwerkkarte. Die Kompatibilität können Sie mit dieser Liste prüfen: http://elinux.org/RPi_USB_Wi-Fi_Adapters.

Das Pi als Access Point

Als Erstes konfigurieren wir das Raspberry Pi via SSH (siehe auch Seite 106). Booten Sie Raspbian auf dem Pi. Unser RasPi hat die IP-Adresse 192.168.2.100. Greifen Sie nun von einem zweiten Rechner via Terminal (oder unter Windows mit einem Tool wie Putty) darauf zu: ssh [email protected] Nach der Anmeldung rufen Sie diesen Befehl auf: iwconfig So sehen Sie, ob die WLAN-Netzwerkkarte kompatibel ist. Danach installieren Sie die Access-Point-Komponenten: sudo apt-get update sudo apt-get install hostapd isc-dhcp-server Nun konfigurieren Sie die Datei /etc/dhcp/dhcpd.conf, die für DHCP verantwortlich ist und die IP-Adressen verteilt. Öffnen Sie sie mit dem Texteditor Nano: sudo nano /etc/dhcp/dhcpd.conf Kommentieren Sie die folgenden beiden Zeilen mit # aus: #option domain-name “example.org”; #option domain-name-servers ns1.example.org, ns2. example.org; Suchen Sie in der gleichen Datei nach dem Wort authoritative und entfernen Sie das Zeichen # am Anfang. Am Ende der Datei fügen Sie dann folgende Zeilen ein: subnet 192.168.12.0 netmask 255.255.255.0 { range 192.168.12.5 192.168.12.50; option broadcast-address 192.168.12.255; option routers 192.168.12.1; default-lease-time 600; max-lease-time 7200; option domain-name “local”; option domain-name-servers 8.8.8.8, 8.8.4.4; } Mit diesen Zeilen definieren wir die IP-Adresse unseres Access-Point-Pi (192.168.12.1), die Spanne der auszugebenden IP-Adressen (von 192.168.12.5 bis 192.168.12.50), sowie die Adressen der DNS-Server (8.8.8.8 und 8.8.4.4). Passen Sie die Werte nach Bedarf an und speichern die Datei ab ([Ctrl]+[X]).

Statische IP-Adresse festlegen

Nun editieren wir die Datei /etc/default/isc-dhcp-server. Dort legen wir die Schnittstellen fest, auf der unser DHCPServer lauschen soll. Öffnen Sie die Datei. Suchen Sie die

Zeile mit INTERFACES=“”, geben Sie zwischen den Anführungszeichen wlan0 ein und speichern Sie ab. Nun geben wir der drahtlosen Netzwerkkarte (wlan0) eine statische IP-Adresse. Deaktivieren Sie die Karte: sudo ifdown wlan0 Öffnen Sie die Datei /etc/network/interfaces. Kommentieren Sie existierende Einträge mit wlan0 aus: # iface wlan0 inet manual # wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf # iface default inet dhcp Fügen Sie folgende Zeilen nach allow-hotplug wlan0 ein, um eine statische IP-Adresse zu vergeben: iface wlan0 inet static address 192.168.12.1 netmask 255.255.255.0 Speichern Sie die Datei und aktivieren Sie das Gerät: sudo ifconfig wlan0 192.168.12.1

Access Point konfigurieren

Erstellen Sie die Datei /etc/hostapd/hostapd.conf mit nachfolgendem Inhalt: interface=wlan0 ssid=TorSpot hw_mode=g channel=6 macaddr_acl=0 auth_algs=1 ignore_broadcast_ssid=0 wpa=2 wpa_passphrase=$$Your_Passphrase$$ wpa_key_mgmt=WPA-PSK wpa_pairwise=TKIP rsn_pairwise=CCMP Mit dem Parameter ssid= haben wir ein passwortgeschütztes Netzwerk mit Namen TorSpot eingerichtet. Das Passwort steht hinter wpa_passphrase=. Jetzt teilen wir dem Pi mit, wo sich die Konfigurationsdatei befindet. Öffnen Sie /etc/default/hostapd, suchen Sie den Parameter #DAEMON_CONF=“” und ändern Sie ihn wie folgt ab: DAEMON_CONF=“/etc/hostapd/hostapd.conf”.

NAT einrichten

NAT brauchen wir, damit mehrere Geräte via Pi und seiner einzelnen IP-Adresse mit dem Internet kommunizieren können. Editieren Sie die Datei /etc/sysctl.conf und fügen Sie am Ende die nachfolgenden Zeilen an: net.ipv4.ip_forward=1 Speichern Sie die Datei und führen Sie diesen Befehl aus: sudo sh -c “echo 1 > /proc/sys/net/ipv4/ip_forward” Damit aktivieren Sie das sogenannte Forwarding. Nun fehlen noch die Richtlinien für das Routing, die Ethernet (eth0) und WLAN-Access-Point (wlan0) verknüpfen: sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

Projekte sudo iptables -A FORWARD -i eth0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT sudo iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT Diese Regeln überstehen einen Neustart allerdings nicht, deswegen speichern Sie diese: sudo sh -c “iptables-save > /etc/iptables.ipv4.nat” Editieren Sie im Anschluss die Datei /etc/network/interfaces und fügen Sie am Ende Folgendes ein: up iptables-restore < /etc/iptables.ipv4.nat Somit werden die Regeln beim Start geladen. Das Pi ist jetzt fertig konfiguriert. Starten Sie nun den DHCP-Server neu: sudo service isc-dhcp-server restart Den Access Point aktivieren Sie manuell. (Gibt es hier einen Treiberfehler, lesen Sie den Kasten unten auf dieser Seite): sudo /usr/sbin/hostapd /etc/hostapd/hostapd.conf Läuft alles glatt, sehen Sie jetzt den Access Point. Sie können sich damit verbinden und haben Zugriff auf das Internet. Als Nächstes stellen wir sicher, dass DHCP Server und hostapd bei Systemstart ausgeführt werden. Starten Sie die beiden mit: sudo service hostapd start sudo service isc-dhcp-server start Aktualisieren Sie nun die init-Skripte entsprechend: sudo update-rc.d hostapd enable sudo update-rc.d isc-dhcp-server enable Starten Sie im Anschluss das Raspberry Pi neu: sudo shutdown -r now Sobald das Pi hochgefahren ist, können Sie sich mit dem Access Point wie gehabt verbinden.

Den Zugriff Torifizieren

Als Nächstes kümmern wir uns darum, dass die Zugriffe anonymisiert werden, und bringen Tor ins Spiel. Installieren Sie Tor auf dem Raspberry Pi mit diesem Befehl: sudo apt-get install tor Öffnen Sie die Konfigurationsdatei /etc/tor/torrc und fügen Sie am Anfang der Datei folgende Zeilen an: Log notice file /var/log/tor/notices.log VirtualAddrNetwork 10.192.0.0/10 AutomapHostsSuffixes .onion,.exit AutomapHostsOnResolve 1 TransPort 9040 TransListenAddress 192.168.12.1 DNSPort 53 DNSListenAddress 192.168.12.1

Durch diese Einstellungen teilen Sie Tor die IP-Adresse Ihres Access Points mit und weisen an, sämtlichen Datenverkehr zu anonymisieren. Jetzt ändern wir die RoutingTabellen, damit Verbindungen via wlan0 durch Tor geleitet werden. Löschen Sie zunächst bestehende NAT-Richtlinien mit dem Befehl sudo iptables -F Im Anschluss folgt sudo iptables -t nat -F Wir wollen auf das Raspberry Pi weiterhin über SSH zugreifen: sudo iptables -t nat -A PREROUTING -i wlan0 -p tcp --dport 22 -j REDIRECT --to-ports 22 Jetzt sind zwei Regeln notwendig. Die erste nachfolgende Regel definiert einen Durchgang für DNS Lookups. Die zweite Regel leitet allen TCP-Datenverkehr an Tors Port 9040 weiter: sudo iptables -t nat -A PREROUTING -i wlan0 -p udp --dport 53 -j REDIRECT --to-ports 53 sudo iptables -t nat -A PREROUTING -i wlan0 -p tcp --syn -j REDIRECT --to-ports 9040 Auch diese Regeln würden einen Neustart nicht überstehen. Deswegen speichern Sie auch diese wieder in einer Datei und laden sie beim Neustart des Systems: sudo sh -c “iptables-save > /etc/iptables.ipv4.nat” Das automatische Laden via /etc/network/interfaces haben wir im vorangegangenen Kapitel bereits erledigt. Den Tor-Service aktivieren Sie so: sudo service tor start Das dazugehörige Boot-Skript aktualisieren Sie wie folgt: sudo update-rc.d tor enable. Nun sind Sie fertig. Wenn Sie das Raspberry Pi neu starten, sollte es als Tor-Gateway funktionieren und als WLAN Hotspot sichtbar sein. Sie können das überprüfen, indem Sie sich zum Raspberry Pi verbinden und eine Seite wie www. wieistmeineip.de besuchen. Die dort gezeigte IP-Adresse ist nicht die Ihres Providers und ändert sich permanent! //jd

Verwenden Sie tail -f /var/log/ syslog, um zu sehen, welche Geräte sich mit Ihrem Tor-Hotspot verbinden.

Spezialfall: WLAN-Chips von Realtek Selbst wenn eine drahtlose Netzwerkkarte mit dem Raspberry Pi kompatibel ist, können Fehlermeldungen auftreten, wenn man diese als Access Point benutzt. Das gilt speziell für Chipsätze von Realtek. Realtek hat eine eigene Version von hostapd, die Sie dann verwenden müssen. Laden Sie den nötigen Treiber für Linux herunter (http://bit.ly/RealtekWiFiDri vers). Sie bekommen eine ZIP-Datei mit einem langen Namen, die wir einfach treiber.zip nennen. Kopieren Sie die Datei zum Beispiel mittels scp auf das Raspberry Pi: scp driver.zip [email protected]:/home/pi

Entpacken Sie danach auf dem Pi das Archiv: unzip driver.zip Begeben Sie sich in das Verzeichnis wpa_supplicant_hostapd. Dort finden Sie diverse Tarballs. Mit dem Befehl tar zxvf extrahieren Sie die Datei, die mit wpa_supplicant_hostapd beginnt. Dort finden Sie das Verzeichnis hostapd, in das Sie wechseln. Es befindet sich eine Datei namens Makefile darin. Öffnen Sie sie mit einem Editor und ersetzen Sie die Zeile CFLAGS = -MMD -O2 -Wall -g durch diese: CFLAGS=-MMD -Os -Wall -g

Speichern Sie die Datei und führen Sie make aus, um den hostapd-Client zu kompilieren. Das kann einige Zeit dauern. Die Binärdatei hostapd in diesem Verzeichnis wird dadurch ersetzt. Bevor Sie diese einsetzen, verschieben Sie die alte Version mit folgendem Befehl: sudo mv /usr/sbin/hostapd /usr/sbin/ hostapd.orig Danach kopieren Sie die kompilierte Variante: sudo cp hostapd /usr/sbin/ Vergeben Sie die notwendigen Berechtigungen: sudo chmod 755 /usr/sbin/hostapd Nun sollte der Access Point problemlos laufen.

51

Projekte

Bauen Sie eine Wetterstation

Immer wissen, wie das Wetter wird: Alles, was Sie dazu benötigen, ist ein Raspberry Pi, ein Temperatursensor und ein bisschen Hardware – wir zeigen, wie es geht

Unser fertiges Projekt lässt sich mithilfe eines mobilen Akkus betreiben. So können Sie den Temperatursensor an einer geeigenten Stelle im Garten platzieren

52

Öffnen Sie nun die Python-3-Applikation, die Sie im Menüpunkt für die Entwicklung finden. Erstellen Sie mittels File > New eine neue Datei. Wir beginnen damit, die Module zu importieren: import pyowm from time import sleep Pyowm ist der Python Wrapper für OpenWeatherMap. Aus dem Modul Time importieren wir die Funktion Sleep. Damit kontrollieren wir die Geschwindigkeit unseres Codes. Wir kommen später darauf zurück. Danach definieren wir eine Funktion, mit der wir sehr einfach das Wetter abfragen können. Somit müssen wir nicht immer lange Code-Sequenzen tippen: def get_weather(n): Am Anfang geben wir der Funktion den Namen get_weather. Das n in Klammern ist ein Parameter. Er ist flexibel und bestimmt später den Standort, über den wir Informationen erhalten wollen. Dann brauchen wir noch eine Variable, die den API-Schlüssel enthält. Sie nennt sich owm: owm = pyowm.OWM(‘PASTE YOUR API KEY HERE‘) Den Schlüssel fügen Sie zwischen den Zeichen ‘ ‘ ein, damit Python auch sicher weiß, dass es sich um einen String handelt. Hinweis: Die Zeile ist eingerückt, weil wir damit andeuten wollen, dass sie zu der eben geschaffenen Funktion gehört. Nun erstellen wir eine weitere Variable: observation = owm.weather_at_place((n)) Wir nennen sie observation und verwenden sie, um den Namen einer Funktion abzukürzen, die wir im Folgenden als festgelegten Standort in unserem Projekt verwenden.

Das Wetter überprüfen

Zwei weitere Variablen verkürzen die Funktionen, um die entsprechenden Wetterdaten zu empfangen und zu verarbeiten. Wir sprechen hier vom Standort und davon, die Temperatur in Grad Celsius zu erhalten: w = observation.get_weather() a = (w.get_temperature(‘celsius‘)) In der letzten Zeile verwenden wir die Funktion print, um eine Nachricht an den Anwender auszugeben. In unserem Fall ist das “Die Temperatur in ...”. Allerdings verwenden wir eine Verknüpfung, um den Standort mit einzubinden, der durch die Variable n repräsentiert wird. Unsere Variable a ist sehr speziell, da sie ein Schlüssel-Wert-Paar speichert. In unserem Fall weisen wir Python an, nach dem Schlüssel temp zu sehen und diesen Wert an uns zurückzuliefern: print(“Die Temperatur in”,(n),“ist”,a[‚temp‘]) Wir sind nun mit unserer Testfunktion fertig. Speichern Sie diese und klicken Sie auf Run > Run Module aus dem IDLE-Menü. Die Python Shell wird sich öffnen, aber es pas-

Fotos: Linux Format

D

as Raspberry Pi eignet sich sehr gut für wissenschaftliche Experimente, weil man damit relativ einfach Daten sammeln und verarbeiten kann. In diesem Workshop zeigen wir Ihnen, wie Sie einen Temperatursensor bauen. Das Pi sammelt Temperaturdaten und vergleicht diese mit einem Online-Wetterdienst. Die gesammelten Daten werden als Graph dargestellt. Für dieses Projekt benötigen Sie ein Raspberry Pi mit WLAN-Verbindung, außerdem ein CamJam EduKit 2 (cmajam.me). Leider gibt es das Kit derzeit nur über englische Shops (etwa http://thepihut.com) und kostet rund 9,50 Euro. Sie erhalten den DS18B20-Temperatursensor, einen 4.7k-OhmWiderstand, Steckverbindungen (Buchse auf Stecker) und ein Breadboard aber auch überall im Elektronikhandel. Für die Wetterdaten nutzen wir Open Weather Map. Damit haben wir Zugriff auf ein freies API, das uns mit globalen Wetterdaten versorgt. Auch Vorhersagen und historische Daten sind vorhanden. Um das API nutzen zu können, müssen Sie unter http://openweathermap.org/api einen API-Schlüssel beantragen. Speichern Sie Ihren individuellen Schlüssel an einer sicheren Stelle. Sie sollten den Schlüssel mit niemandem teilen. Wir rufen mithilfe des Schlüssels im späteren Verlauf Wetterinformationen für unseren Standort ab. Wir starten jedoch zunächst mit der Installation des Moduls pyowm. Darüber kann Python mit dem Wetterdienst kommunizieren. Für die Installation verwenden wir den Python-Paketmanager pip. Er ist auf dem Pi vorinstalliert. Öffnen Sie LXTerminal (auf das Desktop-Symbol klicken) und geben Sie folgenden Befehl ein: sudo pip-3.2 install pyowm

Projekte

Python und API Wir verwenden im Workshop zwei APIs (Application Program Interfaces): um die Daten eines Webservice abzufragen und um einen Graphen basierend auf den Daten zu erstellen. APIs und Python sind eine mächtige Verbindung. Ersetzen wir etwa die Plotly-API durch die MinecraftAPI, könnten wir eine Minecraft-Welt basierend auf unserem Wetter erstellen. Hätte die API von OpenWeatherMap zum Beispiel Schnee gemeldet, würde es in Minecraft ebenfalls schneien. Wir könnten die aktuelle Temperatur sogar mit Minecraft-Blöcken innerhalb der Welt darstellen.

Reizvoll ist auch die Twitter-API, die man mit Python-Modulen wie zum Beispiel Twython und Tweepy ansprechen kann. Damit haben Sie von Ihren Projekten aus Zugriff auf Twitter. Es lassen sich auch SMS via Python schicken. Dieses API finden Sie unter www.smspi.co.uk. Es gibt sehr viele APIs, mit denen Sie experimentieren und die Sie in Ihre Projekte einfließen lassen können. Es ist durchaus denkbar, dass Sie eine eigene Wetterstation erstellen, die aktuelle Temperaturdaten via Twitter und SMS kommuniziert. In diesem Fall wären Sie immer über das Wetter zu Hause im Bilde.

Um unser Projekt zu testen, verwenden wir ein Breadboard. Für eine permanente Lösung eignet sich aber ein Perfboard besser oder Sie entwickeln ein eigenes PCB

siert nichts. Wir müssen erst die Funktion aufrufen und entsprechend den Standort angeben. Wir können der Funktion unseren Standort so mitteilen: get_weather(“London,uk”) Auch die Postleitzahl ist möglich: get_weather(“W12 7LJ”) Als Ausgabe sollten Sie etwas Ähnliches sehen wie Die Temperatur in Blackpool,uk ist 9.06 Nun haben wir eine Funktion geschaffen, die das Wetter vom Service Open Weather Map empfängt. Als Nächstes nehmen wir uns den Temperatursensor vor.

Den Sensor konfigurieren

Der Temperatursensor verwenden wir, um die Temperatur an unserem Standort aufzuzeichnen, dann vergleichen wir die Zahlen mit denen aus OpenWeatherMap. Unser Sensor ist ein Dallas DS18B20, der einem Transistor sehr ähnlich sieht. Der DS18B20 ist wasserdicht. Somit könnten wir den Sensor auch in eine Flüssigkeit tauchen und deren Temperatur messen. Seien Sie aber vorsichtig, wenn es sich um heiße Flüssigkeiten handelt! Am anderen Ende befinden sich drei Drähte. Rot verbindet sich mit dem Pin 3.3V, der schwarze Draht mit der Masse (GND) und Gelb ist unsere serielle Leitung, die wir an Pin 4 unseres Pis hängen. Um die Kabel auf sichere Weise mit unserem Raspberry Pi verbinden zu können, müssen wir ein Breadboard verwenden. Drei Drähte mit Buchsen und Steckern und ein Widerstand mit 4,7k Ohm zwischen den 3,3V und der seriellen Leitung sind außer-

APIs sind eine schnelle Methode, um Ihrem Code fortschrittliche, umfangreiche Funktionen zu spendieren. Viele Open-Source-Projekte stellen solche APIs zur Verfügung

dem notwendig (s. Diagramm auf Seite 54). Ist die Hardware verbunden, starten Sie das Raspberry Pi. Um den Sensor verwenden zu können, müssen wir das Pi entsprechend konfigurieren. Starten Sie dazu LXTerminal und geben Sie folgenden Befehl ein: sudo leafpad /boot/config.txt Damit öffnen Sie die für den Bootvorgang zuständige Konfigurationsdatei. Am Ende der Datei fügen Sie an: dtoverlay=w1-gpio Speichern Sie und starten Sie das Raspberry Pi neu. Nun müssen wir testen, ob es mit dem Sensor kommuniziert. Öffnen Sie LXTerminal und geben Sie dies ein: sudo modprobe w1-gpio sudo modprobe w1-therm Diese beiden Befehle laden die relevanten Kernel-Module, die für die Verwendung des Sensors notwendig sind. Der Sensor fühlt die Temperatur und schreibt die Daten in eine Datei. Den Inhalt aus der Datei brauchen wir und begeben uns an die entsprechende Stelle: cd /sys/bus/w1/devices Hier müssen wir uns nach einem Verzeichnis umsehen, das mit 28- beginnt. Listen wir den Inhalt also auf: ls Sobald Sie das richtige Verzeichnis gefunden haben, wechseln Sie mittels cd dorthin: cd 28Befinden Sie sich nun in diesem Verzeichnis, können Sie einen Blick in die entsprechende Datei riskieren: cat w1_slave Das wird jede Menge Code ausgeben. Halten Sie Ausschau nach t=. In unserem Fall ist es der Wert 17125. Teilt man diesen durch 1000, bekommt man 17,125 Grad Celsius. Der Sensor arbeitet also. Nun verwenden wie den Sensor, um die Temperatur an unserem Standort aufzuzeichnen. Dafür verwenden wir wieder Python und importieren zunächst ein paar Module. Das Modul os brauchen wir, damit Python mit dem darunterliegenden Betriebssystem kommunizieren kann. Das Modul glob kann mit Pfadnamen des Betriebssystems umgehen. Die Bibliothek time verwenden wir, um die Geschwindigkeit zu beeinflussen: import os import glob import time Nun benutzen wir die Funktion system aus dem Modul os und laden damit zwei Treiber in den Kernel. Einen für GPIO und den anderen für den Temperatursensor.

INFO Wir schalten einen Widerstand mit 4,7k Ohm zwischen dem Draht mit 3V und dem Datenkabel des Sensors. Damit halten wir die Verbindung stabil.

53

Projekte os.system(‚modprobe w1-gpio‘) os.system(‚modprobe w1-therm‘) Danach erstellen wir drei Variablen. Eine für den Standort, eine zum Auffinden des Verzeichnisses mit den Sensordaten und eine, um den Namen der Datei mit den Temperaturdaten zu spezifizieren: base_dir = ‘/sys/bus/w1/devices/’ device_folder = glob.glob(base_dir + ‘28*‘)[0] device_file = device_folder + ‘/w1_slave’ Die nächsten beiden Zeilen sind speziell. Die erste kreiert eine globale Variable, die wir innerhalb und außerhalb einer

In einem Github Repository finden Sie den gesamten Code zu diesem Projekt: https://github.com/lesp/LXF_199_Temperature_Sensor/archive/master.zip

später erstellten Funktion benutzen. Die nächste erstellt einfach eine leere Liste für die Temperaturdaten. Das Äquivalent in anderen Programmiersprachen wäre ein Array: global temp_c sensor = [] Nun erstellen wir eine Funktion, die die Temperatur aus der Variable device_file ausliest. Wir öffnen die Datei lediglich lesend und schließen sie nach dem Auslesen wieder. Danach übermitteln wir die Daten an die Shell: def read_temp_raw(): f = open(device_file, ‘r‘) lines = f.readlines() f.close() return lines Unsere nächste Funktion verarbeitet die rohen Temperaturdaten aus dem Sensor, bereitet diese auf und entledigt sich der überflüssigen Informationen: def read_temp(): global temp_c lines = read_temp_raw() while lines[0].strip()[-3:] != ‘YES‘: time.sleep(0.2) lines = read_temp_raw() equals_pos = lines[1].find(‚t=‘) if equals_pos != -1: temp_string = lines[1][equals_pos+2:] temp_c = float(temp_string) / 1000.0 return temp_c In einer Schleife wiederholen wir den Vorgang fünf Mal. Dann wartet der Code jeweils 3600 Sekunden (eine Stunde), bevor sich der Prozess wiederholt: for i in range(5): print(read_temp()) sensor.append(temp_c) print(sensor) time.sleep(3600) Speichern Sie den Code und testen Sie ihn mittels Run > Run Module. Ändern Sie den Code nach Belieben.

Plotly einrichten

Jetzt installieren wir den grafischen Teil des Projekts und verwenden dafür Plotly (https://plot.ly). Das ist eine webbasierte Lösung, die ein hervorragendes Python-API mitbringt. Sie brauchen ein Konto und den API-Schlüssel. Sobald Sie den Schlüssel besitzen, öffnen Sie LXTerminal auf dem Raspberry Pi und installieren die Module: sudo pip-3.2 install plotly

In dieser Anleitung haben wir ein fertiges Paket verwendet, das sich CamJam Edukit2 – Sensors nennt. Es kostet im britischen Onlineshop The Pi Hut (http://thepihut.com) ungefähr zehn Euro. Damit bekommen Sie alle Komponenten, die Sie für dieses Projekt brauchen. Der DS18B20 allein kostet ungefähr sechs Euro. Die Version aus dem CamJam ist allerdings wasserdicht und es befindet sich ein langes Kabel daran. Somit können Sie den Sensor auch aus einem Fenster baumeln lassen,

54

während sich das Raspberry Pi geschützt im Haus befindet. Neben dem DS18B20 finden Sie in dem Paket ein Breadboard, Widerstände, entsprechende Kabel und so weiter. Es gibt noch andere Temperatursensoren auf dem Markt. Dazu gehören die populären DHT11 und DHT22. Allerdings verwenden sie unterschiedliche Schnittstellen, um mit dem Raspberry Pi zu kommunizieren. Die DHT11/22 benutzen einen analogen Ausgang, um die Daten an ein Board zu schicken.

Bei einem Arduino müssen Sie die Komponenten lediglich mit den analogen Ports verbinden. Das Raspberry Pi verfügt aber nicht über analoge Ports. Wollen Sie diese mit dem Pi verwenden, benötigen Sie einen Analog-auf-DigitalKonverter, damit das Raspberry Pi die Daten lesen kann. Wir sind der Meinung, dass ein DS18B20 wesentlich einfacher und kosteneffizienter ist. Das Paket CamJam wird außerdem in einer schöne Büchse geliefert. Somit sind die Komponenten immer gut aufgeräumt.

Foto: Linux Format

Passende Hardware

Projekte Nun teilen wir Plotly unseren Anwendernamen und die API-Schlüssel mit. Geben Sie in LXTerminal den folgenden Befehl ein (es handelt sich dabei um eine lange Zeile): python -c “import plotly; plotly.tools.set_credentials_ file(username=‘YOUR USERNAME’, api_key=’API KEY’, stream_ids=[‚STREAM ID’, ‘STREAM ID])” Sie finden all diese Informationen nach einer Registrierung auch unter https://plot.ly/python/getting-started.

Alles zusammenbasteln

Stellen Sie sicher, dass Sie IDLE mit sudo-Rechten ausführen. Das sieht in einem LXTerminal so aus: sudo idle3 Wir importieren die Module für das Betriebssystem, Pfadnamen, Wetter-API, Zeitsteuerung und Graphen: import os import glob import pyowm from time import sleep import plotly.plotly as py from plotly.graph_objs import * Danach hinterlegen wir API-Schlüssel für OpenWeatherMap und Plotly an einer zentralen Stelle: py.sign_in(‚USERNAME’, ‘API KEY‘) key = (‚API KEY‘) Jetzt laden wir die Kernel-Module für den Sensor: os.system(‚modprobe w1-gpio‘) os.system(‚modprobe w1-therm‘) In Variablen speichern wir den Ort des Sensorgeräts, die Temperaturdaten und erstellen drei Listen. Unsere X-Achse enthält den Zeitraum. Y ist eine leere Liste, in der wir die Temperaturdaten speichern, die vom Wetterdienst kommen. Die Sensorliste ist am Anfang ebenfalls leer: base_dir = ‘/sys/bus/w1/devices/’ device_folder = glob.glob(base_dir + ‘28*‘)[0] device_file = device_folder + ‘/w1_slave’ global temp_c x = [‚10:00’,‘11:00’,‘12:00’,‘13:00’,‘14:00‘] y = []

sensor = [] Jetzt erstellen wir drei Funktionen. Die erste holt die Wetterdetails von OpenWeatherMap. Das ist sehr ähnlich wie am Anfang, aber die letzte Zeile in get_weather(n) ist anders. Hier fügen wir der Y-Liste Temperaturdaten hinzu: y.append(a[‘temp‘]) Die Funktion read_temp_raw() bleibt unverändert, aber aus read_temp() wurde die Konvertierung zu Fahrenheit entfernt. Die globale Variable temp_c kommt dafür hinzu. Danach lassen wir den Code in einer Schleife fünf Mal ausführen. Er holt sich das Wetter für Blackpool, UK und liest dann die Temperatur des Sensors. Die entsprechenden Daten werden mithilfe von append in die dafür vorgesehenen Listen geschrieben. Die Temperatur des Sensors lassen wir als Beweis ausgeben. Dann schläft der Code für eine Stunde, bevor er wieder fünf Mal ausgeführt wird. for i in range(5): get_weather(‚Blackpool,uk‘) read_temp() sensor.append(temp_c) print(temp_c) sleep(3600) Zum Schluss erstellen wir aus unseren Daten einen Graphen. Trace0 sind unsere Daten aus dem API von OpenWeatherMap (Y-Achse) und die X-Achse zeigt eine Zeitspanne. Trace1 verwendet dieselben Daten für die X-Achse, die Y-Achse repräsentiert die Sensordaten. Die Daten senden wir als Liste an https://plot.ly. Den Dateinamen Blackpool Temperature können Sie anpassen. trace0 = Scatter(x=(x),y=(y)) trace1 = Scatter(x=(x),y=(sensor)) data = Data([trace0, trace1]) unique_url = py.plot(data, filename = ‘Blackpool Temperature‘) Ist der Code vollständig, klicken Sie auf Run > Run Module. Damit fangen Sie an, die entsprechenden Daten zu sammeln. Sobald der Vorgang abgeschlossen ist, öffnet sich automatisch ein Browser-Fenster und zeigt den Graphen an, den plot.ly aus den Informationen erstellt hat. //jd

Lassen Sie Ihren Code laufen, wird das Informationen an die Python-Shell ausgeben. Somit wissen wir, was die aktuelle Temperatur ist. Sobald ein Zyklus abgeschlossen ist, erstellt Plotly daraus einen Graphen und zeigt diesen im Browser

55

Projekte

Das RasPi 2 als Backup-Server

Stromsparend und dennoch leistungsstark: Das Raspberry Pi 2 eignet sich hervorragend als Server. Darüber hinaus braucht es kaum Kühlung – und wenig Platz

E

inen Server stellt man sich als große Maschine vor, die nicht gerade wenig Strom verbraucht und auch einiges an Hitze produziert. Aus diesem Grund befinden sich in Rechenzentren so viele Klimaanlagen, damit all die Rechner kühl bleiben. Für bestimmte Fälle muss das aber nicht mehr so sein. Ein Raspberry Pi ist nicht nur ein kleiner Linux-Rechner, sondern braucht außerdem wenig Strom und produziert kaum Hitze. In dieser Anleitung zeigen wir Ihnen, wie Sie mithilfe eines Raspberry Pi 2 einen kleinen, leistungsstarken und stromsparenden Server erstellen. Die Daten werden via SSH übertragen und das Gerät eignet sich hervorragend als Backup-Station. Um dem Workshop zu folgen, brauchen Sie ein Pi, eine leere Micro-SD-Karte, eine gute Stromversorgung, eine Ethernet-Verbindung zu einem Router und eine USB-Festplatte mit eigenem Stromanschluss. Zunächst spielen wir das Betriebssystem auf die SD-Karte. Es handelt sich dabei um die auf Debian basierende Linux-Distribution Raspbian. Es ist die Standard-Distribution für das Raspberry Pi. Es gibt zwei Möglichkeiten, Raspbian auf der SD-Karte zu installieren. Die einfachste Methode, um Raspbian zu installieren, führt über das Tool Noobs. Laden Sie das Zip-Archiv Noobs herunter. Danach extrahieren Sie den Inhalt auf eine leere SD-Karte, die als FAT formatiert ist. Sobald Sie diese Karte im Raspberry Pi verwenden, fragt ein Assistent, welche Distribution Sie installieren möchten. An dieser Stelle wählen Sie nun Raspbian aus. Eine detaillierte Anleitung finden Sie auf Seite 14. Die beste Methode für einen geringen Platzverbrauch ist allerdings ein Download des Raspbian-Abbildes. Dieses entpacken Sie und spielen es unter

Klasse: Klein, leistungsstark und stromsparend – ein RasPi-Server hat viele Vorteile

SSH ist ein sicheres Protokoll, das die Verbindung verschlüsselt. Sie können es über raspiconfig aktivieren

56

Windows mithilfe des Tools Win32Diskimager (auf Heft- DVD) auf die MicroSD-Karte. Unter Linux nutzen Sie einfach den Befehl dd. Dieser Befehl ist sehr leistungsstark, aber auch gefährlich. Er überschreibt ohne weitere Warnung sämtliche Daten auf einem Datenträger. Seien Sie also auf der Hut. Bevor wir dd einsetzen, müssen wir sicherstellen, dass die SD-Karte im Computer eingebunden ist. Öffnen Sie ein Terminal und geben den nachfolgenden Befehl ein: sudo fdisk -l Sie sehen hier nun eine Liste mit allen Datenträgern, die fdisk finden kann. In der Regel fangen interne Datenträger mit ‘/dev/sdX’ an. Ignorieren Sie diese und sehen Sie sich nach etwas wie ‘/dev/mmcblk0XX’ um. Das XX kann dabei p1 oder p2 sein. Sie brauchen p1 oder p2 nicht zu beachten, da es sich dabei um Partitionen auf der Karte handelt. Wir beschreiben aber die gesamten Karte und nicht nur eine Partition. Merken Sie sich auf jeden Fall, wie die SD-Karte heißt. Nun setzen wir den Befehl dd ein, um das Abbild von Raspbian auf die Karte zu schreiben. Navigieren Sie im Terminal zum heruntergeladenen Abbild und dem entpackten Inhalt. Häufig ist das Verzeichnis Downloads. cd ~/Downloads Führen Sie nun den Befehl dd aus. Prüfen Sie bitte alles doppelt, bevor Sie loslegen. Sobald dd läuft, können Sie dies nicht mehr rückgängig machen. Im Terminal sieht der Befehl wie folgt aus. Die Parameter raspbian.img und /dev/mmcblk0 müssen Sie entsprechend anpassen. sudo dd if=./raspbian.img of=/dev/mmcblk0 bs=4M Sie werden nun nach Ihrem Passwort gefragt und im Anschluss erledigt dd den Rest. Eine Ausgabe über den Fortschritt sehen Sie nicht. Der Vorgang dauert eine Weile.

Raspiconfig verwenden

Wenn Ihre SD-Karte fertig ist, kümmern wir uns um die Einrichtung des Raspberry Pi. Für diese erste Konfiguration

Projekte

Einen Netzwerkdrucker erstellen In der Regel haben Sie mehrere Computer zu Hause, meist aber nur einen Drucker. Statt diesen an den verschiedenen Geräten einzustecken, könnten wir ihn auch an unserem zentralen Pi-Server betreiben. Dafür verwenden wir Cups – Common Unix Printing System. Normalerweise läuft Cups auf einem Linux-Rechner. Wir können die Software unter anderem anweisen, auf einem Netzwerkdrucker zu drucken. Melden Sie sich via SSH auf Ihrem Raspberry Pi an und installieren Sie im Anschluss Cups. Das funktioniert mit folgendem Befehl: sudo apt-get install cups Danach müssen Sie an der Konfiguration einige Änderungen vornehmen. Wir haben dafür eine hervorragende Anleitung

bei How-To Geek (http://bit.ly/LXF198cups) gefunden, die allerdings auf Englisch ist. Sie zeigt ihnen, wie Sie diese Aufgabe auf das Raspberry Pi übertragen können. Um Cups zu administrieren, rufen Sie lediglich einen Browser auf. Dort verwenden Sie die IP-Adresse Ihres Raspberry Pi und hängen zusätzlich :631 (das steht für Port 631) an: 192.168.0.6:631 Hier dürfen Sie nun Drucker hinzufügen, den Status von Druckaufträgen einsehen und fehlerhafte Druckerwarteschlagen entfernen. Sie können sogar via sogenanntem Port Forwarding entfernt drucken. Dafür schicken Sie Druckaufträge von außerhalb Ihres Netzwerks an den mit Cups verbundenen Drucker.

müssen Sie das Pi mit einem Bildschirm verbinden. Außerdem benötigen Sie eine Maus und eine Tastatur. Verbinden Sie alle Komponenten und starten Sie das Raspberry Pi. Der Bootvorgang des Pi 2 dauert weniger als 15 Sekunden. Am Ende werden Sie zum Konfigurationsbildschirm von raspi-config geleitet. Ihre erste Aufgabe besteht darin, das Dateisystem der SD-Karte zu erweitern, damit Ihnen der maximale Speicherplatz zur Verfügung steht. Wählen Sie dafür Option Eins aus und starten Sie den automatisierten Prozess. Ist das erledigt, rufen Sie die erweiterten Einstellungen (Option Acht) auf. Navigieren Sie zu A3 und drücken die Eingabetaste. Ändern Sie den Wert auf 16 und bestätigen Sie dies. Damit weisen Sie der GPU 16 MByte Arbeitsspeicher zu. Da Sie das Gerät ohne Bildschirm verwenden, brauchen Sie nur wenig RAM für Video. Sie befinden sich nun wieder im Hauptmenü. Besuchen Sie abermals die erweiterte Konfiguration, navigieren Sie zu A4 (SSH) und aktivieren Sie diese Funktion. Beenden Sie nun den Assistenten und starten Sie das Raspberry Pi neu. Sobald das Pi gestartet ist, melden Sie sich an. Per Standard ist der Anwendername pi und das entsprechende Passwort raspberry. Im Anschluss stellen Sie sicher, dass die Software auf dem aktuellen Stand ist. Öffnen Sie dafür LXTerminal und führen Sie diese Befehlszeile aus: sudo apt-get update Damit gleichen Sie das sogenannte Software Repository mit den Raspbian-Servern ab. Das Upgrade führen Sie so durch: sudo apt-get upgrade Raspbian wird normalerweise eine Bestätigung der Downloads erbitten. Je nach Internet-Geschwindigkeit kann auch dieser Vorgang eine ganze Weile dauern.

Cups bietet eine einfache, webbasierte Administrationsoberfläche. Mit dem Assistenten können Sie die Drucker von überall aus Ihrem Netzwerk verwalten

mit eth0. In dieser Sektion halten Sie Ausschau nach inet addr. Bei uns sieht das wie folgt aus: eth0 Link encap:Ethernet HWaddr b8:27:eb:b8:d2:c8 inet addr:192.168.0.6 Bcast:192.168.0.255 Mask:255.255.255.0 Für weitere Informationen verwenden wir netstat: netstat -nr Hier picken wir uns die relevanten Einträge für Gateway und Destination heraus. Schreiben Sie sich diese Informationen am besten auf und editieren Sie dann die entsprechende Konfigurationsdatei /etc/network/interfaces: sudo nano /etc/network/interfaces Die Standard-Konfiguration wird sein, dass die Schnittstelle eth0, also Ethernet, DHCP (Dynamic Host Configuration Protocol) verwendet. Das Gerät bezieht automatisch eine IP-Adresse, sobald es sich mit dem Router verbindet: iface eth0 inet dhcp Die Adresse kann aber jedes Mal unterschiedlich sein. Damit man den Server im Netzwerk immer erreichen kann, vergeben wir am besten eine feste IP-Adresse. Möglich ist zum Beispiel 192.168.0.6. Die Adresse sollte sich nicht im Adressraum befinden, der dem DHCP-Server zur Verfügung steht. Die Änderungen pflegen wir lediglich in der Sektion iface eth0 ein. Die anderen Bereiche fassen Sie nicht an. Unsere neue Sektion sieht wie im folgenden Beispiel aus:

TIPP Um dem Projekt eine gewisse Würze zu verleihen, könnten Sie ein Unicorn HAT Board (http://pimo roni.com) hinzufügen. Damit lassen sich CPU-Auslastung, Backups oder Probleme visualisieren. Möglich ist das mit einem Python-Skript beim Booten.

Der Befehl ifconfig ist sehr leistungsstark. Damit lesen Sie die Konfiguration der Netzwerkkarten aus. Man könnte sie damit sogar konfigurieren

Feste IP-Adresse zuweisen

Sobald das Update abgeschlossen ist, können Sie eine feste IP-Adresse konfigurieren. Für einen Server ist das von Vorteil. Die Datei /etc/network/interfaces ist dafür zuständig. Sie brauchen weiterhin die momentane IP-Adresse des Pi, die Sie mithilfe des folgenden Befehls herausfinden: ifconfig Das wird relativ viele Informationen ausgeben. Da Sie die Ethernet-Verbindung benutzen, suchen Sie nach der Zeile

57

Projekte INFO Das Raspberry Pi B+ und Raspberry Pi 2 funktionieren mit externen USBGeräten besser als die Vorgänger. Früher hat das Einstecken einen Neustart verursacht.

iface eth0 inet static #Es folgt die Adresse, die wir verwenden wollen address 192.168.0.6 #Die Netzmaske – netmask – wird dazu benötigt, um die IP-Adressen in Subnetze zu unterteilen netmask 255.255.255.0 #Es folgt die IP-Adressen-Struktur für das Netzwerk. Das kann bei Ihnen auch 192.168.1.0 sein network 192.168.0.0 #Die Adresse für broadcast finden Sie ebenfalls via ifconfig unter BCAST broadcast 192.168.0.255 #Zum Schluss folgt die Adresse des Gateway, die wir mithilfe von netstat -nr ermittelt haben gateway 192.168.0.1 Sobald Sie fertig sind, speichern Sie die Änderungen mit der Tastenkombination [Strg]+[O]. Schließen Sie den Editor mit [Strg]+[X]. Starten Sie nun das Pi neu: sudo reboot Melden Sie sich wieder an und prüfen Sie mit ifconfig Nun sollte die IP-Adresse statisch vergeben sein. Sie finden so heraus, ob Sie eine Verbindung zum Internet haben: ping google.com Bekommen Sie eine Antwort auf den Ping, ist das Netzwerk korrekt konfiguriert. Ab dieser Stelle können Sie Maus, Tastatur und Monitor weiterhin verwenden oder die restliche

Webmin ist eine grafische Schnittstelle für Ihren RasPi-Server

Konfiguration aus der Ferne, also headless, durchführen. Wir haben uns für die Konfiguration via Netzwerk entschieden und uns über SSH von einem Linux-Rechner aus verbunden. Wollen Sie das auch so handhaben, müssen Sie auf Ihrem Computer ein Terminal öffnen und dies eintippen: ssh pi@IP-ADRESSE Die IP-Adresse ist die statische Adresse Ihres Mini-Servers. Vor einem Anmelden müssen Sie außerdem das Passwort eingeben. Ist das geschafft, ist eine Fernadministration möglich. Unter Windows nutzen Sie für einen Fernzugriff via SSH am besten das kleine Tool Putty (auf Heft- DVD ). Nun stellen wir das System so ein, dass es sich wie ein Server verhält. Im ersten Schritt stellen wir sicher, dass Raspbian lesend und schreibend auf die externe Festplatte zugreifen kann. Ist das Laufwerk mit einem typischen LinuxDateisystem wie zum Beispiel ext3, ext4 oder btrfs formatiert, müssen Sie nichts weiter tun. Raspbian kann damit umgehen. Ist das Laufwerk aber zum Beispiel mit dem Windows-Dateisystem NTFS formatiert, brauchen Sie ein zusätzliches Tool, wenn Sie nicht umformatieren möchten. Es nennt sich NTFS-3G. Sie installieren die Komponente über die Kommandozeile wie folgt: sudo apt-get install ntfs-3g Das dauert in der Regel nur wenige Sekunden.

Webmin installieren

Einen Linux-Server administriert man in der Regel via Kommandozeile. In unserem Fall ist das LXTerminal. Tatsächlich haben wir schon recht viel zu diesem Zeitpunkt geschafft. Um die Administration allerdings etwas zu erleichtern, können wir das großartige Tool Webmin einsetzen. Es handelt sich dabei um eine webbasierte Schnittstelle, mit deren Hilfe sich häufige Administrationsaufgaben erledigen lassen. Um Webmin und alle Abhängigkeiten auf dem Pi-Server zu installieren, verwenden Sie den Paketmanager APT: sudo apt-get install webmin Ist Webmin installiert, öffnen Sie einen Browser auf dem Computer und geben die IP-Adresse des Servers plus PortNummer 10000 ein: https://192.168.0.6:10000. Sie bekommen möglicherweise eine Warnung, dass das Zertifikat nicht vertrauenswürdig ist. Ignorieren Sie dies einfach und Sie sehen einen Anmeldebildschirm. Verwenden Sie hier Name und Passwort wie gehabt.

Der hier geschaffene Dateiserver ist von außen nicht erreichbar. Sollen auch externe Anwender Zugriff auf das Pi haben, sind einige weitere Konfigurationsschritte notwendig. Wir haben Ihnen hier eine nützliche Checkliste dafür zusammengestellt: Ändern Sie das Standard-Passwort für den Anwender pi. Dies ist über LXTerminal und den Befehl passwd möglich. Erstellen Sie einen neuen Anwender, der keine sudo- oder root-Rechte hat. Am einfachsten geht das über das Menü und die entsprechenden Anwender- und Gruppenprogramme. Am Router ist sogenanntes Port Forwarding notwendig. Nur so werden Anfragen von außen entsprechend an den Pi-Server weitergeleitet.

58

Das funktioniert bei jedem Router etwas unterschiedlich. Sehen Sie im Handbuch nach. Wahrscheinlich stellt Ihnen Ihr ISP keine statische externe IP-Adresse zur Verfügung. Installieren Sie in diesem Fall noipclient, das Sie unter http://bit.ly/No-ipLinux finden. Erstellen Sie außerdem ein Konto (www.noip.com). Die Client-Software gleicht die IP-Adresse mit einer URL ab, die Sie erstellen. Somit haben Sie immer Zugriff auf das Pi, auch wenn Sie die vom Provider vergebene IP-Adresse nicht kennen. Eine Firewall ist unbedingt empfehlenswert, da sie den Server vor äußeren Bedrohungen schützt. Unter Linux geht das mit fwbuilder und VNC. Fwbuilder ist eine grafische Schnittstelle für das Erstellen der Firewall-Richtlinien.

Webmin kann ebenfalls Anwender und Gruppen über seine grafische Schnittstelle verwalten. Die Administration ist damit wesentlich einfacher als über das Terminal

Foto: Linux Format

Auf den Pi-Server von außen zugreifen

Projekte Sobald Sie angemeldet sind, sehen Sie acht verschiedene Sektionen. Für dieses Projekt benötigen Sie lediglich den Abschnitt System. Hier können Sie Datenträger verwalten sowie Anwender und Gruppen managen. Nun binden wir die externe USB-Festplatte während des Startvorgangs ein. Bevor Sie den Datenträger mit Webmin administrieren, öffnen Sie LXTerminal und erstellen ein Verzeichnis, das als Einhängepunkt dient. Begeben Sie sich im Terminal zum Verzeichnis /media/ und erstellen Sie ein neues Verzeichnis mit Namen drive: cd /media sudo mkdir drive Mit diesem Verzeichnis gibt es nur ein Problem: Lediglich Anwender mit sudo-Zugriff, oder natürlich root, können das Verzeichnis verwenden. Sie brauchen jedoch entsprechende Schreib- und Leseberechtigungen auf der Festplatte. Im LXTerminal führen Sie daher Folgendes aus: sudo chmod 770 ./drive Nun sind Sie fertig und können zu Webmin zurückkehren.

Datenträger beim Start einbinden

Um USB-Datenträger mit Webmin zu verwalten, klicken Sie auf der linken Seite auf System. Danach auf Lokale und Netzwerk-Dateisysteme. Nach ein paar Sekunden zeigt Ihnen das System eine Liste mit allen eingebundenen Dateisystemen. Unser Datenträger befindet sich nicht darin. Deswegen müssen wir Füge Mount hinzu bemühen. Bevor Sie den Knopf drücken, sehen Sie sich die rechte Seite an. Dort befindet sich ein Drop-down-Menü, das Apple Filesystem (HFS) anzeigt. Klicken Sie darauf, wenn Ihr Datenträger mit NTFS formatiert sein sollte, und wählen Sie stattdessen den passenden Eintrag aus. Klicken Sie dann auf Füge Mount hinzu. Es öffnet sich ein neues Menü. Im neuen Menü klicken Sie bei Gemountet als auf den Knopf [...] auf der rechten Seite. Damit öffnet sich ein Fenster und Sie können das Verzeichnis /media/drive auswählen. Für die restliche Konfiguration folgen Sie dieser Liste: Speichere Mount? Speichern und Mounten beim Bootup Jetzt Mounten? Mounten Windows NT Filesystem: Festplatte. Wählen Sie Ihren Datenträger im Drop-down-Menü aus Erweiterte Mount-Einstellungen Schreibgeschützt? Nein Erlaube Benutzern das Mounten des Dateisystems? Ja

Webmin erleichtert die Administration – es geht einfach per Webbrowser Verbiete Benutzen von Binarys? Wenn mountfähig vom Benutzer Vermeide Aktualisierung der letzten Zugriffszeiten? Nein Gepuffertes Schreiben auf dem Dateisystem? Ja Verbiete Gerätedateien? Wenn mountfähig vom Benutzer Verbiete Setuid-Programme? Wenn mountfähig vom Benutzer Warten, bis Netzwerkschnittstelle hochgefahren ist? Nein Benutzerdateien gehören: Leer lassen Gruppendateien gehören: Leer lassen Sobald Sie fertig sind, klicken Sie auf Erstellen, um die Konfiguration abzuschließen und das Laufwerk einzubin-

den. Ab sofort können Sie den Datenträger über das Netzwerk erreichen. Bei Ubuntu oder Linux Mint lässt sich zum Beispiel der Dateimanager verwenden, um eine Verbindungen mit dem Server herzustellen. Auch unter Windows oder Mac OS sollte das Netzlaufwerk jetzt zu erreichen sein.

Déjà Dup ist ein leistungsfähiges Tool für Backups unter Linux. Es basiert auf dem Tool rsync

Sichern mit Déjà Dup

Nun verwenden wir den Pi-Server als Backup-Gerät. Dafür setzen wir unter Linux auf die Open-Source-Software Déjà Dup (https://launchpad.net/deja-dup). Genau genommen ist das ein grafisches Frontend für das KommandozeilenTool rysnc. Damit wird die Datensicherung zum Kinderspiel. Zunächst installieren Sie Déjà Dup auf dem Desktop. Auf dem Pi-Server ist kein zusätzliches Programm notwendig: sudo apt-get install deja-dup Öffnen Sie Déjà Dup und Sie sehen eine Übersicht. Teilen Sie Déjà Dup nun mit, welche Ordner Sie sichern möchten. Sie erledigen das unter der Option Zu sichernde Ordner. Sobald das geschafft ist, begeben Sie sich zum Speicherort und tragen dort die Details für den Pi-Server ein. Dazu gehört auch der Ort, wo Sie Ihre Datensicherung hinterlegen möchten. In unserem Fall handelt es sich um das Verzeichnis /media/drive/Dokumente. Dieser Ordner existierte bereits auf unserer Festplatte. Begeben Sie sich zurück zur Übersicht und klicken Sie auf auf Jetzt sichern. Das erste Backup wird länger als nachfolgende dauern. Das liegt an der Arbeitsweise von Déjà Dup. Die erste Datensicherung ist ein komplettes Backup aller von Ihnen angegebenen Verzeichnisse. Künftige Sicherungen kümmern sich lediglich um Dateien, die sich geändert haben. Um eine Datensicherung wiederherzustellen, begeben Sie sich zur Übersicht und klicken auf Wiederherstellen. Folgen Sie hier einfach den Anweisungen des Assistenten. Wir haben somit einen Server aufgesetzt, der sehr wenig Strom braucht. Alle Dateien sind aber zentralisiert und außerdem haben Sie zusätzlich eine Backup-Lösung. Das verdanken Sie dem Raspberry Pi und etwas Linux-Wissen. Wollen Sie mehr über Webmin erfahren, dann besuchen Sie www.webmin.com. Dort finden Sie neben der offiziellen Dokumentation auch ein hilfreiches Wiki. //jd

TIPP Sie können das Raspberry Pi auch via VNC steuern. Sie installieren es mit sudo aptget install tightvncserver und starten es mit sudo tightvncserver. Installieren Sie einen VNCViewer und navigieren Sie damit zur IP-Adresse des RasPi, fügen Sie aber :1 am Ende an.

Das Erzeugen eines MountPunkts erscheint Neulingen etwas schwierig. Mit Webmin gestaltet sich die Sache aber einfach

59

Projekte

Von Bastlern und Erfindern

Das Raspberry Pi beflügelt die Fantasie der Menschen. Ob Hobbybastler, Programmierer, Studenten und Schüler: Hier finden Sie eine kleine Auswahl ihrer spannenden Projekte

E

in Raspberry Pi ist wegen seiner Größe und Ausstattung äußerst flexibel einsetzbar. Zwar wurde es ursprünglich für den Schulunterricht entwickelt, aber auch Bastler, Hacker und Künstler haben mit der kleinen Platine großen Spaß. Plattformen wie Kickstarter und Indiegogo werden mit neuen Produkt- und Geschäftsideen, die auf dem Raspberry Pi basieren, geradezu überflutet. Der Anfang ist eigentlich nicht schwer. Aber um wirklich etwas Innovatives mit dem Pi zu erschaffen, benötigt man eine zündende Idee. Vielleicht haben Sie ja ein Hobby, bei dem Sie Abläufe automatisieren, oder ein altes Küchengerät, das sie aufpeppen möchten? Vielleicht kann aber auch Ihr Haustier eine vom Raspberry Pi gesteuerte Unterkunft gebrauchen? Für einen kleinen Inspirationsschub stellen wir Ihnen hier eine bunte Auswahl von Bastelideen vor. Hinzu kommen Geräte, die inzwischen käuflich zu erwerben sind.

61 Pidart / Picrowave

Daniel Fett hat die elektrische Dartscheibe umgerüstet und Nathan Broadbent seine Mikrowelle aufgepeppt

62 Bunnytower

Dank dieses vollautomatischen Futterturms mit Discobeleuchtung sind die Kaninchen rundum versorgt

63 PiPiano / BeetBox

Der 15-jährige Zachary hat eine RasPi-Erweiterung entwickelt; der Künstler Scott Garner musiziert mit Rüben

64 Ambient Lighting / POV Globe

Erfahren Sie, wie Sie Ihren Fernseher aufmotzen und wie Studenten den Todesstern auf eine Kugel projizieren

65 PiPhone / Nashorn Erica

David Hunt bastelt ein funktionstüchtiges Smartphone und Erica ist ein interaktives Nashorn mit WLAN-Hotspot

66 RetroPie Project / BrewPi

Hier wurde ein alter Arcade-Automat mit RetroPie wieder zum Laufen gebracht und Elco Jacobs braut Bier

67 HAS / LICOD

Jens Krüger steuert sein ganzes Haus mit einem Pi und das LICOD-Team schickte zwei davon sogar ins All

60

Denn rund um den Globus gilt: Alle Projekte entspringen zwar dem menschlichen Spieltrieb, doch es gibt auch immer mehr kommerzielle Einsatzgebiete. Wenn Sie noch mehr neue Ideen und Projekte kennenlernen wollen oder Sie sogar Ihre eigene Idee einem interessierten Publikum vorstellen möchten, empfehlen wir Ihnen den Raspberry-Pi-Jam „Pi and More“, der sich sowohl an Einsteiger als auch an Experten richtet. Neben einer Ausstellung gibt es hier auch Vorträge und Workshops. „Pi and More“ wird zweimal im Jahr von der Universität Trier ausgerichtet. Nähere Informationen zu der nächsten Veranstaltung bekommen Sie am besten auf der Homepage https://piandmore.de. Im Archiv können Sie sich hier auch durchlesen, welche Projekte bereits präsentiert wurden. Der Eintritt ist kostenlos. Es wird allerdings um vorherige Anmeldung über die Homepage gebeten. //jaz

Projekte Dartscheibe mit Pfiff

Pidart

Web: tinyurl.com/pidart

D

iese unscheinbare elektrische Dartscheibe (rechts im Bild) kann viel mehr, als nur elektronisch das Spielergebnis anzuzeigen. Die Sensoren der Dartscheibe sind mit einem Arduino Mega Microcontroller Board verbunden. Das Board sendet die Treffer an ein Raspberry Pi, auf dem eine spezielle, selbst programmierte Pidart-Software läuft. Das RasPi gibt die aktuellen Ergebnisse dann auf einem angeschlossenen Monitor aus und speichert die Ergebnisse in einer Datenbank. Außerdem gibt es noch ein Webinterface, mit dem das Programm gesteuert werden kann. Mit der Zeit hat Daniel Fett, der Entwickler des Pidart, noch viele weitere Funktionen hinzugefügt: Sollte etwa ein Spieler eine Pause einlegen, kann Pidart ihn vorübergehend aussetzen lassen. Später werden dann die verpassten Würfe nachgeholt. Auf diese Weise können auch Spieler hintereinander alleine spielen und danach ihre Ergebnisse vergleichen. Über eine Text-to-Speech-Ausgabe kommentiert Pidart die einzelnen Würfe der Spieler und sorgt zusätzlich für die passende musikalische Untermalung. Das ist aber noch lange nicht alles. Die Software erstellt während des Spiels auf Basis der Elo-Zahl, die für Schach- und Go-Spiele verwendet wird, ein Ranking der Spieler und gibt das voraussichtliche End-

ergebnis bekannt. Über das Webinterface lässt sich nicht nur die Software bedienen, sondern die Spieler können sich auch parallel über den Webclient die Ergebnisse anschauen – sogar per Smartphone. Fehlerhafte Ergebnisse, Beispiel: ein falsch gewerteter Treffer, lassen sich manuell korrigieren. Spieler können das Match jederzeit verlassen oder durch neue Spieler ersetzt werden. In folgendem YouTubeVideo kann man die Dartscheibe in Aktion bewundern: http://tinyurl.com/pidart-youtube.

Der Arduino neben der Dartscheibe ist zum Schutz in einem robusten Case untergebracht

Die ultimative Mikrowelle

Picrowave Web: http://madebynathan.com

Fotos: Daniel Fett (Pidart), Nathan Broadbent (Picrowave)

D

er Tüftler Nathan Broadbent seine Mikrowelle komplett aufgemöbelt. Das Gerät erhielt ein umgestaltetes Touchpad mit einer Uhr, die sich selbst automatisch über das Internet aktualisiert. Sie kann nun per Sprache gesteuert werden und mithilfe eines Barcodescanners lassen sich Instruktionen für Fertiggerichte über das Internet abrufen. Da es online keine entsprechenden Datenbanken gab, hat Nathan kurzerhand eine erstellt (http://microwavecookingdb.com). Über eine Weboberfläche kann die Mikrowelle jetzt auch mit mobilen Geräten gesteuert werden. Außerdem hat die Maschine einen eigenen Twitter-Kanal, über den sie Benachrichtigungen postet, wenn Sie fertig ist (https://twitter.com/rbmicrowave). Darüber hinaus klingt die Mikrowelle jetzt auch gut. Die zentrale Steuereinheit ist ein Raspberry Pi, das seinen Strom über ein USB-Hub bezieht. Dieser Hub ist wiederum über einen Adapter mit dem Netzteil der Mikrowelle verbunden. Über den Hub werden auch noch die USB-Lautsprecher, ein USB-Mikrofon, ein WLAN-Adapter und der Barcodescanner versorgt. Bastler, die die eigene Mikrowelle ebenfalls aufmotzen möchten, finden die Codes zur Steuerungssoftware, zu Sprachsteuerung und mehr auf Github (https:// github.com/ndbroadbent/raspberry_picrowave).

Die Picrowave hat ein neues, individuelles Touchpad bekommen

61

Projekte Ferngesteuerter Futterturm für Kaninchen

Der Bunnytower

Web: http://hoppelhaus.de

D

er stylische Festungsturm aus Holz ist ein automatisierter Futter- und Leckerlispender für Kaninchen, der dank selbst erstellter Weboberfläche bequem übers Internet angesteuert werden kann. Dabei ist der Futterturm nicht nur dafür gedacht, die Hoppler in Abwesenheit zu versorgen. Sinn und Zweck war es auch, verschiedene Anwendungsmöglichkeiten des Raspberry Pi auszutesten.

Alle elektronischen Elemente inklusive selbst gebauter Platine und Raspberry Pi können über eine Klappe an der Frontseite erreicht werden

62

Fotos: Daniel Brack

Multifunktions-Futterspender

Die Hauptelemente des Turms sind der Futterspender, ein Schubladensystem und kleine Zusatzfunktionen: die Beleuchtung, ein Bewegungsmelder, ein Musikplayer sowie eine Vorlesefunktion. Hinzu kommt ein Programm zur Steuerung von extern. Herzstück der Steuerungselektronik ist neben dem Raspberry Pi eine eigens angefertigte Platine, die den Strom auf die Systeme verteilt, Signale verstärkt, zu hohe Spannungen reduziert und die Schieberegler für die Beleuchtung ansteuert. Alle elektronischen Komponenten sind über eine Klappe in der Front des Turmes zu erreichen. Der Futterspender funktioniert über zwei parallel angebrachte Malerrollen, die von einem Motor angetrieben werden und das Futter durch Drehbewegung nach unten befördern. Der Motor benötigt 4,5 V bei rund 1.300 mA – mehr als das Standardnetzteil eines Raspberry Pi liefert. Der Strom wird daher über einen zusätzlichen Batterieblock zugeführt. Ein Ultraschallsender misst innen die Distanz zum Futter. Darüber wird die noch zur Verfügung stehende Futtermenge bestimmt. Im Turm gibt es zwei Schubladen, die durch zwei Schrittmotoren bewegt werden. Die Laden haben keinen Boden und können nach dem Ausfahren nicht wieder eingezogen werden. Die Leckerlis fallen somit einfach heraus. Die Beleuchtung des Turms ist rein dekorativ. Ziel war es, sämtliche GPIO-Pins des Raspberry Pi auszunutzen. Mit dem Bewegungsmelder auf dem Dach könnten beispielsweise die Fütterungen überwacht werden, um sicherzustellen, dass die Kaninchen genügend zu fressen bekommen. Die Vorlesefunktion dient dazu, über Ereignisse oder den Zustand des Turms zu informieren sowie zum Systemcheck. Der Musikplayer hingegen hat tatsächlich Einfluss auf das Gemüt der

Nicht nur das elektronische Innenleben, auch der gesamte Korpus des Turms wurde selbst designt und gefertigt

Kaninchen. Ruhige, klassische Musik etwa beruhigt die Tiere. Der an den Klinkenstecker des Pi angeschlossene Lautsprecher wird für eine bessere Klangqualität über einen eigenen Akku versorgt. Das Programm, über das der Turm gesteuert wird, wurde in Python entwickelt und startet automatisch mit, sobald das Raspberry Pi eingeschaltet wird. Basis für alles ist Raspbian Wheezy. Zusätzlich wurde eine Webseite eingerichtet, über die sämtliche Funktionen gesteuert werden können. Daniel Brack hat auf der Homepage der Kaninchenfamilie das gesamte Projekt ausführlich dokumentiert (tinyurl. com/bunnytower). Das nächste Projekt steht bereits in den Startlöchern: Dann bekommen die Kaninchen ihr eigenes Zimmer – samt RasPi-gesteuerter Festungsanlage.

Projekte Klavier spielen mit dem Pi

PiPiano

Web: pipiano.com und pimoroni.com

Einer der jüngsten Erfinder: Der 14-jährige Zachary Igielman (oben rechts)

D

er 15-jährige Zachary Igielman aus Großbritannien hat die Platine PiPiano entwickelt. Zachary ist ein RasPi-Wunderkind und besucht regelmäßig die Raspberry-Jams in Cambridge, wo er seine Pi-Robotik-Projekte vorstellt. Seine Indigogo-Kampagne für das PiPiano, die von November 2014 bis Januar 2015 lief, war ein großer Erfolg. Der Zielbetrag von bescheidenen 500 Pfund wurde in weniger als einer Woche erreicht. Für 16 Pfund konnte dort ein PiPiano-Kit erworben werden. PiPiano ist eine Raspberry-Pi-Erweiterung, die ein Klavier simuliert. Das Add-on-Board, auf dem 13 Tasten angebracht sind, kombiniert eine i2C-I/O-Karte samt MCP23017-IO-Chip mit 26 GPIO-Pins (General-Purpose Input/Output) und drei LEDs. Ein piezoelektrischer Sensor sorgt für den SoundOutput. Drei LEDs in den Farben Rot, Gelb und Grün können unterschiedliche Informationen anzeigen. So lässt sich damit etwa der Takt angeben. Die Codes für das PiPiano wurden auf GitHub veröffentlicht (https://github.com/ ZacharyIgielman/PiPiano). Zusätzlich gibt es ein Wiki und ein Forum, die über die Homepage erreicht werden können. Die Tasten von PiPiano können vielfältig angesteuert und selbstverständlich auch für andere Raspberry-Pi-Projekte eingesetzt werden. Die Erweiterung ist mit sämtlichen Raspberry-Pi-Modellen kompatibel. Da es vergleichsweise wenige GPIO-Pins verwendet und es für den MCP23017-IO-

Links das Original-PiPiano von Zachary und rechts die kommerzielle Weiterentwicklung Piano HAT von Pimoroni

Chip eine gute und ausführliche Dokumentation gibt, kann das Board gut mit einer Reihe von anderem Raspberry-PiZubehör kombiniert werden. Da Zachary sich auf die Schule konzentrieren muss, hat er sich mit der Firma Pimoroni zusammengetan, die den Vertrieb und die Weiterentwicklung des PiPianos übernommen hat. Das Nachfolgemodell ist das Piano HAT (ca. 20 Euro, pimoroni.com), das nun auch optisch eher an ein Klavier erinnert.

Die Rübe gibt den Ton an

BeetBox

Web: http://tinyurl.com/q92w89g

Fotos: Zachary Igielman, Pomoroni (PiPiano), Scott Garner (BeetBox)

T

rommeln mit Gemüse: Im Kern ist der Aufbau simpel – sechs Rüben (Englisch: beet), ein kapazitiver Touchsensor, ein Audioverstärker, ein Raspberry Pi und etwas Python-Code. Berührt man eine Rübe, zeichnet das der Touchsensor auf. Das Python-Skript überwacht den Sensor. Wird eine Berührung aufgezeichnet, wird damit ein Trommelton ausgelöst. Das Grundprinzip lässt sich dann beliebig erweitern und ausbauen. Die Agentur Robofun zum Beispiel hat ein ähnliches Projekt mit Bierdosen gebaut. Hier fungieren die Dosen als Klaviertasten (www.robofun. ro/create/beer-piano). Wer die BeetBox nachbauen will, findet die Codes und die Bauanleitung auf Github (https:// github.com/scottgarner/BeetBox). Der Künstler und Bastler der BeetBox, Scott Garner, verbindet in seinen Arbeiten regelmäßig Elemente aus den Bereichen Technik, Handwerk und Design. Ein weiteres Projekt mit dem Raspberry Pi ist „The Watchman“. Es sind zwei interaktive Skulpturen, die auf Veränderungen in der Umgebung reagieren und mit unterschiedlichen Geräuschen darauf antworten. „Heimdallr“ überwacht dabei die WiFi-Signale und „Argus“ reagiert auf Änderungen der Lichtverhältnisse.

Sechs Rüben, ein kapazativer Touchsensor, ein Audioverstärker, ein Raspberry Pi plus etwas Python-Code – fertig ist die Rübentrommel

63

Projekte Fernsehen mit Lichteffekten

Ambient Lighting Web: youtube.com/user/greatscottlab

G

reatScott! ist ein YouTube-Kanal für Raspberry-PiBastler. Great Scott aka Eric Sander erklärt hier anschaulich in Schritt-für-Schritt-Videoanleitungen seine verschiedenen Raspberry-Pi-Projekte und bespricht auch gelegentlich interessantes Zubehör. Sie wollten schon immer mal einen Philips-Fernseher mit Ambilight, waren sich aber nicht sicher, ob sich die Investition lohnt? Kein Problem: Great Scott zeigt Ihnen, wie Sie Ihren normalen Fernseher mithilfe von ein paar Metern LED-Streifen sowie XBMC/Kodi auf dem Raspberry Pi in einen coolen Ambilight-Klon verwandeln.

Oben: Den Video-Workshop in drei Teilen finden Sie auf YouTube. Links: Jede LED des Streifens lässt sich einzeln ansteuern

RasPi als Steuermodul

Das Raspberry Pi fungiert dabei nicht nur als Mikrocontroller, der die einzelnen LEDs ansteuert. Auf dem Minirechner läuft Raspbmc (bzw. der Nachfolger OSMC) als Mediacenter. Mithilfe des Boblight-Plugins wird das Ansteuern der LEDs fast zum Kinderspiel. Great Scott hat im dazugehörigen Workshop auf instructables.com auch seine Version des Config-Files für Boblight hinterlegt. Diese müssen Sie somit nur noch bequem am Rechner an Ihre eigenen Bedürfnisse anpassen. Die angepasste Config-Datei wird anschließend per SSH auf das Raspberry Pi übertragen. Achtung: Für die

LEDs benötigt das Raspberry Pi eine Portion Extraboost und muss deshalb übertaktet werden. Der dritte Teil der Videoreihe zeigt Ihnen, wie Sie den Feinschliff vornehmen und kleinere Fehler ausbügeln. Eine ausführliche Einkaufsliste und die Software zum Ansteuern der LEDs finden Sie ebenfalls dort (tinyurl.com/Ambilight-RasPi).

Sphärische Projektionen

POV Globe

Web: https://povglobe.wordpress.com/

Fotos: Jacek Tokar (Lightberry); Thomas Carpenter (Globe)

E

in einziges Pi steckt in dieser Projektionskugel. Der POV Globe ist ein Projekt der Master of EngineeringStudenten der School of Electronic & Electrical Engineering der University of Leeds in England. POV steht für „persistence of vision“– das ist die sogenannte Nachbildwirkung. Trifft ein Lichtreiz auf die Netzhaut des menschlichen Auges, wirkt dieser Reiz für einen Moment nach. Ein Beispiel: Schaut man kurz in eine grelle Lichtquelle und schließt denn die Augen, sieht man eine Zeit lang weiterhin die Umrisse der Lichtquelle. Diesen Effekt machten sich die Studenten zunutze. In der Kugel ist ein Ring aus RGB-LEDs befestigt, der sich mit 300 Umdrehungen in der Minute um seine eigene Achse dreht. Durch die hohe Geschwindigkeit und wegen der Nachbildwirkung nimmt das menschliche Auge den rotierenden Lichtring als durchgängige leuchtende Oberfläche wahr. Passt man während der Drehung in einem sehr schnellen Takt die Farbe der einzelnen LEDs an, kann man dadurch beliebige Bilder auf die Kugel projizieren. Tatsächlich müsste sich der Ring für ein optimales Ergebnis sogar noch schneller drehen. Bislang eignet sich das Konzept leider noch nicht als Wohnzimmerdekoration, aber der Effekt ist dennoch beeindruckend (https://youtu.be/1qDidn_xEYE).

64

Wäre der POV Globe schnell genug, wäre er mit diesem Motiv das perfekte Nachtlicht

Die Daten werden vom Raspberry Pi via HDMI übertragen, dazu musste ein auf FPGA-basierender Decoder gebaut werden, der das HDMI-Signal umwandelt, damit es von den LEDs angezeigt werden kann. So kann im Prinzip jede Applikation, die auf dem Raspberry Pi läuft, über den Globe abgebildet werden. Es wurde auch ein spezielle Benutzeroberfläche programmiert, um die Bedienung zu erleichtern.

Projekte Raspi-Handy

PiPhone

Web: www.davidhunt.ie

D

er irische Bastler David Hunt hat ein Handy auf RasPi-Basis vorgestellt. Das „PiPhone“ nutzt ein Adafruit-Touchscreen-Interface und ein SIM900GSM/GPRS-Modul. Letzteres ist via UART mit einem Raspberry Pi Modell B verbunden. Als Stromversorgung dient ein einfacher 2.500-mAh-Lithium-Polymer-Akku. Wie Hunt, der hauptberuflich Senior Embedded Linux Software-Ingenieur ist, selbst zugibt, handelt es sich mehr um ein Proof-of-Concept. Er wollte herausfinden, was bei dem relativ kleinen Formfaktor mit einfachen, im Handel erhältlichen Komponenten machbar ist. Die voll funktionsfähige Bastellösung hat nach Angaben von Hunt umgerechnet rund 140 Euro gekostet. Kein sehr günstiger Spaß, wenn man bedenkt, dass man ein einfaches Smartphone bereits für weniger als 100 Euro kaufen kann. Warum sollte man es also tun? – Weil es geht! Zudem lassen sich die Bestandteile für eine Vielzahl weiterer Projekte wiederverwenden. Um das Telefon überhaupt nutzen zu können, ist natürlich noch eine passende SIM-Karte nötig, außerdem ein Mikrofon oder ein Headset, das ans Raspberry Pi angeschlossen wird. Weniger alltagstauglich ist, dass das Pi-

Phone ein Weilchen zum Booten benötigt. Und da es keine weiteren Lüfter und Kühlelemente besitzt, rät Hunt davon ab, es in einem Case zu verbauen. Detaillierte Infos zum PiPhone und zu vielen weiteren Projekten gibt es im Blog von David Hunt. Für die Plattform learn.adafruit.com hat er zudem einen Workshop geschrieben (tinyurl.com/mnp3jcu).

Das PiPhone ist ein voll funktionstüchtiges Telefon

Das etwas andere Kunstwerk

Erica

Web: www.ericatherhino.org

Foto: David Hunt (PiPhone), ECS Team, Universität Southampton (Erica)

D

ieses Nashorn ist mehr als nur eine Skulptur aus Fiberglas. Das elektronische Wundertier wurde 2013 anlässlich des vierzigsten Geburtstages des Maxwell-Zoos nahe Southampton in England zusammen mit einer ganzen Reihe von Nashörnern gebaut. Erica ist jedoch eine Spezialanfertigung des Electronics and Computer Science Teams der University Southampton. Sie wurde mit vielen digitalen Besonderheiten ausgestattet. Erica kann mit den Ohren wackeln. Ihre Augen sind Webcams. Das Nashorn kann sich damit umsehen und Passanten mit seinen Augen fixieren. Mithilfe von LEDs wird sogar eine Art Blinzeln simuliert. Erica reagiert interaktiv auf die Passanten. Sie besitzt ein Kurzzeit- und ein Langzeitgedächtnis. Man kann sie zum Beispiel streicheln, kitzeln oder auch „füttern“. Je nach Gemütszustand reagiert sie individuell. Erica wird auch mal müde oder hungrig und freut sich dann, wenn sie gefüttert wird. Basierend auf im Netz verfügbaren Informationen zu Nashörnern wie Datenbanken und anderen Quellen wie dem Wetterbericht werden Ericas Stimmung und ihre Reaktionen angepasst. Sie ist mit dem Internet verbunden und dient als öffentlicher WLAN-Hotspot. Über Touchdisplays auf den Flanken des Nashorns werden Informationen aus-

gegeben. Die Steuerung der einzelnen Elemente, die Servos in den Ohren, Berührungssensoren, die Kameras, aber auch die Geräuscherzeugung sowie die Netzwerk-Features übernehmen fünf Raspberry Pis. Jedes Pi ist als einzelner Webserver konfiguriert, der mit den anderen Servern interagiert. Die Software für ihre künstliche Intelligenz wurde eigens für Erica in Python geschrieben.

Erica steht im Mountbatten Building der Universität von Southampton und freut sich auf Besuch

65

Projekte Arcade-Automat

RetroPi Project Web: makerspace.ltett.lu/?page_id=137

D

ieser Retro-Spielautomat war ein Projekt der Luxemburger Makerspace-Plattform maach3 des Lycée Technique d’Ettelbruck unter der Leitung von Marc Teusch. Teusch ist Lehrer für Informatik an dem technischen Gymnasium und hat maach3 Makerspace ins Leben gerufen. Die Plattform will den freien Austausch von Ideen und Erfahrungen fördern. Sie steht jedem offen. Man muss sich nur registrieren, um Zugriff auf die Beiträge der Community zu erhalten und selbst kommentieren zu können.

Spielautomat mit RasPi

Ziel des RetroPie-Projekts war der Umbau eines original Sega Naomi Universal Arcade-Automaten. Der Automat wurde neu gestrichen und kleinere Details korrigiert. Das Team hat außen LEDs angefügt und neue Knöpfe installiert. In dem Naomi arbeitet nach dem Umbau ein Raspberry Pi Modell B mit dem Betriebssystem Raspbian Wheezy. Als Hauptanwendung läuft auf dem Pi MAME4all. MAME4all for Pi ist eine Portierung des Franxis MAME4all, der wiederum eine Portierung des Emulators MAME 0.37b5 ist. Wer ihn selbst ausprobieren möchte, findet hier Downloadlinks und Hilfestellung zur RasPi-Konfigurierung: code.google.com/p/ mame4all-pi. Mithilfe des Emulators können viele klassische

Arcade-Spiele gespielt und mit Arcade-Joystick gesteuert werden. Der Automat wurde 2014 auf der Veranstaltung Pi and more 5 in Trier vorgestellt und konnte dort ausgiebig getestet werden. Das Publikum war begeistert – und kürte es mit dem Preis für das beste Projekt.

In diesem alten Naomi-Automaten arbeitet ein Modell B des RasPi mit NAME4all-Emulator

Fermentations-Temperaturregler

Web: www.brewpi.com

D

as BrewPi ist eine Erfindung von Elco Jacobs aus den Niederlanden. Schon während seines Studiums der Elektrotechnik an der technischen Universität war dieser ein passionierter Hobby-Bierbrauer. Sein erster Temperaturregler für die Fermentation im heimischen Kühlschrank hieß Überfridge. Inzwischen hat er den Regler optimiert und auf Open Source umgestellt. Mithilfe des BrewPi kann nicht nur die Fermentation von Bier reguliert werden, sondern auch die Herstellungsprozesse von anderen auf Fermentation basierenden Produkten wie Wein oder Tabak. BrewPi besteht aus mehreren Kits, die teilweise selbst zusammengebaut werden müssen: Das Raspberry Pi dient hier als Webserver und Datenspeicher. Die neueste Version des eigentlichen Temperaturreglers ist der BrewPi Spark. Er kostet 125 Euro (www.brewpi.com/introducing-brewpispark). BrewPi Spark hat ein Spark-WLAN-Modul an Bord. Daher der Name. Das Gerät wird fertig montiert ausgeliefert. Hinzu kommen noch Temperatursensoren und gegebenenfalls Ventilsteuergeräte, wenn mehrere Kammern kontrolliert werden müssen. Der passende Kühlschrank, der später als Fermentationskammer dient, muss natürlich ebenfalls zur Verfügung stehen. Das Ganze ist also nicht für einen simplen Einstieg ins Bierbrauen geeignet, sondern

66

Oben: das installierte BrewPi Spark. Links: mehrere Ventilsteuergeräte, hintereinandergeschaltet

man sollte sich mit der Materie bereits vorher gründlich auseinandersetzen. Über den Shop auf der Homepage können die Geräte bestellt werden. Zusätzlich gibt es ein Forum für Fragen und viele detaillierte Anleitungen für das Zusammenbauen, das Löten und für die Software-Konfiguration. Ganz wichtig ist dabei die Anleitung, wie man einen Kühlschrank in eine Fermentationskammer umfunktioniert.

Fotos: Lycée Technique d’Ettelbruck – http://makerspace.ltett.lu (RetroPi-Project), Elco Jacobs (BrewPi)

BrewPi

Projekte Home Automation System

HAS

Web: www.pi-house.com

F

ünf Kilometer Kabel, Hunderte Sensoren, ein gutes Dutzend Arduinos, und alle Fäden laufen bei einem einzigen Raspberry Pi zusammen: Professor Jens Krüger, Dozent an der Universität Duisburg-Essen, hat die Gelegenheit des Neubaus genutzt, um sich um die gesamte Hauselektronik selbst zu kümmern. Außen- und Innenbeleuchtung, Rollläden, Sensoren für die Messung von Temperatur und Luftfeuchtigkeit sowie zur Kontrolle, etwa ob Fenster geöffnet sind, und vieles mehr können über ein spezielles Interface gesteuert und ausgelesen werden. Jens Krüger entwickelte für diesen Zweck eine eigene Laufzeitumgebung für das Raspberry Pi und eine neue Programmiersprache namens HASI (Home Automation System Interface). Auf unsere Frage, was er rückblickend anders machen würde, antwortet er: „Eigentlich nicht viel, ich würde nur versuchen, einen noch größeren Schaltschrank zu bekommen. Oder gleich zwei, denn man kann nie genug Platz haben! Ein paar Leerrohre zur Verkabelung des Gartens wären auch nicht schlecht. Das werde ich aber im nächsten Sommer nachholen – es gibt da so viele Dinge, die man noch im Garten verwirklichen kann“. Eine weitere Idee von Krüger ist, Teile der Wohnsiedlung einzubinden und so etwa Alarmanlagen und Feuermelder zusammenzuschalten.

Das Haus wurde für das HAS (Home Automation System) speziell verkabelt. Alle Sensoren und Schalter werden von einem Raspberry Pi gesteuert

Das Raspberry Pi im All

LICOD

Web: astro.physik.uni-due.de/~rexus

Zwei Minuten Schwerelosigkeit

Alle Experimente der Gruppen, die am REXUS 17/18-Programm teilnahmen, wurden in einer sechs Meter hohen Rakete installiert. Die Rakete flog etwa 100 Kilometer hoch bis in die Thermosphäre und beschleunigte dabei kurzfristig auf 20 g. Danach fiel sie auf die Erde zurück. Das LICOD-Team wollte die Schwerelosigkeit ausnutzen, die bis zu 120 Sekunden beim freien Fall herrschen würde. Die Dauer der Schwerelosigkeit ist hier wesentlich länger als bei anderen üblichen

Fotos: LICOD-Team, Jens Krüger

D

ieses Experiment ist ein Projekt von acht Doktoranden und Studenten der Unis Duisburg-Essen und RWTH Aachen. Es fand im Rahmen des REXUSProgramms statt – kurz für Rocket Experiments for University Students (rexusbexus.net). Der Name LICOD ist ein Akronym von Light Induced Compression of Dust clouds. Dabei geht es darum, den Effekt der sogenannten Photophorese unter besonders langer Schwerelosigkeit zu beobachten. Photophorese sind die Bewegungen, die Teilchen durch Lichteinstrahlung durchführen, weg von der Strahlungsquelle. Dieser Effekt ist zum Beispiel für die Klimaforschung interessant, hilft aber auch dabei, Rückschlüsse auf die Entstehung von Planeten zu ziehen.

Methoden wie etwa dem Fallturm oder einem Parabelflug. Verantwortlich für das elektrische Design des Experiments, in das zwei Raspberry Pis integriert sind, ist Sven Eliasson. Die Rakete startete erfolgreich am 18. März 2015. Die beiden Raspberry Pis an Bord waren die ersten ihrer Art, die sich so weit von der Erde weg in den Weltraum entfernten. Zwar hat das Experiment wie geplant funktioniert, doch die Ergebnisse waren leider unbrauchbar. Der Grund: Die Systeme, die die Rotation der Rakete stabilisieren sollten, fielen aus. Dadurch wurden die herrschenden Fliehkräfte zu groß, um verwertbare Messdaten zu liefern. Dennoch freute sich das Team über seinen ersten Raketenflug mit Pi.

Das Team von links nach rechts: Sven Eliasson, Lucia Boden, Robert Münnich, Mathias Schywek, Markus Küpper, Marc Köster und Raphaela Mumme. Das achte Mitglied, Benedikt Eliasson, ist später dazugestoßen

67

Windows 10

Windows 10 auf dem RasPi

Zugegeben, der Einstieg in Windows 10 IoT ist nicht ganz trivial. Wir erleichtern Ihnen den Start, indem wir Sie Schritt für Schritt an die ersten eigenen Projekte heranführen

70 Erste Schritte mit Windows 10

Wir zeigen Ihnen, welche Schritte nötig sind, damit auf dem Raspberry Pi die Windows-Fahne weht

74 So gelingt der Einstieg in Visual Studio Selbst Einsteiger haben eine Chance, sogenannte Universal Windows Apps zum Leben zu erwecken

78 Jetzt geht’s richtig los: Das erste Projekt Anhand eines einfachen Beispiels erläutern wir ausführlich die Vorgehensweise bei der Umsetzung eigener Projekte

82 Per IoT-Browser ins Internet

Ein paar Mausklicks genügen – schon sind Sie im Web. Firefox, Epiphany und Co. brauchen Sie dafür nicht

84 LED-Tasten-Schaltung nachbauen

Dieser Workshop zeigt Ihnen, wie jede Leuchtdiode auf Knopfdruck gehorcht

88 Die Grundlagen des Schaltungsdesigns

Mit der Entwurfssoftware Fritzing lässt sich alles Mögliche anstellen, unter anderem Farbspiele mit Leuchtdioden

90 So bringen Sie den Rover zum Laufen

Der Bau von Robotern gehört zu den anspruchsvollsten RasPi-Projekten – und bereiten den meisten Spaß

94 Schaltzentrale: Core Webserver

Foto: iStockphoto/Gabor

Die grundlegende Steuerung des RasPi erfolgt über den integrierten Webserver – das Wichtigste im Überblick

68

Windows 10

Windows 10 einrichten Ein bisschen Geduld muss man mitbringen, bis Windows IoT auf dem Raspberry Pi läuft

Seite 70

Lehrreiche Farbspielereien Schaltungsdesign mit Fritzing: Wir zeigen, wie es geht

Seite 84

Rover Nicht ganz einfach, aber ein sehr spannendes Projekt: Der eigene Roboter

Seite 90 69

Windows 10

Erste Schritte mit Windows 10

Bis Windows 10 IoT auf dem Rechenzwerg läuft, dauert es eine Weile. Wir zeigen Ihnen, welche Schritte nötig sind, damit auf dem RasPi die Windows-Fahne weht

Achten Sie beim Kauf eines Gehäuses darauf, dass die Steckerleiste für Bastelprojekte zugänglich bleibt. Als weiteres Zubehör nützlich: Ein GPIO-BreakoutAdapter.

N

iemand zweifelt daran: Dem „Internet der Dinge“ gehört die Zukunft. Intelligente Heizungen mit eigener IP-Adresse, die über die Smart-Home-App per Handy Ihre persönliche Wohlfühltemperatur ermitteln und auf diese rechtzeitig hochregeln, bevor Sie die Wohnung betreten – das ist keine Science-Fiction mehr. Was das alles mit dem Raspberry Pi zu tun hat? Seit Kurzem bietet Microsoft mit „Windows 10 IoT Core“ ein Betriebssystem für den Mini an – neben diversen LinuxDerivaten eine neue interessante Umgebung, um sich spielerisch mit dem Internet der Dinge auseinanderzusetzen. Unter Windows 10 IoT lassen sich nämlich so eigene Projekte realisieren – entsprechende Programmierkenntnisse vorausgesetzt. Doch nicht nur: Ebenso können Sie auf einen enormen Fundus von Beispielprojekten zugreifen, die Microsoft im Internet kostenlos zur Verfügung stellt. Zugeschnitten ist das Angebot vor allem auf begeisterte Elektronikbastler, die mit Sensoren, Schrittmotoren, Displays und ähnlichen Komponenten bereits vertraut sind.

Ohne Visual Studio läuft nichts

Als Programmiersprache kommt in erster Linie C# zum Einsatz – lassen Sie sich davon jedoch nicht abschrecken. Auf den folgenden Seiten erklären wir Schritt für Schritt, wie Sie elektronische Schaltungen aufbauen, verdrahten und zum Laufen bringen. Wir lotsen Sie ebenso durch die Untiefen von Visual Studio – die Entwicklungsumgebung, die für sämtliche Projekte mit dem Raspberry und Windows 10 IoT Core unumgänglich ist. Was die Arbeit wesentlich erleichtert: Der für die Projekte nötige Code lässt sich sehr bequem per Visual Studio

70

auf das RasPi transferieren – ein Stolperstein weniger. Dennoch läuft längst nicht alles rund: Obwohl sich testweise diverse Bluetooth-Adapter auf Anhieb problemlos einbinden ließen, lieferten sechs WLAN-Sticks ausschließlich Fehlermeldungen. Ähnlich verhält es sich mit dem „Windows IoT Core Watcher“: Auf 64-Bit-Windows-Maschinen lässt sich der kleine Helfer zum Aufspüren von IP-Adressen nicht zur Mitarbeit bewegen, in einer 32-Bit-Umgebung dagegen fühlt er sich wohl. Solche Hürden überwinden Sie mit einem einfachen Kniff – wie, zeigen wir auf Seite 72. Abgesehen davon: Die nächsten Updates von Windows 10 IoT Core stehen bevor – damit dürften sich einige der gegenwärtigen Schwierigkeiten rasch in Luft auflösen. //jr

Was Sie brauchen Raspberry Pi 2: Die Hardware-Voraussetzungen sind die gleichen wie bei den Projekten mit Raspbian. Windows 10: Grundlage für alle Windows-IoT-Projekte ist das offizielle Windows 10, nicht die Release-Kandidaten, die im Frühjahr erschienen sind. Die Schritt-Anleitungen sind nicht mit den alten RC-Versionen kompatibel! Visual Studio Community 2015: Diese Edition ist kostenlos. Sie finden das Programm auf der Heft-DVD. Beispiele: Die Projekte basieren auf dem Code von Microsoft. Sie finden ihn ebenfalls auf der Heft-DVD. Elektronik-Bauteile: In den jeweiligen Artikeln listen wir alle benötigten Komponenten und Bezugsquellen auf.

Foto: Juliane Weber

TIPP

Windows 10

Raspberry Pi 2 für ersten Start vorbereiten

1

PC und Raspberry verbinden

Die folgenden Schritte setzen zwingend einen Windows-10-Rechner voraus. Verbinden Sie ihn mit dem Raspberry via LAN und Ethernetkabel. Schließen Sie das RasPi per HDMI an einem separaten Monitor an. Zudem benötigen Sie einen internen oder externen Kartenleser, um das Betriebssystem auf die microSD-Karte zu übertragen.

3

ISO-Image einbinden und installieren

Klicken Sie doppelt auf die heruntergeladene Image-Datei (ISO), um sie als DVD-Laufwerk einzubinden. Führen Sie danach die Datei Windows_10_IoT_Core_RPi2.msi per Doppelklick aus. Bestätigen Sie die Checkbox und starten Sie die Installation per Klick auf den Button.

5

Image auf SD-Karte schreiben

Markieren Sie in Microsofts Hilfsprogramm unter „Select the SD card“ Ihr Laufwerk für den Kartenleser. Klicken Sie auf Browse, wechseln Sie zu C:\Program Files (x86)\Microsoft IoT\FFU\RaspberryPi2 und öffnen Sie die Datei „flash.ffu“. Mit „Flash“ starten Sie den Vorgang, der einige Minuten dauert.

2

IoT-Core-Image herunterladen

Laden Sie das ISO-Image für das RasPi aus dem Internet. Sie finden das jeweils aktuellste Image im Microsoft Download Center unter der Adresse http://ms-iot.github.io/content/en-US/Downloads.htm im Abschnitt „Windows 10 IoT Core for Raspberry Pi 2“. Der Dateiname lautet „IOT Core RPi.ISO“. Die Größe beträgt 517 MByte.

4

Flashen vorbereiten

Entfernen Sie das als Laufwerk eingebundene Image im Windows Explorer per Rechtsklick und Auswerfen. Schließen Sie einen Kartenleser an. Legen Sie die microSD-Karte ein. Starten Sie über Start | Alle Apps | Microsoft IoT den „WindowsIoTImageHelper“.

6

Raspberry Pi starten

Ist der Schreibvorgang abgeschlossen, entnehmen Sie die microSDKarte und schieben diese in den Kartenschacht des RasPi, bis sie einrastet. Kontrollieren Sie, ob die Maus (zwingend!) und die Tastatur angeschlossen sind. Erst dann stecken Sie das Netzteil ein. Bis der Startbildschirm lädt, dauert es mehrere Minuten.

71

Windows 10 So nutzen Sie die PowerShell

Das Image ist aufgespielt, das Raspberry bootet, endlich erscheint der Begrüßungsbildschirm. Gratulation – das Ziel ist zum Greifen nahe. Jetzt bleibt nur noch eine Frage: Wie übermittelt man Windows 10 IoT die nötigen Konfigurationsbefehle? Die Antwort in aller Kürze: mit der „Windows PowerShell“. Damit richten Sie das RasPi ein und bauen eine Verbindung zu Ihrem Windows-10-Rechner auf. Fortgeschrittene User können alternativ zu anderen Methoden greifen. Mehr dazu erfahren Sie später. Jetzt geht es erst einmal um die Bordmittel von Windows 10. Tippen Sie im Startbildschirm von Windows 10 links unten „PowerShell“ in das Suchfeld. Als oberster Eintrag in der Trefferliste erscheint jetzt die Desktop-App. Um das Programm zukünftig schneller starten zu können, bietet es sich bei dieser Gelegenheit an, das Kommandozeilen-Tool PowerShell entweder als separate Kachel auf dem Windows-Desktop oder im Startmenü abzulegen. Tipp: Klicken Sie mit der rechten Maustaste auf An Start anheften. So öffnen Sie die PowerShell zukünftig aus dem Startmenü heraus. Alternativ verwenden Sie den

grafischen Skripteditor „PowerShell ISE“, der ebenfalls zur Grundausstattung von Windows 10 gehört. Nun erklären Sie das Raspberry zum sogenannten „Trusted Host“ – eine wichtige Sicherheitsmaßnahme und Vorbedingung für die folgenden Schritte. Dazu starten Sie die PowerShell über die rechte Maustaste als Administrator und geben folgenden Befehl ein: net start WinRM Für den nächsten Befehl müssen Sie den Gerätenamen des Raspberry oder die dazugehörige IP-Adresse kennen. Die Werkseinstellung für den Namen ist „minwinpc“. Die dazugehörige IP-Adresse lässt sich entweder mit dem Tool „Windows IoT Core Watcher“ ermitteln, das beim Setup des Betriebssystems installiert wird, oder Sie weisen Ihrem Raspberry per Router eine feste IP-Adresse zu – das ist im Regelfall die eleganteste Variante. Bei der FritzBox klicken Sie in der Konfigurationssoftware des Routers auf Heimnetz, Netzwerk und das Notizblocksymbol rechts neben dem Gerätenamen des Raspberry. Dann setzen Sie auf der folgenden Dialogseite ein Häkchen bei „Diesem Netzwerkgerät immer die gleiche

RasPi per Browser ansteuern

1

Zugriff per Browser

Mit einem beliebigen Browser greifen Sie aufs RasPi zu. Wählen Sie sich mit der Adresse http://minwinpc:8080 (oder IP-Adresse) ein. Name: Administrator. Passwort: p@ssw0rd.

4

Apps übertragen

Im Regelfall transferiert Visual Studio Ihre Apps aufs RasPi. Die Alternative: Klicken Sie bei „Install app“ auf Durchsuchen und wählen Sie die App auf dem Windows-10-Rechner aus.

72

2

Basisdaten abrufen

Die Benutzeroberfläche startet mit der HomeSeite. Hier sehen Sie den aktuellen Gerätenamen (im Beispiel „raspi“), die Modellnummer und die jeweilige Betriebssystemversion.

5

Geräte einbinden

Sind Bluetooth-Geräte vorhanden, lassen sich diese über Bluetooth und Pair einbinden. Bestätigen Sie in der Dialogbox mit OK. Das Gerät erscheint dann unter „Paired Devices“.

3

Apps kontrollieren

Welche Apps installiert sind oder aktuell laufen, erfahren Sie, wenn Sie links auf Apps klicken. Unter „Installed apps“ rufen Sie die Programmliste ab oder starten eine App.

6

Leistungsdiagnose

Unter „Performance“ verbirgt sich ein simples Monitoring-Tool, das Ihnen die Auslastung der CPU anzeigt und über I/O-Prozesse informiert. Es zeigt auch den verfügbaren Speicher an.

Windows 10 IPv4-Adresse zuweisen“ und sichern die Einstellung mit OK. Bei Routern anderer Hersteller funktioniert es ähnlich. Alternativ bieten sich Netzwerkscanner wie „Angry IP Scanner“ an, um die IP-Adresse im LAN zu ermitteln. Tipp: Falls Sie zur Suche im lokalen Netzwerk den Netzwerkscanner „Angry IP Scanner“ regelmäßig einsetzen, sollten Sie das Tool so konfigurieren, dass die Resultate übersichtlich präsentiert werden. Dazu klicken Sie im Menü des Scanners auf Tools | Preferences | Display. Setzen Sie die Standardeinstellung auf „Alive Hosts only“.

Anmeldung vorbereiten

Ersetzen Sie im folgenden Befehl die Angaben in den spitzen Klammern. Die spitzen Klammern werden nicht eingetippt; das gilt für alle folgenden Kommandos in diesem Beitrag. Achten Sie unbedingt darauf, dass Sie auch das Minuszeichen bei den jeweiligen Befehlen voranstellen. Set-Item WSMan:\localhost\Client\TrustedHosts -Value Bestätigen Sie die folgende Sicherheitsabfrage des Betriebssystems mit J. Anschließend bauen Sie eine Verbindung zum Raspberry auf. Dazu verwenden Sie den Befehl Enter-PSSession -ComputerName -Credential \Administrator Sie werden nun zur Sicherheit nach dem Passwort gefragt. Es lautet „p@ssw0rd“. Mit 0 ist die Null gemeint. Beachten Sie, dass das Raspberry nicht sofort auf Ihre Eingabe reagiert – der deutlich geringeren Prozessorleistung gegenüber einem Desktop-PC wegen. Rechnen Sie immer vorsichtshalber mit einer längeren Wartezeit, bevor Sie einen Fehler oder Absturz vermuten. Microsoft gibt offiziell einen Zeitrahmen von bis zu 30 Sekunden an. Wenn alles reibungslos funktioniert, sollte ein neuer Prompt auf dem Bildschirm des Windows-10-Rechners erscheinen. Ihm ist entweder der Gerätename (etwa „minwinpc“) oder die jeweilige IP-Adresse vorangestellt. Beispiel: „[minwinpc]: PS C:\Users\Administrator\Documents>“.

Konfiguration ändern

Das RasPi ist jetzt empfangsbereit und sollte gleich den ersten wichtigen Konfigurationsbefehl erhalten: Ändern Sie das voreingestellte Passwort. Das dazu erforderliche Kommando (ohne die eckigen Klammern) lautet net user Administrator [new password] Damit kappen Sie allerdings automatisch die Verbindung zum RasPi, da die ursprüngliche Einwahlsession auf den alten Daten basiert. Aus diesem Grund ist direkt im Anschluss eine neue PowerShell-Session nötig; dazu muss die laufende Session beendet werden. Der Befehl heißt Exit-PSSession Enter-PSSession -ComputerName -Credential\Administrator Starten Sie anschließend eine neue PowerShell-Session mit der folgenden Anweisung: Enter-PSSession -ComputerName < Gerätename oder IP-Adresse > -Credential \Administrator Wenn Sie bis hierhin alle Schritte erfolgreich absolviert haben, bietet es sich zum Beispiel an, den Gerätenamen zu ändern. Wenn Ihnen die Vorgabe „minwinpc“ nicht gefällt, nehmen Sie „raspi“. Dazu ist dieser Befehl gedacht: setcomputername Endgültig wirkt sich die Änderung des Gerätenamens aber

erst aus, wenn Sie das Raspberry neu booten. Dazu ist folgendes Shutdown-Kommando nötig: shutdown /r /t 0 Der Reboot des Rechners wirkt sich logischerweise auch auf die TrustedHosts-Liste aus, die Sie ganz am Anfang aktualisiert haben. Das RasPi ist nun wie zu Beginn wieder ein Unbekannter und muss sich neu gegenüber dem Windows-10-Rechner authentifizieren. Dazu dient der Befehl Set-Item WSMan:\localhost\Client\TrustedHosts -Value Anstelle der Werkseinstellung „minwinpc“ verwenden Sie den neuen Namen oder alternativ die IP-Adresse.

Kleiner Helfer: Mit dem „Angry IP Scanner“ finden Sie heraus, wo sich das RasPi im LAN versteckt

Zugriff auf das RasPi

Wie bereits erwähnt: Es gibt eine ganze Reihe von Möglichkeiten, auf das RasPi zuzugreifen. Mit der PowerShell sind Sie bereits vertraut – wie es mit Edge, Firefox, Chrome oder einem beliebigen anderen Browser funktioniert, erfahren Sie im Textkasten auf der linken Seite. Erwarten Sie allerdings nicht zu viel: Die grafische Benutzeroberfläche steckt noch in einer frühen Phase der Entwicklung; wenn Microsoft das Tempo beibehält, dürfen wir schon bald mit dem nächsten Update und neuen Funktionen rechnen. Alternativ können Sie ebenso „Putty“ oder „Filezilla“ verwenden – bei unserem Praxistest klappte der Zugriff aufs RasPi reibungslos. Und so funktioniert es: Putty finden Sie auf Heft-DVD, Filezilla online etwa auf filezilla-pro ject.org oder chip.de. Wir beginnen mit Putty: Im Feld „Host Name“ tragen Sie den Gerätenamen oder die IPAdresse ein. Klicken Sie in der Spalte links auf Connection und Data. Tragen Sie unter „Auto-login username“ anschließend Administrator ein. Wechseln Sie zu Sessions (linke Spalte). Nun speichern Sie die Einwahldaten zum Beispiel unter der Bezeichnung Raspberry ab. Klicken Sie auf Save. Als Nächstes starten Sie die Session mit Open. Beim FTP-Programm Filezilla starten Sie zuerst den Servermanager mit Datei | Servermanager. Klicken Sie auf Neuer Server und tragen Sie die Daten wie eben bei Putty in die entsprechenden Felder ein, also IP-Adresse, Benutzername und Passwort. Wählen Sie als Verbindungsart Normal. Speichern Sie mit OK. Mit Verbinden stellen Sie den Kontakt zum RasPi her. Sie sehen nun die beiden Hauptfenster „Lokal“ und „/EFIESP/Windows“ sowie die Unterverzeichnisse. „Lokal“ entspricht Ihrem Windows10-Rechner, von dem aus Sie aufs Pi zugreifen. //jr

73

Windows 10

Auf DVD

Visual Studio Community 2015 Z Visual Studio bringt Ihre Windows-10-IoTApps auf dem RasPi zum Laufen

74

ugegeben, „Visual Studio Community 2015“ ist ein dicker Brocken – selbst für erfahrene Programmierer. Und trotzdem: Selbst als Einsteiger hat man eine reelle Chance, mit dieser integrierten Entwicklungsumgebung sogenannte „Universal Windows-Apps“ auf dem Raspberry Pi 2 zum Leben zu erwecken. Zu verdanken ist dies der leistungsstärkeren Hardware des neuen RasPi.

Zudem versorgt Microsoft die Raspberry-Community mit vorgefertigten Universal Windows-Apps für Windows 10 IoT – der ideale Einstiegspunkt für alle, die gerne basteln. Deshalb warten auf den nächsten Seiten LEDs, Steckerleisten, Widerstände, GPIOS und vieles mehr auf Sie. Das bedeutet: Verdrahten, Experimentieren, Testen – und wieder von vorne zu beginnen, wenn es mal nicht rundläuft. Über die programmiertechnischen Hürden hilft Ihnen Visual Studio elegant hinweg, zudem schlägt es für Sie die Brücke zum RasPi. Visual Studio spürt den Rechenzwerg im LAN auf, stellt automatisch eine Verbindung her und transferiert den Code vom Windows-10-PC zum Raspberry – die PowerShell bleibt dabei außen vor. „Brauche ich dazu Programmierkenntnisse?“ Diese Frage stellen Sie sich jetzt sicher. Die Antwort: Nein, wenn Sie die Beispielprogramme auf den nächsten Seiten nur ablaufen lassen wollen. Aber vielleicht kommen Sie auf den Geschmack und steigen tiefer in die Materie ein – eine universelle Windows-App läuft theoretisch auf unterschiedlichen Hardware-Plattformen. Genau das ist der eigentliche Clou der Universal Windows-Apps. Und wie sich zeigt, klappt das beim neuen Raspberry Pi 2 auf Anhieb. Noch eine gute Nachricht: Die Community-Version von Visual Studio ist kostenlos und passt damit hervorragend zur preiswerten Hardware des Raspberry. //jr

Fotos: iStockphoto/ Aleksandar Nakic; Microsoft

Sofort in Visual Studio einsteigen und nach kurzer Zeit die erste „Universal Windows-App“ auf dem Raspberry starten – wir zeigen Ihnen alle wichtigen Schritte, die dazu nötig sind

Windows 10

Mit Visual Studio loslegen

1

Community-Version wählen

Als Erstes besorgen Sie sich die kostenlose Community-Version von Visual Studio 2015, beispielsweise von unserer Heft- DVD . Sie können aber auch unter www.visualstudio.com einen separaten Installer herunterladen. Bei diesem Download handelt es sich um einen Installer, der im Anschluss das eigentliche Programm lädt.

3

Zusatzkomponenten laden

Achten Sie beim Download darauf, dass die Option Entwicklungstools für universelle Windows-Tools aktiviert ist. Setzen Sie an dieser Stelle ein Häkchen. Bestätigen Sie mit Weiter und starten Sie den Download. Hinweis: Einzelne Komponenten lassen sich auch später aus Visual Studio heraus jederzeit nachladen.

5

Entwicklermodus aktivieren

Damit Sie Apps installieren dürfen, müssen Sie in Windows 10 den sogenannten „Entwicklermodus“ freischalten. Andernfalls erhalten Sie eine Fehlermeldung in Visual Studio. Die Aktivierung erledigen Sie wahlweise via PowerShell oder einfacher auf diese Weise: Einstellungen | Update und Sicherheit | Für Entwickler | Entwicklermodus.

2

Download-Optionen ändern

Für die Windows-10-IoT-Projekte in diesem Heft benötigt Visual Studio eine Reihe von zusätzlichen Programmkomponenten, die bei der typischen Installation nicht enthalten sind. Nur wenn diese Zusatzkomponenten geladen sind, funktionieren die Code-Beispiele auf den folgenden Seiten. Wählen Sie deshalb die Option Benutzerdefiniert.

4

Oberfläche konfigurieren

Starten Sie Visual Studio. Es erscheint einmalig eine Dialogbox auf dem Begrüßungsbildschirm, in der Sie das zukünftige Farbschema für die Programmoberfläche und die grundlegenden Einstellungen festlegen. Die Standardoption „Allgemein“ passt für die nachfolgenden Beispielprojekte; bestätigen Sie mit Visual Studio starten.

6

Systemwarnung bestätigen

Windows 10 meldet sich mit einem Sicherheitshinweis. Bestätigen Sie diese Systemwarnung mit Ja. Der Entwicklermodus wird sofort aktiviert. Sie müssen sich weder von Windows 10 abmelden, noch einen Neustart veranlassen. Aus Sicherheitsgründen sollten Sie die Einstellungen wieder zurücksetzen, wenn Sie die Projekte beendet haben.

75

Windows 10

Visual Studio auf einen Blick Für Einsteiger überraschend: Visual Studio ändert seine Optik kontextabhängig. Wenn Sie mit dem Editor arbeiten, ist die Oberfläche eine andere, als wenn Sie mit dem Debugger Ihr Programm prüfen. Zudem können Sie alle Bedienungselemente an Ihre individuellen Arbeitsabläufe anpassen und so das Erscheinungsbild grundlegend ändern, siehe Extras | Anpassen. Wir zeigen auf dieser Seite nur die wichtigsten Programmfenster, die bei den Projekten mit dem Raspberry Pi eine Rolle spielen. Sie können die aktuelle Anordnung der Fenster sichern (Fenster | Fensterlayout speichern). Das ist nicht nur für professionelle Entwickler

praktisch, sondern hilft jedem, der sich mit Visual Studio zum ersten Mal befasst. Gut zu wissen für den Fall, dass das Chaos auf dem Monitor ausbricht: Die Befehle Fenster | Fensterlayout zurücksetzen bringen Ihnen die gewohnte Optik jederzeit wieder zurück. Tipp: Programmiereinsteiger finden unter Hilfe | Beispiele eine große Sammlung mit Code-Vorlagen, etwa zum berühmten „Hello World!“. Per Mausklick laden Sie die Schrittfür-Schritt-Anleitungen auf Ihren Rechner. Unter www.micro softvirtualacademy.com warten Lehrgänge, Hintergrundinfos und Tipps zu Visual Studio auf Sie.

Tableiste

Sie können mehrere Module aus der Projektmappe gleichzeitig laden und zum Bearbeiten des Codes zwischen den Ansichten hin und her wechseln.

Editor

In diesem Fenster bearbeiten Sie den Programmcode. Visual Studio unterstützt Sie dabei durch zahlreiche Werkzeuge und Funktionen. Farbmarkierungen zeigen an, ob die betreffende Zeile bereits gespeichert ist (Grün) oder nicht (Gelb). Der Editor macht auf fehlerhafte Eingaben aufmerksam (automatische Syntaxprüfung etc.). Per Mauszeiger rufen Sie Infos zu Befehlen ab (siehe „TimeSpan“). Mit einem Rechtsklick in das Editor-Fenster greifen Sie auf weitere Werkzeuge und Funktionen zu.

Gliederung

Für mehr Übersicht bei komplexen Programmen sorgen die Plus- und Minuszeichen. Dabei wird der eingerückte Code zusammengefasst (Outliner). Fahren Sie mit dem Mauszeiger über die Auslassungszeichen („. . .“), blendet Visual Studio den dahinter liegenden Code als Miniaturvorschau ein.

Visual Studio bietet Ihnen spezielle Werkzeuge zur Analyse Ihrer Programme. Die Fehlerliste zum Beispiel lässt sich auf einzelne Projekte oder Dokumente beschränken, auch eine Filterung nach beliebigen Spalten ist denkbar. Die Fehlerliste zeigt zudem eine LiveAnsicht von Fehlern, Warnungen und Code-Analysen für die gesamte C#- oder Visual-Basic-Projektmappe.

76

Fotos: Raspberry Pi Foundation

Fehlerliste

Windows 10 Debuggen

Dieser Menü-Abschnitt ist bei den Raspberry-Projekten mit Windows 10 IoT einer der wichtigsten. Hier starten Sie den Debugger und passen vorher die Hardware-Architektur an. In den Projekten benötigen Sie die Einstellung Debug | ARM | Remotecomputer. Die Grundkonfiguration ist Debug | x86 | Lokaler Computer.

Projektmappen-Explorer

Dieses Fenster hilft Ihnen, in komplexen Projekten die Übersicht zu behalten. Das Fenster präsentiert Ihnen den Inhalt der Projektmappen-Datei, die Sie an der Endung .sln erkennen. Der Clou bei Visual Studio: Sie können mehrere Projekte gleichzeitig öffnen und bearbeiten, wobei der Projektmappen-Explorer als Schaltzentrale dient. In diesem Beispiel sehen Sie die App „Blinky“ mit all ihren eingebundenen Elementen und Dateien. Wenn Sie den Code dieser App bearbeiten wollen, gehen Sie zu „MainPage. xaml.cs“. Sie öffnen diesen Abschnitt per Doppelklick und laden den Code in den Editor. Hier können Sie beispielsweise die Zeitdauer ändern, siehe Zeile 26 „timer.Interval = TimeSpan.FromMilliseconds(500)“.

Ausgabe

Beim Debuggen können Sie den Programmablauf in einem separaten Fenster studieren. Mit einem Rechtsklick in das Ausgabefenster legen Sie fest, welche Angaben angezeigt werden, etwa Lademeldungen für Module und Ähnliches. Alle Infos lassen sich per Copy & Paste aus diesem Fenster zum Beispiel in ein Word-Dokument übernehmen, wenn Sie den Programmablauf für später schriftlich dokumentieren wollen.

Eigenschaften

Wenn Sie genauere Informationen zu einem Objekt, etwa einer eingebundenen Grafik für einen Button oder detaillierte Angaben zur Funktion einer Datei benötigen, finden Sie diese im Fenster „Eigenschaften“. Sie können hier auch nachträglich bestimmte Vorgaben für ein Objekt oder einen Vorgang ändern. In diesem Fall geht es darum, wie die Datei „MainPage.xaml.cs“ aktuell mit den Build- und Bereitstellungsprozessen verknüpft ist. Normalerweise ist jeder Eigenschaft ein Standardwert zugeteilt.

77

Windows 10

Ihr erstes Projekt: Blinky leuchtet D Idealer Einstieg: Für die Universal App „Blinky“ sind nur sehr wenige Bauteile nötig

78

ie erste Schaltung, die Sie aufbauen, ist ganz einfach. Sie nennt sich „Blinky“ und besteht lediglich aus einer Leuchtdiode (LED) und einem Vorwiderstand. Dazu kommen noch zwei Drähte, die die Bauelemente mit der Steckerleiste des Raspberry verbinden – fertig. Wie der Name es bereits andeutet: Blinky steuert eine LED und schaltet sie ein und aus. Für erfahrene Elektronikbastler ist das Ganze natürlich ein Klacks, keine Fra-

ge. Wir erklären die Schaltung trotzdem ganz bewusst in aller Ausführlichkeit. So können sich auch Anwender ohne elektronische Vorkenntnisse an den Aufbau herantrauen, selbst wenn sie noch nie solche Komponenten in der Hand gehalten haben. Noch ein Tipp, bevor wir starten: Eine kleine Elektronikerzange ist hilfreich, um die Anschlüsse von LEDs und Widerständen zu biegen. Die Beinchen dieser Bauteile sind mechanisch sehr empfindlich und passen nicht ohne Weiteres in die Steckplatine (Breadboard). Sie benötigen für Ihr erstes Windows-10-IoT-Core-Projekt folgende Bauteile, um die Schaltung aufzubauen: 1x LED (20 mA, 3,2 Volt) 1x Widerstand (220 Ohm) 1x Steckplatine (Breadboard) 2x Verbindungskabel Diese Bauelemente können Sie einzeln in jedem Elektronikshop kaufen oder Sie besorgen sich ein Komplett-Kit wie das „Sunfounder Project Super Starter Kit for Raspberry Pi Model B+“. Der Preis von 50 Euro für die umfangreichere Version des Kits mag im ersten Moment happig erscheinen, jedoch sind Sie damit für fast alle Windows10-IoT-Core-Projekte gerüstet, die Microsoft auf seinen Seiten präsentiert. Zudem enthält es einen „T-Cobbler“, das ist ein praktisches Bauteil, um die Anschlüsse der Steckerleiste der Raspberry-Platine elegant auf das Expe-

Fotos: Microsoft; iStockphoto, Devonyu

Sofort loslegen mit Windows-10-IoT-Core: Wir zeigen Ihnen, wie sich mit Visual Studio und preiswerten Bauteilen spannende Projekte mit dem Raspberry Pi 2 realisieren lassen

Windows 10 Zubehör

Wenn Sie komplexere Testschaltungen aufbauen und prüfen, sollten Sie die Pins der Steckerleiste zum Beispiel mit einem „T-Cobbler“ auf das Experimentierboard führen. Bei den Beispielen auf den folgenden Seiten ist das jedoch nicht nötig.

Steckerleiste

Beachten Sie, dass die physikalische Nummerierung der Pins auf der 40-poligen Steckerleiste zickzackförmig von oben nach unten verläuft. Vorsicht: Die Bezeichnung der GPIO-Pins korrespondiert nicht mit dieser Nummerierung!

INFO Hier sehen Sie die Belegung der Steckerleiste des RasPi 2. Sie dient als Referenz für alle folgenden Projekte, die auf Windows 10 IoT Core basieren.

Sicherheit

Die in den Schaltungen verwendeten Vorwiderstände dürfen nicht weggelassen werden. Die Bauelemente (insbesondere LEDs) werden sonst zerstört.

rimentierboard weiterzuleiten. Solche Kits sind bei Elektronikversendern wie Conrad.de, Voelkner.de oder Reichelt.de erhältlich; selbst Amazon führt sie. Zudem: Da Sie bei sämtlichen Beispielen ausschließlich mit einer Steckplatine arbeiten, lassen sich alle Bauteile recyceln. Noch einige Worte zu den angegebenen Spannungs- und Widerstandswerten in der Bestückungsliste: Natürlich darf man auch Bauteile verwenden, die mit anderen Werten arbeiten als oben in der Liste vorgegeben. Dies setzt aber entsprechende Elektronikkenntnisse voraus. Fließen nämlich zu hohe Ströme auf der Platine, können Bauteile in Sekundenbruchteilen zerstört werden.

Kleine Helfer für Elektroniker

Für die Berechnung bieten sich für versierte Elektroniker spezielle Apps an, die Sie sowohl für Android- als auch für Apple-Smartphones bekommen. Unter Android sollten Sie beispielsweise „Decode-R“, „Electronic Toolbox“, „LEDRechner Pro“ oder etwa „ElectroDroid“ auf die DownloadListe setzen – um nur einige Apps zu nennen. Besitzern eines iPhones oder iPads empfehlen wir, unbedingt einen Blick auf die beiden Apps „Elektronik ToolKit“ und „Electronic Toolbox Pro“ zu werfen, die mit speziellen Rubriken und Datenbanken für Raspberry und Arduino aufwarten. Doch zurück zum Schaltungsaufbau: Sie platzieren als Erstes alle Bauelemente auf dem Experimentierbrett (Breadboard) und verkabeln die Schaltung mit dem Raspberry. Im Idealfall hat Ihr Kabelset die gleichen Farben (Blau und Orange) wie in den folgenden Projekten auf den nächsten Seiten; so vermeiden Sie Verwechselungen. Stecken Sie das blaue Kabel auf den GPIO 5. Das entspricht Pin 29 (physikalisch gesehen) auf der Steckerleiste des Raspberry. Werfen Sie sicherheitshalber noch einmal einen Blick oben auf die Grafik auf dieser Seite. Das orangefarbene Kabel stecken Sie auf den Pin mit der Bezeichnung „3,3V PWR“. Das entspricht Pin 1 der Steckerleiste (erster links oben). Das andere Ende des blauen Kabels

Spannung

Auf der Steckerleiste befinden sich Pins für 3,3 Volt und 5 Volt. Beachten Sie die Angaben der jeweiligen Schaltung.

Sofort loslegen: Kaufen Sie sich ein Bauteile-Starterkit für das Raspberry Pi 2 stecken Sie auf dem Experimentierbrett in die Buchse 25/f. Das Gegenstück des orangefarbenen Kabels kommt in die Buchse 20/f. Den Widerstand platzieren Sie auf dem Experimentierbrett in den beiden Steckbuchsen 20/h und 24/h. Das kurze Ende der Leuchtdiode (LED) stecken Sie in 25/j und das lange Ende in 24/j. Das hat einen besonderen Grund: Das kurze Beinchen entspricht dem Minuspol der LED. Wenn Sie die Polarität vertauschen, brennt die LED nicht, denn sie lässt den Strom nur in eine Richtung passieren. Zudem gilt: Leuchtdioden vertragen nur eine sehr geringe Sperrspannung, ein weiterer Grund also, eine falsche Polung zu vermeiden. Als Nächstes wechseln Sie zu Visual Studio Community 2015 und starten das Programm. Falls Sie noch nicht den

Unter Strom: So verdrahtet, sollte die LED-Schaltung auf Anhieb korrekt arbeiten

79

Windows 10 TIPP Visual Studio verwendet in der Werkseinstellung keine Zeilennummern im Editor. Aktivieren Sie diese mit Extras | Optionen | Texteditor | Alle Sprachen | Zeilennummern.

Beispiel-Code heruntergeladen haben, holen Sie dies jetzt bitte nach. Sie finden den Code beziehungsweise die dazugehörigen Beispielprojekte sowohl auf unserer Heft- DVD als auch im Internet, jeweils unter der Adresse https:// github.com/ms-iot/samples/archive/develop.zip. Speichern Sie die Vorlagen im Unterverzeichnis „/samples-develop“.

Jetzt kommt Visual Studio ins Spiel

Visual Studio lässt Ihnen die freie Wahl, wie Sie Ihre Projekte organisieren. Wichtig ist lediglich, dass Sie den Überblick behalten. Wie Sie dabei vorgehen, hängt ganz von Ihrer Zielsetzung ab. Das schlägt sich auch in der Art und Weise nieder, wie Sie Ihre Projektmappe anlegen. Falls Sie mit Visual C# arbeiten und eine universelle WindowsApp von Grund auf entwickeln möchten, können Sie zum Beispiel so vorgehen wie unten in der Schritt-für-SchrittAnleitung gezeigt. Auf ähnliche Weise lassen sich mehrere Beispielprojekte hintereinander importieren und in einem gemeinsamen Projektordner verwalten. Wie das in der Praxis aussieht, zeigt Ihnen das Bildschirmfoto in Schritt 6.

Hinweis: Den Namen einer Projektmappe ändern Sie nachträglich (falls nötig), indem Sie mit der rechten Maustaste im Projektmappen-Explorer darauf klicken und im Kontextmenü Umbenennen wählen. Apropos ProjektmappenExplorer: Wenn Sie einen Blick auf das Bildschirmfoto unten in Schritt 6 werfen, wird Ihnen ein hilfreiches Detail auffallen: Ein kleines Icon informiert Sie, ob das jeweilige Programm in C# oder C++ geschrieben ist. Für das BlinkyProjekt wählen wir in dieser Anleitung die Variante C#. Sobald das Blinky-Projekt in Visual Studio geladen ist, geht es los: Als Erstes geben Sie an, auf welcher Prozessorarchitektur die Blinky-App laufen soll. Voreingestellt ist „x86“. Würden Sie jetzt den Debugger starten, wäre das Ergebnis ein leeres Fenster und eine LED, die dunkel bleibt, schon allein, weil der PC keine GPIO-Pins besitzt. Das Problem lässt sich schnell beheben: Der Rechner basiert auf einem Ein-Chip-System von Broadcom mit einem ARM-Mikroprozessor. Wechseln Sie also vom voreingestellten „x86“ zu ARM. Schalten Sie oben in der Menüleiste von Visual Studio von „Lokaler Computer“ (rechts neben dem grünen Startpfeil) auf Remotecomputer um.

Projekte in Visual Studio importieren

1

Projektmappe anlegen

Wir setzen voraus, dass Sie den Code der Beispielprojekte heruntergeladen haben. Klicken Sie auf Datei | Neu | Projekt. Sie gelangen in das Dialogfenster „Neues Projekt“.

4

Speicherort angeben

Legen Sie „Name,“ „Speicherort“ und „Projektmappenname“ fest. Die Grundeinstellung „Neue Projektmappe erstellen“ lassen Sie, wie sie ist. Bestätigen Sie mit OK.

80

2

Vorlage wählen

Links in der Spalte des Dialogfensters sehen Sie verschiedene Einträge. Wählen Sie dort unter Installiert | Vorlagen die Option Visual C#. Jetzt wechseln Sie rechts in die Vorlagen.

5

Blinky importieren

Laden Sie die neue Mappe mit Datei | Öffnen | Projekt. Importieren Sie das Projekt „Blinky“: Datei | Hinzufügen | Vorhandenes Projekt (siehe Ordner „/samples-develop“).

3

Universelle Win-App

Wählen Sie Leere App (Universelle WindowsApp). Sollte die Vorlage nicht vorhanden sein, lässt sie sich mit „Klicken Sie hier, um online nach Vorlagen zu suchen“ nachinstallieren.

6

Sprache wählen

Im Verzeichnis „Blinky“ wählen Sie den Unterordner „CS“, um den Code für C# zu importieren. Öffnen Sie die Datei Blinky.csproj. Die Sicherheitsmeldung bestätigen Sie mit OK.

Windows 10 Visual Studio öffnet die Dialogbox „Remoteverbindungen“. Wenn alles richtig konfiguriert und Ihr Raspberry betriebsbereit ist, sollte oben im Fenster die Meldung „1 Verbindung gefunden“ stehen. Visual Studio hat erkannt, dass sich in Ihrem LAN ein Gerät befindet, das sich remote einbinden lässt. Es wurde in diesem Beispiel als „minwinpc“ identifiziert. Geben Sie bei „Adresse“ die IP-Adresse des Raspberry an. In unserem Beispiel ist es 192.168.178.36 (per Router vorgegeben). Als „Authentifizierungsmodus“ legen Sie Keine fest. Bestätigen Sie mit Auswählen. Diese Einträge lassen sich nachträglich ändern, wenn Sie im Fenster „Projektmappen-Explorer“ auf Properties doppelklicken. Mit Debuggen greifen Sie im neuen Fenster „Blinky“ auf die jeweiligen Einstellungen zu.

Der erste Testlauf

Jetzt ist alles so weit konfiguriert, dass Sie mit der Funktionstaste [F5] einen ersten Test starten sollten. Folgende Aktionen laufen nun automatisch ab, sofern sich keine Fehler in den Schaltungsaufbau, den Programmcode oder die Konfiguration von Visual Studio eingeschlichen haben: Das Programm transferiert die Blinky-App in den Speicher des Raspberry und startet sie. Auf dem Bildschirm, den Sie an das Raspberry angeschlossen haben, blinkt jetzt eine kreisrunde rote Anzeige; synchron dazu leuchtet und verlischt auf der Steckplatine die LED im Takt. Zudem erscheint auf dem Monitor der Hinweis „GPIO pin initialized correctly“. Und die Zeitdauer wird eingeblendet, sprich „500ms“. Die Leuchtdiode erlischt erst, wenn Sie den Debugger stoppen. Die App selbst hat keine eigene Oberfläche und lässt sich vom zweiten Bildschirm aus weder steuern noch auf sonstige Weise beeinflussen.

Hinter den Kulissen: Der Code

Die erste Frage, die Sie sich vermutlich stellen: Wo steckt der Code für das Timing der LED? Dazu wechseln Sie als Erstes in den Projektmappen-Explorer. Sie werden ihm noch häufiger begegnen, deshalb lohnt es sich, die folgende Tastenkombination zu lernen: [Strg]+[Alt+[L]. Doppelklicken Sie im Projektmappen-Explorer auf die Datei MainPage.xaml.cs, um sie im Editor zu öffnen, falls sie nicht ohnehin auf dem Bildschirm erscheint. Den Code, den Sie hier sehen, finden Sie in den Zeilen 21 bis 33. { // ... this.timer = new DispatcherTimer(); this.timer.Interval = TimeSpan.FromMilliseconds(500); this.timer.Tick += Timer_Tick; this.timer.Start(); // ... } private void Timer_Tick(object sender, object e) { FlipLED(); } Den Wert „500“ können Sie beliebig ändern. Probieren Sie es einfach einmal aus. Je größer die Zahl, zum Beispiel 1500 Millisekunden, desto länger dauert das Blinkintervall. Mit der Funktionstaste [F5] starten Sie wie eben den Testlauf; mit [Umschalt]+[F5] beenden Sie ihn wieder.

Der Programmcode, um den GPIO-Pin zu initialisieren, befindet sich in den Zeilen 35 bis 54. using Windows.Devices.Gpio; private void InitGPIO() { var gpio = GpioController.GetDefault(); // Show an error if there is no GPIO controller if (gpio == null) { pin = null; GpioStatus.Text = „There is no GPIO controller on this device.“; return; } pin = gpio.OpenPin(LED_PIN); // Show an error if the pin wasn’t initialized properly if (pin == null) { GpioStatus.Text = „There were problems initializing the GPIO pin.“; return; } pin.Write(GpioPinValue.High); pin.SetDriveMode(GpioPinDriveMode.Output);

Der Text aktualisiert sich nicht automatisch, wenn Sie das Blink-Intervall ändern. Sie müssen ihn manuell anpassen

GpioStatus.Text = „GPIO pin initialized correctly.“;

Mit dem Befehl „GpioController.GetDefault()“ wird der GPIO-Controller des Raspberry angesprochen. Falls das Gerät keinen GPIO-Controller besitzt – was in diesem Beispiel sehr unwahrscheinlich ist –, liefert die Funktion als Ergebnis „Null“ zurück. Als Nächstes greifen wir auf den Pin mit dem Befehl „GpioController.OpenPin()“ zu, indem wir den Wert „LED_PIN“ nutzen. Sobald wir Zugriff auf den Pin haben, setzen wir ihn auf den Status „High“ (Aus), wozu die Funktion GpioPin.Write() zum Einsatz kommt. Um den Pin zudem als Ausgang zu definieren, greifen wir zu dem Kommando „GpioPin.SetDriveMode()“. Sobald man den Zugang auf die „GpioOutputPin“-Instanz hat, ist es ein Leichtes, die LED ein- oder auszuschalten. Mit „GpioPinValue.Low“ lassen wir sie leuchten, mit der Anweisung „GpioPinValue.High“ wird die LED wieder ausgeknipst. Tipp: Unter https://github.com/ms-iot/samples/archive/develop.zip finden Sie eine interaktive Grafik, die Ihnen zusätzliche Informationen zur Steckerleiste des Raspberry Pi 2 liefert. //jr

TIPP Wenn alle Stricke reißen und nichts mehr läuft, hilft es, das RasPi neu zu booten. Und halten Sie Visual Studio auf dem neuesten Stand: Extras | Erweiterungen und Updates.

81

Windows 10

Auf direktem Weg ins Internet

Ein paar Mausklicks genügen – schon sind Sie im Web. Und zwar nicht mit Edge oder Firefox, sondern mit dem IoT-Browser. Wenn Sie wollen, bringen Sie ihm neue Kunststücke bei ...

M

it dem Browser „Epiphany“ gelangten schon die Vorgängermodelle des Raspberry Pi 2 ins Internet, freilich unter Raspbian. Dank schnellerer Hardware und Windows IoT öffnet sich experimentierfreudigen Usern ein weiteres Tor ins weltweite Netz: der „IoTBrowser“. In Sachen Funktionsumfang kann sich der kleine Browser natürlich nicht mit Epiphany messen. Er zeigt aber, welche Chancen die leistungsstärkere Plattform des RasPi 2 ideenreichen Entwicklern bietet. Auch dieses Projekt wird wieder mit Visual Studio realisiert – den prinzipiellen Ablauf kennen Sie bereits vom Blinky-Projekt. Der wesentliche Unterschied zu Blinky ist, dass Sie keinerlei Hardware benötigen. Falls das RasPi noch vom Vorgängerprojekt verkabelt sein sollte, kein Problem: Lassen Sie den Aufbau auf der Steckplatine so, wie er ist. Setzen Sie das RasPi in Betrieb und starten Sie Visual Studio. Laden Sie das Projekt „IoT Browser Sample“ entweder in die bereits vorhandene Projektmappe oder legen

82

Sie ein neues Projekt an. Sie finden das Beispiel im Ordner unter \samples-develop\IoTBrowser. Sobald der Code geladen ist, legen Sie los. Als sogenannte UWP-App (Universal Windows Platform) läuft der IoT-Browser direkt auf Ihrem Windows-10-Rechner, was Sie gleich ausprobieren sollten. Das RasPi darf also eine kurze Verschnaufpause einlegen. Wählen Sie im Menü von Visual Studio folgende Einstellungen: Debug | x86 | IoTBrowser (Universal Windows) | Lokaler Computer. Drücken Sie jetzt die Funktionstaste [F5], um den Programmablauf zu starten. Auf dem schnelleren WindowsRechner sollte die App sofort auf dem Monitor zu sehen sein. Es erscheint ein leeres Browser-Fenster, in dem der Weblink „http://www.bing.com“ als Startadresse eingetragen ist. Die Suchmaschine von Microsoft wird aber nicht automatisch geladen – das geschieht erst, wenn Sie auf den Button Go! klicken. Probieren Sie ruhig auch andere Internetadressen aus, achten Sie dabei aber penibel auf

Windows 10 Protokoll

Beim IoT-Browser ist die Angabe des Protokolls immer zwingend. Ohne „http://“ oder alternativ „https://“ verweigert er seinen Dienst

Buttons

Die Schaltflächen mit den vorbelegten Internetadressen sind die einzige Komfortfunktion des IoT-Browsers

die Angabe des Protokolls. Eine Adressangabe wie www. chip.de beispielsweise wird nicht funktionieren, sondern liefert nur eine Fehlermeldung: „Error: Invalid URI: The format of the URI could not be determined.“ Damit der IoT-Browser weiß, welches Internet-Protokoll er verwenden soll, müssen Sie das Präfix für das Hypertext Transfer Protocol voranstellen: http://www.chip.de. Die einzige Besonderheit der App: Links unten im Programmfenster sind drei Buttons integriert, die auf vorgegebene Webseiten verweisen, sprich hackster.io, github. com sowie windowsondevices.com (jeweils mit „https://“).

Mit dem IoT-Browser ins Web

Doch zurück zum Raspberry Pi und Windows IoT: Sie können den Browser natürlich auch auf dem RasPi laufen lassen, dazu sind wieder die bekannten Einstellungen in Visual Studio nötig: Debug | ARM | IoTBrowser (Universal Windows) | Remotecomputer. Auf dem Bildschirm erscheint die Dialogbox für die „Remoteverbindungen“. Wenn Sie keinen neuen Namen für das RasPi vergeben haben, wird es automatisch als „minwinpc“ erkannt. Als „Authentifizierungsmodus“ stellen Sie Keine ein. Klicken Sie dann auf minwinpc und Auswählen. Starten Sie mit [F5] den Debugger. Wenige Augenblick später sollte sich der IoTBrowser melden. Er läuft – wie andere Apps auch – im Vollbildmodus. Die App stellt auf dem RasPi im Prinzip die gleichen Funktionen bereit wie auf dem Windows-10-PC. Anschließend wollen wir noch einen kurzen Blick auf den Code des Browsers werfen. Da wären zum Beispiel die drei kleinen Schaltflächen im IoT-Browser, die jeweils auf fest definierte Internetadressen verweisen. Den dazugehörigen Code finden Sie in der Datei MainPage.xaml.cs, die Sie im Projektmappen-Explorer per Doppelklick in den Editor laden. Die Programmzeilen, auf die es ankommt, befinden sich in den Zeilen 69 bis 84, siehe Beispiel: private void Go_Hackster_Click(object sender, RoutedEventArgs e)

{

Web_Address.Text = „https://www.hackster.io/ windowsiot“; DoWebNavigate(); } Zuerst beenden Sie den Debugger. Anschließend wählen Sie die Zeile aus, in der die Internetadresse steht. In diesem Beispiel ist es Zeile 77. Ändern Sie den Eintrag innerhalb der Anführungszeichen. Testen Sie die neue Adresse mit [F5]. Wird die Webseite nicht geöffnet, haben Sie vermutlich die Angabe des Protokolls vergessen. Beim Testlauf fällt Ihnen sicherlich auf, dass nun die Bezeichnung der Schaltfläche nicht mehr stimmt. Dazu öffnen Sie das Element GO_ Hackster.io : Button. Ändern Sie dann die Einträge in der jeweiligen Zeile – in diesem Beispiel ist es die Zeile 52. Und zwar nach dem folgendem Schema: x:Name=“Go_Beispiel“ Content=“Beispiel“. Anschließend starten Sie den Debugger erneut und überprüfen auf diese Weise den Code. //jr

TIPP Sie können die vordefinierten Webadressen des IoTBrowsers mit wenig Aufwand ändern.

Flexibel: Grafische Elemente und Texte lassen sich bei Bedarf anpassen

83

Windows 10

Farbspiele mit der Fritzing-Software

Mit Leuchtdioden lassen sich allerlei Spielereien anstellen. Und ganz nebenbei erlernt man die Grundlagen des Schaltungsdesigns – diesmal mit der Entwurfssoftware „Fritzing“

Mit der in diesem Artikel vorgestellten Fritzing-Software können Sie sich Stückteillisten für den Einkauf im Elektronikfachhandel drucken.

N

achdem Sie das Projekt „Blinky“ erfolgreich abgeschlossen haben, geht es gleich weiter – der Schwierigkeitsgrad erhöht sich moderat. Beim RGB-LED-Projekt lernen Sie wieder ein neues Bauteil kennen, steuern zudem andere GPIOs an – es kommen auch zusätzliche Widerstände hinzu. Bei diesem Projekt geht es darum, eine LED abwechselnd in Rot, Blau und Grün leuchten zu lassen. Jede Farbe ist über die jeweiligen Pins separat ansteuerbar; deshalb besitzt die verwendete LED „7541615-ND Tri-Color“ vier Beinchen. Beachten Sie dies bitte, wenn Sie das Bauteil durch eine andere mehrfarbige LED ersetzen. Sowohl die Verdrahtung als auch das Programm sind auf diesen Typus abgestimmt. Die einzelnen Komponenten der Schaltung finden Sie auf der folgenden Liste. Sie können – entsprechende Elektronikkenntnisse vorausgesetzt – die Bauteile tauschen. 1x LED 754-1615-ND Tri-Color 1x Widerstand 330 Ohm 2x Widerstand 100 Ohm 1x Steckplatine 4x Kabel (verschiedene Farben) Für Experimente mit dem Raspberry empfehlen wir neben dem „Sunfounder Project Super Starter Kit for Raspberry Pi Model B+“ (knapp 50 Euro, inklusive Tri-Color-LED) zusätzlich den Download von „Fritzing“. Der Grund: Schon beim ersten Windows-IoT-Projekt, sprich „Blinky“, lieferte Fritzing die Grafik für den Schaltungsaufbau. Das kostenlose Tool wurde an der Fachhochschule Potsdam entwickelt und richtet sich an alle Elektronikbastler, Entwickler

84

und Studenten entsprechender Fachrichtungen. Das Besondere an Fritzing ist, dass Sie damit maßstabsgetreue elektronische Schaltungen entwerfen und dokumentieren können, ganz simpel auf der Basis virtueller Steckplatinen. Widerstände, LEDs, Drähte, Kondensatoren, Taster, USBBuchsen, Gleichstrommotoren, Mikrocontroller oder zum Beispiel die Platine des Raspberry Pi 2 – alle diese Bauteile sind als skalierbare Vektorgrafiken in der Bibliothek von Fritzing enthalten und gelangen per Drag & Drop rasch an ihren Platz auf der Steckplatine. Sie können mit Fritzing sogar Entwürfe auf Leiterplatten übertragen oder sich Schaltungen aus dem Internet herunterladen.

Bestückung vorbereiten

Die Bestückung der Steckplatine ist bei diesem Projekt ein wenig aufwendiger als bei „Blinky“, zum einen, weil mehr Bauteile im Spiel sind, zum anderen, weil die Pin-Leiste anders beschaltet wird. Deshalb haben wir für Sie auf der rechten Seite zwei Ansichten vorbereitet: Einmal die visu-

TIPP Praktische Lösung: Mit Fritzing drucken Sie eine maßstabsgerechte 1:1-Vorlage für Ihre Steckplatine. Dann fixieren Sie den Ausdruck mit Tesafilm auf dem Breadboard und drücken die Bauteile an denjenigen Stellen durch das Papier, an denen Widerstände, LEDs, Taster oder andere Bauteile eingezeichnet sind. Wie Sie mit Fritzing arbeiten, erfahren Sie auf der übernächsten Seite im Workshop.

Foto: iStockphoto/Yukosourov

INFO

Windows 10 elle Anordnung der Bauelemente auf der Steckplatine und einmal die Ansicht „Schaltplan“. Sie zeigt unter anderem, wie die Bauelemente mit der Pin-Leiste der RaspberryPlatine verbunden werden. Ähnlich wie beim Blinky-Projekt müssen Sie darauf achten, dass Sie die Anschlüsse der RGB-LED nicht verwechseln. Das längste Beinchen der mehrfarbigen LED ist die Kathode. Wenn Sie sich für die technischen Daten des Bauteils interessieren: Unter http://goo.gl/fkvhc bekommen Sie ein ausführliches Datenblatt im PDF-Format. Hinweis: Schauen Sie sich vor Beginn im Zweifelsfall noch einmal die Grafik auf Seite 79 an. Sie zeigt die physikalische Nummerierung der Pins auf der 40-poligen Steckerleiste. Die jeweilige Bezeichnung der GPIO-Pins ist davon unabhängig und kann leicht verwechselt werden!

Bauelemente anordnen

Nehmen Sie zuerst die Widerstände und platzieren Sie sie wie in der Abbildung rechts oben gezeigt. Beginnen Sie mit dem 330-Ohm-Widerstand (Steckplätze D8 und F8), dann folgen die beiden 100-Ohm-Widerstände rechts daneben. Lassen Sie Platz für das schwarze Kabel, siehe Abbildung. Es kommt etwas später an die Reihe. Wenn die Widerstände erst einmal ihren Platz gefunden haben, ist es ein Leichtes, die RGB-LED korrekt zu platzieren. In unserem Beispiel – siehe wieder die Abbildung – stecken die vier Beinchen jeweils in I/8 bis I/11. Die Kathode, also der längste Anschlussdraht der RGB-LED, steckt in Loch I/9 (gegenüber dem schwarzen Drahtanschluss). Als Nächstes nehmen Sie die vier farbigen Kabel zur Hand. Bei der Belegung können Sie sich wieder an der Abbildung rechts oben und den Widerständen orientieren. Beginnen Sie mit der Steckplatine, dann verbinden Sie die Kabel nacheinander mit der Steckerleiste. Das schwarze Kabel stecken Sie auf GND. In der physikalischen Nummerierung der Leiste entspricht dies der Pin-Ziffer 6. Das rote Kabel wird mit GPIO 5 verbunden. In der Nummerierung stimmt diese Bezeichnung mit der Pin-Ziffer 29 überein. Es folgt das blaue Kabel, das auf GPIO 6 gesteckt wird. GPIO 6 ist identisch mit der Nummer 31. Das grüne Kabel schließen Sie an GPIO 13 an. Das physikalische Gegenstück dazu ist die Pin-Nummer 33. Sie sollten den Aufbau auch anhand des Schaltplans überprüfen, siehe Abbildung rechts unten. Hier sehen Sie zusätz-

lich die physikalische Pin-Nummerierung. Sobald die Steckplatine bestückt und mit dem Raspberry Pi verkabelt ist, schließen Sie das RasPi ans Stromnetz an. Warten Sie, bis der Startbildschirm und die Statusmeldung „Lokaler und Internetzugriff“ erscheint. Nun folgt im nächsten Schritt das Programm, das die LED ansteuert. Starten Sie Visual Studio und laden Sie den Beispiel-Code mit Datei | Hinzufügen | Vorhandenes Projekt | RGBLED.csproj | Öffnen in die Projektmappe. Taucht eine Warnmeldung auf, quittieren Sie diese mit OK.

Steckplatine: Die Kathode der LED befindet sich gegenüber dem schwarzen Kabel

Schaltplan: Diese Grafik zeigt den prinzipiellen Aufbau der LEDSchaltung

Websites für Elektronik-Bastler Wer sich eingehender mit Elektronik beschäftigt möchte, findet im Internet zahlreiche Informationsquellen – viele davon richten sich allerdings explizit an Experten. Die folgenden Websites sind im Gegensatz dazu auch für Einsteiger empfehlenswert: Elektronik Kompendium: Zu den Klassikern gehört www.elektronik-kompendium.de, eine Seite, die nützliche Grundlagenartikel liefert und ein breites Themenspektrum abdeckt. Empfehlenswert für den Einstieg: die Rubrik „Grundschaltungen“. Fritzing: Für alle Elektronikbastler ein Muss: die Seite http://fritzing.org. Hier finden Sie nicht nur die bekannte Fritzing-Software. Die

Website bietet ebenso ein Forum, das sich speziell an Fritzing-Anwender richtet und auch eine deutschsprachige Gruppe betreut. Mikrocontroller: Fachlich tiefer steigt die Seite www.mikrocontroller.net ein. Hier sind Sie gut aufgehoben, wenn Sie sich über ARMbasierte Mikrocontroller (unter anderem beim Raspberry Pi) oder SMD-Löten informieren wollen. Sehr interessant: Das Spezialforum „Haus & Smart Home“. Transistornet: Wenn Sie ein gut besuchtes deutschsprachiges Elektronikforum suchen, sollten Sie bei www.transistornet.de vorbeischauen. Unser Tipp: „Messtechnik und Theorie“ sowie „Projekte – Selbstbau“.

Edaboard: Entsprechende Englischkenntnisse vorausgesetzt, bekommen Sie im Forum von www.edaboard.com schnelle Antworten auf alle Fragen rund um die Elektronik. Für das RasPi gibt es zwar keine eigene Diskussionsgruppe, die Suchfunktion des Boards fördert aber unzählige lesenswerte Beiträge zutage. Allaboutcircuits: Umfassende englischsprachige Seite für Elektronikbastler: Unter der Adresse www.allaboutcircuits.com finden Sie Grundlagenbeiträge, viele Lehrmaterialien und Videos ebenso wie Hintergrundartikel zum „Internet of Things“. Besonders interessant: Die Website bietet für Bastler regelmäßig Projekte zum Raspberry Pi.

85

Windows 10 INFO Beim Programmieren wird normalerweise die konkrete Bezeichnung des GPIO verwendet, nicht jedoch seine physikalische Pin-Nummerierung.

86

Beachten Sie, dass der Code nicht auf dem lokalen Rechner läuft, deshalb ist in der Menüleiste von Visual Studio eine Änderung der Konfiguration nötig. Bevor Sie den Debugger starten, müssen Sie folgende Einstellung wählen: Debug, ARM, RGBLED (Universal Windows), Remotecomputer. Die Remote-Verbindung zum RasPi bauen Sie genauso auf wie bei den beiden vorherigen Projekten.

Programmablauf testen

Starten Sie den Debugger. Jetzt sollte Folgendes passieren: Auf dem Bildschirm des RasPi wechselt die Anzeige in rascher Folge von Grün zu Rot und Blau. Synchron dazu blinkt die RGB-LED auf der Steckplatine. Die Blinkfrequenz lässt sich auf dem Bildschirm des RasPi per Schieberegler zwischen 10 und 1.000 Millisekunden variieren. Der TimerCode ist relativ kurz gehalten. Er weist der LED eine Blinkfrequenz von 500 Millisekunden als Startwert zu: public MainPage() { // ... this.timer = new DispatcherTimer(); this.timer.Interval = TimeSpan.FromMilliseconds(500); this.timer.Tick += Timer_Tick; this.timer.Start(); // ... } private void Timer_Tick(object sender, object e) { FlipLED(); } Um die jeweiligen GPIO-Pins ansprechen zu können, müssen sie zunächst initialisiert werden. Den dazu nötigen C#-Code sehen Sie im nächsten Abschnitt. Mit dem Befehl GpioController.GetDefault() erfolgt zuerst der Zugriff auf den GPIO-Controller. Ist er nicht verfügbar, liefert die Funktion den Wert Null zurück. Anschließend erfolgt der Zugriff mit GpioController.OpenPin() und den Werten REDLED_ PIN, BLUELED_PIN sowie GREENLED_PIN. Sind redpin, bluepin und greenpin festgelegt, werden sie auf den Wert High gesetzt. Dazu greifen wir auf die Funktion GpioPin.Write() zurück. Um die jeweiligen Pins in den Ausgabemodus versetzen zu können, kommt die Funktion GpioPin.SetDriveMode() zum Einsatz. using Windows.Devices.Gpio; private void InitGPIO() { var gpio = GpioController.GetDefault(); // Show an error if there is no GPIO controller if (gpio == null) { redpin = null; bluepin = null; greenpin = null; GpioStatus.Text = „There is no GPIO controller on this device.“; return; } redpin = gpio.OpenPin(REDLED_PIN); bluepin = gpio.OpenPin(BLUELED_PIN); greenpin = gpio.OpenPin(GREENLED_PIN); // Show an error if the pin wasn‘t initialized properly

if (redpin == null || bluepin == null || greenpin == null) { GpioStatus.Text = „There were problems initializing the GPIO red/blue/green pin.“; return; } redpin.Write(GpioPinValue.High); redpin.SetDriveMode(GpioPinDriveMode. Output); bluepin.Write(GpioPinValue.High); bluepin.SetDriveMode(GpioPinDriveMode. Output); greenpin.Write(GpioPinValue.High); greenpin.SetDriveMode(GpioPinDriveMode. Output); GpioStatus.Text = „GPIO blue/red/green pin initialized correctly.“; } Anschließend ist es kein Problem, den Zustand des GPIOPins zu ändern, sprich ihn an- oder abzuschalten. Dazu weisen wir dem Pin den Wert GpioPinValue.High zu. private void FlipLED() { if (LEDStatus == 0) { LEDStatus = 1; if (redpin != null && bluepin != null && greenpin != null) { //turn on red redpin.Write(GpioPinValue.High); bluepin.Write(GpioPinValue.Low); greenpin.Write(GpioPinValue.Low); } } else if (LEDStatus == 1) { LEDStatus = 2; if (redpin != null && bluepin != null && greenpin != null) { //turn on blue redpin.Write(GpioPinValue.Low); bluepin.Write(GpioPinValue.High); greenpin.Write(GpioPinValue.Low); } } else { LEDStatus = 0; if (redpin != null && bluepin != null && greenpin != null) { //turn on green redpin.Write(GpioPinValue.Low); bluepin.Write(GpioPinValue.Low); greenpin.Write(GpioPinValue.High); } } } Wenn Sie sich den übrigen Code ansehen wollen, öffnen Sie die Datei MainPage.xaml.cs in Visual Studio. //jr

Windows 10

Schaltungen mit Fritzing entwerfen

1

Software herunterladen

Fritzing ist eine Open-Source-Software, mit der Sie Schaltungen am PC entwerfen. Die Download-Seite: http://fritzing.org/download. Wählen Sie die jeweilige Windows-Version (64- oder 32-Bit) aus. Nach dem Download entpacken Sie die gezippte Datei in ein Verzeichnis Ihrer Wahl. Das dauert, da die Datei rund 9.000 Elemente enthält.

3

Raspberry-2-Platine wählen

Um die Steckplatine mit dem Raspberry Pi verbinden zu können, benötigen Sie ein Platinenschema. Sie finden es in der Fritzing-Bibliothek unter „Bauteile“. Geben Sie rechts in der Übersicht im Suchfeld „Raspberry“ ein. Wählen Sie im „Inspektor“ (unten) die passende Platine aus (Raspberry Pi 2) und platzieren Sie die Vorlage im Fenster.

5

Mit der Steckerleiste verdrahten

Nehmen Sie aus der Bibliothek einen Draht (Wire) und verdrahten Sie die Schaltung wie in diesem Beispiel. Wenn Sie den Draht aktivieren, lässt sich im Inspektor die Farbe ändern. Die Belegung der Steckerleiste finden Sie heraus, indem Sie mit der Maus über einen Pin streichen. Es erscheint ein Infokasten mit den technischen Daten.

2

Steckplatinen-Ansicht aktivieren

Sie können zwischen mehreren Darstellungsarten wählen, um Ihre Schaltung zu entwerfen oder zu dokumentieren. In unseren Beispielprojekten wählen wir die Ansicht Steckplatine. Nützlich: Platzieren Sie zu Beginn ein Notizfeld (Symbol unten links). Den Zoomfaktor (größer/kleiner) für die Ansicht ändern Sie schnell mit dem Mausrad.

4

Bauteile und Kabel positionieren

Ziehen Sie die Bauteile aus der Bibliothek auf die Steckplatine. Sie benötigen: 1x „RGB LED“, 3x „Resistor“, 4x „Wire“. Markieren Sie den Widerstand und stellen Sie den Ohm-Wert im Inspektor ein. Fritzing ändert die Farbringe automatisch. Fahren Sie mit der Maus über die einzelnen Beinchen der LED, um die Pin-Belegung zu kontrollieren.

6

Mehr Übersicht schaffen

Bei einer Steckplatine wird die Verdrahtung schnell unübersichtlich, sobald der Schaltungsaufbau komplexer wird. Fritzing bietet diverse Optionen, um die Verkabelung übersichtlich zu halten. So lassen sich mit einem rechten Mausklick auf den Draht Biegepunkte hinzufügen, um die Kabel günstiger anzuordnen.

87

Windows 10

LED gehorcht auf Knopfdruck M Unter Kontrolle: Die LED leuchtet –aber immer nur dann, wenn Sie es wollen

88

it Fritzing und der Steckplatine sind Sie nach den vorangegangenen Projekten nun bestens vertraut – deshalb fassen wir uns beim folgenden Beispiel deutlich kürzer. Hauptdarsteller ist auch hier eine Leuchtdiode, die Nebenrolle übernimmt diesmal ein zusätzlicher Taster. Die Software überwacht im Hintergrund, ob Sie die Taste drücken und gibt augenblicklich

eine entsprechende Meldung auf dem Bildschirm aus, sobald dies geschieht („Button Released“ bzw. „Button Pressed“). Zeitgleich wird die LED eingeschaltet und brennt so lange, bis Sie wieder die Taste drücken. Folgende Bauteile werden für dieses Bastelprojekt benötigt: 1x LED (rot) 1x Widerstand 330 Ohm 1x Druckschalter 1x Steckplatine 4x Kabel (verschiedene Farben) Die Schaltung bauen Sie am besten mit Fritzing nach, das vertieft das Verständnis. Diese Vorlage können Sie zudem für individuelle Projekte nutzen und mit dem entsprechenden Know-how um weitere Komponenten erweitern. Apropos eigene Experimente: Auf den nächsten Seiten stellen wir ein interessantes Roboterprojekt vor, ohne ins Detail zu gehen. Den prinzipiellen Ablauf kennen Sie ja schließlich bereits. Wichtig ist nur, dass Sie beim Verdrahten der GPIOs unbedingt auf die Grenzwerte für Strom und Spannung achten. Das RasPi arbeitet mit einer Spannung von 3,3 Volt, die nicht überschritten werden darf. Was die Stromstärke angeht, verweisen wir auf die hervorragende Zusammenstellung inklusive detaillierter PIN-Belegungen auf der Seite elinux.org. Hier finden Sie auch viele weitere wichtige Links: http://goo.gl/pZMBU. //jr

Foto: Microsoft

Unspektakulär, aber lehrreich: Mit der LED-Tasten-Schaltung ändern Sie nicht nur den Bildschirminhalt auf Knopfdruck, sondern lösen nebenbei ein klassisches Hardware-Problem

Windows 10

So realisieren Sie das Push-Button-Projekt

1

Steckplatine bestücken

Gehen Sie bei der Bestückung der Steckplatine so vor, wie hier gezeigt. Das lange Beinchen der LED wird mit dem Widerstand verbunden. Falls Sie die Schaltung in Fritzing nachbauen wollen: Den hier verwendeten Push-Button finden Sie links in der Leiste im Abschnitt „CONTRIB“ des Bauteilefensters oder über die Suchfunktion.

3

Projektmappe vorbereiten

Laden Sie das Code-Beispiel PushButton.csproj in den Projektmappen-Explorer mit Datei | Hinzufügen | Vorhandenes Projekt. Nehmen Sie wahlweise die bisherige Mappe mit „Blinky“ & Co. oder legen Sie eine neue Mappe in Visual Studio an. Sie finden das Code-Beispiel im Verzeichnis samples-develop\PushButton\CS.

5

Bildschirmmeldung ändern

Beim Push-Button-Beispiel werden Sie bemerken, dass sich im Gegensatz zu den vorherigen Projekten auch die Textanzeige auf dem Monitor ändert, wenn Sie die Taste drücken („Button Pressed“ sowie „Button Released“). Den zugehörigen Code finden Sie in MainPage.xaml. cs. Öffnen Sie die Datei und navigieren Sie zur Zeile 67.

2

Mit Raspberry verdrahten

Verbinden Sie die Kabel mit der Steckerleiste des RasPi. Das orangefarbige Kabel schließen Sie an Pin „3,3V PWR“ an (die Stromversorgung). Den gelben Draht verbinden Sie mit GPIO 5, den blauen mit GPIO 6 und den schwarzen mit GND. Die exakte Bezeichnung der Pins auf der Steckerleiste entnehmen Sie der Grafik auf Seite 75.

4

Taster entprellen

Im Programmcode verstecken sich einige Raffinessen. So werden elektrische Störungen, die durch den mechanischen Taster entstehen und fälschlicherweise als Tastvorgang interpretiert werden, sozusagen herausgefiltert (entprellt). Dies geschieht in den Zeilen 45 und 46, siehe dazu die Datei MainPage.xaml.cs im Projektmappen-Explorer.

6

Funktionen und Befehle finden

Es nicht leicht, im obigen Code-Beispiel oder den anderen Projekten Funktionen, Befehle oder Text-Strings zu finden. Am schnellsten gelingt es so: [Strg]+[Umschalt]+[F]. Im Fenster „Suchen und Ersetzen“ tragen Sie den Begriff ein und klicken auf Alle Suchen. Im Fenster darunter gelangen Sie sofort zur richtigen Zeile im Code.

89

Windows 10

So bringen Sie den Rover zum Laufen Auf großer Fahrt: So verdrahtet, sollte sich der Rover gleich auf den Weg machen

90

E

twas Geschick beim Basteln sowie gute Elektronikund Programmierkenntnisse sollten Sie mitbringen, damit das nächste Projekt gelingt. Im Prinzip geht es darum, mit dem RasPi eine mobile Plattform zum Laufen zu bringen und zu steuern. Dabei handelt es sich um einen fahrtüchtigen Roboter, der sich selbstständig im Raum bewegt, Hindernissen rechtzeitig ausweicht und sich

eine neue Route sucht. Das Projekt basiert wie die bisherigen Beispiele auf Windows 10 IoT Core. Es wurde von Prasantha Jayakody konzipiert, der es permanent weiterentwickelt. Insbesondere was den Code angeht, sollten Sie daher einen Blick auf https://goo.gl/3pKn2X werfen. Natürlich steht es Ihnen bei diesem Open-Source-Projekt frei, selbst mitzuwirken oder die mobile Plattform zu erweitern. So spricht nichts dagegen, beispielsweise andere oder zusätzliche Sensoren für die Hinderniserkennung und Abstandsmessung einzusetzen. Dazu müssen Sie den Code in eigener Regie erweitern und anpassen. Wir zeigen Ihnen in diesem Beitrag die prinzipiellen Arbeitsschritte, setzen aber voraus, dass Sie als experimentierfreudiger Elektronikbastler kleinere Hürden selbst meistern – das gilt insbesondere für den mechanischen Aufbau der mobilen Rover-Plattform. Sie sollten zudem mit dem Multimeter vertraut sein, um zum Beispiel Probleme in der Verdrahtung rasch aufspüren zu können. Wer mit dem Lötkolben umgehen kann, ist beim Rover-Projekt im Vorteil: Idealerweise verlöten Sie die Kabelverbindungen zu den Motoren; das Gleiche gilt für den Wandler und seine Verbindung zum Batteriekasten. Ansonsten: Die Materialliste für das Rover-Projekt ist deutlich umfangreicher als bei den vorangegangenen Beispielen. Die Bauteile sind wie immer im Elektronikfachhan-

Foto: Microsoft

Der Bau von Robotern gehört zu den anspruchsvollsten RasPi-Projekten – und bereitet den meisten Spaß. Dieser Beitrag zeigt, welche Arbeitsschritte nötig sind

Windows 10 INFO Wenn Sie mit Fritzing diese Schaltung nachbauen wollen, werden Sie den L298NBaustein (Motor-Controller) nicht in der Bibliothek finden. Sie können die Vorlage aber unter https:// goo.gl/mLd0i9 nachladen.

Komponenten

Dieses Schema zeigt den prinzipiellen Aufbau des Rover-Projekts bzw. die dazugehörige Verdrahtung der Komponenten. Zu den Besonderheiten gehören der UltraschallSensor (blaue Grafik), ein Wandler (grüne Grafik) und der Motor-Controller (rote Grafik) sowie die dazugehörigen Antriebe (jeweils in Grau).

Motoren

Falls die Räder nicht in die gleiche Richtung drehen sollten, lässt sich dies entweder durch den Tausch der Anschlüsse (siehe Motor unten) oder mit einem Eintrag im Programmcode ändern.

del erhältlich; selbst Amazon hat sie auf Lager. Die Kosten bleiben überschaubar, wie die folgende Teileliste zeigt. Einiges davon haben Sie vielleicht bereits in der Bastelkiste herumliegen, etwa die Widerstände oder die Kabel: 1x Raspberry Pi 2 1x Kabelset (diverse Farben, Anschlüsse m/m, w/w m/w) 1x Roboter-Kit (Aufbauplattform, zwei Antriebsmotoren mit Rädern, Stützrad, ca. 15 Euro) 1x Steckplatine (kleines Format) 1x LM2577 DC-DC (verstellbarer Wandler, ca. 5 Euro) 1x L298N H-Bridge (Motor-Controller, ca. 9 Euro) 1x HC-SR04 (Ultraschallsensor, ca. 9 Euro) 1x Widerstände (1 kOhm und 2,2 kOhm) 1x Batteriehalter für 3x AA (1,5 Volt) oder als Alternative: 1x Batteriehalter für 4x AA (1,5 Volt) mit zusätzlichem Ein-Aus-Schalter. Tipp: beim GAOHOU-Roboter-Set ist der Batteriehalter inklusive 1x Befestigungsmaterial (Gummibänder, doppelseitiges Tesa-Band oder Ähnliches)

Prüfen Sie die Anschlüsse auf der Steckerleiste mehrfach, um Fehler zu vermeiden GND-Anschluss (Masse) auf dem Strom-Block der L298NPlatine mit dem GPIO-Pin 6 auf der Platine des Raspberry. Verwenden Sie dazu ein schwarzes Kabel. Falls Sie sich nicht sicher sind, wie die 40-poligen Steckerleiste des RasPi belegt ist: Die Grafik auf Seite 79 zeigt es. Da Sie gerade mit dem L298N-Motor-Controller beschäftigt sind: Entfernen Sie noch den Jumper von der Platine, siehe kleines Foto in der Grafik unten. Der gelbe Pfeil zeigt auf die ungefähre Lage auf der Platine. Indem Sie den Jumper entfernen, stellen Sie sicher, dass die Stromversorgung bei dem speziellen Schaltungsaufbau des Rover-Projekts stabil bleibt. Andernfalls treten im Betrieb gelegentlich Spannungsschwankungen im Bereich von 4 bis 5 Volt auf, was das RasPi aus dem Takt bringt.

Controller: Die wichtigsten Anschlüsse der L298N-Platine und der Jumper (gelb markiert), den Sie entfernen müssen

Nachdem Sie bei beiden Motoren jeweils ein Kabelpaar angelötet haben, folgt die Verdrahtung mit dem L298NMotor-Controller. Werfen Sie dazu einen Blick auf die Grafik rechts unten: Ein Kabelpaar schließen Sie an „Motorblock A“ an, das andere verbinden Sie mit „Motorblock B“. Sollte später ein Rad falsch herum laufen, ändern Sie die Belegung im jeweiligen Motorblock, siehe dazu auch die Übersicht ganz oben auf dieser Seite (unterer Motor). Im nächsten Schritt verbinden Sie die Kabel des Batteriehalters (4 x AA) mit dem sogenannten „Power Terminal“ (Strom) der L298N-H-Bridge. Das rote Kabel kommt an +12V und das schwarze Kabel an GND (Masse). Die vier Batterien im AA-Format liefern die Energie für die Motoren und den Controller. Ist das erledigt, verbinden Sie den

91

Windows 10 TIPP Wir empfehlen Ihnen, die Schaltungen in diesem Beitrag mit den hier verwendeten Kabelfarben aufzubauen – so vermeiden Sie Fehler.

Hinweise zum Aufbau

Die restliche Verkabelung des Rovers zeigt Ihnen die bebilderte Anleitung unten auf diesen beiden Seiten. Wir empfehlen Ihnen, sich regelmäßig eine Gesamtschau über das Projekt zu verschaffen – dazu dient die große Übersichtsdarstellung auf der vorherigen Seite. Tipp: Sie können diese Gesamtansicht unter folgender Adresse als JPG-Datei herunterladen und drucken: https://goo.gl/FbF6fz. Als weitere Hilfe bietet sich wieder Fritzing an. Auch wenn es zeitintensiv ist: Es lohnt sich wirklich, dieses Projekt in Fritzing nachzubauen; nicht nur wegen des besseren Verständnisses, sondern auch, weil es Ihnen viele Anregungen zum Verbessern und Erweitern gibt. Worauf Sie unbedingt beim Zusammenbau des Rovers achten müssen: Die Werkseinstellung des LM2577-DC-DCWandlers ist für das Raspberry ungeeignet, weil zu hoch. Achten Sie vor dem Anlegen der Spannung (siehe Batterien) unbedingt darauf, den Wert per Potenziometer auf 5 Volt herunterzuregeln. Die entsprechende Stellschraube des Potenziometers finden Sie oben auf dem LM2577; die Detailaufnahme in Schritt 4 zeigt Ihnen die Position.

Um den benötigten Spannungswert korrekt ermitteln zu können, benötigen Sie ein Multimeter – am besten eine digitale Ausführung. Infos zur Geräteauswahl finden Sie zum Beispiel hier: http://goo.gl/IRjZTk. Zur Messtechnik liefert diese Seite passende Infos: http://goo.gl/7yLlBc. Beim mechanischen Aufbau des Rover-Projekts sind Sie im Prinzip völlig frei; wenn Sie sich ein Roboter-Kit zugelegt haben, ist zumindest die grobe Richtung vorgegeben. Bei diesem Beispielprojekt hat sich folgende Vorgehensweise bewährt: Die Batteriehalterung wurde direkt auf der Plattform montiert, zur Befestigung dienten Gummibänder. Bei einigen Roboter-Kits finden sich bereits vorgebohrte Löcher, sodass sich die Konstruktion theoretisch verschrauben lässt. Apropos: Bei der Konzeption des Projekts wurde darauf geachtet, dass so wenig Batterien wie möglich zum Einsatz kommen – um Gewicht zu sparen. Wo Sie die Batterien platzieren, bleibt natürlich Ihnen überlassen. Achten Sie nur darauf, dass das Gewicht ausbalanciert und möglichst weit unten ist – je tiefer der Schwerpunkt, desto stabiler ist die Gesamtkonstruktion. Die übrigen Komponenten, also Wandler und Controller,

Die Komponenten verdrahten (Teil 1)

Stromversorgung erweitern

3

Controller mit RasPi verbinden

Die Verdrahtung ist wie folgt: IN1 (Blau) mit GPIO 27 (Pin 13), IN2 (Grün) mit GPIO 22 (Pin 15), IN3 (Ocker) mit GPIO 5 (Pin 29), IN4 (Gelb) mit GPIO 6 (Pin 31). Der Übersichtlichkeit wegen verzichten wir auf die Darstellung der Kabel aus den vorherigen Beschreibungen.

92

2

L298N-H-Bridge anschließen

Die beiden Jumper ENA (5V+) und ENB (5V+) lassen Sie auf ihren Positionen stecken. Verkabeln Sie IN1 bis IN4 mit den gleichen Farben wie in dieser Abbildung (Blau, Grün, Ocker, Gelb). IN1 und IN2 kontrollieren den Motor A; IN3 und IN4 kümmern sich um Motor B. Der Anschluss an die Steckerleiste des RasPi erfolgt im nächsten Schritt.

4

LM2577-DC-DC-Wandler verlöten

Die Anschlüsse des Wandlers werden verlötet. An die Input-Seite schließen Sie die Batterie an, an die Output-Seite das RasPi. Die Ausgangsspannung zum Pi darf maximal 5 Volt betragen. Sonst wird das RasPi beschädigt! Die Spannung wird am Potenziometer eingestellt.

Foto: Linux Format

1

Das Raspberry hat nur zwei 5-Volt-Pins. Für dieses Projekt werden drei 5-Volt-Pins benötigt. Dazu wird die Steckplatine wie im Schaubild verdrahtet, um einen dritten Zugriff zu schaffen. Verbinden Sie den Pin „5V PWR“ (entspricht Pin-Nummer 2) mit der Steckplatine. Das zweite Kabel legen Sie zum 5V-Anschluss der L298N-H-Bridge.

Windows 10 sollten Sie so positionieren, dass Sie möglichst leicht herankommen – etwa zum Messen oder um Steckverbindungen zu kontrollieren. Der Ultraschallsensor muss natürlich in der Front platziert werden, er braucht sozusagen „freie Sicht“. Achten Sie aber darauf, dass der Sensor noch innerhalb der Plattform sitzt, damit er bei Remplern – etwa mit Wänden oder anderen Hindernissen – nicht beschädigt wird. Wenn irgendwo Kabel herumbaumeln, sollten Sie die Drähte mit Klebestreifen oder Gummibändern fixieren, damit diese nicht versehentlich in die Räder geraten. Den Programmcode laden Sie direkt als ZIP-Datei unter https://github.com/peejster/Rover/zipball/master herunter. Das Projekt befindet sich fortlaufend in Arbeit, wundern Sie sich also nicht, wenn der Code gelegentlich hakt. Sie können sich übrigens jederzeit an den Entwickler Prasantha Jayakody wenden, wenn Sie Fragen zum Projektstatus haben oder Änderungen vorschlagen möchten. Er reagiert sehr zeitnah und greift Ideen gerne auf. Noch ein Tipp zum Schluss: Falls dies Ihr erstes Roboterprojekt sein sollte, empfehlen wir Ihnen, bei YouTube vorbeizuschauen. Unter den beiden Suchbegriffen „Rasp-

berry“ und „Robots“ finden Sie eine große Auswahl an interessanten Videos, die Ihnen helfen, die Plattform einzurichten oder zu erweitern, etwa mit einer Kamera. //jr

HC-SR04: Hier sehen Sie, wie der Ultraschallsensor verschaltet ist

Die Komponenten verdrahten (Teil 2)

5

LM2577 mit Raspberry verbinden

Mit dem Verlöten der LM2577-Platine haben Sie eine wichtige Hürde genommen. Verbinden Sie jetzt den Ausgang (OUT+) des Wandlers mit dem RasPi. Stecken Sie dazu das rote Kabel auf 5V PWR (Pin 4). Den Ausgang (OUT-) des Wandlers legen Sie auf GND, das entspricht Pin 14 (physikalisch). Dazu verwenden Sie das schwarze Kabel.

7

Ultraschallsensor anschließen

Verbinden Sie den HC-SR04 ähnlich wie hier gezeigt mit der Platine. Der Sensor hat vier Pins: VCC, Trig, Echo und GND. VCC, Echo und GND sind mit der Platine verbunden, Trig mit GPIO 23 (Pin 16) und GND (Sensor) zusätzlich mit GND (Pin 20) des Raspberry.

6

Steckplatine verdrahten

Auf der Steckplatine befinden sich bereits zwei Kabel (siehe Schritt 1). Ergänzen Sie die fehlenden Kabel. Orientieren Sie sich dabei an diesem Schaubild. Zum Aufbau gehören zwei Widerstände (siehe Abbildung). Es handelt sich um die Werte 1 kOhm und 2,2 kOhm. Das blaue Kabel unten links schließen Sie an GPIO 24 (Pin 18) an.

8

Steckerleiste des RasPi kontrollieren

Überprüfen Sie zum Schluss alle Kabelverbindungen auf der 40-poligen-Steckerleiste des RasPi. Achten Sie auf die Anordnung der farbigen Kabel in dieser Abbildung. Im Zweifelsfall zählen Sie einfach die Anschlüsse und ihre Platzierung auf diesem Bildschirmfoto ab.

93

Windows 10

So lernen Sie den Webserver kennen D

Wetterstation: Hier muss keine eigene grafische Oberfläche auf dem RasPi laufen

94

as Raspberry Pi ist schon ein tolles Gerät. Dank der Ethernet-Buchse lässt es sich ins Netzwerk einbinden und der HDMI-Ausgang sorgt für beste Darstellungsqualität auf dem Monitor. Allerdings: Viele Projekte benötigen überhaupt keine bunte Benutzeroberfläche, etwa wenn es um die Steuerung anderer Geräte geht oder wenn Messinstrumente und Sensoren mit im

Spiel sind. Das ist typischerweise zum Beispiel bei einer Wetterstation der Fall. Gerade eine solche Station hat eine eindeutige Aufgabe: Sie soll Daten sammeln und weitergeben. Denn die eigentliche Auswertung erfolgt in der Regel nicht auf dem Gerät selbst, sondern auf einem Server. Diese Aufgabe übernimmt meist ein anderer Computer im Heimnetz oder ein spezieller Dienst im Internet. Letzterer hat den Vorteil, dass hier Daten von mehreren Wetterstationen aufbereitet werden können. Da Windows 10 IoT Core auf solche Szenarien abzielt, benötig es auch nicht das klassische Startmenü, die Systemsteuerung oder Tools wie den Taskmanager. Trotzdem stellt sich natürlich sofort die Frage, wie man Apps auf dem Raspberry startet oder wie man die Auslastung des Systems kontrolliert. Als Entwickler muss man ebenfalls wissen, ob der Speicherverbrauch hoch oder gering ist. Die Antwort kennen Sie im Prinzip schon: Genau dafür ist der integrierte Webserver von Windows 10 IoT Core prädestiniert. Sie haben ihn bereits in der Einführung zu Windows IoT auf Seite 70 kennengelernt. Deshalb in aller Kürze: Sie greifen per Browser mit http://minwinpc:8080 auf das RasPi zu. Der Benutzernamen lautet Administrator und das Passwort heißt p@ssw0rd. Haben Sie per Powershell den Gerätenamen geändert, müssen Sie ihn anstelle von „minwinpc“ verwenden. Gleiches gilt, wenn

Foto: Microsoft

Messen, Steuern, Regeln – für alle diese Spezialaufgaben benötigt das RasPi keine eigene Oberfläche. Wozu auch, wenn man jederzeit auf den integrierten Webserver zugreifen kann?

Windows 10

Neue Apps auf dem RasPi installieren

1

Voraussetzungen klären

Windows-Apps, die mithilfe des Webservers auf dem Raspberry installiert werden sollen, muss man generell als sogenannte „Universal Windows Apps“ erstellen. Dabei darf eine solche App für Testzwecke auch aus einer Zeile Code bestehen, die zum Beispiel nichts anderes macht, als den kurzen Satz „Hello IoT!“ auf den Bildschirm zu schreiben.

3

Name kontrollieren

Wenn der Appname etwa „DiesIstEinTest“ lautet, ist der dazugehörige Paketname trotzdem immer ein anderer. So könnte er beispielsweise mit der kryptischen Zeichenfolge „4864d47b“ beginnen. Das hat einen einfachen Grund: Dieser Paketname beschreibt immer den eindeutigen Schlüssel der App und wird im späteren Verlauf noch mal benötigt.

5

Neue App auswählen

Um die installierte App nun zu starten, verbleibt man auf der Webseite und navigiert in den oberen Bereich. Dort wählen Sie unter Installed apps nun den Eintrag mit dem entsprechenden Namen, beispielsweise „4864d47b“. Das ist der Eintrag für die zuvor installierte App.

2

Appx-Datei erstellen

Bevor die App nun auf das RasPi übertragen werden kann, müssen Sie zuerst ein Installationspaket im sogenannten Appx-Format erstellen. Dazu dient in Visual Studio 2015 die Befehlsfolge Projekt | Store Menü. Hat der Assistent seine Arbeit erledigt, zeigt eine Meldung den Ausgabespeicherort der jeweiligen Dateien an.

4

Installation vorbereiten

Über den Webserver lässt sich die App nun installieren. Dabei müssen Sie zur Installation neben der AppX-Installationsdatei das zugehörige Zertifikat mitteilen. Ohne diese Angabe ist eine Installation nicht möglich. Der Befehl Install startet den Transfer. War der Installationsvorgang erfolgreich, erscheint eine Erfolgsmeldung.

6

Programm starten

Nachdem alles vorbereitet ist, sollte die transferierte App problemlos auf dem Raspberry laufen. Dazu klicken Sie einfach auf den Button „Start“. Nachdem das Programm läuft, sollte sofort ein entsprechender Eintrag in der Liste „Running apps“ erscheinen.

95

Windows 10 Datenanalyse

Beim „Windows Performance Analyzer“ (WPA) handelt es sich um ein sehr umfangreiches Analysetool. Entwickler können damit einzelne Datensätze auswählen und Filter aktivieren, um nur die jeweils interessanten Daten anzuzeigen. Diese Filterung kann als WPR-Profil exportiert und über den Webserver wiederum hochgeladen werden. Somit lässt sich diese Filterung auch direkt zur Aufnahme heranziehen, wodurch sich die Datenmenge drastisch reduziert.

INFO Der Windows Performance Analyzer ist Teil einer größeren Toolsammlung, nämlich dem „Windows ADK“. Sie finden diese Werkzeugkiste unter dem Link https://goo.gl /i1jA02

das Standardpasswort von Ihnen aus Sicherheitsgründen gegen ein neues getauscht wurde.

Hinter den Kulissen

Auf diesen beiden Seiten wollen wir nun etwas genauer hinter die Kulissen blicken. Beginnen wir mit der Navigationsleiste des Webservers, die in drei auffällige Bereiche gegliedert ist, nämlich „Installed Apps“, „Running apps“ und „Install App“. Unter Installed Apps finden Sie im Drop-down-Menü eine Liste von bereits vorhandenen Apps. Viele davon gelangen gleich bei der Installation des Betriebssystems ohne Ihr Zutun auf die SD-Karte bzw. das Pi. Wundern Sie sich nicht, dass die in dieser Auswahl dargestellten Namen sehr kryptisch erscheinen. Dafür gibt es einen guten Grund: Die verwendeten Namen müssen aus Sicht des Betriebssystems eindeutig sein. Die Bezeichnung ist natürlich nicht willkürlich gewählt, sondern folgt einer Konvention. Der Name setzt sich zusammen aus dem Appnamen, der Versionsnummer, der Sprache und einer eindeutig generierten ID. Neben dieser Auswahl lässt sich die jeweilige App über die Schaltfläche Uninstall jederzeit vom Raspberry Pi wieder entfernen. Der Befehl Start ist im Prinzip selbsterklä-

AppX und die Sicherheit Eine AppX-Datei ist immer signiert – sei es mit einem Entwicklerzertifikat oder einem öffentlichen Zertifikat einer anerkannten Zertifikatsautorität. Diese Anforderung eines Zertifikats gehört zum Sicherheitskonzept von Windows dazu; nur signierte Apps lassen sich überhaupt installieren. Apps, die öffentlich signiert werden, beispielsweise im Microsoft Store, benötigen keine weitere Behandlung. Denn im Betriebssystem sind die zur Überprüfung nötigen Zertifikate bereits enthalten. Anders ist es bei Entwicklern. Diese bekommen temporär ausgestellte Zertifikate, die auf dem Gerät mit der App installiert werden. Somit kann bei der Installation auch die Echtheit der App validiert werden. Mit diesen beiden Komponenten lässt sich eine App mit Install app einrichten.

96

rend: Mit ihm führen Sie die App aus. Das Besondere: Hat der Entwickler die App mit einer eigenen Anwendungsoberfläche ausgestattet, so wird typischerweise die IoTCoreDefaultApp beendet. Der Grund: Nur eine einzige App mit einer Anwendungsoberfläche darf ausgeführt werden. Apps ohne eigene Oberfläche, sogenannte „Headless Apps“, können hingegen parallel laufen. Über Set Default lässt sich eine App auswählen, die beim Starten des Systems automatisch ausgeführt wird. Unter Running Apps werden aktuell ausgeführte Apps gelistet. Hierzu gehört die „IoTCoreDefaultApp“, welche unter anderem die Geräteinformationen beim Start liefert. Sollten Sie diese App durch das vorangestellte X beenden, startet die App automatisch neu. Der Grund hierfür ist, dass diese App als Standard-App (Default) festgelegt ist. Vermutlich werden Sie noch die „ZWaveHeadlessAdapterApp“ entdecken – das ist lediglich eine Test-App ohne eigene Oberfläche, die speziell für Entwickler gedacht ist, sodass diese problemlos parallel laufen darf. Windows 10 bietet mittlerweile plattformübergreifend sogenannte Universal Windows Apps an. Daher gibt es Installationsdateien im sogenannten AppX-Format. Diese ähneln früheren MSI-Installationspaketen, sind jedoch durch ihr ZIP-Format einfacher aufgebaut. Möglicherweise sind zusätzliche Basiskomponenten für diese App notwendig, sodass diese über Dependencies mit angegeben und installiert werden. Über Actions wird die Installation dann via Install ausgeführt. Möchte man Protokolle zur Installation erhalten, so lassen sich diese über Deployment log zusätzlich aktivieren.

Auslastung überwachen

Windows 10 für IoT Core ist ein recht sparsames Betriebssystem, wenn es um Prozessorauslastung und Speicherverbrauch geht. Andernfalls wäre der Einsatz auf einem Kleinstrechner wie dem Raspberry auch gar nicht möglich. Allerdings muss man bedenken, dass zu dem OS noch weitere Apps und Dienste hinzukommen. Hintergrundaufgaben, automatisch gestartete Konsolenanwendungen, Webserver und die aktuell laufende Oberflächenanwendung können das kleine Rasperry Pi 2 durchaus an den

Windows 10 Rand seiner Leistungsfähigkeit bringen. Die Visual-StudioEntwicklungsumgebung unterstützt den Entwickler daher bereits während des Entwickelns mit dem Remotedebugger und den leistungsfähigen Diagnosetools zur Analyse von Laufzeitproblemen in den Bereichen Prozessor, Speicher, Grafikleistung sowie dem allgemeinen Laufzeitverhalten der zu debuggenden App. Diese Werkzeuge überprüfen den Speicherverbrauch und helfen, Aufrufe von API-Funktionen bis in den nativen Systemkernel hinein auf Millisekunden genau nachzuvollziehen. Zur detaillierten Problemanalyse im eigenen Quellcode sind solche Tools unerlässlich und bieten Kontrollmöglichkeiten, die man sich vor einigen Jahren noch nicht erträumen konnte. Doch auch der Webserver des Raspberry bringt einige Hilfen zur Diagnose und Visualisierung der Systemauslastung mit. Dazu gehören ein einfacher Prozessmanager, eine systemweite Performance-Anzeige, Debug-Tools sowie detaillierte Performance-Traces.

Verborgenen Fehlern auf der Spur

Über die Menüauswahl Debugging gelangt man zu der Debug-Seite. Hier befinden sich vier Bereiche, von denen aus Sicht eines Entwicklers ein Abschnitt besonders interessant für die Diagnose ist: Dies ist der Bereich „Live process dumps“.Er umfasst eine umfangreiche Liste der aktuell laufenden Prozesse sowie ein Download-Symbol. Dahinter verbirgt sich Folgendes: Über diesen Befehl lässt sich ein aktuelles Speicherabbild des ausgewählten Prozesses zu Debug-Zwecken erstellen und herunterladen. Dieser sogenannte Dump (zu erkennen an der Dateiendung „.DMP“) kann direkt in Visual Studio 2015 geöffnet und dort verarbeitet werden. Die Besonderheit: Das Debuggen mit einem solchen Dump zeigt den aktuellen Status des Prozesses zum Zeitpunkt des Erstellens. Der Dump listet nicht nur die geladenen Module und Bibliotheken auf, sondern zeigt auch den Inhalt von Variablen an. Allerdings: Die Bereiche „Live kernel dumps“ sowie „Windows error reports“ und „Kernel Crash Settings“ sind wohl nur für die Experten bei Microsoft interessant, ein „normaler“ Entwickler fängt mit diesen Daten in der Regel nur wenig an. Ein weiterer interessanter Punkt sind die Performance Traces. Über die Schaltfläche Start lässt sich eine Aufnahme der aktuellen Geschehnisse auf dem Raspberry initiieren. Wenn man diese Schaltfläche betätigt, gelangt man zu

einer weiteren Seite mit dem Hinweis „Performance trace in progress“ und einem Link mit dem Titel „Stop and download trace“. Sobald Sie diesen Link angeklickt haben, müssen Sie sich erst einmal ein wenig in Geduld üben. Der Grund: Es dauert es eine ganze Weile, bis alle Informationen verpackt sind und dann heruntergeladen werden können. Die umfangreiche Datensammlung befindet sich am Ende in einer ETL-Datei und lässt sich mit dem Windows Performance Analyzer öffnen. Weiterführende Infos dazu finden Sie auf der linken Seite oben. //pg, pn, jr

Der Prozessmanager liefert wie der Task Manager von Windows alle wichtigen Infos

Der Performance-Monitor zeigt die CPUAuslastung in Echtzeit an

Zugriffsschutz bei Bluetooth Wenn Sie bereits einige der Projekte in die Praxis umgesetzt haben, die auf den vorherigen Seiten vorgestellt wurden, wissen Sie, wie wichtig die 40-polige Steckerleiste ist. Damit binden Sie Erweiterungsplatinen und Sensoren ein, steuern diese per Software oder starten eine Datenabfrage. Doch die General Purpose Input/Output-Pins, kurz GPIOs, sind nicht die einzige Möglichkeit, um mit dem RasPi zu kommunizieren. Sie können ebenso drahtlose Verbindungen über Bluetooth aufbauen und entsprechende Geräte einbinden. Voraussetzung ist natürlich ein kompatibler USB-Erweiterungsstick. Damit

sich die Bluetooth-Sensoren per Software ansprechen lassen, müssen die Adapter erst einmal mit dem Raspberry Pi verbunden werden. Diesen Vorgang nennt man bei Bluetooth „Pairing“. Vielleicht kennen Sie dieses Prozedere bereits von Ihrer TV-Fernbedienung, dem Kopfhörer, Headset oder Smartphone. Wer ein Bluetooth-fähiges Gerät hat, ahnt das Problem: Sie sehen zeitgleich die Geräte der Nachbarn, selbst Zubehörteile von Autos tauchen in der Empfangsliste auf. Damit nun nicht jeder darauf zugreifen kann, werden BluetoothGeräte auf zwei Arten autorisiert. Zum einen per PIN und zum anderen über einen dynami-

schen PIN-Code, der auf beiden Geräten manuell verglichen werden muss. Damit sind wir beim Raspberry Pi: Dessen Webfrontend erlaubt derzeit nur die zweite Methode des Bluetooth-Pairings, welche aber zugleich in der Praxis die häufiger verwendete ist. Grundsätzlich listet die Webseite des RasPi unter Windows IoT unter dem Punkt Bluetooth und Paired Devices alle derzeit miteinander verbundenen Geräte auf, unabhängig davon, ob diese zum aktuellen Zeitpunkt erreichbar sind oder nicht. Befinden sich Geräte im „erkennbaren“ Modus, tauchen sie in der Liste unter dem Stichpunkt „Available Devices“ auf.

97

DVD

Das große Raspberry Pi

Starterpaket

Das ideale Rundum-Paket fürs RasPi: Auf der Heft-DVD finden Sie wichtige Tools zu den Workshops, zwei E-Books und über fünf Stunden Videotraining

P

assend zu unserem Special finden Sie auf der Heft-DVD über fünf Stunden Videotraining rund um das Thema Entwickeln mit Windows 10 IoT Core. Daneben erhalten Sie zwei komplette E-Books, die sich besonders an Einsteiger richten und die Grundlagen zu Linux und insbesondere Raspbian anschaulich Schritt für Schritt erklären. Außerdem haben wir Ihnen die wichtigsten Betriebssysteme und die Software, die für die Workshops im Heft benötigt werden, auf die DVD gepackt. Die entsprechenden Beiträge im Heft sind mit einem DVD-Hinweis gekennzeichnet. Mit dabei sind der Klassiker Raspbian, die offizielle Linux-Distribution für das Raspberry Pi, aber auch OpenELEC und Visual Studio 2015 in der Community Edition sowie Tools wie etwa UltraVNC, mit dem Sie den Bildschirminhalt eines fremden Rechners sehen und steuern können.

98

DVD Die optima Di optimale Einstiegslektüre für Linux-Neulinge

PDF: Linux mit Raspberry Pi P PDF das offizielle Betriebssystem Raspbian, da Ras fürs s Pi, P ist zwar recht einsteigerfreundlich, aber dennoch gewöhabe für Linux-Neulinge Lin nungsbedürftig. Auf 320 prall gefüllten nun nungsbedü Seiten erfahren Sie hier alles, um mit Sei er Raspbian Wheezy perfekt umzugehen. So Ras lernen nen Sie, Si wie Sie Raspbian optimal einrichten richte hten und u sich einen Überblick über die vorinstallierten Programme verschaffen. vor vorinstal Zudem Zudem lernen Sie Si die wichtigsten Kommandozeilenbefehle kennen. mandozeilenbefe mandoz

Achtung: Um das E-Book nutzen zu können, müssen Sie sich beim Verlag mit Ihrer E-Mail-Adresse registrieren – selbstverständlich ohne jede weitere Verpflichtung. Starten Sie dazu die EXE-Datei, die Sie von der DVD herunterladen. Es öffnet sich ein Fenster. Klicken Sie dort auf den Button Internet. Geben Sie auf der sich öffnenden Webseite Ihre E-Mail-Adresse und Ihren Namen an und folgen Sie den weiteren Anweisungen.

Grundwissen: Grundwis Gr Schritt für Schritt auf 160 Seiten

PDF: PDF Schnelleinstieg P Raspberry Pi Ras R Wenn Wen es Sie S nun so richtig gepackt hat und Sie m mit einem eigenen Projekt loslegen möcht möchten, finden Sie in diesem E-Book alle wichtigen Grundlangen Schritt für e wich w Schritt erklärt. Erfahren Sie, wie Sie einen Sch e eigenen Webserver oder Clouddienste für eig W den Datenaustausch einrichten. Da Achtung: Um das E-Book nutzen zu könAch Achtun nen, Sie sich auch hier beim Vernen müssen müs

lag mit Ihrer E-Mail-Adresse registrieren. Starten Sie dazu die EXE-Datei, die Sie von der DVD herunterladen. Es öffnet sich ein Fenster mit weiteren Anweisungen. Klicken Sie auf den Button Internet. Geben Sie auf der sich öffnenden Webseite Ihre E-Mail-Adresse und Ihren Namen an und folgen Sie den weiteren Anweisungen des Registrierungsfensters.

2 i P y r r e b p s h a c R u b d n Ha

So funktioniert die DVD Die DVD ist für Windows optimiert und startet unter Windows, sobald Sie sie in Ihren PC eingelegt haben. Gegebenenfalls müssen Sie der Ausführung zuvor zustimmen. Sollte der Autostart von DVDs deaktiviert sein oder Sie ein anderes Betriebssystem nutzen, führen Sie die Datei „starter.html“ im Stammverzeichnis der Disk aus.

it m i 0 P Ras dows 1 Win

, tion talla e & a InsProjek t 201 5 r t x n E erste l Studio e it e , 3 0 S dlagen in Visua Grunührung f zu m in E AS, ox y ur N r r Pi z z o der P Ih d ir at So w box-Ers . m. ielen! p r u. v p D ro onito de-Beis M r o e et t it C ox, W rklär t. M b ik Mus hrlich e le ü -Spie aus f e t ro as if f, R r g mer u r nz n, Ka u, Fe a r te t K n u Ub udio ys , A ispla se, D u ä h Ge ontrol

Ra

al s sPi

P r oj

Serv

er

ekte

is hör ube Pra x Z e b e st Da s DT-C

: geprüDftatenträger ndender Beiliegt nicht jugegend is trächti beein

99

PRAXIS

Know-how für den RasPi-Alltag

Alternative Betriebssysteme, das Pi aus der Ferne steuern, die Kommandozeile richtig nutzen: Diese Rubrik liefert geballtes Praxiswissen. Und zur Entspannung gibt’s ein paar Spielchen

102 Ubuntu auf dem Pi

Es funktioniert tatsächlich: So nutzen Sie Ubuntu als Desktop-Betriebssystem auf dem Raspberry Pi

106 Das Raspberry Pi aus der Ferne steuern Sie können auf Maus, Tastatur und Co. am Pi verzichten, wenn Sie es per SSH oder VCN vom PC aus dirigieren

108 Spielspaß für zwischendurch

Das Raspberry Pi macht auch als Mini-Spielekonsole eine gute Figur. Praktisch: Die Games gibt’s im Pi-Store

110 Alte Games emulieren

In Nostalgie schwelgen: Mit der Software RetroPie erwecken Sie Spieleklassiker zu neuem Leben

114 Troubleshooting

Manchmal macht das RasPi nicht das, was es soll. Wir zeigen die häufigsten Probleme und ihre Lösungen

118 Richtig kommunizieren mit dem Pi

Für Ungeübte ist der Umgang mit der Kommandozeile erst einmal etwas ungewohnt – wir erleichtern den Einstieg

122 Durchblick im Dateisystem

Wie ordnet und strukturiert Raspbian die Daten? Und wie wird der Speicherplatz erweitert? Lesen Sie hier, wie es geht

124 Tipps & Tricks

Foto: iStockphoto/Gabor

Oft sind es Kleinigkeiten, die dem Pi-Nutzer das Leben entscheidend erleichtern. Hier eine Reihe hilfreicher Tipps

100

PRAXIS

Gutes Team: Pi & Ubuntu Klasse: Ubuntu MATE macht auf dem Pi richtig Spaß

Seite 102

Ein Spielchen zwischendurch Dank Pi-Store lassen sich viele Spiele im Handumdrehen auf dem Raspberry Pi einrichten

Seite 108

So klappt die Verständigung Wir helfen Ihnen beim richtigen Umgang mit der Kommandozeile

Seite 118 101

Praxis

Ubuntu 15.04 auf dem Pi 2 TIPP Sie können wählen, auf welchen AudioAusgang Omxplayer senden soll. Für HDMI: omxplayer -o hdmi video. mp4. Für 3,5-mm-Klinke: omxplayer -o local video. mp4

Ubuntu MATE bietet kein vorkonfiguriertes Anwenderkonto. Deswegen müssen Sie selbst eines einrichten

102

D

as Raspberry Pi 2 bringt einen auf ARM7 basierenden Quad-Core-Prozessor mit. Damit wird nun auch die beliebte Distribution Ubuntu unterstützt. Die offizielle Ubuntu-Version für das RasPi ist Snappy (s. Kasten auf Seite 104). Allerdings besitzt Snappy keine grafische Oberfläche. Die inoffiziellen Editionen dagegen schon. Eines der besten Abbilder stellt Ubuntu MATE zur Verfügung. Das Image basiert auf der aktuellen UbuntuVersion 15.04 und setzt auf MATE Desktop 1.8.2. Das Betriebssystem bringt weiterhin einige nützliche Anwendungen mit und über das Ubuntu Software Center lassen sich

noch weitere Programme installieren. Das Betriebssystem ist dabei nicht nur zur Demozwecken gedacht. Es macht aus dem Pi 2 einen vollwertigen Desktop. Sie können das Abbild als komprimiertes Archiv unter http://sourceforge.net/projects/ubuntu-mate/files/15.04/ armhf herunterladen. Zum Entstehungszeitpunkt dieses Artikels war die neueste Version ubuntu-mate-15.04-desktop-armhf-raspberry-pi-2.img.bz2. Sobald Sie das Archiv heruntergeladen haben, entpacken Sie die IMG-Datei: bunzip2 ubuntu-mate-15.04-desktop-armhf-raspberrypi-2.img.bz2. Die Entwickler empfehlen für die Übertragung des Abbildes auf die SD-Karte unter Linux das Tool ddrescue: sudo apt-get install gddrescue Die SD-Karte muss mindestens vier GByte Platz bieten. Verwenden Sie den Befehl lsblk, um nach dem Einstecken den Einhängepunkt zu finden. Gehen wir davon aus, dass die Karte /dev/sdb ist, übertragen Sie das Abbild so: sudo ddrescue -d -D --force ubuntu-mate-15.04-desktop-armhf-raspberry-pi-2.img /dev/sdb Sollte es zu einer Fehlermeldung kommen, können Sie auch den Kommandozeilenbefehl dd verwenden: sudo dd bs=1M if=ubuntu-mate-15.04-desktop-armhfraspberry-pi-2.img of=/dev/sdb Befinden Sie sich an einem Computer mit Windows, dann können Sie für das Extrahieren der Abbilddatei 7-Zip einsetzen. Mithilfe von Win32 DiskImager (auf Heft- DVD ) übertragen Sie das System dann auf die Karte. Das Raspberry Pi hat kein BIOS. Wollen Sie etwas an der Hardware-

Foto: Linux Format, Raspberry Pi Foundation

Ist es möglich, Ubuntu auf einem Raspberry Pi 2 als Desktop-Betriebssystem zu nutzen? Wenn Sie den Tipps in dieser Anleitung folgen: ja, auf jeden Fall!

Praxis

Das BIOS einstellen Das Pi bringt kein Tool für die BIOS-Einstellungen mit. Sie können aber diverse Parameter editieren, die sich dann auf das System auswirken. Dazu editieren Sie eine Textdatei manuell. Ist Ubuntu MATE installiert, finden Sie die Datei im Bootverzeichnis unter /boot/config. txt. Öffnen Sie die Datei mit einem Editor (sudo nano /boot/config.txt). Die Datei können Sie auch verändern, wenn das Betriebssystem nicht läuft. Dazu entfernen Sie die Karte und stecken sie in einen PC. Es ist egal, ob

Linux, Windows oder Mac OS X darauf läuft. Die Datei ist in diverse Sektionen eingeteilt. Das Nummernsymbol (#) bedeutet, dass die Option dahinter deaktiviert ist. Sie können pro Zeile lediglich eine Option spezifizieren. Stecken Sie das Pi an einen Bildschirm mit HDMI oder einen TV und bekommen kein Bild, dann suchen Sie die folgende Zeile: #hdmi_ safe=1. Entfernen Sie die Raute. Speichern Sie ab und starten Sie das Pi neu. Ist nun ein Bild vorhanden, füllt aber nicht den ganzen Bild-

schirm aus, suchen Sie #disable_overscan=1 und entfernen erneut das Raute-Zeichen. Wagemutige können das Pi auch übertakten. Per Standard läuft der Winzling mit 700 MHz (Modell B, B+) bzw. 900 MHz (Modell B2). Viele Nutzer lassen das Pi mit über 1 GHz laufen. Dann sollten Sie aber die notwendigen Vorsichtsmaßnahmen treffen und Kühlkörper installieren. Das Übertakten erledigt zum Beispiel der Parameter arm_freq=1000. Nach einem Neustart läuft das Pi nun mit 1.000 MHz.

Konfiguration ändern, müssen Sie stattdessen die Datei config.txt manuell editieren. Sie finden im Kasten oben weitere Informationen dazu. Stecken Sie die Karte anschließend in das Raspberry Pi und starten Sie es.

Anfängliche Konfiguration

Bootet die Distribution das erste Mal, müssen Sie nun die Konfiguration abschließen. Ein Assistent hilft Ihnen dabei. Im ersten Schritt wählen Sie die Sprache aus, dann die Zeit und die Tastaturbelegung. Im letzten Schritt erstellen Sie ein Konto für den Anwender. Sie können auch festlegen, ob direkt in den Desktop gebootet werden soll. Weiterhin haben Sie die Möglichkeit, das Home-Verzeichnis zu verschlüsseln. Das benötigt allerdings zusätzliche Ressourcen und wir raten deswegen davon ab. Bei der Sprache können Sie zwar Deutsch wählen. Allerdings fehlen nach der Installation die Sprachpakete und die Tastatur ist ebenfalls wieder Englisch. In unseren Tipps und Tricks ab Seite 124 finden Sie dazu weitere Informationen. Sobald Sie die Distribution konfiguriert haben, sind Sie fertig. Sie sehen im Anschluss den Anmeldebildschirm des MATE-Desktops. Bevor Sie weitermachen, sollten Sie das Installations-Abbild allerdings anweisen, den gesamten verfügbaren Speicherplatz zu belegen. Bei Raspbian finden Sie dafür ein Konfigurationstool. Bei Ubuntu MATE müssen Sie selbst Hand anlegen und die Größen der Partitionen anpassen. Führen Sie im Terminal diesen Befehl aus: sudo fdisk /dev/mmcblk0 Drücken Sie die Taste [P], um die Partitionstabelle anzeigen zu lassen. Nun löschen wir die zweite Partition und

Die Distribution schlägt sich erstaunlich gut: Selbst mit 20 offenen Firefox-Fenstern ist die Reaktionszeit noch annehmbar. LibreOffice Writer und Transmission laufen auch noch

weisen das Programm an, die gesamte Karte zu belegen. Drücken Sie [D] und dann [2], um die zweite Partition zu löschen. Nun sind die Tasten [N], gefolgt von [P] und [2] notwendig. Damit erzeugen Sie eine neue, primäre Partition. Fdisk möchte anschließend die physischen Dimensionen dieser Partition wissen. Drücken Sie einfach zwei Mal hintereinander die Eingabetaste, um die Standardoptionen zu verwenden. Befinden Sie sich wieder im Hauptmenü, drücken Sie abermals [P], um die beiden Partitionen zu prüfen. Rechnet man sie zusammen, sollten die beiden die Größe der Karte widerspiegeln. Haben Sie dies verifiziert, drücken Sie [W], um die Partitionstabelle zu speichern. Starten Sie dann das Gerät neu. Sobald das Pi wieder einsatzbereit ist, öffnen Sie ein Terminal und geben folgenden Befehl: sudo resize2fs /dev/mmcblk0p2 Das Anpassen der Größe dauert eine Weile. Es kommt auf die Größe und Geschwindigkeit der Karte an. Im Gegensatz zur Desktop-Version bietet Ubuntu MATE für das Raspberry Pi keine Swap-Datei. Wenn Sie eine SD-Karte mit mehr als acht GByte verwenden, führen Sie deshalb den folgenden Befehl aus, um eine Auslagerungspartition mit zwei GByte zu erzeugen: sudo apt-get install dphys-swapfile Auch dies nimmt eine gewisse Zeit in Anspruch. Im letzten Schritt der Konfiguration prüfen Sie, ob das Modul für die Audio-Hardware aktiviert ist. Dafür dient dieser Befehl: lsmod | grep snd_bcm2835 Liefert das kein Ergebnis oder keine Ausgabe, dann müssen Sie das Modul manuell laden, und zwar so: sudo modprobe snd_bcm2835 Damit das Modul bei einem Neustart automatisch gela-

Prima, ein komplettes Ubuntu MATE 15.04, das auf einem Raspberry Pi 2 läuft

TIPP Verwenden Sie Ubuntus Meta-DesktopInstallationspakete, um neue Desktops zu installieren. Zum Beispiel sudo apt-get install ubuntudesktop oder sudo apt-get install xubuntu-desktop für auf LXDE oder XFCE basierende Systeme.

103

Praxis den wird, geben Sie diesen Befehl in einem Terminal ein: $ echo “snd_bcm2835” | sudo tee -a /etc/modules

Den Desktop verwenden

Mithilfe von Omxplayer Web Client lässt sich die Wiedergabe auf einem entfernten Gerät vollständig kontrollieren

Wenn Sie mit der Distribution Raspbian vertraut sind, erfordert MATE ein kleines bisschen Umgewöhnung. Die Distribution sieht nicht nur anders aus, sondern bringt auch viele nützliche Anwendungen mit. Der MATE Desktop ist ein Fork von GNOME2 und damit leichtgewichtiger als zum Beispiel GNOME3, KDE oder Unity. Darüber hinaus setzt die Distribution auf Anwendungen, die schonend mit den Ressourcen umgehen. Dazu gehören der Dateimanager Caja, der Texteditor Pluma, die Software zum Betrachten von Grafiken Eye of MATE oder der Dokumentenbetrachter Atril und viele mehr. Überraschend ist, dass die Distribution auch Anwendungen mit umfangreichen Funktionen an Bord hat, die Sie ebenso auf einer regulären Distribution finden. Dazu gehören der Browser Mozilla Firefox, der E-Mail-Client Thunderbird, der Audioplayer Rhythmbox und sogar die Bürosoftware-Sammlung LibreOffice. Noch überraschender ist, dass diese Anwendungen die erweiterte Rechenleistung des Raspberry Pi 2 voll ausnutzen und die Performance durchaus überzeugen kann. Auch wenn wir keinen expliziten Stresstest durchgeführt haben, war das mehrstündige Spielen mit Ubuntu MATE 15.04 auf dem Raspberry Pi 2 ein Genuss. Eine Anwendung ist allerdings weniger nützlich. Es handelt sich dabei um den VLC Media Player. Auch

wenn die Hardware-Beschleunigung der GPU unterstützt wird, ist die Wiedergabe mit dem populären Mediaplayer nicht wirklich überragend. Das gilt vor allen Dingen dann, wenn es sich um hochauflösende Videos handelt. Sie sollten in diesem Fall lieber auf ein abgespecktes Tool wie den Kommandozeilen-Player Omxplayer setzen. Der ist vorinstalliert und funktioniert wesentlich besser. Wollen Sie einen grafischen Client für Omxplayer, können Sie OmxWebGUI installieren, das auf einem Browser basiert. Der Vorteil dieses Clients ist, dass Sie die Wiedergabe von jedem Computer im Netzwerk kontrollieren können. Die Software befindet sich in einem frühen Entwicklungsstadium, funktioniert aber schon recht gut und hat uns bisher kein einziges Mal im Stich gelassen. Bevor Sie den Client installieren, müssen Sie sich zunächst um die relevanten Abhängigkeiten kümmern: sudo apt-get install git php5-cli Installieren Sie dann den Client: git clone https://github.com/brainfoolong/omxwebgui Dieser Befehl erstellt in Ihrem Home-Verzeichnis ein neues Verzeichnis omxwebgui. Führen Sie als Nächstes folgenden Befehl aus: php -S 0.0.0.0:1234 -t ~/omxwebgui > /dev/null 2>&1 & Dieser Befehl kreiert einen einfachen PHP-Webserver, der auf Port 1234 horcht. Ist die IP-Adresse des Pi beispielsweise 192.168.3.111, dann öffnen Sie ein Browserfenster auf einem Computer im gleichen Netzwerk und navigieren zu 192.168.3.111:1234. Das bringt die grafische Oberfläche von Omxplayer zum Vorschein. Im Textfeld ganz oben spezifizieren Sie den Pfad zu den gewünschten Mediadateien. Speichern Sie dies ab. Nun können Sie auswählen, welche Datei Sie abspielen möchten. Um die Multimedia-Fähigkeiten zu verbessern, spendieren Sie dem Browser die Möglichkeit, Flash-Inhalte abspielen zu können. Adobe gibt keine neuen Flash-Versionen mehr für Linux heraus, deswegen setzen wir Googles Pepper Flash ein. Allerdings müssen Sie zuvor den Browser Chromium installieren. Im Terminal geht das so: sudo apt-get install chromium-browser chromiumcodecs-ffmpeg-extra Laden Sie zum Abschluss das Pepper-Plugin herunter. Zum Entstehungszeitpunkt dieses Artikels war das v15.0.0.2.152: wget -c http://odroidxu.leeharris.me.uk/Pepper-

Offizielles Ubuntu für Raspberry Pi 2 Die offizielle Ubuntu-Version für das Pi 2 nennt sich Ubuntu Snappy. Es ist ein minimales Server-Abbild, das die gleichen Bibliotheken wie die Standard-Version verwendet. Allerdings gibt es keine grafische Oberfläche und auch das Paketmanagement-System apt-get wird nicht benutzt. Die Pakete werden stattdessen als Container ausgeliefert, weil Canonical das praktischer findet. Das System richtet sich in erster Linie an Entwickler. Dennoch können Sie Snappy ruhig einmal ausprobieren. Es lässt sich wie jede andere Distribution für das Pi auf eine entsprechende Karte installieren. Nachdem Sie Snappy gestartet haben, tippen Sie snappy info ein,

104

um genauere Informationen zu den installierten Paketen zu bekommen. Mit snappy update-versions aktualisieren Sie. Bekommen Sie einen Fehler bei den Zertifikaten, dann setzen Sie das Datum und die Zeit mithilfe des Formats mmddhhmmyyyy.ss. Ein Beispiel für den 4. Oktober 2015, 11:34 Uhr wäre sudo date 100411342015.00. Die Distribution befindet sich noch in der Entwicklung und unterstützt nur eine begrenzte Anzahl an Paketen. Sie lassen sich so durchsuchen: snappy search . Um die Aufgabe zu vereinfachen, installieren Sie den webbasierten Paketmanager WebDM, den Sie per IP-Adresse und Port 4200 aufrufen.

Den webbasierten Paketmanager WebDM rufen Sie über den Browser per IP-Adresse, gefolgt von Port :4200, auf

Praxis

Flash-15.0.0.152.r2-armv7h.tar.gz Extrahieren Sie die Datei ins richtige Plugin-Verzeichnis: sudo tar zxf PepperFlash-15.0.0.152.r2-armv7h.tar.gz -C /usr/lib/chromium-browser/plugins/ Ändern Sie anschließend die Konfigurationsdatei des Browsers, damit er das Plugin erkennt: sudo nano /etc/chromium-browser/default Fügen Sie nachfolgende Zeilen hinzu: CHROMIUM_FLAGS=“--ppapi-flash-path=/usr/lib/ chromium-browser/plugins/libpepflashplayer.so --ppapiflash-version=15.0.0.152 -password-store=detect -user-data-dir” Nun sind Sie fertig. Starten Sie Chromium und geben Sie chrome://plugins in die Adresszeile ein. Unter anderem sollte sich darin ab sofort ein aktives Flash-Plugin befinden. Damit können Sie nun auch Flash-Inhalte mit dem Raspberry Pi abspielen. Streamingdienste wie Netflix sind allerdings nicht möglich.

Fernzugriff konfigurieren

Ubuntu MATE liefert den OpenSSH-Server nicht mit aus. Aus diesem Grund ist ein Fernzugriff nicht möglich, solange Sie den OpenSSH-Server nicht installieren: sudo apt-get install openssh-server Nun können Sie sich mithilfe einer sicheren Verbindung von jedem Computer im Netzwerk anmelden. Der Befehl sudo ssh [email protected] etwa fragt nach dem Passwort für den Anwender „mayank“, bevor Sie sich anmelden dürfen. Passen Sie den Befehl an und verwenden Sie Ihren eigenen Anwendernamen sowie die korrekte IP-Adresse des Pi. Das Raspberry Pi 2 bietet genügend Ressourcen, um einen Fernzugriff via VNC-Protokoll zu erlauben. Wollen Sie Fernzugriff auf das Ubuntu-Pi, installieren Sie jedoch besser eine Desktop-Umgebung, die leichter als MATE ist. Wir empfehlen LXDE. Um die LXDE-Umgebung zu installieren, führen Sie folgenden Befehl im Terminal aus: sudo apt-get install lxde Dieser Befehl installiert einen reinen LXDE-Desktop. Möchten Sie lieber die speziell angepasste Version aus dem Projekt Lubuntu haben, ist das ebenfalls möglich: sudo apt-get install lubuntu-desktop Mit diesem Befehl installieren Sie sowohl ein reines LXDE

als auch die angepasste Version. Nachdem Sie den Desktop installiert haben, spielen Sie den VNC-Server ein: sudo apt-get install tightvncserver autocutsel So installieren Sie den TightVNC-Server und das Paket Autocutsel. Damit lässt sich die Zwischenablage des lokalen und des entfernten Rechners gemeinsam verwenden. Nachdem der VNC-Server installiert ist, starten und stoppen Sie die Komponente mit diesen Befehlen: tightvncserver :1 tightvncserver -kill :1 Dies erstellt die Konfigurationsdatei~/.vnc/xstartup. Editieren Sie die Datei, damit sie wie folgt aussieht: #!/bin/sh xrdb $HOME/.Xresources xsetroot -solid grey #x-terminal-emulator -geometry 80x24+10+10 -ls -title “$VNCDESKTOP Desktop” & #x-window-manager & # Fix to make GNOME work export XKL_XMODMAP_DISABLE=1 #/etc/X11/Xsession autocutsel -fork openbox & /usr/bin/lxsession -s Lubuntu -e LXDE & Nach dem Speichern starten Sie eine neue VNC-Instanz: $ tightvncserver :1 Nun läuft der VNC-Server auf dem Pi und Sie können es von einer anderen Maschine im gleichen Netzwerk aus erreichen. Dafür benötigen Sie einen sogenannten VNCViewer wie zum Beispiel Xtightvncviewer. Den installieren Sie mit sudo apt-get install xtightvncviewer. Öffnen Sie den Viewer und geben Sie dort die IP-Adresse des Pi ein, wie zum Beispiel 192.168.3.111:1. Ist das erledigt, haben Sie Fernzugriff auf die LXDE-Sitzung des Winzlings. Unsere Tests haben ergeben, dass Ubuntu MATE auf dem Pi 2 gut mit zwei VNC-Sitzungen umgehen konnte. Das RasPi ist als sehr günstiger Computer konzipiert. Vor dem Pi 2 waren die Einsatzzwecke allerdings limitiert. Das Modell 2 mit seiner stärkeren Leistung und Ubuntu MATE hebt das Niveau deutlich. Das System läuft ohne nennenswerte Probleme und ist für einfache Aufgaben performant genug. Deswegen kann man das Raspberry Pi nun durchaus als „echten“ Mini-PC bezeichnen. //jd

Mithilfe des Ubuntu Software Centers können Sie weitere Pakete installieren. Sogar komplette Desktop-Umgebungen sind darin vorhanden

105

Praxis

Das RasPi aus der Ferne steuern

Egal ob Sie eine Wetterstation planen oder den Kabelsalat auf Ihrem Schreibtisch vermeiden wollen – alles kein Problem, Sie können das Raspberry Pi per Fernwartung dirigieren TIPP Den SSHSchlüssel sollten Sie in einer separaten Datei speichern, um ihn jederzeit reaktivieren zu können. Am besten natürlich chiffriert.

N

icht immer lässt sich das RasPi per Tastatur, Maus und Monitor steuern. Vielleicht setzen Sie es als Mediaserver – verborgen im Schrank – ein, oder es soll als Schaltzentrale für Hausautomationsprojekte im Keller dienen. In all diesen Szenarien ist ein Zugriff aus der Ferne nötig, etwa über einen Windows-PC, einen LinuxRechner oder den Mac. Ebenfalls denkbar: die Steuerung via Smartphone. Lösungen hierfür gibt es mehr als genug, siehe Textkasten auf der Seite gegenüber. Ein Tipp vorab: Installieren Sie den „Midnight Commander“ auf dem RasPi. Dieser exzellente Dateimanager macht das Editieren und Verschieben von Dateien zum Kinderspiel. sudo apt-get install mc Der Clou: Der Midnight Commander (MC) lässt sich in einer Konsole via SSH nutzen. Mehr zu MC auf Seite 21.

SSH: Verbindungen schützen

Wenn Sie mit dem Terminal arbeiten wollen, ist SSH (Secure Shell) eine gute Wahl. Mit SSH bauen Sie eine sichere und verschlüsselte Verbindung zwischen dem RasPi und der Gegenstelle auf. Auf dem RasPi muss ein SSH-Server laufen – bei Raspbian ist dies ab Werk der Fall. Das gilt auch, wenn Raspbian per Noobs installiert wurde. Falls nötig, lässt sich der Server nachträglich über raspi-config konfigurieren oder manuell mit diesem Befehl aktivieren:

106

sudo service ssh start Für SSH benötigen Sie die IP-Adresse und den Hostnamen des RasPi. FritzBox-Besitzer starten das Konfigurationsprogramm der FritzBox – tippen Sie dazu fritz.box im Browser ein – und klicken Sie auf Heimnetz und Netzwerk, schon haben Sie die Daten parat. Alternativ per Terminal: hostname ip addr | grep inet Die IP-Adresse und den Hostnamen brauchen Sie anschließend für die jeweiligen SSH-Clients, zum Beispiel „Putty“ oder „WinSCP“. Notieren Sie sich auch die verwendeten Passwörter. Zur Erinnerung: Raspbian verwendet als Werkseinstellung für den Benutzer pi und als Passwort raspberry. Aus Sicherheitsgründen sollten Sie beide Einstellungen für den Netzwerkbetrieb später ändern. Mithilfe von raspi-config ist das schnell und bequem erledigt. Apropos Sicherheit: Wenn Sie abwechselnd mit verschiedenen Raspbian-Images arbeiten, erhalten Sie eine Warnmeldung. Sie bezieht sich auf den SSH-Schlüssel, der zwischen Client und Server ausgetauscht wird. Putty notiert sich – so wie andere Clients – diesen Schlüssel und geht nach dem Wechsel des Raspbian-Images davon aus, dass die Verbindung kompromittiert wurde, da der Schlüssel nun nicht mehr übereinstimmt. Sie müssen diese Warnmeldung bestätigen, um SSH weiterhin nutzen zu können.

Praxis SSH-Clients: Die Gegenstelle

Unter Windows sind Putty und WinSCP als SSH-Clients empfehlenswert. Sie finden beide Tools auf unserer HeftDVD . Putty ist im Prinzip selbsterklärend: Tragen Sie die IP-Adresse im entsprechenden Feld ein und geben Sie die Portnummer an (in der Regel ist es die 22). Sichern Sie die Session mit einem Klick auf den Button Save. Mit Open öffnen Sie ein Terminalfenster auf dem Windows-Rechner. Dort können Sie dann zum Beispiel den Midnight Commander starten (Befehl: MC). Tipp: Wenn Sie mit der rechten Maustaste oben auf den Rahmen des Terminalfensters klicken (unter Windows), erscheint ein Kontextmenü, das Ihnen zusätzliche Funktionen bietet. So können Sie zum Beispiel den Inhalt des Terminalfensters kopieren und separat speichern. Das ist nützlich, wenn Sie Fehlermeldungen analysieren wollen. WinSCP wiederum ist ein leistungsstarker Dateimanager, mit dem Sie das RasPi so bedienen, als würde es unter Windows laufen. Praktisch: Mit WinSCP lassen sich Verzeichnisse synchronisieren, das Tool bietet Such- und Filterfunktionen, Dateien sind damit komprimierbar, Sie können den SSH-Schlüssel auslesen und vieles mehr. Wenn Sie unter Ubuntu oder einem anderen Linux-Betriebssystem arbeiten, ist es noch einfacher, das Raspberry zu kontaktieren. Öffnen Sie eine Konsole und tippen Sie, sofern Sie die Grundeinstellungen nicht geändert haben: ssh pi@raspberrypi Falls der Benutzer- oder der Hostname modifiziert wurde, müssen Sie den Befehl entsprechend anpassen. Die folgende Sicherheitsabfrage beantworten Sie mit yes. Dann folgt das Passwort, etwa raspberry. Nun sind Sie per Fernzugriff über das Terminal mit Ihrem Raspberry Pi verbunden.

VNC: Mit Maus und Monitor

Unter Linux gibt es viele Möglichkeiten, ein Ziel zu erreichen: Sie können sich auch via VNC (Virtual Network Computing) mit dem RasPi verbinden. Dieser Weg ist immer dann von Vorteil, wenn Sie mit einer grafischen Benutzeroberfläche arbeiten wollen. Mit VNC können Sie nämlich den vollständigen Bildschirminhalt des Servers (er läuft auf dem Raspberry) auf dem Client anzeigen lassen. Das kann beispielsweise ein Mac, ein Linux-Rechner oder Windows-

PC sein – oder ein Smartphone oder Tablet. Der Nachteil bei VNC: Die Datenpakete werden unverschlüsselt übertragen. Lediglich das Session-Passwort ist beim Transfer geschützt. So richten Sie VNC auf dem Raspberry Pi ein: sudo apt-get install tightvncserver Sobald die Installation abgeschlossen ist, starten Sie den VNC-Server mit folgendem Befehl: vncserver Wählen Sie ein Passwort. Es darf maximal acht Zeichen lang sein. Die folgende Frage nach dem „view-only password“ beantworten Sie mit n (Nein). Auf dem Windows-Rechner installieren Sie das Gegenstück, zum Beispiel den „UltraVNC Viewer“. Sie finden ihn ebenfalls auf DVD . Starten Sie das Programm und geben Sie die IP ein, die Sie gerade mit ip addr | grep inet ermittelt haben, beispielsweise 192.168.178.61:5900. Der Port 5900 (und höher) ist für VNC-Verbindungen zuständig. Falls eine Fehlermeldung erscheint, probieren Sie den nächsten Port, also 5901. Tipp: Setzen Sie unter Ubuntu das vorinstallierte „Remmina“ als VNC-Viewer ein. Unter Linux Mint müssen Sie es nachinstallieren, etwa mit dem Paketmanager Synaptic. Sie sehen, es sind nur wenige Schritte nötig, um das RasPi ohne eigene Tastatur und Monitor zu steuern. Wenn Sie wollen, kontrollieren Sie Ihr Pi per iPad, Android-Tablet oder Smartphone bequem vom Sofa aus. //jr

Putty ist unter Windows das Tool der Wahl. Es stellt die Verbindung zum RasPi her

Empfehlenswerte Apps für den Fernzugriff Nicht nur via Windows oder Linux lässt sich das RasPi aus der Ferne steuern. Mit einem Smartphone – egal ob unter iOS oder Android – können Sie dem Kleinstrechner ebenso Befehle erteilen oder Daten abrufen und transferieren. Serverauditor: Ein SSH-Client, der uns im Praxistest besonders gut gefallen hat. Der Clou: Sie bekommen ihn für iOS, Android und Chrome. Besonders angenehm ist die Tastatur, die eine zusätzliche Leiste mit Sondertasten bietet und weitestgehend konfigurierbar ist. Dazu müssen Sie die jeweilige Taste länger drücken. Serverauditor importiert Ihre Schlüssel, verwaltet beliebig viele Server und führt Buch über bereits getätigte Verbindungen. Das Tool ist werbefrei. Preis: kostenlos

SSH Term Pro: Unter den kostenpflichtigen SSH-Clients ist sicherlich SSH Term Pro einer der besten. Sie können damit unter anderem mehrere Verbindungen gleichzeitig verwalten, Server in Gruppen organisieren und vieles mehr. Die Tastatur lässt sich ebenfalls anpassen – diverse Sondertasten sind bereits vordefiniert. Das Tool unterstützt zudem Editoren wie etwa vi, vim, pico oder nano. Die Verbindungsdaten sichern Sie bei Bedarf per iCloud oder Dropbox (Backup/Restore). Für iOS, Preis: 4,99 Euro JuiceSSH: Wenn Sie unter Android eine Alternative zum Serverauditor suchen, sollten Sie einen Blick auf JuiceSSH werfen. Bereits die

Grundversion ist gut ausgestattet und bietet viele Spezialitäten, etwa eine Zwei-FaktorAuthentifizierung und die Plugin-Integration. In der Bezahlversion kommen Funktionen wie Port Forwarding hinzu. Preis: kostenlos VNC Viewer: Bringt den Bildschirm des RasPi auf Ihr iPad oder iPhone. Das Gleiche gilt natürlich auch für Besitzer eines AndroidSmartphones oder Tablets. Im praktischen Einsatz hat sich der VNC Viewer als stabile Lösung bewährt – auf einem kleinen HandyDisplay sollte man ihn aber nur zur Not einsetzen. Die Maus lässt sich durch Gesten ersetzen, hinzu kommen eine virtuelle Tastatur (ein- und ausblendbar) und viele praktische Automatikfunktionen. Preis: kostenlos

107

Praxis

Spielspaß für zwischendurch

Das Raspberry Pi macht auch als Mini-Spielkonsole eine gute Figur. Dank des Pi Stores sind viele Games mit einem einzigen Mausklick eingerichtet – wir stellen ein paar Highlights vor

Erste Anlaufstelle für Software, Anleitungen – und natürlich Spiele: der Pi Store

Minefinder

F

ür das Raspberry Pi gibt es eine Menge netter Spiele. Dank vieler engagierter Retro-Fans lassen sich sogar die Spieleklassiker von gestern und vorgestern auf dem Mini-Rechner spielen. Wer möchte, verwendet dazu eine spezielle Distribution wie RetroPie. Wie das funktioniert und wie Sie diverse Emulatoren für ältere Spielkonsolen nutzen, erfahren Sie im nächsten Artikel auf Seite 110.

Der Name verrät es schon: Hierbei handelt es sich um einen Klon des beliebten Minesweeper, eines Games, das bis Windows 8 Bestandteil jedes Microsoft-Betriebssystems war. Das Ziel des Spiels ist es, alle Felder aufzudecken, ohne dabei auf eine Mine zu stoßen.

108

Doch es geht noch einfacher. Viele Spiele lassen sich nämlich ohne großen Konfigurationsaufwand unter Raspbian nutzen. Am besten gelingt dies mit den Spielen aus dem Pi Store: Hier genügt wirklich ein einziger Mausklick, um ein Spiel zu installieren.

Games aus dem Pi Store

Sie kennen den Pi Store noch nicht? Dann wird es aber höchste Zeit. Denn dieser App-Store nach dem Vorbild von Apple ist die komfortabelste Option, sein Pi mit neuer Software zu bestücken. Sie erreichen den Pi Store in Raspbian über Menü | Internet | Pi Store. Falls der Store auf Ihrem System nicht vorhanden sein sollte, holen Sie die Installation nach mittels: sudo apt-get install pistore Durchstöbern können Sie den Store übrigens von jedem Rechner aus und mit jedem Betriebssystem. Die Webadresse lautet: store.raspberrypi.com. Alles, was Sie jetzt noch benötigen, ist ein – natürlich kostenloser – Account, den Sie per Eingabe Ihrer E-MailAdresse einrichten. Sämtliche Software im Pi Store ist derzeit kostenlos. Hier finden Sie auch das offizielle Magazin der Raspberry Pi Foundation, das MagPi. //tfh

Solitaire

Auch dies ist ein Klassiker, der allen Windows-Nutzern wohlbekannt sein dürfte. Für viele gibt es nichts Entspannenderes als eine Partie Solitaire zwischendurch. Dabei ist es gar nicht so einfach, den Kartenstapel aufzulösen und wirklich alle Karten am Schluss abzulegen.

Praxis

Minecraft Pi Edition

Chocolate Doom

Open Arena

Freeciv

Seit 2013 gibt es das beliebte Open-World-Klötzchenspiel auch für das Raspberry Pi. Doch erst mit der Power des Modells 2 macht das Spiel so richtig Spaß auf dem Pi. Installieren müssen Sie hier übrigens gar nichts: Unter Raspbian finden Sie Minecraft sofort unter Spiele.

Doom, der Klassiker des Survival-Horrors, ist zurück. Auf dem Raspberry Pi 2 macht dieser Egoshooter genauso viel Spaß wie früher. Hier kann man nach Herzenslust auf Monster ballern und den nach wie vor unvergleichlichen Sound von damals genießen.

Eine deutlich bessere Grafik im Vergleich zu Doom besitzt Open Arena – dank Quake-3-Engine. Für einen Egoshooter macht diese auch heute noch etwas her. Besonders Spaß macht es, wenn man gegen mehrere Kontrahenten auf einer der zahlreichen, hübschen Maps antritt.

Vorbild für dieses rundenbasierte Strategiespiel ist der Spieleklassiker Civilization. Wie bei diesem geht es darum, sich eine Nation auszuwählen und diese durch die Jahrhunderte auf ihrem Weg zu Fortschritt und Wohlstand zu begleiten. Es gibt auch einen Mehrspielermodus.

NXEngine (Cave Story)

OpenTTD

Für alle, die das 2D-Action-Adventure Cave Story geliebt haben, könnte die Neufassung NXEngine alleine schon ein Grund sein, sich ein Raspberry Pi zuzulegen. Das witzige Spiel erfordert allerdings viel Geschick und ist im Vergleich zu heutigen Games sehr fordernd.

Auch dieses Spiel basiert auf einem Klassiker, dem Transport Tycoon Deluxe. Sie verlegen Schienen und Straßen, bauen Flughäfen und schaffen so Verbindungen zwischen den prosperierenden Städten. Am Ende stehen Sie an der Spitze eines riesigen Transport-Imperiums.

109

Praxis

Viel Spaß mit Spiele-Klassikern Machen Sie mit uns eine Reise in die Anfangszeit der Videospiele: Wir zeigen Ihnen, wie Sie alte Games mithilfe von Emulatoren wieder spielen können

L

aufen aktuelle Games wie Minecraft eigentlich nur auf dem Raspberry Pi 2 vernünftig, bringen selbst ältere Modelle genug Leistung mit, um als EmulatorMaschinen für 8- und 16-Bit-Oldies zu dienen. Das Betriebssystem RetroPie wurde sogar eigens für diesen Zweck konzipiert. Auch unter Raspbian können Sie bereits mithilfe einer Reihe von Emulatoren viele Systeme simulieren. Daher zeigen wir Ihnen zunächst Emulatoren, die Sie unter Raspbian installieren können. Im zweiten Teil widmen wir uns dann RetroPie und erklären Ihnen, wie Sie PS3- und Xbox-360-Gamecontroller einbinden. Nur die Spiele müssen Sie sich noch selbst besorgen. Einige, wie zum Beispiel Digger für Dosbox, können Sie sich legal kostenlos aus dem Internet herunterladen. Viele andere sind allerdings noch immer urheberrechtlich geschützt. Das bedeutet, Sie dürfen die entsprechenden ROMs nur nutzen, wenn Sie das Original besitzen. Und Achtung, seit 2003 darf man für Sicherheitskopien seiner eigenen Spiele keinen DRM-Kopierschutz mehr umgehen. Da viele alte Konsolenspiele allerdings gar keinen Kopierschutz haben, dürfen Sie von diesen Exemplaren weiterhin Backups anlegen. Eine gute Quelle für solche ROMs alter Klassiker ist

etwa dotemu.com. Hier werden die Originale meist samt Emulator als Bundles für den PC verkauft. Sie können diese anschließend einfach auf den Minicomputer kopieren. Im Prinzip handelt es sich bei Emulatoren um Programme, die virtuelle Hardware erzeugen, in die Sie originale Software laden können. Die relativ einfache Hardware der klassischen Computer wird auf Ihrem Raspberry Pi also simuliert, sodass die alten Programme gar keinen Unterschied „bemerken“. Wir beginnen hier mit dem BBC Micro, bei dem es sich um eine Serie von Geräten handelt, die 1981 von der Acorn Computer Company für ein Computerbildungsprojekt der BBC entwickelt wurden. In Großbritannien erfreuten sich die Rechner großer Beliebtheit. Installieren Sie zuerst die wichtigsten Bibliotheken: sudo apt-get install libsdl1.2-dev libgtk2.0-dev buildessential Erstellen Sie ein Verzeichnis namens beebem und laden Sie die Quelldateien sowie Patches in dieses Verzeichnis: wget http://beebem-unix.bbcmicro.com/download/ beebem-0.0.13{.tar.gz,_64bit.patch,-keys.patch,_ menu_crash.patch} Entpacken Sie den Quellcode mithilfe von -xzf beebem-0.0.13.tar.gz und wenden Sie die Patches an, indem Sie for file in *.patch; do patch -p0 < $file; done eingeben. Mit dem Befehl cd beebem-0.0.13 wechseln Sie in das Verzeichnis, in das die Files entpackt wurden. Nun kompilieren Sie den Emulator mit ./configure --enable-econet gefolgt von make sowie schließlich sudo make install-strip. Sobald der Emulator erfolgreich installiert wurde, öffnen Sie diesen mit beebem welcome.ssd. Als Nächstes emulieren wir den ZX Spectrum, der 1982 von Sinclair Research Ltd. vorgestellt wurde und einer der ersten Heimcomputer für den Massenmarkt war. Es gab

Chameleon Pi – eine Variante von Raspbian

110

Raspbian, der direkt für die Emulation von alten Computern, Konsolen und Spielautomaten erstellt wurde. Laden Sie sich diese unter http://chameleon.enging.com herunter und entpacken Sie sie mit dem Befehl bunzip2 chameleon.v032.img.bz2. Schreiben Sie dann das Image mit Win32DiskImager (Windows, auf

(auf Heft- DVD) oder dd (Linux) auf eine SD-Karte und starten Sie das RasPi. Mit zx als User und spectrum als Passwort loggen Sie sich ein. Die ROMs kopieren Sie einfach über Ihren Computer auf die SD-Karte unter der Partition roms.

ChameleonPi kommt zwar ohne grafische Oberfläche, nutzt aber einen eigenen keyboardgesteuerten Launcher für die Emulation

Fotos: Linux Format

Das Raspberry Pi unterscheidet sich als Einplatinencomputer nicht groß von den selbst gebastelten Rechnern aus den 70er und 80er Jahren. Da es jedoch leistungsfähiger und kompakter ist und sich zudem besser programmieren lässt, eignet es sich hervorragend zum Emulieren seiner Vorfahren. Die meisten Emulatoren in diesem Artikel sind direkt über die Repositories von Raspbian verfügbar. Diese können Sie gemäß der Anleitung einzeln installieren. Alternativ hierzu gibt es die Distribution ChameleonPi, einen Remix von

Praxis

So emulieren Sie klassische Betriebssysteme Es gibt verschiedene Emulatoren, die auch die proprietären Plattformen der späten 90er beherrschen. Wenn Sie etwa alte DOS-Games auf einer modernen Maschine spielen möchten, sollten Sie DOSBox nutzen. Das Tool simuliert eine DOS-Umgebung, die unter alter Hardware läuft. Sie können Dosbox wie gewohnt über die Repositories von Raspbian installieren: sudo apt-get install dosbox Dosbox wird im Verzeichnis /home/pi .dosbox installiert. Die Konfiguration ändern Sie in der Datei dosbox-0.74.conf. Am besten erledigen Sie dies über das Terminal: cd .dosbox nano dosbox-0.74.config

Den Emulator starten Sie anschließend, indem Sie einfach dosbox ins Terminal eingeben. Dadurch öffnet sich ein neues Fenster im Terminal-Look, das „Z:\“ anzeigt. Das ist bereits DOSBox. Um ein Spiel aufzurufen, müssen Sie zunächst das Verzeichnis, in dem die Spiele sich befinden (zum Beispiel dosgames), mit dem Befehl mount einhängen. In diesem Verzeichnis können Sie alle Ihre Lieblings-DOS-Spiele aus dem Internet packen und über DOSBox wie in einem echten DOS-System ausführen. Das Ganze sieht in unserem Beispiel so aus: mount C /home/pi/dosgames C: digger.exe

acht verschiedene Modelle und man verkaufte weltweit über fünf Millionen Geräte. Deshalb können wir aus einer Reihe von Emulatoren wählen. Fuse (Free Unix System Emulator) ist in den Repositories von Raspbian verfügbar: sudo apt-get install fuse-emulator-common Die ROMs und Utilities laden Sie dann mit dem Befehl sudo apt-get install spectrum-roms fuse-emulator-utils

Während der ZX Spectrum bereits sehr populär war, schlug der Commodore 64 noch höhere Wellen: Er fand seinen Weg in etwa 15 Millionen Wohnzimmer und soll es damit als das meistverkaufte Computermodell aller Zeiten ins Guinnessbuch der Rekorde gebracht haben. Der Eintrag ist allerdings heute nicht mehr vorhanden. Einer der populärsten Emulatoren für den C64 ist VICE (Versatile Commodore Emulator), der bereits 1993 veröffentlicht wurde. Neben dem C64 kann VICE auch andere Commodore-Modelle wie den VIC-20 und PET emulieren. Das Tool ist allerdings nicht in den Repositories von Raspbian zu finden. Dafür müssen wir einen kleinen Umweg

Lassen Sie die DOS-Ära aufleben, indem Sie über DOSBox Kultklassiker wie Blood spielen

gehen. Laden Sie sich zunächst die Datei c64.zip unter http://tinyurl.com/C64-4pi herunter und extrahieren Sie den Ordner in Ihr Home-Verzeichnis /home/pi. Öffnen Sie ein Terminal und wechseln Sie in den c64-Ordner: cd /home/pi/c64 Als Nächstes verschieben Sie den Ordner vice: sudo mv /home/pi/c64/vice /usr/local/lib/vice Danach ändern Sie die Zugriffsrechte der verbliebenen Binärdatei und verschieben sie nach /usr/local/bin: sudo chomod +x x64 sudo mv /home/pi/c64/x64 /usr/local/bin/x64 Nun lässt sich VICE einfach mit dem Befehl x64 starten. Sie können sich nicht mehr an die Befehle für den C64 erinnern? Kein Problem. Hier finden Sie die wichtigsten: tinyurl.com/C64-Befehle. Mitte der 80er veröffentlichte Atari den Atari ST. Der Zusatz „ST“ im Namen steht für Sixteen/Thirtytwo, 16/32, weil im Computer ein 16/32-Bit-Mikroprozessor von Motorola verbaut war. Der Atari ST war einer der ersten Heim-

Spiele auf dem ZX Spectrum zocken

1

FUSE einrichten

Wenn Sie der Anleitung im Artikel gefolgt sind, haben Sie sich bereits eine grafische Oberfläche für den FUSE-Installer geladen. Diese öffnen Sie mit Eingabe von fuse im Terminal. Beim Raspberry Pi geben Sie mit dem Befehl sudo amixer cset numid=3 2 Audio per HDMI aus. Ersetzen Sie die 2 durch 1, um stattdessen den Audioport zu nutzen.

2

Spiele Downloaden

Die Spiele für den Spectrum können Sie legal aus vielen Quellen wie worldofspectrum.org laden. Alle Games sind hier als komprimierte Archive verfügbar und geben nach dem Entpacken eine TAP-Datei aus. Bevor Sie ein Spiel starten, navigieren Sie zu Help | Keyboard, um sich mit dem Tastaturlayout des ZX Spectrum vertraut zu machen.

3

Laden und zocken

Um ein Spiel zu starten, navigieren Sie im Menü zu Media | Tape | Open und wählen die extrahierten TAP-Dateien. Im Spectrum-Fenster drücken Sie dann [J] auf dem Keyboard und laden das Spiel mit [Strg]+[P], gefolgt von der Entertaste. Wenn Sie mit dem Spielen fertig sind, gehen Sie zu Machine | Reset, um den Emulator zurückzusetzen.

111

Praxis computer mit 512 KByte RAM, einer grafischen Benutzeroberfläche und einem Diskettenlaufwerk. Hatari ist ein exzellenter Emulator für den ST: sudo apt-get install hatari Bevor Sie das Tool starten können, benötigen Sie jedoch die TOS-Imagedatei – TOS ist das im Atari ST verbaute Betriebssystem. Da dieses noch immer urheberrechtlich geschützt ist, müssen Sie selbst eine Imagedatei von einem originalen ST-ROM mithilfe von Programmen wie Tosdump. PRG erzeugen. Sie können alternativ auch ein EmuTOSImage von der Seite emutos.sourceforge.net/en verwenden. Laden Sie es herunter und kopieren Sie es nach /usr/ share/hatari/tos.img, wo Hatari die Imagedatei standardmäßig vermutet. Wenn Sie Hatari starten, sehen Sie den klassischen grünen GEM-Desktop des Atari ST.

Gaming mit RetroPie

Als Nächstes nehmen wir uns die Distribution RetroPie vor. RetroPie kann zwar auch innerhalb einer bestehenden Raspbian-Installation installiert werden, aber es ist viel bequemer, einfach das vorbereitete SD-Karten-Image zu verwenden. Das Image können Sie direkt von der Projektseite herunterladen unter http://blog.petrockblock.com/retro pie/retropie-downloads. Entpacken Sie die GZ-Datei und spielen Sie das Image auf eine SD-Karte mit mindesten vier GByte Speicher. Zum Beipiel mit dem Befehl dd unter Linux: dd if=retropie-rpi2.img of=/dev/sdd oder mit dem Win32 Disk Imager Tool unter Windows. Im Folgenden werden wir RetroPie konfigurieren, eine WLAN-Verbindung einrichten und verschiedene Controller ans System anschließen. RetroPie kann mit vielen proprietären und Noname-Gamecontrollern umgehen, darunter auch solchen für PS3 und XBox 360. Booten Sie nun das Raspberry Pi mit der vorbereiteten SD-Karte. Wenn Sie sie bereits zur Hand haben, können Sie vorher noch den WLAN-Adapter und den Controller verbinden sowie passende Lautsprecher und einen USB-Stick mit den ROMs anschließen. Eventuell wird also ein USB-Hub mit externer Stromversorgung gebraucht. Dann geht es los. Das Pi bootet direkt in die Emulation Station. Das ist die grafische Benutzeroberfläche, über die Sie die einzelnen Emulatoren auswählen können. Als Erstes werden Sie gebe-

ten, den Controller zu konfigurieren. Dazu kommen wir jedoch später. Zunächst passen wir noch ein paar Einstellungen an. Drücken Sie dazu auf [F4], um die Emulation Station zu verlassen und zur Kommandozeile zu springen. Jetzt erweitern wir das Image auf die gesamte SD-Karte. Da RetroPie auf Raspbian aufsetzt, können wir dies über die Raspbian-Konfiguration erledigen: sudo raspi-config Folgen Sie der Anleitung von Seite 18, um das Dateisystem zu expandieren, wenn gewünscht ein Passwort zu vergeben, die Zeitzone anzupassen und das Tastaturlayout für deutsche Tastaturen umzuschalten. Dann geht es weiter in den Advanced Options. Hier stellen wir sicher, dass für das Spielen möglichst viel Arbeitsspeicher zur Verfügung steht. Dies passen wir unter Memory Split an. Spielen Sie auf einem Pi 2, teilen Sie 512 der GPU zu. Bei älteren Modellen wie dem B+ müssen 256 reichen. Aktivieren Sie wenn gewünscht die Option SSH für den Fernzugriff. Weitere Details zur Remote-Steuerung lesen Sie auf Seite 106. Nur Pi 2: Als letztes gehen Sie zur Option Overclock. Wählen Sie hier die letzte Option Pi2. Klicken Sie abschließend im Hauptmenü auf Finish und starten Sie das Raspberry Pi neu. Drücken Sie dann erneut F4, um die Emulation Station zu verlassen. Als Nächstes bringen wir den WLAN-Adapter zum Laufen. Öffnen Sie dazu die Datei mit den Netzwerkeinstellungen sudo nano /etc/network/interfaces und ändern Sie die Datei ab, wie in Tipp 6 auf Seite 125 beschrieben. Um die Datei in Nano abzuspeichern, drücken Sie [Strg]+[o], um Nano zu verlassen [Strg]+[x]. Starten Sie nun das Raspberry Pi neu: sudo reboot Im nächsten Schritt optimieren wir die Einstellungen von RetroPie selbst. Gehen Sie dazu mittels cd ~/RetroPie-Setup in das Verzeichnis RetroPie-Setup und starten Sie die Konfiguration mit dem entsprechenden Skript: sudo ./retropie_setup.sh Das Skript lädt nun sämtliche nötigen Pakete nach. Anschließend erscheint das Konfigurationsmenü. Wählen Sie hier zunächst Option U und aktualisieren Sie das Skript. Das dauert einen Augenblick. Klicken Sie anschließend auf Ok, um das Skript neu zu laden. Wählen Sie nun Option

So laden Sie Spiele-ROMS auf das RetroPie

1

Netzwerk-Übertragung

Die einfachste Methode, die Spiele auf das RetroPie zu bringen, führt über das Netzwerk. Da RetroPie inklusive vorkonfiguriertem Samba-Server ausgeliefert wird, erscheint es als Computer im Netzwerk. Schieben Sie die ROMs einfach in den jeweiligen Unterordner von /RETROPIE/roms.

112

2

Via USB

Eine weitere Methode führt über ein USB-FlashDrive. Legen Sie auf den USB-Stick einen Ordner namens retropie. Verbinden Sie den USB-Stick dann mit dem Raspberry Pi. RetroPie legt nun automatisch die nötigen Verzeichnisse an. Warten Sie ab, bis das Blinken stoppt.

3

Plug-and-play

Verbinden Sie den USB-Stick wieder mit dem PC und legen Sie Ihre ROMs in die passenden Unterordner. Sind Sie sich nicht sicher, etwa bei den Ataris, hilft nur Ausprobieren. Wenn Sie den Stick später wieder mit dem Pi verbinden, synchronisiert RetroPie alle Ordner.

Praxis

Individuelle Tücken der Emulatoren Die erste Controller-Konfigurierung beim Setup ist nur für die Navigation in der Emulation Station gedacht. Um die Controller zum Spielen nutzen zu können, müssen Sie diese noch einmal im RetroPie-Menü unter Configure Re-

troArch Keyboard/Joystick konfigurieren. Tatsächlich kann es dennoch sein, dass Sie einen Joystick noch einmal innerhalb eines Emulators einrichten müssen. Eine hervor-

ragende Hilfe rund um die Controller ist die Seite Retroprogramming (www.retro-pro gramming.de/?page_id=9588). Retroprogramming hilft Ihnen auch bei vielen anderen Fragen, etwa bei der Handhabung der einzelnen Emulatoren. So ist es zum Beispiel bei Amiga wichtig zu wissen, dass Sie unbedingt ein Kickstarter-ROM benötigen, um die Spiele überhaupt starten zu können. Zwar ist

3 Setup/Configuration und hier die Nummer 316; damit wird das Konfigurationsmenü von RetroPie zur Emulation Station hinzugefügt. So können Sie schneller Einstellungen anpassen, ohne den Umweg über die Kommandozeile zu gehen. Gegebenenfalls müssen Sie auch noch die Audioeinstellungen anpassen. Diese finden Sie gleich oben bei 300. Wenn die Standardeinstellung Auto keine Audioausgabe liefert, wählen Sie hier manuell Ihren Output-Modus aus. Hier finden Sie auch die Option Mixer, über die Sie die Lautstärke regeln können.

Gamecontroller konfigurieren

Starten Sie nun das Pi neu. Dieses Mal bleiben wir in der Emulation Station. Wenn Sie schon einen oder mehrere Gamecontroller angesteckt haben, sollte die Distribution diese bereits erkannt haben und mit „X Gamepads detected“ melden. Wenn Sie bislang nur die Tastatur angeschlossen haben, wird Ihnen diese nicht gesondert angezeigt. Drücken Sie eine beliebige Taste auf dem Controller oder der Tastatur, die Sie konfigurieren möchten. Halten Sie diese Taste einen Moment gedrückt, bis RetroPie den Controller erkannt hat (Beim PS3-Controller ist es die PlayStation-Taste). Sie werden automatisch gebeten, die Tasten zuzuteilen. Betätigen Sie die jeweilige Taste. Einmal begonnen, müssen Sie alle Tasten zuordnen oder eine beliebige Taste gedrückt halten, um zu überspringen. Abschließend werden Sie direkt in die Emulation Station weitergeleitet. Hinweis: Diese Zuteilung gilt nur für die Navigation innerhalb der grafischen Oberfläche. Möchten Sie die Prozedur wiederholden, drücken Sie die Taste, die Sie für Start ausgewählt haben. Das Hauptmenü erscheint. Unter Configure Input können Sie jederzeit die Belegung ändern. Sie bestätigen die Eingabe mit A, zurück kehren Sie mit B. Um die Controller für die Games einzurichten, gehen Sie in der Emulation Station in den Menüeintrag RetroPie und wählen die Option Configure RetroArch Keyboard/Joystick. Neben der Tastatur sollte jetzt nur der Controller eingesteckt sein, den Sie konfigurieren möchten. Nutzen Sie die Tastatur, um Option 1 zu wählen, und klicken Sie anschließend auf OK. Sie vergeben nun wieder die bereits bekannten Tasten. Leider ist die Reihenfolge jedoch eine andere und Sie müssen recht schnell sein. Wollen Sie eine Taste nicht zuteilen, warten Sie einfach auf das Timeout. Seit Version 3.0 von RetroPie ist es nicht mehr notwendig, Treiber für PS3 oder Xbox 360 nachzuinstallieren. Sollten Sie jedoch die Controller wireless nutzen wollen, gehen Sie in der Emulation Station zur Option RetroPie und von dort in das RetroPie-Setup. Das folgende Menü kennen wir bereits. Wählen Sie Option 3 und scrollen Sie hinunter zum

ein kostenloses ROM inklusive (Aros), aber dieses funktioniert nicht mit allen Spielen. Auch ist es nicht als Standard ausgewählt. Weitere Informationen zu Amiga, wie Sie an ein solches Kickstarter-ROM herankommen oder wie Sie zum Beispiel den Competition Pro für den C64-Emulator VICE konfigurieren, finden Sie hier: www.retro-program ming.de/?page_id=9700.

Punkt 310 für den PS3-Controller und zu 328 für den Xbox360-Controller. Schließen Sie die Installationsbestätigung mit OK. Wenn Sie einen Wireless-Xbox-Controller mit Adapter nutzen, müssen Sie die Datei /etc/rc.local manuell editieren. Suchen Sie nach der Zeile, die mit xboxdrv beginnt und ersetzen Sie --id mit --wid. Um den PS3-Controller kabellos nutzen zu können, benötigen Sie einen Bluetooth-Adapter. Verlassen Sie nach der Treiberinstallation das Setup. Auch wenn Sie den Angaben folgen und den Bluethooth-Adapter angeschlossen haben, wird es leider nicht auf Anhieb funktionieren. Starten Sie das Pi nach dem Anschließen des Adapters neu und kehren Sie mit [F4] zur Kommandozeile zurück. Überprüfen Sie mit lsusb ob der verwendete Adapter erkannt wird, und dann, ob er auch wirklich aktiv arbeitet: hciconfig Wird ein „Down“ ausgegeben, können Sie ihn mit sudo hciconfig hci0 pscan aktivieren. Starten Sie nun das Pi neu und erschrecken Sie nicht, wenn der Dualschock-Controller nach dem Verbinden zu vibrieren beginnt. Jetzt können Sie den Controller wie oben beschrieben konfigurieren. Sollte die eben beschriebene Methode bei Ihrem Bluetooth-Adapter nicht funktionieren, ist er sehr wahrscheinlich nicht mit dem Raspberry Pi kompatibel. Wir haben dafür einen einfachen Nano-Bluetooth-2.1-Adapter von Hama verwendet. Einige wenige Spiele sind bereits vorinstalliert. Wie Sie weitere Spiele zu RetroPie hinzufügen, lesen Sie im Kasten auf der linken Seite unten. Sich in die einzelnen Emulatoren einzuarbeiten, kann tricky sein. Eine sehr gute Seite für schnelle Hilfe ist aber www.retro-programming.de. //pd, jaz

Wählen Sie einen Emulator aus und warten Sie kurz ab. Emulation Station blendet dann die Anzahl der jeweils verfügbaren Spiele ein

113

Tipps & Tricks

Fehler finden und Probleme lösen

Ihr Raspberry Pi macht nicht, was es soll oder funktioniert sogar überhaupt nicht? Wir stellen die häufigsten Probleme vor und zeigen, wie Sie diese rasch beseitigen

1 Keine Anzeige, leuchtende LED

Fangen wir gleich mit dem Worst Case an: Wenn beim Einstecken die rote LED dauerhaft leuchtet (siehe auch Kasten auf der Seite gegenüber), aber keine Anzeige auf dem Monitor erscheint, ist die Fehlersuche oft schwierig. Immerhin, die LED leuchtet und liefert damit einen Hinweis auf die Fehlerquelle. Strom scheint vorhanden zu sein. Neben einem ausgesteckten HDMI-Kabel kann der Fehler bei der SD-Karte liegen. Bei den RasPi-Modellen A+ und B+ und RasPi 2 reicht ein unsachgemäßes Anfassen der Platine und schon wird der kleine Federmechanismus der microSDKarte ausgelöst. Dies erscheint trivial, kommt in der Praxis aber oft vor – und wird Ihnen garantiert früher oder später auch passieren. In diesem Fall gilt: Ziehen Sie die Karte einmal heraus und stecken Sie sie dann wieder hinein.

2 Keine Anzeige, blinkende LED

Bleibt der Monitor schwarz, aber die grüne LED leuchtet dreimal auf, weist dies darauf hin, dass die Datei start.elf

Die beiden LEDs (in der Abbildung rechts oben) geben Aufschluss über den Status von SD-Karte und Stromzufuhr

114

fehlt. Da wir nicht annehmen, dass Sie diese Datei absichtlich gelöscht haben, müssen wir von einem Fehler beim Beschreiben der SD-Karte ausgehen. Dies kann entweder an einer fehlerhaften Karte oder am Kartenleser liegen. Wir empfehlen daher, das Raspbian-Image auf eine andere Karte zu schreiben und gegebenenfalls einen anderen Kartenleser zu verwenden. Unserer Erfahrung nach bereiten etwa einige Kartenleser in Notebooks Probleme. In diesem Fall fehlen vermutlich auch noch andere Dateien – oder sie sind beschädigt. Sollten Sie die Installation mit Noobs bevorzugen, entpacken Sie zunächst alle Dateien aus dem von der Seite www.raspberrypi.org heruntergeladenen Archiv. Kopieren Sie alle Daten auf die SD-Karte und vergleichen Sie anschließend die Daten in den beiden Verzeichnissen. Unter Linux machen Sie das mit dem Befehl diff wie folgt: diff -r Verzeichnis1 Verzeichnis2 Unter Windows verwenden Sie etwa den kostenlosen Freecommander (www.freecommander.com/de), um die Verzeichnisinhalte zu vergleichen und möglichen Übertragungsfehlern auf die Spur zu kommen. Zu weiteren LEDFehlercodes siehe auch den Kasten auf der rechten Seite.

3 Mauszeiger verschwindet

Ärgerlich: Sie haben OpenELEC auf dem Raspberry Pi installiert und wollen das kleine Gerät als Mediaplayer betreiben. Doch ständig passiert es, dass der Mauszeiger plötzlich verschwindet und sich das ganze System irgendwie träge und komisch anfühlt. Falls Sie mehrere USB-Ports belegt haben, ist der Fall ziemlich klar: Die Stromversorgung ist nicht ausreichend. Das Raspberry Pi reagiert dann ziemlich empfindlich. Es benötigt ein Netzteil, das mindestens 800 Milliampere (Raspberry Pi 2); Modell B+: 500 bis 600 mA) liefert. Doch unsere Erfahrung zeigt: Das reicht oft nicht aus, um das RasPi störungsfrei als Mediaplayer zu betreiben. Dies gilt insbesondere, wenn Sie ein drahtloses Keyboard mit Touchpad sowie mehrere USB-Sticks als Massenspeicher verwenden, wie es im Wohnzimmerbetrieb häufig der Fall ist. Daher raten wir grundsätzlich zu einem Netzteil mit mindestens 1.000 mA (am besten: 2.000 mA). Ausnahmen bieten nur die Modelle A und A+, die mit nur einem USB-Port auskommen und lediglich 500 bzw. sogar nur 300 mA benötigen.

4 Festplatte wird nicht erkannt

Ein weiteres Problem betrifft Festplatten, die am RasPi betrieben werden sollen. Im Wohnzimmerbetrieb eignen sich Harddisks schließlich besser als USB-Sticks. Doch leider kommt es vor, dass sie nicht erkannt werden.

Fotos: Hama, Linux Format

D

as Raspberry Pi ist ein Kleinstcomputer und ebenso wie seine großen Geschwister tut der Winzling zwar in der Regel brav seinen Dienst, gelegentlich treten jedoch dennoch Probleme auf. Hinzu kommen RasPispezifische Fallstricke, die besonders – aber nicht nur – Einsteigern das Leben schwer machen. Wir stellen auf diesen Seiten ein paar besonders häufige Hard- und Softwareprobleme vor. Die gute Nachricht ist, dass die meisten Fehler sich mit einfachen Mitteln beheben lassen – wir zeigen, wie.

Tipps & Tricks Hören Sie bei konventionellen Festplatten keinerlei Geräusche, fährt die Platte also gar nicht erst hoch, steht auch hier die Ursache schnell fest: Es ist die mangelhafte Stromversorgung. Eine externe 2,5-Zoll-Festplatte mag ohne Stromversorgung problemlos am PC laufen, streikt aber am Raspberry Pi. Dies liegt daran, dass Desktop-PCs am USBPort oft mehr Strom liefern als die im USB-Standard mindestens festgelegten 500 mA. Beim Raspberry Pi teilen sich jedoch sowohl der Rechner als auch alle angeschlossenen Geräte den Strom des kleinen Netzteils. Es kann also beim Betrieb am RasPi mit Ihrer externen Festplatte ohne zusätzliche Stromversorgung klappen – muss aber nicht. Schauen Sie einmal in den Spezifikationen Ihrer Harddisk bei der Leistungsaufnahme nach. Besitzt Ihre externe Platte ein eigenes Netzteil, schließen Sie dieses an, und das Problem ist gelöst. Wurde mit der Festplatte hingegen nur ein Y-Kabel mit zwei USB-Anschlüssen mitgeliefert, hat der Hersteller die USB-Spezifikation auf für ihn zwar kostengünstige, dafür aber nicht ganz konforme Weise umgangen. Hier holt sich die Platte schlicht den Strom von einem zweiten USB-Port. Das klappt bei den meisten PCs, aber nicht beim Pi. Hier hilft ein aktiver USB-Hub, also ein USB-Verteiler mit eigener Stromversorgung weiter. Günstige Geräte gibt es schon für unter 10 Euro. Es muss kein teurer USB-3.0-Hub sein, denn das Raspberry Pi selbst besitzt nur USB-2.0-Anschlüsse.

5 Darstellungsprobleme

Kommt es zu einem unschönen Bildrauschen oder scheinen etwa die Ränder zu verschwimmen, kann dies viele Ursachen haben. Eine betrifft auch hier die Stromversorgung. Schließen Sie diese Ursache aus, indem Sie einfach einmal ein anderes Netzteil ausprobieren. Ansonsten gilt der erste prüfende Blick der Verkabelung. Die 14 mm breiten, „großen“ HDMI-Stecker vom Typ A sitzen normalerweise bombenfest auf dem Raspberry Pi. Dennoch sollten Sie diese Steckverbindung auf Spiel überprüfen. Wackelt der Stecker, probieren Sie am besten ein neues Kabel aus. Etwas problematischer sind Kabelverbindungen, die auf der anderen Seite einen Mini-HDMI- oder einen DVI-Anschluss besitzen. Das Gleiche gilt für Adapter, die zum Beispiel häufig bei PC-Monitoren eingesetzt werden, die nicht

Falls Sie eine externe Festplatte am RasPi betreiben wollen, empfiehlt sich ein aktiver Hub mit eigener Stromversorgung wie dieses preiswerte Modell von Hama

über einen HDMI-Eingang verfügen. Auch hier gilt: Probieren Sie es mit einem anderen Kabel und verzichten Sie besser auf den Adapter. Zum Test können Sie Ihr Pi auch einfach an einen Fernseher anschließen. Nahezu alle Flachbildfernseher verfügen über eine Typ-A-Buchse – genau wie das Raspberry Pi.

6 Schwarzer Rand am Monitor

Es ist zwar nicht schlimm, sieht aber auch nicht besonders gut aus: Wenn die grafische Oberfläche von Raspbian nicht den kompletten Monitor ausfüllt, kommt es oben, unten und an den Seiten zu unschönen schwarzen Rändern. Normalerweise passt sich der Monitor automatisch an; Sie können aber auch versuchen, dies mithilfe des MonitorMenüs auszugleichen. Doch auch auf Seiten des Raspberry Pi können Sie gegensteuern. Öffnen Sie mit einem Editor die Datei /boot/ config.txt, beispielsweise mit nano: sudo nano /boot/config.txt Probieren Sie einmal, den Overscan zu deaktivieren. Entfernen Sie dazu die Raute vor der Zeile disable_overscan=1 Speichern Sie Ihre Änderung mit [Strg]+[O], beenden Sie nano mit [Strg]+[X] und starten Sie das RasPi mit dem

LED-Fehlercodes richtig deuten Tut sich nichts auf dem Bildschirm, hilft das Raspberry Pi zumindest mit seinen LEDs weiter – wenn man denn weiß, was das Blinken und Leuchten zu bedeuten hat. Da das Pi kein BIOS wie ein PC besitzt, ist dies die einzige Möglichkeit, Fehlern auf die Spur zu kommen. Anzahl und Bedeutung der LEDs: Auf allen Modellen des Raspberry Pi finden Sie diese zwei LEDs: LED1: Grün, beschriftet mit „ACT“: Status der microSD-Karte LED2: Rot, beschriftet mit „PWR“: Status der Stromzufuhr Beim Raspberry Pi B sitzen direkt neben diesen zwei LEDs noch drei weitere, die den Netzwerkstatus anzeigen. Diese zusätzlichen LEDs sind

bei den neueren Modellen in den Bereich des Netzwerkanschlusses gewandert. LED-Fehlercodes Wenn Sie das Raspberry Pi ans Stromnetz anschließen, muss die rote „PWR“-LED leuchten. Dies bedeutet, dass die Stromzufuhr ausreichend ist. Die LED leuchtet dauerhaft, solange das RasPi in Betrieb ist. Rote LED leuchtet nicht: Leuchtet die rote LED bei „PWR“ nicht, liegt ein Problem mit der Stromversorgung vor. Sie sollten daher als Erstes das microUSB-Kabel und das Netzteil überprüfen. Eventuell ist die Ausgangsstromstärke zu gering (siehe auch Seite 12). Oder das Raspberry Pi ist schwer beschädigt, was bei unseren Tests allerdings noch nie vorkam.

Die grüne LED signalisiert den Status der (micro)SD-Karte. Rote LED an, grüne nur schwach: Die grüne ACT-LED sollte genauso hell leuchten wie die rote. Tut sie das nicht, sondern glimmt nur schwach, wurde kein Bootcode ausgeführt. Das Raspberry Pi konnte also kein gültiges Image auf der SD-Karte finden. Dies liegt entweder an der Karte selbst, oder es ist beim Beschreiben ein Fehler aufgetreten (zum Beispiel wegen fehlender Admin-Rechte). Grüne LED blinkt dauerhaft: Wie in Tipp 2 beschrieben, handelt es sich vermutlich um Probleme mit fehlenden Dateien. 3x blinken: start.elf nicht gefunden. 4x: start.elf nichschatz123192192.168.188.1t gestartet. 7x: kernel.img nicht gefunden.

115

Tipps & Tricks

Das sieht nicht gut aus: Bei einer „Kernel Panic“ sollten Sie zunächst einmal die angeschlossene Hardware überprüfen

Befehl sudo reboot neu. Hilft das nichts, können Sie auch versuchen, den Bildschirmrand manuell festzulegen. Öffnen Sie dazu wieder die Datei /boot/config.txt. Entfernen Sie die Raute vor den Overscan-Werten und geben Sie manuell einen in diesem Fall negativen Wert ein, etwa -10: overscan_left=-10 overscan_right=-10 overscan_top=-10 overscan_bottom=-10 Umgekehrt können Sie mit positiven Werten den Bildschirm anpassen, sollte die Oberfläche quasi über den Rand des Monitors hinausragen. Speichern Sie anschließend wieder, beenden Sie nano und booten Sie neu. Probieren Sie ein bisschen mit verschiedenen Werten herum, bis Sie das optimale Ergebnis erzielen.

7 Kernel Panic

Weitaus gravierender als der letzte Fehler ist es, wenn Sie beim Bootvorgang jedes Mal die Fehlermeldung „Kernel panic“ erhalten. Was sich wie ein reiner Softwarefehler anhört, hat oft mit der Hardware zu tun, und zwar meist mit den angeschlossenen USB-Geräten. Die Fehlersuche sollte also damit beginnen, sämtliche USB-Geräte abzustecken. Starten Sie anschließend Ihr RasPi erneut. Bootet das Pi ordnungsgemäß, haben Sie den Fehler eingegrenzt. Stecken Sie die Geräte Stück für Stück wieder ein, um den Verursacher zu ermitteln. Vergessen Sie auch nicht, testweise ein anderes Netzteil auszuprobieren. Bleibt es auch ohne angeschlossene USB-Devices bei der Fehlermeldung, liegt es vermutlich an der SD-Karte. Flashen Sie die Karte (oder eine zweite zur Kontrolle) erneut oder kopieren Sie Noobs darauf und versuchen Sie dann, das RasPi zu booten.

8 Schreib- und Lesefehler

Kommt es immer wieder zu unerklärlichen Datenverlusten oder lassen sich Schreib- und Lesefehler nachweisen, sollten Sie dringend die SD-Karte überprüfen. Raspbian beispielsweise macht dies (wie nahezu jedes Betriebssystem) automatisch beim Booten, wenn es etwa nach einem Absturz Dateisystemfehler vermutet – aber auch nur dann. Sie sollten daher den Check lieber selbst manuell durchführen, wenn Sie einen Verdacht haben. Sie benötigen dafür keine spezielle Software, sondern lediglich einen PC mit Lesegerät. Theoretisch könnten Sie dies auch mit dem Raspberry Pi selbst durchführen, allerdings nicht mit gemounteten Partitionen.

116

Sie können neben Linux zur Not sogar Windows verwenden. Unter Windows sehen Sie jedoch nicht alle Linux-Partitionen. Somit ist eine Prüfung auf der Konsole mit chkdsk (als Administrator) nur für neue oder frisch formatierte Speicherkarten sinnvoll. Eine Alternative bietet die Freeware TestDisk (www.cgsecurity.org) – sie ist auch für Linux erhältlich –, die allerdings in unserem Test auch nicht mit allen Partitionen zurechtkam. Unter Linux tun Sie sich – selbst bei mehreren Betriebssystemen auf der Speicherkarte – leichter. Nutzen Sie zur Überprüfung das Tool fsck. Mit dem Befehl sudo fsck /dev/sdb1 würden Sie etwa die erste Partition Ihrer zweiten Festplatte bzw. Ihres Speichermediums überprüfen. Eine Übersicht über alle Optionen des Tools erhalten Sie mittels man fsck. Mit beiden bisher vorgestellten Methoden überprüfen Sie jedoch nur das Dateisystem, nicht aber die Beschreibbarkeit aller Sektoren Ihrer Speicherkarte. Hierzu können Sie unter Windows etwa das Tool h2testw verwenden (heise. de/download/h2testw.html), unter Linux kommt das Gnome Disk Utility (u. a. Ubuntu) infrage.

9 Kein SSH-Zugriff

Egal ob Sie Tools wie Putty unter Windows nutzen oder unter Linux im Terminal arbeiten: Es kann vorkommen, dass Sie beim Remote-Zugriff auf das Pi eine Fehlermeldung wegen Zeitüberschreitung erhalten („time out“). In diesem Fall ist sehr wahrscheinlich der SSH-Zugang deaktiviert. Sie müssen sich also direkt ans RasPi setzen und SSH wieder aktivieren. Öffnen Sie dazu das Konfigurationstool mittels Terminal und dem Befehl sudo raspi-config Unter den Advanced options finden Sie den Eintrag SSH. Aktivieren Sie diesen. Das Raspberry Pi startet daraufhin den SSH-Server neu. Sie sollten nun über das Netzwerk Zugriff haben. Der Standard-User ist pi, das Standard-Passwort raspberry. Achtung: Einige Serverlösungen wie Open Media Vault kontrollieren das Starten und Stoppen des SSH-Daemons über ihr eigenes Frontend. Lesen Sie hierzu auch den Artikel „NAS im Eigenbau“ auf Seite 34.

10 Immer wieder neue IP-Adressen

Damit sind wir auch schon beim nächsten Problem: Ist kein SSH-Zugriff auf Ihren kleinen Rechner im Heimnetz möglich, muss es nicht am gestoppten SSH-Server liegen. Denn schließlich vergibt der Router in Ihrem Netzwerk dynamisch immer wieder eine neue IP-Adresse, sobald sich das RasPi meldet. Die aktuelle IP-Adresse erhalten Sie, indem Sie über die Konsole des RasPi ifconfig eingeben. Ist die IP-Adresse dort beispielsweise mit 192.168.90.10 angegeben, erreichen Sie das RasPi über einen anderen Linux-Rechner mit ssh [email protected] sowie der Eingabe des Passworts. Es ist natürlich lästig, immer wieder nach der gerade aktuellen IP-Adresse im Netzwerk zu forschen. Daher empfiehlt es sich, dem Raspberry Pi immer die gleiche Netzwerkadresse zuzuweisen. Dies unterstützt im Prinzip jeder Router, nur die Konfiguration unterscheidet sich im Detail. Bei der weit verbreiteten FritzBox etwa loggen Sie sich in der Konfigurationsoberfläche ein und wählen über Heimnetz | Heimnetzumgebung und den Reiter Netzwerkübersicht Ihr RasPi aus. Klicken Sie auf Bearbeiten und aktivieren Sie Diesem

Tipps & Tricks

Musikwiedergabe unter Raspbian Wenn Sie ein Mediacenter wie Kodi installiert haben, steht der Film- und Musikwiedergabe nichts im Wege. Anders sieht es jedoch aus, wenn Sie mit einem frisch installierten Raspbian arbeiten. Raspbian ist nicht zum Abpielen von MP3-Dateien ausgerüstet. Sie haben zwar die Möglichkeit, Kodi unter Raspbian nachzuinstallieren. Mit den folgenden Tipps spielen Sie jedoch Musikdateien ab, ohne ein aufwendiges Mediacenter zu installieren. Alsa-Mixer: Prüfen Sie zunächst, ob der AlsaSoundtreiber installiert ist. Geben Sie dazu in der Konsole alsamixer ein. Es sollte der Lautstärkepegel erscheinen, den Sie über die Pfeiltasten erhöhen oder verringern können. Der Pegel sollte über der Mitte liegen. Falls nichts

zu sehen ist, installieren Sie den Mixer mittels sudo apt-get alsa-utils nach. MP3-Player für die Konsole: Ein kommandozeilenbasierter, freier Audioplayer ist Mpg123, der eine hervorragende Alternative zum vorinstallierten Omxplayer darstellt. Sein Name rührt schlicht daher, dass er die Formate MPEG Audio Layer 1, 2 und 3 unterstützt (Letzteres ist das MP3-Format). Die Dekomprimierung und Wiedergabe von MP3-Dateien ist sehr ressourcenschonend. Sie installieren das Tool über sudo apt-get install mpg123. Die Wiedergabe erfolgt einfach über den Befehl mpg123 Dateiname.mp3. Die Soundqualität ist überraschend gut, die Systemlast erfreulich niedrig. Grafische Mediaplayer: Audio- und Videoplayer mit grafischer Oberfläche gibt es wie

Sand am Meer. Sie können theoretisch jeden verwenden, müssen aber immer die Systemlast im Auge behalten. Banshee, Rhythmbox & Co. erfordern einiges an Ressourcen. Probieren Sie einmal das leichtgewichtigere, aber dennoch umfangreiche Clementine aus. Hier haben Sie Komfort-Features wie die Verwaltung Ihrer Musikbibliothek, Anzeige von Covern und Fernsteuerung, aber dennoch keine hohe Belastung fürs System. Mehr Infos erhalten Sie unter www.clementine-player.org/de. RasPi als Musikserver: Das Raspberry Pi eignet sich auch hervorragend als Musikserver zum Streamen im eigenen Heimnetz. Auch hierfür gibt es verschiedene Lösungsansätze. Wir stellen dies ab Seite 34 am Beispiel von OMV vor.

Netzwerkgerät immer die gleiche IPv4-Adresse zuweisen. Bei anderen Routern funktioniert dies ähnlich.

11 Abstürze bei hoher Netzwerklast

Kommt es bei größeren Downloads oder Nutzung von Torrents immer wieder zu Abstürzen oder Hängern, kann – neben einem ungenügenden Netzteil – fehlender Speicher die Ursache sein. Sie können im Prinzip das Verhalten des Kernels aller Linux-Systeme durch eine Konfigurationsdatei steuern und sich so behelfen. Dies ist bei Raspbian nicht anders. Öffnen Sie dazu die Sysctl-Konfigurationsdatei mit einem Editor, beispielsweise nano: sudo nano /etc/sysctl.conf Ganz am Ende der Datei sollten Sie die Zeile mit dem folgenden Eintrag finden: vm.min_free_kbytes = 8192 Verdoppeln Sie diesen Wert auf 16384 und speichern Sie die Datei mit [Strg]+[O]. Testen Sie nun eine Zeit lang, ob die Fehler weiterhin auftreten. Falls Sie diese Änderung nicht dauerhaft durchführen, sondern nur im laufenden System testen wollen, können Sie das mit diesem Befehl tun: sudo sysctl vm.min_free_kbytes=16384 Beim nächsten Start wird der Wert wieder auf den Standard zurückgesetzt. Kommt es weiterhin zu Problemen bei größeren Downloads, können Sie auch den Netzwerkdurchsatz verringern. Das ist zwar nicht elegant, hilft aber in manchen Fällen. Dies geschieht über die Datei cmdline.txt, mit der Sie beim Start einige Parameter an den Kernel übergeben. Öffnen Sie die Datei mit einem Editor, beispielsweise nano: sudo nano /boot/cmdline.txt Fügen Sie hier folgenden Eintrag hinzu: smsc95xx.turbo_mode=N Dies verringert den Netzwerkdurchsatz nach einem Neustart. Spaß machen Datenübertragungen damit aber nicht.

12 Keine Soundausgabe via HDMI

Haben Sie Ihr Raspberry Pi an einen großen Fernseher angeschlossen, benötigen Sie nur ein Kabel, nämlich das HDMI-Kabel. Dieses überträgt sowohl das Video- als auch das Audiosignal. Wenn Sie trotzdem nichts über die TVLautsprecher hören, sondern erst, wenn Sie einen Laut-

Sie wollen nicht jedes Mal nachschauen, unter welcher Adresse Sie das Pi per SSH erreichen? Dann weisen Sie ihm über den Router eine feste Adresse zu

sprecher per Klinke angesteckt haben, sollten Sie die Soundausgabe über HDMI erzwingen. Öffnen Sie dazu die Konfiguration mittels sudo raspi-config Wählen Sie unter Punkt 8 die Advanced Options und anschließend unter A9 Audio. Wählen Sie als Audio-Output unter Punkt 2 Force HDMI. Umgekehrt funktioniert das genauso. Sie können also die 3,5-mm-Klinkenbuchse als Audioausgang festlegen.

13 Regenbogenfarbenes Quadrat

Erscheint ab und an ein kleines regenbogenfarbenes Quadrat auf dem Bildschirm rechts oben? Insbesondere, wenn Sie das Raspberry Pi als Mediacenter verwenden? Dies ist ein zusätzliches Feature bei den neueren Raspberry-Pi-Modellen. Es besagt, dass die Stromversorgung unter 4,66 Volt sinkt, was auf ein unzureichendes Netzteil hinweisen kann, das die Soll-Spannung von 5 Volt nicht hält. Es kann aber auch schlicht daran liegen, dass sich zu viele Verbraucher den Strom teilen. Das können Sie leicht selbst ausprobieren: Stecken Sie probeweise die Maus ab. Funktioniert alles wie gewünscht, können Sie das Warnsymbol deaktivieren, indem Sie die Datei config.txt editieren (avoid_warnings=1). //tfh

117

Praxis

So klappt die Kommunikation K

eine Frage, eine der großen Stärken von Raspbian ist seine übersichtliche grafische Benutzerschnittstelle. Dort lassen sich die meisten Aufgaben rasch erledigen. Es gibt Dateimanager, Browser, Texteditoren und eine ganze Reihe Anwendungen für den Computerwinzling. Dennoch treten gelegentlich Situationen ein, in denen man um die textbasierte Schnittstelle nicht herumkommt, sei es,

Interaktive Programme Die meisten Programme, mit denen wir es hier zu tun haben, erlauben keine Interaktion. Einmal ins Rollen gebracht, laufen sie ab, bis der Job erledigt ist. Aber nicht jede Kommandozeilensoftware funktioniert auf diese Weise. Ein Beispiel: Wenn Sie das erste Mal ins Raspbian booten, startet automatisch ein Konfigurationswerkzeug in einem Terminal. Ähnlich funktioniert eine ganze Reihe anderer Programme. Wenn Sie ohne grafischen Zugang arbeiten,

118

interagieren sie meist mit Texteditoren wie Emacs, Nano oder Vim. Manche, Vim etwa, sind kompliziert und nicht leicht zu erlernen, aber großartig. Im Nano-Editor hingegen finden Sie sich umgehend zurecht. Geben Sie nano und einen Dateinamen ein. Drücken Sie nun die Eingabetaste. Jetzt können Sie sich durch den Text hangeln oder Änderungen vornehmen. Mit [Strg]+[X] sichern Sie Ihre Arbeit und kehren zurück auf die Kommandozeile.

dass man differenziertere Befehle eingeben muss, sei es, dass man über eine Fernverbindung auf den Rechner zugreifen will. Hierzu dienên die Kommandozeile, das Terminal oder die Shell. Man bekommt ein Text-Feedback, wenn man ein Kommando eingibt. Das ist zwar gewöhnungsbedürftig, doch lassen sich viele Aufgaben so sehr schnell erledigen. Wenn Sie ein wenig Zeit aufbringen, um die Basics zu lernen, werden Sie für die Zukunft belohnt. Wir starten, indem wir ein Terminal öffnen. Das geschieht per Klick auf das Icon LXTerminal. Dort sollte nun folgende Zeile stehen: pi@chip01 ~ $ Das ist die Befehlseingabe. Immer wenn Ihnen diese vor Augen kommt, ist das System dazu bereit, Ihre Kommandos entgegenzunehmen. Geben Sie einfach pwd ein und drücken Sie [Enter]. Nun schreibt das System: /home/pi Im Fall eines anderen Benutzernamens stünde dieser hinter dem Slash nach Home. Die rätselhaft anmutenden drei Konsonanten des Befehls bedeuten nichts anderes als die Abkürzung von „Print Working Directory“. Sprich es wird das Verzeichnis ausgegeben, in dem man sich gerade befindet. Startet man eine Session im Terminal, beginnt diese in der Regel stets im Heimatverzeichnis des aktuellen Nutzers.

Foto: Istockphoto/Sean Locke

Über die Kommandozeile wird das Pi per Texteingabe gesteuert. Das ist für Einsteiger erst einmal etwas ungewohnt – hier ein paar Tipps für eine bessere Verständigung

Praxis Jetzt wissen wir, wo wir uns befinden. Es ist nicht das Dümmste, sich einmal woanders umzusehen. Bewegung kommt mit cd („Change Directory“) ins Spiel. Damit hangelt man sich durch die Verzeichnisse. Geben Sie Folgendes ein: cd .. pwd Bei einem intakten System gibt es folgenden Pfad aus: /home. Die Eingabe von zwei Punkten nach cd führt den Benutzer stets eine Etage höher im hierarchischen Baum des Dateisystems. Zurück ins Heimatverzeichnis gelangt man mit dem Befehl cd pi. Allerdings reicht die Eingabe von cd, gefolgt von der Eingabetaste aus, um wieder nach Hause zu kommen, egal an welcher Stelle im System man sich gerade befindet. Das Heimatverzeichnis kann jedoch auch durch eine Tilde (~) adressiert werden. cd ~ bringt den Benutzer also ebenfalls stets heim. Geben Sie nun ls ein und drücken Sie die Eingabetaste. Damit wird Ihnen der Inhalt des aktuellen Verzeichnisses aufgelistet. Einer der enormen Vorteile der Arbeit auf der Kommandozeile ist die Manipulation der Kommandos durch erweiternde Parameter, mit denen Sie präzise operieren können. Zumeist ist es ein kleiner Trennungsstrich, der sich direkt vor der Erweiterung befindet, die aus Buchstaben oder Kombinationen besteht. Ein Beispiel: Wenn wir die unsichtbaren Dateien in einem Verzeichnis auflisten wollen, geben wir ein: ls -a. Es gibt zudem Informationen über die Zugriffskontrolle, Eigentümer, Erstellungsdatum und Größe. Das wäre dann mit ls -al erledigt, wobei a für „all attributes“ steht und l für „long“. Fügt man noch ein h (human readable) hinzu, wird die Dateigröße in Mega- oder Kilobytes statt in Bytes angezeigt. Das Kommando lautet dann: ls -alh.

Gezielt Informationen finden

Spätestens jetzt drängt sich die bange Frage auf, welche Programme es gibt und was die jeweiligen Attribute beziehungsweise Parameter sind. Hat sich der Programmierer eines Tools an die unixoiden Konventionen gehalten, gibt es mit -h oder --help Informationen darüber, welche Unterbefehle man dem Programm mitgeben kann. Geben Sie ls --help ein, bekommen Sie eine lange Liste mit allen Möglichkeiten der Software geliefert: -a, --all do not ignore entries starting with . … -l use a long listing format Doch es gibt einen Schritt, der zuerst erfolgen sollte: man, die Abkürzung von Manual. Handbücher zu lesen ist eine der wichtigsten Tätigkeiten, um sich in Unix-artigen Umgebungen zurechtzufinden. Will man also das Manual von ls, wird man ls getippt. Mit den Nach-oben- und Nach-untenPfeiltasten bewegt man sich durch das Dokument. Außerdem funktionieren die Bild-rauf-/Bild-runter-Tasten. Um ein Wort zu finden, tippt man es nach einem / ein. Beispiel: /-l findet alle Vorkommen von -l. Um es kompliziert zu machen: man ist nicht das Darstellungsprogramm. Dazu gibt das System in der Regel einen sogenannten Pager vor. Heute ist dies zumeist less (siehe man less). Manövrierbefehle von less gelten also in man. Drücken Sie beispielsweise die [N]-Taste oder [Umschalt]+[N], springen Sie vor- und rückwärts durch alle Vorkommen von -l. Sie werden feststellen, dass man eins der am häufigsten verwendeten Kommandos ist, die Sie im täglichen Gebrauch schätzen lernen. Damit kommen Sie nämlich wesentlich schneller an Informationen als per Internetsuche.

Eingaben ergänzen per Tabulator Wer mit – häufig langen – Datei- und Verzeichnisnamen arbeitet, weiß, wie nervig es ist, diese ausschreiben zu müssen. Unter Unix/Linux muss das nicht sein. Die meisten modernen Shell-Programme wie die StandardShell bash unter Linux bieten eine Hilfestellung. Sie vollenden den Dateinamen, wenn genügend Buchstaben

eingegeben wurden, um Eindeutigkeit herzustellen. Man drückt hierzu einfach den Tabulator. Ist die Eingabe nicht eindeutig, drückt man zwei Mal und erhält Alternativen auf der Ausgabe. Versuchen Sie es einmal mit folgendem Beispiel: Geben Sie cd /h ein und drücken Sie [Tab]. Sie werden sicher mit der Vollendung zum /home belohnt.

Leider ist das korrekte Tool nicht immer leicht zu finden. Die Unix- bzw. Linux-Philosophie lautet: für jeden Job ein passendes Werkzeug. Damit wird aber der „Werkzeugkasten“ so umfangreich, dass man bisweilen völlig den Überblick verliert.

Suche im Handbuch

Bevor Sie nun doch im Internet suchen: Probieren Sie in man erst einmal eine Suche per Keywords aus, indem Sie der Handbuchbibliotheksverwaltung das -k-Flag mitgeben. Eine Suche nach allen Programmen, die einen Bezug zu dem Schlüsselbegriff „Browser“ aufweisen, lautet man -k browser. Dabei werden allerdings auch grafische Programme aufgelistet. Denn im Grunde macht Linux keinen Unterschied zwischen beiden. Schließlich lässt sich ein Fenster von Iceweasel, Debians Firefox-Klon, aus dem Terminal heraus öffnen. Hat man Iceweasel per sudo apt-get iceweasel installiert, kann man die Homepage von CHIP im Terminal wie folgt in einem privaten Fenster aufrufen: iceweasel -private-window http://www.chip.de. Jetzt folgt eine Reihe von Kommandos, die Sie bei Ihrer täglichen Arbeit im System gut gebrauchen können: rm löscht (ReMoves) eine Datei. mkdir erstellt ein neues Verzeichnis (make a directory). cp kopiert eine Datei von A nach B. Dabei geben Sie zwei Argumente an: die originale Datei und die neue. cat zeigt den Inhalt von Textdateien an. Sie können damit aber gleichermaßen beliebig viele Texte verketten (concatenate). Nimmt man nur eine Textdatei, wird diese in unkontrollierter Weise auf dem Bildschirm ausgegeben. Bei langen Texten ist das hinderlich. Hierfür ist der Pager less wesentlich besser geeignet. Damit kann man nach oben und unten mit den Pfeiltasten scrollen oder hinauf und hinunter blättern. Das Programm verlässt man durch Drücken von [Q]. Weiter unten beschäftigen wir uns intensiver mit den angesprochenen Programmen. find macht das, was es sagt: es findet. Man benutzt es, indem man nach dem Kommando den Ort und danach die Parameter angibt. Folgendes Kommando findet jede Datei, die am vergangenen Tag verändert wurde:

Im Terminal lassen sich sogar Filme aus ASCIIZeichen abspielen. Den Klassiker finden Sie unter telnet towel. blinkenlights.nl. Telnet müssen Sie gegebenenfalls erst installieren

119

Praxis find / -mtime 1 Es braucht viel Zeit, die man-Datei von find durchzuackern. Die Mühe jedoch lohnt sich in jedem Fall.

Mit Wildcards arbeiten

Das wahrscheinlich wichtigste Kommando in jeder Unix-ähnlichen Umgebung ist man. Es steht für „Manual“ und öffnet die kurzen, in der Regel nach dem immer gleichen Schema verfassten Handbücher, welche jedes Programm erklären

Es gibt im Terminal-Kosmos Wildcards beziehungsweise Platzhalter. Das sind Zeichen, mit denen Sie Suchen durch Einschlussverfahren oder Ausschlüsse verfeinern. Zunächst erstellen wir ein neues, leeres Verzeichnis. Dann benötigen wir eine Reihe von ebenfalls leeren Dateien, mit denen wir experimentieren können. Das erledigt touch. mkdir wildcards cd wildcards touch eins zwei drei vier touch eins.txt zwei.txt drei.txt vier.txt Was bewirken diese Platzhalter? Nehmen wir das simple *. Das ist die einfachste Art der Nutzung. Damit treffen Sie jedes Zeichen und damit jede der acht Dateien im Verzeichnis: ls * Die Eingabe von *.txt ist da schon sinnvoller: ls *.txt Damit werden die vier Dateien gelistet, die am Ende das TXT-Suffix besitzen. eins* zeigt hingegen eins.txt und eins: ls eins* Wildcards funktionieren mit jedem Kommandozeilenprogramm, denn sie sind integraler Bestandteil der Shell. Sie sind sehr nützlich, wenn man Dateioperationen nicht dauernd neu tippen will. Um etwa alle TXT-Dateien in ein anderes Verzeichnis zu kopieren, schreibt man: mkdir text-files cp *.txt text-files Um herauszufinden, ob wir korrekt gearbeitet haben, prüfen

Mit dem sudo-Befehl kann ein normaler User, hier „pi“, als Superuser „root“ Programme und Kommandos ausführen

wir das Ergebnis wie folgt: ls text-files/ Das Fragezeichen als Wildcard passt nur auf ein Zeichen: ls ??? Das obige Beispiel gibt alle Dateien aus, deren Namen aus drei Buchstaben bestehen. Wildcards lassen sich beliebig anpassen. [abc] trifft auf a, b und c (kleingeschrieben) zu. ls *[ot]* listet alle Dateien auf, die ein kleines o und/oder t enthalten. Auch in Unterverzeichnissen: ls [!ot]* Probieren Sie es nun mit einem vorangestellten !. Jetzt bekommen Sie nur die Dateien, die ein o und ein t enthalten.

Pipes und Umleitungen

Bisher haben wir die Ausgaben der Programme immer sofort im Terminal, also der Stdout gesehen. Doch lässt sich der Output auch umleiten. Wir können ihn in eine Datei schicken oder an ein anderes Programm als Input senden. Die Spitzklammer (>) lenkt den Strom von ls in eine Datei (files). cat zeigt deren Inhalt: ls > files cat files Eine Pipe lenkt die Ausgabe von Programm a in die Eingabe von Programm b um. Das heißt, Tools lassen sich miteinander zu einem Superkommando verketten. Das klappt natürlich nicht mit jedem Werkzeug, aber eine Reihe nützlicher Verbindungen gibt es schon. Ein komplexeres Beispiel für beide Varianten besteht aus ps, das durch die Flags aux alle laufenden Prozesse des Systems auflistet. Das Ergebnis schicken wir per Pipe an die Textverarbeitung grep, die ausschließlich Zeilen filtert, in denen der User pi vorkommt. Und per Spitzklammer leiten wir das Ergebnis in die nachstehende Datei um. ps aux | grep pi > prozesse_von_user_pi.txt Fertig. Das vermag keine Desktop-App. //mk

Die Bedeutung von „sudo“ Üblicherweise arbeiten Sie als normaler User auf dem Raspberry Pi, legen Dateien und Verzeichnisse an und bleiben in Ihrem Bereich (zum Beispiel /home/pi). Sie sind dann zwar dazu in der Lage, die meisten Dateien in Ihrem System zu sehen, aber Änderungen sind nicht

120

erlaubt. Außerdem können Sie keine Programme installieren. Denn Linux unterbindet, dass normale User Änderungen am ganzen System vornehmen dürfen. Damit wird verhindert, dass man versehentlich Einstellungen zerschießt. Dennoch: Gelegentlich ist es vonnöten, Aufga-

ben als Superuser (root) durchzuführen. Hierzu dient im Terminal das Tool sudo. Ein Beispiel für dessen Einsatz: sudo apt-get install synaptic Das Kommando installiert systemweit die Paketverwaltungssoftware Synaptic per apt-get.

Praxis

Überblick: Wichtige Kommandozeilen-Befehle Navigation und Dateien

cd wechselt das Verzeichnis. Per cd movies wechseln Sie in movies. cd ~ wechselt ins Heimatverzeichnis, mit cd / erreichen Sie das root-Verzeichnis, cd .. bringt Sie eine Verzeichnisebene nach oben. ls listet Dateien im aktuellen Verzeichnis auf. ls movies zeigt die Dateien in movies, wenn dies ein Unterverzeichnis des aktuellen ist. ls -a listet auch die versteckten Dateien, und mit ls -l gibt es Zusatzinformationen. cp kopiert Dateien. cp orig-datei neue-datei kopiert orig-datei nach neue-datei. wget ist ein Programm, mit dem man Daten aus dem Internet herunterladen kann. Um eine Datei zu speichern, gibt man etwa wget www.chip.de/dateiname ein. df -h stellt die Auslastung von Datenträgern dar. pwd gibt das aktuelle Verzeichnis an.

Dateien wiederfinden

find nützliche Flags: -mtime findet Dateien, die in der vergangenen von Tagen verändert wurden. : 2 (exakt vor zwei Tagen), -2 (vor weniger als zwei Tagen) or +2 (länger als zwei Tage her). -name findet Dateien mit . -iname findet Dateien mit , achtet aber nicht auf Groß-/Kleinschreibung. -writable findet überschreibbare Dateien. Natürlich gibt es wesentlich mehr Optionen (siehe man-Seite). Beispielsweise findet find / -mtime -2 -writable alle Dateien im Dateisystem, die vor weniger als zwei Tagen verändert wurden und vom aktuellen User bearbeitet werden dürfen.

Fernsteuerung

ssh ist der Standard für die Arbeit mit einem FernRechner (per SSH-Protokoll). ssh [email protected] erlaubt Zugriff für den User pi auf dem Computer mit der IPAdresse 192.168.1.2. Das funktioniert aber nur, wenn auf der Maschine ein SSH-Server läuft. scp kopiert per SSH. scp datei [email protected] :/ home/pi kopiert eine Datei in home/pi auf den Computer mit der IP 192.168.1.2. scp [email protected]:/home/ pi/datei kopiert /home/pi/datei von der RemoteMaschine 192.168.1.2 ins Arbeitsverzeichnis des lokalen Nutzers und benötigt ebenfalls den SSH-Server. sftp ist der SSH-FTP-Client.

Wildcards

* adressiert jede beliebig lange Zeichenkette. ? adressiert ein einzelnes Zeichen. [abc] adressiert a, b und/oder c. [!abc] adressiert kein Zeichen aus der Klammer. [A-Z] adressiert alle Dateien mit den Großbuchstaben Matches von A bis Z. [A-z] adressiert jedes Zeichen zwischen A und z sowohl groß- als auch kleingeschrieben. [eins, zwei] adressiert die Wörter eins und zwei.

Information über den Rechner

top zeigt eine Liste laufender Programme und Dienste sowie ihren Speicherverbrauch und andere leistungsrelevante Informationen. [Strg]+[C] bricht das Programm ab. uname zeigt Informationen über die Kernel-Version. uname -m gibt zudem die Architektur des Systems an. lscpu listet Informationen über die CPU auf. dmesg spielt die Kernelnachrichten auf die Konsole.

Textdateien

head zeigt die ersten zehn Zeilen einer Textdatei. Die Zeilenzahl lässt sich verändern, wenn man das -n-Flag einsetzt. dmesg | head -n 15 zeigt zum Beispiel die ersten 15 Zeilen aus dem Startprotokoll des Kernels. tail zeigt die letzten zehn Zeilen einer Datei. Das -n-Flag funktioniert wie bei head. Mit -f (follow) aktualisiert man die Ausgabe. tail -n15 -f /var/log/syslog zeigt demgemäß die letzten 15 Zeilen des Logfiles des Systems und verfolgt dabei die laufenden Änderungen. less ist ein Anzeigeprogramm für Text, ein Pager. cat stellt den Inhalt eines Textes auf der Konsole dar. nano ist ein leicht zu lernender Editor. [Strg]+[X] beendet das Programm und bietet Speichermöglichkeiten an.

Spezialtasten

[Strg]+[C] beendet (fast) jedes Terminal-Programm. [Strg]+[D] sendet ein Zeilenendezeichen an jedes Programm, das auf der Kommandozeile läuft. [Strg]+[Umschalt]+[C] kopiert Text in die Zwischenablage (nicht in XTerm). [Strg]+[Umschalt]+[V] fügt Text aus der Zwischenablage ein (nicht in XTerm).

Software installieren

tar zxvf datei.tar.gz extrahiert ein gzip-komprimiertes Tar-Archiv, das etwa Installationsdateien enthält. ./configure Kompiliert man Software selbst, kann man im Quellcodeverzeichnis per Aufruf von ./configure Abhängigkeiten auffinden, aber auch Parameter wie das Installationsverzeichnis definieren, um das Programm vor dem Kompilieren den eigenen Bedürfnissen anzupassen. make kompiliert das Programm. make install (braucht sudo) bewegt alle frisch kompilierten Bestandteile einer Software an den richtigen Platz, etwa die Manuals in das entsprechende man-Verzeichnis. apt-get installiert und entfernt Software auf Debianbasierten Linux-Distributionen. sudo apt-get install iceweasel installiert den Webbrowser iceweasel. sudo apt-get purge iceweasel entfernt das Paket. apt-get update aktualisiert die lokale Paketdatenbank – nützlich vor jeder Installation oder jedem Upgrade. aptget upgrade aktualisiert sämtliche Programme, die auf dem System installiert sind, sofern Updates vorliegen. apt-cache search durchsucht das Repository nach dem angegebenen Suchbegriff.

121

Praxis

Das Dateisystem: Clever speichern

D

df -h ist nützlich, um alle aktuell am Raspberry Pi angeschlossenen Laufwerke zu untersuchen

122

er Schrägstrich, Slash, also das /-Zeichen ist der Anfang aller Ordnung im Kosmos von Linux/Unix. Denkt man sich das Dateisystem als einen Gebäudekomplex, ist das der Haupteingang. Von hier aus geht‘s in alle anderen Teile: vertraute Räume, dunkle Ecken. Durch cd / gelangen Sie auf die oberste Hierarchieebene. Durch ls sehen Sie die weiteren Verzeichnisse und Dateien. Hinter diesen „Türen“ liegen „Räume“, etwa die Heimatverzeichnisse der User des Systems. Geben Sie die Befehle

cd /home ls ein. Haben sie den Schrägstrich vor home bemerkt? Er zeigt an, dass sich das Verzeichnis sich im Wurzelverzeichnis befindet (/). Pfadangaben, die mit einem / beginnen, sind absolute Pfade. Das ls-Kommando zeigt uns nun alles in /home. Jeder Benutzer hat ein Verzeichnis, das seinen Namen trägt. Den User pi besuchen wir mit: cd pi Sie sehen, dass wir kein / vorangestellt haben. Das heißt, dass pi nicht ganz oben in der Dateihierarchie liegt, sondern im aktuellen Verzeichnis. Der Pfad dorthin war also relativ. Der absolute Weg lautet: cd /home/pi. Das Dateisystem ist abstrakt und wird durch den LinuxKernel so dargestellt. Was Sie als Einheit sehen, kann tatsächlich auf verschiedenen Datenträgern liegen. Unter Umständen kann es besser sein, wenn die home-Verzeichnisse auf einer eigenen Partition oder Festplatte liegen. Der Kernel zeigt diese Dateien jedoch immer so an, als steckten sie unter einem Dach. Das ist für Nutzer anderer Betriebssysteme gewöhnungsbedürftig, bekommen diese doch die physischen Laufwerke stets mit eigenen Bezeichnungen getrennt voneinander angezeigt. Was aber nicht heißt, dass Linux/ Unix die physische Realität vor ihnen verbirgt. Geben Sie einmal df -h ein, und Sie erhalten eine detaillierte Auflistung aller angeschlossenen Laufwerke: df -h Bei Linux/Unix redet man von Einhängepunkten (Mountpoints). Die physischen Geräte werden „eingehängt“ (Englisch: to mount) und verhalten sich so, als wären sie Teil einer existierenden Festplatte. Der Mountpoint ist die Tür zum angeschlossenen Device, eine sehr flexible Einrichtung. Die erste Spalte links zeigt das Dateisystem an und in der letzten Spalte sehen sie den Ort, wo es eingehängt ist, den Mountpoint. Um es etwas komplizierter zu machen, gibt es unter Linux nicht nur physikalische Datenträger, die abstrahiert zu „Türen“ werden, sondern auch virtuelle Dateisysteme, etwa dev, run oder tmpfs. Einige führen zwar auch ein dev im Namen, besitzen aber eine andere Bezeichnung. Beispiel: /dev/sda1. dev ist die Abkürzung für Device (Gerät). Das virtuelle dev-System ist die abstrakte Darstellung aller möglichen Arten von Geräten, die eingebunden werden können, sofern Treiber vorhanden sind. Schauen sie einmal in /dev, dann sehen sie eine große Anzahl an Unterverzeichnissen und Dateien, die sich auf Geräte und nicht nur Massenspeicher beziehen. /dev/sda1 ist eine davon. Der Konvention nach ist sda immer das erste Laufwerk. Die Benennung folgt dem Alphabet (sdb, sdc

Fotos: Linux Format

Wie ordnet, strukturiert und verwaltet Raspbian die Daten auf verschiedenen Medien? Und wie erweitere ich den Speicherplatz eines Raspberry Pi? Die Antworten gibt’s hier

Praxis

Das Pi kann mit vielen Medien erweitert werden. USB 2.0 beschränkt jedoch das Tempo

etc.). Partitionen werden mit aufsteigenden Zahlen versehen, also sda1 oder sda2. Bei Raspbian kommt die Besonderheit hinzu, dass das zentrale System auf einer SD-Karte gespeichert ist (/dev/mmcblk). In den anderen Spalten finden Sie Details zur Größe, der Menge an freiem und belegtem Speicherplatz sowie der Auslastung.

Mehr Speicher per USB

Weiterer Speicher lässt sich beim Raspberry Pi über die USB-Schnittstelle hinzufügen. Das kann ein Stick, aber auch eine externe Festplatte sein. Tipp: Nutzen Sie nur externe HDs, die eine eigene Stromversorgung mitbringen. Das Gleiche gilt übrigens auch für USB-Hubs. Denn das technische Layout des Raspberry Pi sieht, anders als das herkömmlicher Rechner, keine hinreichende Stromversorgung per USB-Schnittstelle vor. Ein sich selbst versorgender Hub ist daher kein schlechter Kauf. Vor allem, wenn Sie zusätzlich Maus, Tastatur und WLAN-Stick anschließen. Leider verfügt das Pi nur über USB 2.0. Die Durchsatzraten sind dort deutlich niedriger als an den Schnittstellen moderner Computer: ein physikalisches Zugeständnis an die Größe und den Preis des Kleinstrechners.

Daten einbinden

Bisher haben wir vom Dateisystem als Ordnungsschema der Daten gesprochen. Es gibt jedoch noch eine andere Bedeutung: Ein Dateisystem ist nämlich die spezifische Formatierung des Datenträgers. Also eine Software auf unterster Ebene, die entscheidet, wie die Daten auf die Festplatte geschrieben, dort geordnet, verwaltet oder aufgerufen werden, wie groß Dateien sein dürfen oder wie man sie mit welchen Zeichen benennen kann. Jedes Betriebssystem bringt sein eigenes Dateisystem mit: Windows nutzt (noch) NTFS, auf dem Mac ist es HFS+, und unter Linux ist ext4 die Regel. Mit ein paar Kniffen versteht das Raspberry Pi alle Dateisysteme auf dem Markt, kann sie lesen und in den

meisten Fällen beschreiben. USB-Sticks, die in der Regel immer noch mit dem antiken FAT32-System formatiert sind, liest und beschreibt Raspbian von Haus aus, sodass dem Datenaustausch nicht viel im Wege steht. Sie werden daher wahrscheinlich selbst FAT32-Geräte nutzen. Allerdings sind Sie auf Dateigrößen bis vier GByte beschränkt. Bleiben Sie im Linux-Kosmos, ist es mit Blick auf Geschwindigkeit und Stabilität am besten, ext4 zu verwenden. Also klinken Sie Ihr externes Gerät ein und testen mit df -h Warum sehen Sie nichts in der Liste? Das Gerät muss erst eingebunden und gemountet werden. Als Erstes muss ein Mountpoint erstellt werden. Der kann sich überall im Dateibaum befinden und ist ein Verzeichnis, das Sie mit einem sprechenden Namen auszeichnen können. Zum Beispiel mit austausch, wenn Sie Ihren unter OS X oder Windows benutzten Stick anzeigen wollen. mount ist ein Kommando, das allerdings nur root nutzen darf. Im folgenden Szenario gehen wir davon aus, dass wir den Stick statisch einbinden und nicht im laufenden Betrieb zwischen verschiedenen Computern hin und her stecken wollen: cd ~ mkdir austausch sudo mount /dev/sda1 austausch Dauerhaftes Einbinden erfolgt über einen Eintrag in eine Konfigurationsdatei im Verzeichnis /etc, die fstab (file system table) genannt wird. Diese wird beim Systemstart ausgelesen und interpretiert. Zunächst editiert man sie: sudo nano /etc/fstab Die Datei besitzt pro Gerät jeweils eine Zeile. Die Einträge sind durch Tabstopps getrennt und sagen dem Kernel, was zu tun ist. Am einfachsten ist ein solcher Eintrag mit folgender Zeile zu erledigen: /dev/sda1 /home/pi/austausch Beachten Sie, dass das Verzeichnis existieren muss, und konsultieren Sie man fstab für weitere Details. //mk

123

Tipps & Tricks

Kleine Kniffe, die Sie kennen sollten

Oftmals sind es Kleinigkeiten, die Ihnen als Pi-Nutzer das Leben entscheidend erleichtern. In diesem Beitrag haben wir eine Reihe hilfreicher Tipps für den RasPi-Alltag zusammengestellt

O

b Sie Ubuntu MATE komplett auf Deutsch haben möchten oder regelmäßig wiederkehrende Aufgaben automatisch ausführen lassen wollen: Auf diesen Seiten dreht sich alles darum, wie Sie die Arbeit mit Ihrem Raspberry Pi noch angenehmer gestalten. //re, jd

Tipp 1 Wahl der SD-Karte

Das Raspberry Pi 2 nutzt als Speichermedium microSDKarten. Es gibt keine speziellen Anforderungen an die Speicherkarten, ein paar Dinge sollten Sie dennoch beachten: Wählen Sie eine Karte mit mindestens 4 GByte. Besser sind 8 oder mehr, vor allem, wenn Sie Noobs mit mehreren Betriebssystemen einsetzen. Die Geschwindigkeit wird bei SD-Karten über Klassen definiert: Je höher, desto höher auch die Schreib- und Lesegeschwindigkeit. Mit SD-Karten der Klasse 10 sind Sie auf der sicheren Seite, da dann der SoC und die Fast-Ethernet-Schnittstelle des Pi die limitierenden Faktoren sind und nicht die Karte. Bei Problemen mit einem Typ probieren Sie einfach ein anderes Modell.

Tipp 2 Ubuntu: Deutsche Tastatur

Auch wenn Sie bei Ubuntu MATE 15.04 während der ersten Konfiguration die Tastatur umstellen, ignoriert das System diesen Wunsch komplett. Sie können die Tastatur via System | Einstellungen | Hardware | Tastatur zwar abermals auf Deutsch einstellen, aber das überlebt ebenfalls keinen Neustart. Es scheint sich um einen Bug zu handeln, aber ein Workaround hilft. Erstellen und editieren Sie eine Datei, die bei Ihnen etwa tastatur-layout.sh heißen könnte. Dort hinterlegen Sie Folgendes: #!/bin/sh setxkbmap de Speichern Sie die Datei und machen Sie sie ausführbar: sudo chmod +x /Pfad/zu/Datei/tastatur-layout.sh

01

Am Anfang steht die Wahl des richtigen Speichermediums. Alle neueren RasPiModelle verwenden microSD-Karten

124

Nun können Sie dieses Skript den Startprogrammen (Autostart) hinzufügen. Bei jedem Anmelden an das System wird die Tastatur auf Deutsch umgestellt.

Tipp 3 Ubuntu: Deutsche Sprache

Das Abbild von Ubuntu MATE 15.04 für das Raspberry Pi enthält die deutschen Sprachpakete nicht vollständig. Das lässt sich allerdings einfach nachholen. Klicken Sie dafür auf System | Einstellungen | Darstellung | Sprachen. Nun überprüft das System die installierten Sprachen automatisch. Haben Sie Ubuntu MATE während der Konfiguration auf „Deutsch“ umgestellt, schlägt das System vor, die relevanten Sprachpakete aus dem Internet zu installieren. Bejahen Sie dies, dauert der Vorgang ein paar Minuten. Ist alles installiert, starten Sie das System neu. Nun sind verschiedene Programme wie zum Beispiel das Ubuntu Software Center, Firefox und LibreOffice in deutscher Sprache verfügbar.

Tipp 4 Pi Musicbox

Mit Pi Musicbox machen Sie Ihre heimische Musikanlage fit für Spotify und Co. Die Distribution basiert auf Raspbian und unterstützt unter anderem die Streamingdienste Spotify und Google Music. Um Pi Musicbox auf dem RasPi einzurichten, laden Sie das Image von der Projektseite pimusicbox.com auf Ihren Rechner herunter, entpacken das ZIP-Archiv und schreiben das Image auf eine mindestens 1 GByte große (micro)SD-Karte. Anschließend stecken Sie die SD-Karte ans Raspberry Pi an und booten von ihr. Gegen Ende des Bootvorgangs können Sie die IP-Adresse auslesen, unter der Pi MusicBox aus dem Netzwerk zu erreichen ist. Diese geben Sie in einem Browser auf dem Rechner oder Smartphone ein. Weitere Informationen dazu, wie Sie Pi Musicbox ins heimische WLAN integrieren

02

In den Systemeinstellungen können Sie das Startprogramm bearbeiten. Dort wählen Sie die „Deutsche Tastatur“ aus

Tipps & Tricks

03

Einige Sprachpakete für Deutsch fehlen nach der Installation und Konfiguration. Sie lassen sich aber einfach einspielen

und konfigurieren, finden Sie ab Seite 26. Hinweis: Für die Nutzung von Spotify ist ein Premium-Account bei diesem Streamingdienst Voraussetzung.

Tipp 5 Cronjobs einrichten

Cronjobs erlauben es, Aufgaben regelmäßig oder zu einem bestimmten Zeitpunkt auszuführen. Das kann sinnvoll sein, wenn Sie etwa Ihr RasPi jeden Tag um die gleiche Zeit ausschalten oder regelmäßig Backups erstellen möchten. Mit sudo crontab -e öffnen Sie den Crontab mit Root-Rechten. Nutzen Sie Crontab das erste Mal, werden Sie nun aufgefordert, einen Editor auszuwählen. Die Cronjob-Eingabe unterliegt folgender Systematik: m (Minute) h (Stunde) dom (Tag des Monats) mon (Monat) dow (Wochentag) command (Definition der Aufgabe). Der simple Cronjob, jeden Tag um Mitternacht ein BackupSkript zu starten, würde also wie folgt aussehen 0 0 * * * /home/pi/backup.sh Um Cronjobs zum Beispiel täglich, stündlich oder nach einem bestimmten Schema auszuführen, gibt es StandardVariablen: @reboot (nach Neustart); @hourly (stündlich); @daily (täglich); @weekly (wöchentlich); @monthly (monatlich); @yearly (jährlich).

Tipp 6 WLAN einrichten

Ein Raspberry Pi 2 ins LAN zu bringen, ist dank EthernetPort kein Problem. Möchten Sie Ihr RasPi ins heimische WLAN integrieren, benötigen Sie zusätzlich einen WLANAdapter. Leider kann man nicht grundsätzlich davon ausgehen, dass alle gängigen WLAN-Sticks vom Raspberry Pi unterstützt werden. Auf der sicheren Seite sind Sie, wenn Sie zum Beispiel den Edimax EW-7811UN (Preis: ca. 9 Euro) erwerben. Eine ausführliche Übersicht über RasPi-kompa-

05

04

Mit dem cleveren Tool Pi Musicbox bringen Sie Spotify und Co. auf Ihr Raspberry Pi

tible WLAN-Adapter erhalten Sie unter http://elinux.org/ RPi_USB_Wi-Fi_Adapters. Falls Sie bereits einen WLAN-Adapter besitzen, finden Sie folgendermaßen heraus, ob er kompatibel ist: Stecken Sie den Adapter an einen der USB-Ports, starten Sie das Raspberry Pi, öffnen Sie die Kommandozeile und geben Sie dmesg ein. Wird der Adapter erkannt, müssten nun in der Ausgabe Angaben zu Hersteller etc. auftauchen. Nun muss der Adapter noch ins WLAN eingebunden werden. Arbeiten Sie mit der grafischen Oberfläche von Raspbian, ist das Tool WiFi Config hilfreich. Per Scan suchen Sie nach Ihrem Drahtlosnetz und geben die Zugangsdaten ein. Steht Ihnen WiFi Config nicht zur Verfügung, führt der Weg über die Datei /etc/network/interfaces. Öffnen Sie die Datei im Editor und suchen Sie nach Einträgen, die die Zeichenkette „wlan0“ enthalten. Entfernen Sie diese. Damit die IP-Adresse automatisch zugeordnet wird, geben Sie stattdessen folgende Befehle ein: auto wlan0 allow-hotplug wlan0 iface wlan0 inet dhcp wpa-ssid “” wpa-psk “< WLAN-Schlüssel>” Mit diesen Eingaben ist das Drahtlosnetz eingerichtet. Nach einem Neustart verbindet sich das Raspberry Pi mit dem WLAN.

Tipp 7 SSH-Zugang unter Windows

SSH (Secure Shell) erlaubt den Fernzugriff auf das Raspberry Pi, zum Beispiel vom Rechner aus. Das ist sehr praktisch, etwa wenn Sie ein Pi ohne Tastatur und Maus betreiben. In den aktuellen Versionen von Raspbian ist der SSH-Server bereits installiert und muss nur noch aktiviert werden. Dies erledigen Sie am einfachsten über den

Indem Sie Cronjobs einrichten, machen Sie sich das Leben leichter. Regelmäßige Arbeiten werden nun automatisch ausgeführt

06

Wird der WLAN-Stick erkannt, taucht er nach Eingabe von „dmesg“ in der Kommandozeile auf

125

Tipps & Tricks

07

Unter welcher IP-Adresse Sie das Raspberry Pi erreichen, erfahren Sie über die Eingabe von „ifconfig“

Raspberry-Pi-Konfigurator, den Sie per sudo raspi-config öffnen. Navigieren Sie zum SSH-Eintrag und stellen Sie ihn auf Enable. Damit Sie sich vom Rechner aus mit dem Pi verbinden können, müssen Sie nun die IP-Adresse des RasPi herausfinden. Verbinden Sie – falls noch nicht erfolgt – das Pi per Ethernetkabel mit dem Netzwerk und geben Sie ifconfig auf der Kommandozeile ein. In der Ausgabe finden Sie beim Abschnitt eth0 die aktuelle IP-Adresse. Unter Windows nutzen Sie am besten das Tool putty, um eine SSH-Verbindung zum Pi herzustellen (auf HeftDVD ). Laden Sie es einfach von der DVD herunter; es muss nicht installiert werden. Starten Sie anschließend putty.exe. Nun geben Sie bei Host Name (or IP address) die soeben ermittelte IP-Adresse ein. „Connection Type“ muss natürlich auf SSH eingestellt sein. Per Klick auf Open starten Sie die Verbindung.

Tipp 8 Pi mobil nutzen

Üblicherweise wird das Raspberry Pi über ein USB-Netzteil mit Strom versorgt. Was aber, wenn Sie Ihr Pi in die freie Natur mitnehmen möchten? Auch dafür gibt es eine einfache Lösung: Genauso wie Smartphones, Tablets etc. lässt sich auch das Pi über handelsübliche Akkupacks mit Energie versorgen. Das Akkupack sollte eine Ausgangsspannung von 5 Volt und eine Stromstärke von mindestens 700 Milliampere liefern sowie einen USB-Anschluss besitzen.

Tipp 9 Screenshots aufnehmen

Es gibt eine ganze Reihe von Linux-Tools, die Bildschirmfotos erstellen. Eines der bekannteren ist beispielsweise Shutter. Für das RasPi besonders geeignet ist jedoch das äußerst ressourcenschonende Kommandozeilentool scrot. Installation und Bedienung sind unkompliziert.

09

Scrot ist das Tool der Wahl, wenn Sie Ihren Bildschirm abfotografieren möchten – auf Wunsch erhalten Sie auch Screenshots von einzelnen Fenstern

126

08

Mit dem RasPi ins Grüne: Ein Akkupack sorgt dafür, dass der Saft nicht ausgeht, wenn Sie das Pi fernab der Steckdose betreiben

Die Einrichtung erfolgt über das Kommando sudo apt-get install scrot Nun genügt der einfache Aufruf von scrot, um einen Screenshot im PNG-Format zu erstellen. Möchten Sie dem Screenshot gleich einen eigenen Namen geben, geben Sie diesen mit ein, also etwa scrot raspi.png. Soll der Screenshot nicht den gesamten Bildschirm, sondern nur einen Ausschnitt zeigen, erreichen Sie dies durch die Option „-s“. Mit der Option „-d“, ergänzt um eine Sekundenangabe, wird der Screenshot zeitverzögert aufgenommen.

Tipp 10 Keine Angst vor der Bash

Spätestens wenn Sie eigene Projekte mit dem Raspberry Pi umsetzen möchten, werden Sie nicht um die Arbeit mit der Kommandozeile herumkommen. Nachfolgend ein paar Tipps, die den Umgang mit der Bash erleichtern. Damit Sie nicht immer wieder die gleichen Befehle eingeben müssen, bemühen Sie die History: Sie sammelt die Kommandos, die Sie bislang schon eingegeben haben. Mit den Cursortasten blättern Sie in der History, bis Sie den gewünschten Befehl gefunden haben; mit [Entf] löschen Sie nicht mehr Benötigtes oder überschreiben einfach Teile des Kommandos, die geändert werden sollen. Zum Abschluss drücken Sie die Eingabetaste. Ein weiteres Helferlein, das die Eingabe erleichtert, ist die Auto-Ergänzung: Möchten Sie sich etwa den Inhalt des Verzeichnisses „Python-Games“ ansehen, genügt es, auf der Kommandozeile ls py zu tippen und dann die [Tab]-Taste zu drücken. Hier noch einige Tastenkürzel, die Ihnen helfen, sich schnell in der Kommandozeile zu bewegen: Pfeiltasten VOR und ZURÜCK dienen dem Verändern der Cursorposition [STRG]+[K] Bis zum Ende der Zeile löschen [ALT]+[B], Je ein Wort rückwärts („backward“)

10

Die Bash hat einiges zu bieten, um Ihnen die Arbeit auf der Kommandozeile zu erleichtern – etwa die Auto-Ergänzung

Tipps & Tricks

11

12

Sie finden das offizielle und kostenlose Formatierungs-Tool SDFormatter auf sdcard.org

[ALT]+[F] [ALT]+[T]

oder vorwärts („forward“) bewegen Die beiden vorangehenden Wörter tauschen [STRG]+[L] Löscht den Bildschirm [Backspace] Zeichen rückwärts oder [Entf] Zeichen vorwärts löschen Weitere Tipps zur Kommandozeile finden Sie auf Seite 118.

Tipp 11 SD-Karte formatieren

Verwendet man eine SD-Karte mit dem Pi, erkennt Windows vielleicht nicht mehr die komplette Größe. Auch die integrierten Tools können die Karte nicht mehr auf die richtige Größe formatieren. In diesem Fall haben Sie mehrere Möglichkeiten. Unter sdcard.org finden Sie Formatierungsprogramme für Windows und Mac OS X. Nachdem Sie den Lizenzbedingungen zugestimmt haben, können Sie die Software kostenlos herunterladen. Diese Methode wird auch von der Raspberry Pi Foundation empfohlen. Man rät sogar, vor dem Einsatz von NOOBS die entsprechende

Das unscheinbare Kommando dd ist äußerst hilfreich, etwa wenn Sie Ihre SD-Karte klonen möchten

SD-Karte damit zu formatieren. Unter Linux lösen Sie dies zum Beispiel mit GParted. Sie finden die Software in den Repositories der Distributionen oder als Live-Variante unter http://gparted.org/livecd.php.

Tipp 12 Umgang mit dd

Das Programm dd ist unter Linux-basierten Systemen ein sehr vielseitiges Tool. Man kann damit unter anderem Partitionen bitgenau kopieren. Beim Einsatz von dd sollte man allerdings sehr umsichtig sein: Das Tool führt Befehle ohne weitere Rückfragen oder Sicherheitsabfragen aus. Ein Tippfehler führt möglicherweise zu komplettem Datenverlust. Dies ist die Syntax für den Aufruf von dd: dd if=Quelle of=Ziel if steht für „Input File“, es kann sich dabei um ein komplettes Gerät, eine Partition oder eine Datei handeln. of steht für „Output File“, es kann sich dabei wiederum um ein Gerät, eine Partition oder eine Datei drehen.

Impressum

Redaktionsleitung Thorsten Franke-Haverkamp (verantw. für den redaktionellen Inhalt) Chefin vom Dienst Julia Schmidt Redaktion Thorsten Franke-Haverkamp, Angelika Reinhard, Julia Schmidt Text-/Schlussredaktion Birgit Lachmann, Angelika Reinhard Autoren und Mitarbeiter Jürgen Donauer, Patrick Dörfel, Patrick Getzmann, Matthias Kampmann, Peter Nowak, Jörg Reichertz Art Director Stephanie Schönberger Grafikleitung/Titel Antje Küther Grafik Veronika Zangl (verantw.), Esther Göddertz, Isabella Schillert DVD Karsten Bunz, Patrick Dörfel

VERLAG UND REDAKTION Anschrift CHIP Communications GmbH, St.-Martin-Straße 66, 81541 München Tel. (089) 7 46 42-502 (Redaktion), -120 (Fax) Die Inhaber- und Beteiligungsverhältnisse lauten wie folgt: Alleinige Gesellschafterin ist die Burda Tech Holding GmbH mit Sitz in der St.-Martin-Straße 66, 81541 München Geschäftsführer Thomas Koelzer (CEO), Markus Scheuermann (COO) Verleger Prof. Dr. Hubert Burda Executive Director Florian Schuster Director Sales Erik Wicha, Tel. (089) 7 46 42-326, Fax -325, [email protected], chip.de/media Key Account Manager Katharina Lutz, Tel. -116, [email protected] Elina Auch, Tel. -317, [email protected]

Sales Manager Carina Schoellhammer, Tel. -108, [email protected] Verantwortlich für Burda Community Network GmbH, den Anzeigenteil Kai Sahlfeld, Fax (089) 92 50-2581, [email protected] Herstellung Andreas Hummel, Frank Schormüller, Medienmanagement, Vogel Business Media GmbH & Co. KG, 97064 Würzburg Druck Vogel Druck & Medienservice GmbH, Leibnizstr. 5, 97204 Höchberg Director Distribution Andreas Laube Vertrieb MZV GmbH & Co. KG, 85716 Unterschleißheim Internet: www.mzv.de Kontakt Leserservice [email protected] © 2015 by CHIP Communications GmbH. Nachdruck nur mit schriftlicher Genehmigung des Verlags. Nachdruck Dr. Petra Umlauf, [email protected], Tel. (089) 7 46 42-243 Bezugspreise/Abonnement Einzelheft: 9,95 Euro; Ausland: Österreich 11,50 Euro; Schweiz 19,50 SFr; BeNeLux 11,50 Euro Nachbestellung (zzgl. Versand) chip-kiosk.de Some articles in this issue are translated from „Linux Format“ and are the copyright of or licensed to Future Publishing Limited, a Future plc group company, UK 2015. Used under licence. All rights reserved.

127

Zubehör

Sinnvolle Extras rund ums Pi

Sie suchen ein praktisches Gehäuse oder eine Kamera für Ihr Pi? Oder Sie wollen den Klang des Minirechners ordentlich aufmöbeln? Auf diesen Seiten finden Sie nützliches Zubehör

130 Schutz für die Platine: Gehäuse

Staub und Erschütterungen mag das Pi nicht. Ein Case ist also sinnvoll – und einige Modelle sind dazu noch richtig stylish

132 Besserer Klang dank Audiokarten

Die analoge Soundausgabe des Raspberry Pi ist mehr als bescheiden. HiFiBerry & Co. schaffen Abhilfe

134 Compute Module

Wenn Sie kommerzielle Raspberry-Pi-Projekte planen, ist diese Pi-Variante genau das Richtige für Sie

136 Pi2Go Lite

Preisgünstiger Einstieg in die Welt der Robotik: Richtig programmiert, erkundet der kleine Roboter seine Umwelt

137 Drucken im Kleinstformat: Pipsta

Der Mini-Thermodrucker sitzt huckepack auf dem Pi und gibt Daten – etwa von Sensoren – auf Papier aus

138 Pi-Kameramodul / Cambox

Eine Kamera ist für viele Projekte ein Muss, ob zur Hausüberwachung oder sogar zum Beobachten von Tieren

139 Displays

Für mobile Projekte benötigt man auch ein kleines, portables Display. Der Trend geht zu 7 Zoll

140 PiFace Digital & Control / XLoBorg

Wenn Sie mehr Anschlüsse oder Bewegungssensoren benötigen, sollten Sie diese Erweiterungen in Betracht ziehen

142 Rapiro / Lightberry

Erlernen Sie mit dem Bausatz von Rapiro die Prinzipien der Robotik oder gönnen Sie Ihrem Fernseher Ambient-Lighting

143 Arcade Kit / BrickPi

Mit dem Arcade Kit wird das RasPi zur Spielekonsole. BrickPi ist ein Adapter für Lego-Mindstorms-Projekte

144 Tastatur / Edimax / Pi USV +

Hier finden Sie praktisches Zubehör wie einen WLANAdapter oder Pi USV+ für eine gesicherte Stromversorgung

Sie möchten sich im Internet bewegen, ohne dass NSA & Co. Sie ausspähen? Mit dieser Box surfen Sie via Tor-Netzwerk

146 PIR Alarm

Eine Alarmanlage für 16 Euro ruck, zuck selber bauen – mit dem PIR Alarm GPIO-Kit geht das ganz einfach

128

Foto: iStockphoto/Gabor

145 Anonymebox

Zubehör

Cases fürs Pi Von preisgünstig bis extrem robust: Die Auswahl an Gehäusen ist riesig

Seite 130

Audiokarte nachrüsten So verbessern Sie den Sound des Raspberry Pi nachhaltig

Seite 132

Anonym ins Netz Die Anonymebox bietet einfachen Zugang zum Tor-Netzwerk – für alle Ihre Geräte im LAN oder WLAN

Seite 145 129

Zubehör

Rundumschutz für die Platine

Für all diejenigen, die ihr Raspberry Pi im Dauereinsatz haben, ist ein Gehäuse eine lohnende Anschaffung. Passende Cases gibt es schon für wenig Geld INFO Die hier vorgestellten Cases sind kompatibel mit dem aktuellen Raspberry Pi 2 Modell B und dem baugleichen Modell B +. Sie finden aber auch für ältere RasPis noch passende Gehäuse in den Zubehör-Shops.

A

uch wenn die Puristen unter den RasPi-Fans sicher den spröden Charme der nackten Platine schätzen: Es ist durchaus ratsam, die empfindlichen Bauteile des Minicomputers gegen Staub, Feuchtigkeit und mechanische Erschütterungen zu schützen. Raspberry-Pi-

Basic Case

Fotos: Hersteller

Für alle, die keinen Schnickschnack brauchen: Das transparente Gehäuse erhalten Sie bereits für 3,45 Euro. Inklusive Schrauben, Muttern und Distanzbolzen. knowhowtec.de

Pi-Blox

Für alle, die es verspielt mögen: Das Kunststoffgehäuse im LegoDesign ist ganz neu am Markt und in fünf verschiedenen Farben zu haben. Preis: ca. 6 Euro. de.farnell.com

130

Shops wie Knowhowtec.de oder AVC-Shop.de haben eine riesige Auswahl an passenden Cases im Sortiment – von supergünstig bis extrem robust, vom Mehrstöcker bis zum Coupé. Einige Modelle, die uns besonders gut gefallen haben, stellen wir auf dieser Doppelseite vor. // re

Zubehör TIPP Auch für spezielle RasPiProjekte gibt es passende Gehäuse, beispielsweise wenn Sie Ihr Pi mit einer Audiokarte kombinieren.

MultiPi 2.0 Kristall

Für alle, die mehr als ein RasPi besitzen: In der Basisversion bietet das MultiPi Platz für zwei Pis. Es lässt sich jedoch mit Erweiterungskits beliebig aufstocken. Preis: 16,95 Euro. knowhowtec.de

Style-Case

Für Designfans: Das Plexiglasgehäuse sieht schick aus und bietet gleichzeitig Schutz fürs Pi. Der Deckel lässt sich ganz einfach durch Lösen der Schrauben öffnen. Preis: 8,95 Euro. knowhowtec.de

Aluminiumgehäuse

Für hohe Beanspruchung: Das Alu-Case ist extrem widerstandsfähig und bietet perfekten Schutz für die empfindliche Platine. Auch in Schwarz erhältlich. Preis: 17,90 Euro (silberfarben). www.avc-shop.de

PiBow Coupé Flotilla

Für Bastler, die Luft nach oben brauchen: Alle Schnittstellen inklusive der GPIO-Leiste sind frei zugänglich. Praktisch: Alle Ports sind mit ihrer Funktion beschriftet. Preis: 11,50 Euro. www.avc-shop.de

131

Zubehör

Mehr Klangqualität

Audiokarten wie das HiFiBerry werden einfach aufs Raspberry Pi aufgesteckt

Als Soundmaschine tritt das Raspberry Pi normalerweise nicht in Erscheinung. Was fehlt, ist ein hochwertiges Audio-Interface. Abhilfe bieten Audiokarten

Besitzer eines älteren RasPi (Modell B, A) greifen zum Vorgänger HiFiBerry DAC. Hier müssen jedoch noch einige Pins nachgelötet werden.

D

arin sind sich alle RaspberryPi-Nutzer einig: Bei allen Vorzügen, die der Mini-Computer hat – die Soundausgabe ist mehr als bescheiden, jedenfalls was die analoge Klinkenbuchse angeht. Grund: Um den Herstellungspreis niedrig zu halten, bringt die Platine des Raspberry Pi keinen aufwendigen Digital-AnalogWandler (DAC) mit. Besser ist es um die Tonqualität bestellt, wenn Sie ein Endgerät, etwa einen Fernseher, über den HDMIAusgang anschließen. In diesem Fall werden Video-und Audiosignal digital übertragen und die Tonqualität wird – je nach Endgerät – im Normalfall zufriedenstellend sein.

Praktisch: Passende Gehäuse sowie fertige Bundles hat HiFiBerry ebenfalls im Sortiment

Soundlösung HiFiBerry

Kurz-Check HiFiBerry DAC+ Hersteller: Modul 9 Web: www.hifiberry.com Preis: ab 30 Euro Fazit: Mit geringem Aufwand machen Sie aus Ihrem Raspberry Pi einen hochwertigen Audioplayer.

132

Es gibt mehrere Möglichkeiten, die – analoge – Soundqualität des Raspberry Pi zu verbessern. Die unkomplizierteste und preisgünstigste Lösung besteht in der Nachrüstung einer USBSoundkarte (siehe Seite gegenüber). Allerdings arbeiten nicht alle Soundkarten mit dem Raspberry Pi zusammen. Eine Liste der kompatiblen Modelle finden Sie unter http://elinux. org/RPi_VerifiedPeripherals#USB_ Sound_Cards. Klangwunder darf man sich vom Zusammenspiel von Raspberry Pi und USB-Soundkarte allerdings nicht erwarten. Wer wirklich in die Soundqualität seines RasPi investieren will, greift zu einer anderen Lösung, nämlich einer Audiokarte, die direkt auf die GPIO-Leiste des Pi aufgesteckt wird. Solche Karten gibt es von verschiedenen Herstellern, etwa von Cirrus Logic (siehe Seite gegenüber).

Eine ganze Palette von hochwertigen Audiokarten für das Raspberry Pi bietet der Schweizer Hersteller Modul 9 unter der Bezeichnung HiFiBerry an. Besonders beliebt in der audiophilen Raspberry-Pi-Community: das HiFiBerry DAC+. Ebenso wie die Cirrus Logic Audio Card wird die Platine direkt auf die 40-polige GPIO-Leiste des RasPi aufgesteckt und nimmt hier den digitalen Datenstrom ab. Im Lieferumfang enthalten sind kleine Abstandshalter, die dafür sorgen sollen, dass die Aufsteckplatine sicher auf dem Raspberry Pi sitzt. Die Handhabung ist völlig unkompliziert, das HiFiBerry ist im Handumdrehen montiert.

Etwas schwieriger gestaltet sich die Inbetriebnahme softwareseitig. Damit das Raspberry Pi die Audiokarte erkennt, müssen Sie entweder selbst Hand anlegen und die Konfiguration Ihres Raspi-OS anpassen. Oder Sie setzen ein speziell für das HiFiBerry angepasstes Image ein. Für beide Optionen stellt HiFiBerry unter www.hifi berry.com/guides umfangreiche Hilfestellung beziehungsweise die entsprechende Software bereit.

Das passende Raspbian

Im Test gelang die Inbetriebnahme mit dem von HiFiBerry bereitgestellten Raspbian-Image völlig problemlos. Dagegen verweigerte das Pi unter einem handelsüblichen aktuellen Raspbian hartnäckig die Zusammenarbeit mit dem HiFiBerry. Zumindest weniger versierte RasPi-Nutzer sollten daher eher den komfortablen Weg in Form eines angepassten Images wählen. In jedem Fall: Auch wenn Sie etwas Zeit und Geld investieren müssen – es lohnt sich. Mit relativ geringen Mitteln verwandeln Sie Ihr Raspberry Pi auf diese Weise in einen hochwertigen Audioabspieler, der – vor allem im Zusammenspiel mit der heimischen Musikanlage – eine gute Figur macht. Das DAC+ wird in zwei Ausführungen angeboten. Die Audioausgabe erfolgt im ersten Fall über eine Klinkenbuchse, in der „RCA-Version“ über zwei Cinch-Buchsen, die Sie per CinchKabel mit der Stereoanlage verbinden. Ganz neu im Angebot: Der DAC+ Light, eine etwas preisgünstigere Variante, und der DAC Pro für anspruchsvolle Sound-Enthusiasten. //re, jr

Fotos: Hersteller

TIPP

Zubehör

Cirrus Logic Audio Card Viele musikbegeisterte Anhänger des Raspberry Pi hatten schon daran gezweifelt, ob es einen Nachfolger der beliebten „Wolfson Audio Card“ geben würde. Doch mit der Markteinführung der „Cirrus Logic Audio Card“ hatte das Warten ein Ende. Der neue Name war sicherlich für viele überraschend, lässt sich aber schnell erklären: Der texanische ChipHersteller Cirrus Logic hat vor einiger Zeit Wolfson Microelectronics übernommen, also den Hersteller, der die Wolfson Audio Card für das Raspberry entwickelt hatte. Der entscheidende Unterschied zwischen der Cirrus Logic Audio Card und dem Vorgänger Wolfson Audio Card: Damit die Audiokarte steckerkompatibel mit den aktuellen Raspberry-Pi-Modellen ist, wurde das Layout der Platine modifiziert. Die zirka 40 Euro teure Karte ist wie der Vorgänger als Aufsteckplatine konzipiert und passt auf die erweiterte GPIO-Leiste mit ihren 40 Pins. Die bei der Wolfson Audio Card noch vorhandenen Aussparungen in der Platine sind dem Redesign zum Opfer gefallen. Sie sind auch nicht mehr nötig, da mehrere Bauelemente bei den aktuellen Modellen einen neuen Platz gefunden haben oder entfernt wurden. Im Prinzip hat sich am Innenleben und den technischen Spezifikationen bei der Cirrus Logic Audio Card gegenüber dem Vorgänger nichts Entscheidendes geändert. Mit der aktuellen Karte ist eine hochwertige 24-Bit-HD-Audiowiedergabe möglich, was das ohnehin breit gefächerte Einsatzspektrum des Raspberry Pi nochmals gehörig erweitert. Herzstück der Cirrus Logic Audio Card ist der WM5102-Chip, der auch in diversen Handys, Tablets und anderen Geräten verbaut ist. Damit die Verbindung der beiden Platinen mechanisch wirklich stabil ist, liegt der Erweiterungskarte noch ein kleines Montage-Set mit zwei Schrauben aus Kunststoff und einem Abstandshalter bei. In ein normales Standardgehäuse fürs Pi passt diese Konstruktion dann natürlich nicht mehr. Mit der Cirrus Logic Audio Card erweitern Sie Ihr Raspberry Pi um verschiedene Schnittstellen: Dazu gehören zwei 3,5-mm-Stereo-Klinkenbuchsen (getrennter Eingang und Ausgang), zwei Cinch-Buchsen für S/PDIF (getrennter Stereo-Eingang/-Ausgang) sowie ein hochwertiger Kopfhörerausgang (Headset-Support). Am Anschluss „SPKOUT“ lassen sich passive Lautsprecher mit maximal 1,4 Watt pro Kanal anschließen. Die nötige Leistung liefert der „On Board Class D Power Amplifier“. Das

Das Platinendesign der Cirrus Logic Audio Card passt sich an die aktuellen Raspberry-Pi-Modelle an

setzt allerdings eine zusätzliche externe Stromversorgung (5 Volt) voraus. Die passende Buchse (als „AUX Power in“ bezeichnet) befindet sich auf der Platine. Ein Netzteil ist jedoch nicht Teil des Lieferumfangs. Zu den weiteren Leistungsmerkmalen der Cirrus Logic Audio Card gehören zwei integrierte digitale MEMS-Mikrofone, die sich zum Beispiel für die Sprachsteuerung nutzen lassen. Sie sind fest auf der Platine verbaut – genauso wie beim Vorgänger. Ebenso befindet sich auf der neuen Erweiterungsplatine eine 20-polige Stiftleiste (Expansion Header), die zum Beispiel von Entwicklern genutzt werden kann. Etwas aufwendig gestaltet sich die Inbetriebnahme: Sie müssen zunächst Raspbian neu installieren. Dazu benötigen Sie ein angepasstes Image (wegen der Treiber), das Sie hier bekommen: http://goo.gl/ ciEYCM. Es ist identisch mit dem für die Wolfson Audio Card. Nach dem Booten erscheint LXDE mit einem separaten Audioplayer. Bei Problemen sollten Sie die mitgelieferten Skripte im LXTerminal starten und ein wenig damit experimentieren. Hersteller: Cirrus Logic Erhältlich bei Knowhowtec.de, Preis: 39,95 Euro

Basislösung: USB-Soundkarte Musikhörer, die ihr Raspberry Pi zum Beispiel als preiswerte Jukebox nutzen wollen oder einfach nur Spaß an Computerbasteleien haben, dürfte der magere Sound des Winzlings nicht gerade begeistern. Sind Ihnen Lösungen wie das hier vorgestellte HiFiBerry oder die Cirrus Logic Audio Card zu teuer oder zu aufwendig, bleibt immer noch eine USB-Soundkarte als Alternative zum analogen Ausgang mit der 3,5-mm-Klinke.

In der Regel bekommen Sie solche Soundkarten bereits für unter zehn Euro. Wer bereit ist, mehr Geld zu investieren, erhält mit der HiRes USBDAC SABRE 24/96 mit Kopfhörerverstärker eine Highend-Soundkarte. Dafür werden allerdings zirka 50 Euro fällig. Generell sollten Sie beim Kauf beachten, dass nicht jede Karte mit dem Raspberry Pi kompatibel ist (http://elinux.org/RPi_VerifiedPeripherals#USB_Sound_Cards). Ein generelles Problem kann allerdings bei USB-Soundkarten im Zusammenspiel mit dem Raspberry Pi auftauchen: Die Karte bleibt stumm, im Kopfhörer kommt kein Ton an. Eine kleine Änderung in der ALSAKonfigurationsdatei schafft hier Abhilfe. Schließen Sie die Soundkarte an und booten Sie das RasPi. Prüfen Sie, ob die Soundkarte erkannt wird. Geben Sie im Terminal lsusb ein. Jetzt erscheint zum Beispiel „C-Media Electronics, Inc. Audio Adapter“. Editieren Sie die Datei „alsa-base.conf“. Das geschieht mit sudo nano/etc/modprobe.d/alsa-base.conf Ändern Sie den Parameter „-2“ in der Zeile „options snd-usb-audio index=-2“. Tragen Sie als neuen Wert „0“ (Null) ein. Speichern Sie die Korrektur. Booten Sie das Raspberry Pi neu. Jetzt sollte die Musik über den Kopfhörer ausgegeben werden.

Für erste Klangexperimente mit dem Raspberry Pi genügt eine USB-Soundkarte

133

Zubehör

Raspberry Pi Compute Module

Sie planen kommerzielle Raspberry-Pi-Projekte? Diese Weiterentwicklung des winzigen Rechners könnte genau das sein, wonach Sie gesucht haben INFO Das Modul basiert auf dem flexiblen Raspberry Pi, ist aber eine teurere, robustere Basis für die kommerzielle Produktentwicklung.

D

ie Open-Source-Community liebt das Raspberry Pi. Tausende von Hackern und Bastlern realisieren Projekte mithilfe des Rechners in Kreditkartengröße. Das Raspberry Pi gibt es erst seit einigen Jahren. Dennoch setzt man den Winzling bereits auch für größere kommerzielle Projekte ein – zum Beispiel ist ein Raspberry Pi für die Qualitätssicherung in einer Produktionsanlage in Wales zuständig. Für solche Einsätze wird das RasPi von der jeweiligen Firma an die eigenen Bedürfnisse angepasst. Die Modifikation eines existierenden Produkts ist allerdings nicht immer die eleganteste Lösung. Hier kommt das Raspberry Pi Compute Module ins Spiel. Das Compute Module sieht eigentlich wie ein ganz normales SODIMMSpeichermodul für Notebooks aus. Es handelt sich dabei allerdings um ein vollständiges Raspberry Pi Modell A, das man in diesen Formfaktor „gequetscht“ hat. Durch die SODIMMBauweise lässt sich das Compute Module in allen möglichen Projekten

Das Compute Module ist ein kleines PCB, das die Größe eines SODIMMs besitzt. Es eignet sich ideal für die Integration in industrielle Applikationen

einsetzen, da es mit einem besonderen Erweiterungsboard zusammenarbeitet. Als Teil eines Gesamtpakets speziell für Entwickler bietet das Compute Module ein Breakout Board, das sich Compute Module IO Board oder kurz CMIO nennt. Durch dieses CMIO-Board haben Sie Zugriff auf die GPIO-Pins, die der BCM2835-Chip zur Verfügung stellt – alle 120 wohlgemerkt. Das Compute Module bringt außerdem vier GByte eMMC-Flash-Storage mit. Darauf speichern Sie unter anderem das Betriebs-

Compute Module auf einen Blick

system. Denn das Modul verfügt nicht über einen (micro-)SD-KartenSpeicher, wie Sie das von einem normalen Raspberry Pi kennen. Stattdessen installieren Sie das Betriebssystem mithilfe einer USB-Verbindung direkt auf dem eMMC-Speicher des CMIO-Boards. Hierzu müssen Sie die Platine über den angebrachten MicroUSB-Steckplatz, der mit USB OTG (On The Go) beschriftet ist, mit Ihrem Computer verbinden. Wir gehen später im Artikel noch genauer darauf ein. Wenn Sie sich das CMIO-Board genauer ansehen, werden Sie außerdem unter anderem auch eine Schnittstelle für USB 2.0 entdecken.

Reichlich GPIO

Das Compute Module des Raspberry Pi bringt insgesamt 120 GPIO-Pins mit (links). Das reicht

134

selbst für sehr große Projekte. Zum Vergleich: Die aktuellen Modelle des Raspberry Pi haben lediglich 40 GPIO-Pins zu bieten.

Wenn Sie das CMIO drehen, finden Sie vier Ports, die mit CAM0, CAM1, DISP0 und DISP1 beschriftet sind. Diese Ports sind für die offizielle Kamera des Raspberry Pi und den Bildschirm gedacht. Die Ports unterscheiden sich von denen, die Sie auf einem Standard-Raspberry-Pi finden. Wollen Sie diese mit der Kamera und dem Bildschirm nutzen, benötigen Sie einen Adapter. Das ist allerdings kein Grund zur Sorge, da die Adapter von einer ganzen Reihe von Herstellern angeboten werden. Es ist davon auszugehen, dass diese Adapter sogar in Zukunft gebündelt mit einigen Kame-

Fotos: Linux Format

Jede Menge Ports

Zubehör ra- und Bildschirm-Angeboten erhältlich sein werden. Wir haben den USB-OTG-Port bereits erwähnt. Über diesen Port und mit einem speziellen Softwaretool, das Sie von der offiziellen Website herunterladen können, verbinden Sie das Compute Module mit Ihrem Rechner. Im Anschluss haben Sie Zugriff auf den eMMC-Flash-Storage, wie Sie das von SD- oder USB-Speichern her gewohnt sind. Das CMIO benötigt beide Micro-USB-Ports – einen für die Stromversorgung und den anderen für die PC-Verbindung. Sobald eine Verbindung hergestellt ist, können Sie Ihre favorisierte Distribution auf das eMMC klonen, zum Beispiel mit dd. Wir haben uns in unserem Fall für das offizielle Raspbian entschieden. Nach der Installation von Raspbian starteten wir das Modul und waren von der Bootzeit positiv überrascht. Das liegt am eMMC-Speicher, der, anders als die SD, direkt verfügbar ist. Nach dem Start lässt sich das Gerät mithilfe von raspi-config konfigurieren. Im Anschluss daran folgt ein Neustart. Danach wird der Standard-Anmeldebildschirm präsentiert.

Pins und Python

Widmen wir uns nun der größten Änderung: GPIO. Das CMIO macht alle 120 GPIO-Pins nutzbar, die ein BCM2835 zur Verfügung stellt. Dafür gibt es zwei Reihen mit jeweils 60 Pins. 45 davon lassen sich per Software und der Python-Bibliothek RPi.GPIO steuern. Die restlichen Pins sind für Strom und spezielle externe Geräte wie die

Kamera reserviert. Das Original-Raspberry-Pi verwendet den gleichen BCM2835-Chip, kann aber nur mit einer kleinen Auswahl an GPIO-Pins umgehen. Um GPIO zu testen, haben wir Pins adressiert, die auf dem Standard-Pi nicht verfügbar sind. Damit wollten wir prüfen, ob die Bibliothek RPi.GPIO auch mit dem CMIO funktioniert. Wir haben ein Python-Skript benutzt, das LEDs mithilfe eines Breadboards zum Leuchten bringt. Das Skript hat auf Anhieb funktioniert – die Python-Bibliothek wird vollständig unterstützt. Das Layout unterscheidet sich allerdings vom Standard-Pi. Außerdem können Sie keine für das Original entworfenen Boards mit dem CMIO verbinden. Mit Adapterkabeln funktioniert es möglicherweise, wird aber derzeit nicht offiziell unterstützt. Das CMIO verwendet das Broadcom-Layout für die Pin-Zuweisung. Weiterhin ist das Board beschriftet, sodass Sie den gewünschten Pin leicht finden. Achtung: Wollen Sie das in Python umsetzen, müssen Sie dies wie folgt adressieren: GPIO.setmode(GPIO.BCM) ... und nicht wie gewohnt: GPIO.setmode(GPIO.BOARD) Diese Änderung ist zwar nur minimal, macht aber den entscheidenden Unterschied aus. Das Compute Module Developer Kit richtet sich nicht an Bastler. Dafür sorgt schon der Preis von derzeit rund 100 Euro. Die Boards richten sich an Entwickler, die das CMIO für kommerzielle Produkte verwenden möchten.

Das CMIO ist größer als das Raspberry Pi. Deswegen gibt es mehrere Optionen in Bezug auf potenzielle Erweiterungen

Außerdem lässt sich das Compute Module auch in maßgeschneiderten Boards einsetzen. Ein Beispiel ist die Kickstarter-finanzierte Kamera OTTO, die auf dem Compute basiert. OTTO verbindet sich per WLAN mit dem Smartphone und ermöglicht unter anderem die Aufnahme von Bildfolgen als animierte GIF-Grafiken. Wie beim Pi fließen alle Gewinne, die mit dem Compute Module erwirtschaftet werden, direkt zurück in die Raspberry Pi Foundation. //jd

Techn. Daten RasPi Compute Module Development Kit

45 der 120 GPIO-Pins lassen sich mit Software und der Python-Bibliothek RPi.GPIO steuern

Hersteller: RasPi Foundation Web: www.raspberrypi.org Preis: ca. 100 € IO-Board: GPIO-Schnittstellen, Micro-USB, USB, 2x CSI-Port für Kamera-Boards, 2x DSI-Port für Display-Boards, HDMI Compute Module: SODIMM-Größe, BCM2835-Chip, 512 MB RAM, 4 GB eMMC Flash Memory, 200-Pin-Conn.

135

Zubehör

Pi2Go Lite

Mit dem RasPi auf Erkundungsfahrt – ein cooles Robotik-Kit zum Taschengeldpreis Kompaktes Design: Die Platinen sind direkt miteinander verbunden. Das vermeidet Kabelsalat

Ultraschall-, Infrarot- und Reifensensoren sind an Bord – der Pi2Go Lite ist für Erkundungsfahrten gut gerüstet

136

Pi2Go Lite

Hersteller: 4tronix Web: http://4tronix.co.uk Preis: zirka 50 Euro Fazit: Ein Robotik-Kit, das sich durch seinen niedrigen Preis und die gute Grundausstattung auszeichnet

HC-SR04, mit dem der Pi2Go Lite zum Beispiel den exakten Abstand zu Objekten messen kann, die vor ihm liegen. Entsprechend programmiert, weicht der Pi2Go Lite dann den Hindernissen aus, die seinen Weg blockieren. Auf der linken und rechten Seite der Hauptplatine befinden sich zusätzliche Infrarotsensoren, die ebenfalls Objekte erfassen. Sie erkennen Gegenstände, die sich innerhalb eines Radius von 10 Zentimetern – von den beiden Ecken aus gesehen – befinden. Für Bastler und Programmierer besonders interessant: Unterhalb der Hauptplatine ist eine weitere Platine mit Infrarotsensoren angebracht, die den Verlauf einer Linie erkennen und den Pi2Go Lite so entlang einer vorgezeichneten Bodenlinie führen können. Sowohl der Roboter als auch das Raspberry Pi werden von sechs AABatterien gespeist, die auf der Ober-

Auf einen Blick

Sensorik

Kurz-Check

Stromversorgung

Handelsübliche Batterien oder Akkus genügen, um den Roboter anzutreiben und seine Elektronik zu versorgen

seite des Roboters angebracht sind. Geht also unterwegs der Saft aus, lassen sich die Batterien beziehungsweise die Akkus sehr leicht und schnell austauschen. Es wäre natürlich schön, wenn der Pi2Go in der nächsten Modellgeneration einen aufladbaren Akkupack mit USB-Anschluss hätte. Mit seinen Abmessungen von exakt 100 x 80 mm lässt sich der Pi2Go Lite mit dem RasPi A und B betreiben, ebenso wie mit den Modellen A+, B+ und RasPi 2. Zum Betrieb benötigen Sie auf jeden Fall die allerneueste Raspbian-Version. Sie müssen zudem die I2C-Funktionen des Pi aktivieren. Dazu gibt es diverse Skripte und Anleitungen, zum Beispiel unter https://github.com/heeed/pi2c. Zum Programmieren des Pi2Go Lite verwenden Sie eine Python-Bibliothek, die von 4tronix stammt, dem Hersteller des kleinen Pi2Go Lite. Mithilfe dieser Bibliothek greifen Sie auf die Sensoren des Roboters zu, lesen die Daten aus und legen fest, wie der Pi2Go reagieren soll, wenn er auf ein Hindernis zufährt. Unser Fazit, nachdem wir einige Stunden mit dem Pi2Go Lite experimentiert haben: Preiswerter kann man kaum in die faszinierende Welt der Robotik einsteigen. Man braucht zwar eine Weile, um sich in den Pi2Go hineinzudenken – aber schon nach kurzer Zeit hatten wir ein Programm umgesetzt, mit dem der kleine Roboter ohne große Blessuren seine Umwelt erkunden konnte. Zudem ist der Spaßfaktor gigantisch; am Pi2Go Lite werden Sie viel Freude haben. //jr

TIPP Unter der Webadresse http://goo.gl /RdxnEG finden Sie bei YouTube eine Schnellanleitung zum Zusammenbau des Pi2Go.

Fotos: Linux Format

K

aum ein Science-Fiction-Film kommt ohne sie aus: Was wäre zum Beispiel Star Wars ohne R2-D2 oder C-3PO, den Protokolldroiden, der rund sechs Millionen Sprachen spricht? Zugegeben, da kann der kleine Pi2Go Lite nicht mithalten, er versteht – so weit bekannt ist – nur Python. Und mit seinen sechs Batterien im AA-Format bleiben auch längere Weltraumausflüge Utopie. Auf der Erde aber zeigt der kleine Roboter erstaunliche Qualitäten: Als Erstes sind die geringen Anschaffungskosten der Lite-Version zu nennen, die bei rund 50 Euro liegen (ohne Raspberry Pi). Das ist ziemlich wenig, wenn man andere programmierbare Roboterbaukästen zum Vergleich heranzieht, etwa die MindStorm-Serie von Lego. Sie erhalten das Pi2Go entweder im englischen Shop oder auf Ebay. Besonders günstig ist das Pi2Go Lite: Hierbei handelt es sich um eine abgespeckte Variante des Pi2Go, die mit knapp 80 Euro zu Buche schlägt. Um die Produktionskosten zu senken, kommt die Lite-Variante als Bausatz, bei dem Sie einige Bauelemente noch selbst verlöten müssen. Entsprechendes Werkzeug (Lötzinn, Lötkolben) ist also Voraussetzung. Der „große Bruder“ ist dagegen komplett mit SMDBauelementen bestückt, die bereits ab Werk auf der Platine angebracht sind. Der Pi2Go Lite ist bereits mit einer Reihe von Sensoren versehen: Da wäre zum Beispiel der Ultraschallsensor

Zubehör

Pipsta

Drucken im Kleinstformat. Was alles kann der Mikro-Printer, wenn er mit dem Raspberry Pi zusammenarbeitet?

D

rucker sind eigentlich eher langweilige Geräte, sieht man von 3D-Modellen ab. Eine Mini-Ausgabe, von einem Raspberry Pi huckepack genommen und gesteuert, ist aber doch spannend und fällt schon optisch auf. Pipsta ist eine Druckerlösung für alle Modelle des Kleinstrechners. Er kommt für gut 90 Euro als Bausatz von Able Systems aus Großbritannien. In gut einer Stunde ist er zusammengesetzt und funktionsbereit. Den Lötkolben kann man in der Schublade lassen. Pipsta besteht aus drei Komponenten: Der Printer selbst ist ein typischer Thermodrucker. Ausdrucke entstehen wie Kassenbons durch punktuell auf das Papier aufgebrachte Hitze. Es muss sich dabei um spezielles Ther-

Kurz-Check Bausatz Pipsta Thermodrucker Hersteller: Able Systems Web: www.pipsta.co.uk Preis: ca. 90 Euro Fazit: Eine spannende Lösung für das direkte Drucken etwa von Wetterdaten oder QR-Codes.

Der Pipsta ist zwar ein ziemlich kleiner Kollege, aber seine Druckergebnisse können sich sehen lassen

mopapier handeln – archivtauglich sind die Ausdrucke daher nicht. Der Controller sitzt unter der Druckeinheit und lässt sich dort mit dem Raspberry Pi verbinden. Das Maschinchen bringt übrigens seine eigene Stromversorgung mit. Teil drei ist das Acrylglas-Gehäuse, das aus sechs Scheiben besteht, die ohne Werkzeuge zusammengesteckt werden. Das Raspberry Pi wird am Boden des Gehäuses befestigt. Ein Kabel wird mit dem Pipsta verbunden, um den Druckkopf zu erden. Strom bekommt Pipsta wie bereits erwähnt aus der eigenen Versorgung, weil das Raspberry Pi an keiner Schnittstelle genügend Energie liefert. Obwohl das Pi auf diese Weise gut verpackt ist, hat man immer noch Zugang zur Stromversorgung und zu den HDMI-, USB-, und Ethernet-Schnittstellen. Ein etwas zu knapp geratener Ausschnitt im Gehäuse macht die Arbeit mit der GPIO-Schnittstelle allerdings zur Fummelei. Das Gleiche gilt für den SD-

Pipsta auf einen Blick

Simpler Aufbau

Das Acrylgehäuse des Pipsta lässt sich leicht zusammenstecken. Der Zugang ist nicht bei allen Ports optimal

Viele Beispiele

Die Bitbucket-Seite (https://bitbucket. org/ablesystems/pipsta) liefert jede Menge Informationen und Workshops

Kartenslot. Allerdings kann man das Gehäuse fürs erste Testen der Installation einfach weglassen. Übrigens passt trotz allem noch eine Raspberry-Pi-Kamera an das Gerät. Sie lässt sich hinten durch die Öffnung an der Seite des Ethernet-Anschlusses anbringen. Eine (englischsprachige) Installationsanweisung deckt im Grunde jeden Aspekt der Inbetriebnahme ab und steht online auf Bitbucket (https://bitbucket.org/ablesystems/ pipsta) zur Verfügung. Die Software lässt sich einfach einspielen. Allerdings steht ein bisschen Konfigurationsarbeit an, damit der User über den Pipsta drucken kann. Für Einsteiger ist das sicher eine Hürde, aber derzeit wird bereits an der Unterstützung von CUPS gearbeitet. Nach der Installation des pipPython-Paketmanagers werden die Abhängigkeiten aufgelöst, etwa für die Bildkonvertierung und das Erzeugen von QR-Codes. PythonSoftware und Beispiele speichern Sie ins Homeverzeichnis und entpacken sie. Pipsta nutzt derzeit noch Python in Version 2.7. Der Umstieg auf Version 3 ist in Vorbereitung. Zum Ausprobieren nutzen wir das Bitbucket-Beispiel „Basic Print“. Damit erzeugen wir einen Testausdruck auf dem „Hello World from Pipsta“ zu lesen sein sollte. Und wie kann man den Pipsta sinnvoll einsetzen? Natürlich ist es ein feines Ausgabegerät, um Daten von Sensoren zu zeigen, zum Bespiel von einer Wetterstation. Oder Sie setzen ein Twitter-Interface auf. Auf der Projekthomepage gibt es viele Anregungen! //mk

137

Zubehör

Pi-Kamera

Ein Kameramodul macht mehr aus Ihrem Pi Langweilig wird es Ihnen mit dem Raspberry Pi sicherlich nie. So lässt sich der Mini-Computer nachträglich mit einem digitalen Kameramodul ausrüsten – ideal für Experimente, etwa im Bereich der Naturbeobachtung, der Hausüberwachung, oder um Physik- oder Chemieprojekte zu dokumentieren. Das kompakte Kameramodul ist überall im Versandhandel, etwa bei Amazon, Conrad, ELV oder Reichelt Elektronik für rund 30 Euro zu bekommen. Seine technischen Daten können sich sehen lassen: Das digitale Auge arbeitet mit einem 5-Megapixel-Sensor, bietet eine Auflösung

von 2.592 x 1.944 Pixeln und nimmt Videos mit 1080p (Full HD) und einer maximalen Framerate von 30 fps auf. Neben diesem Standardmodul gibt es auch Spezialcams, etwa eine Weitwinkeloder eine Infrarot-Kamera (Pi NoIR). Sobald die Kamera per Flachbandkabel mit dem RasPi verbunden ist, muss sie noch mittels sudo raspi-config aktiviert werden. Anschließend wählen Sie im Menü Enable Camera. Die Bedienung der Kamera erfolgt auf der Kommandozeile. Dafür gibt es zwei Programme: raspistill ist für Fotos zuständig, raspivid nimmt Filme auf.

Kurz-Check Kameramodul

Hersteller: Verschiedene Web: www.conrad.com Preis: ca. 30 Euro (Standardmodul) Fazit: Preisgünstiger Einstieg in Projekte etwa zur Hausüberwachung oder für Dokumentationen jeder Art

Cam-Box

Legen Sie gleich los mit Ihren Projekten – mit einem Komplettsatz aus RasPi und Kamera Statt eines Kameramoduls (siehe oben) können Sie mit der Cam-Box von Pi3g (www.pi3g. com) auch ein komplettes Kamera-Set erwerben. Im Lieferumfang: ein aktuelles Raspberry Pi 2 im Kunststoffgehäuse, in dessen Deckel die Kamera sitzt. Diese lässt sich drehen und schwenken. Sie nimmt Fotos mit 5 Megapixeln beziehungsweise Filme in Full HD auf. Außerdem dabei: ein 2-A-Netzteil und eine microSD-Karte mit der benötigten Software. Hier haben Sie die Wahl zwischen einem angepassten Raspbian oder dem Programm MotionPie. Letzteres ist im Zusammenspiel mit der Kamera unter anderem in der Lage, Bewegungen zu erkennen und auf Video oder Bild

Kurz-Check Cam-Box

Hersteller: Pi3g Web: www.pi3g.com Preis: ca. 120 Euro

Fotos: Pi3g, Hersteller

Fazit: Für den schnellen Einstieg in Kameraprojekte – dank MotionPie ganz ohne Kommandozeile

138

Die Kamera im Gehäusedeckel lässt sich beliebig drehen und schwenken und ermöglicht so auch ungewöhnliche Perspektiven und Bildausschnitte

festzuhalten – ideal also, wenn Sie auf der Suche nach einer Überwachungslösung sind. Im Test haben wir uns die Cam-Box in Kombination mit MotionPie angesehen. Die Einrichtung ist schnell erledigt. Sie müssen lediglich die MicroSD-Karte einstecken und die Cam-Box mit Strom versorgen, dann startet sie. Um sie mit Ihrem Netzwerk zu verbinden, schließen Sie sie per Ethernetkabel (nicht mitgeliefert) an den Router an. Der Zugriff auf MotionPie erfolgt über ein Webinterface. Um dieses aufzurufen, benötigen Sie die IP-Adresse oder die Bezeichnung der Cam-Box (etwa in der Art „MP-5361ed54“), die Sie am besten über Ihren Router ermitteln. Dann geben Sie

diese in einen Webbrowser ein, hier im Beispiel also http://mp-5361ed54. Falls nun nach einem Login gefragt wird, tragen Sie als Username admin ein. Ein Passwort brauchen Sie nicht, Sie können jedoch später eines vergeben. Voilà, die Verbindung steht und auf Ihrem Bildschirm taucht auf, was immer die Kamera gerade im Blick hat. Sie haben nun über das Menü von Motion Pie die Möglichkeit, die Einstellungen nach Wunsch anzupassen. Tipp: Stellen Sie als Erstes im Bereich „General Settings“ die Option Show advanced Settings ein, um einen Überblick über alle Einstellungen zu erhalten. Nun können Sie etwa die Cam-Box mit Ihrem WLAN verbinden.

Zubehör

7-Zoll-Display

Das „offizielle“ Raspberry-Pi-Display mit kapazitivem Touchscreen Gerade hat Element14, der Partner der Raspberry-Pi-Foundation, das offizielle Raspberry-PiDisplay vorgestellt. Grund genug, einen genaueren Blick auf den kleinen Touchscreen zu werfen. Wie im RasPi-Umfeld gewohnt, besteht das Display als Kit aus mehreren Komponenten, die noch zusammengesetzt und mit dem Raspberry Pi verbunden werden müssen. Das ist aber nicht allzu schwierig, wenn man der (wirklich sehr übersichtlichen) Anleitung auf www.element14. com/Pidisplay folgt. Im Test lediglich etwas irritierend: Zwei Jumper-Kabel, die im Lieferumfang enthalten sind, fanden keine Verwendung beim Zusammenbau. Zwei Dinge fallen nach der Montage sofort positiv auf: Da die Verbindung zwischen DisplayAdapter und Raspberry Pi nicht über den HDMIAusgang erfolgt, sondern via Flachbandkabel über den DSI-Port, bleibt der HDMI-Port frei – auf Wunsch kann so ein zweiter Monitor zugeschaltet werden. Weiteres Plus: Um das Display mit Strom zu versorgen, wird kein zweites Netzteil benötigt. Die Stromaufnahme erfolgt über den Display-

Adapter; das RasPi wird via GPIO-Anbindung versorgt. Voraussetzung ist allerdings, dass mindestens ein 2A-Netzteil eingesetzt wird. Nun aber zum Display selbst: Verfügt man über ein aktuelles Raspbian-Image, funktioniert die Verbindung sofort nach der Montage problemlos. Eine Installation von Treibern oder eine weitere Konfiguration ist nicht erforderlich. Das Display löst mit 800 x 480 Pixel für seine Größe ordentlich auf. Die Bildqualität lässt nichts zu wünschen übrig und taugt durchaus auch zur Wiedergabe von Filmen. Ein wenig Gewöhnungszeit vorausgesetzt, klappt die Fingersteuerung gut – zumindest unter Raspbian. Kodi/OpenELEC verweigerten sich im Test den Toucheingaben fast völlig. „Zoomgesten“ wie von Smartphones gewohnt sind übrigens nicht möglich. Um RasPi und Display komfortabel zu nutzen, empfiehlt es sich, in ein passendes Gehäuse zu investieren, siehe etwa http://tinyurl.com/oxa pu2e. Das schlägt aber mit stolzen 45 Euro zu Buche. Verglichen mit dem Preis fürs Display (ca. 80 Euro) erscheint das doch recht happig.

Praktisch: Das „offizielle“ RasPiDisplay wird per DSI-Port angeschlossen

Kurz-Check 7-Zoll-Touchdisplay

Hersteller: Element 14 Web: www.pi3g.com Preis: ca. 80 Euro

Fazit: Eignet sich für viele touchgesteuerte Projekte. Hervorragendes Preis-Leistungs-Verhältnis.

7-Zoll-HDMI-Monitor Kapazitiver LCD-Screen mit Touchsteuerung

Inzwischen gibt es eine ganze Reihe von Touchdisplays, die auf das Raspberry Pi angepasst sind. Neben dem „offiziellen“ Touchscreen (siehe oben) haben wir noch ein 7-Zoll-HDMI-Display in Augenschein genommen, das von AVC-Shop vertrieben wird (avc-shop.de). Wie das offizielle besitzt es einen kapazitiven Touchscreen. Die Montage stellt keinerlei Problem dar, Sie müssen nur Ihr Raspberry Pi per HDMI-Kabel (im Lieferumfang) mit dem Monitor verbinden. Die Stromversorgung des Displays erfolgt via Micro-USB-Kabel über das RasPi. Ein Handbuch finden Sie unter http://tinyurl.com/ofrckta. Etwas komplizierter sieht die Inbetriebnahme softwareseitig aus. Im Gegensatz zum offiziellen Display wird das HDMI-Display nicht von einem Standard-Raspbian unterstützt, Sie haben daher die Möglichkeit, entweder ein speziell angepasstes Raspbian zu laden (http://uploads.avc-shop. de/uploads/software/125130) oder das von Ihnen genutzte Raspbian selbst anzupassen. Wie Sie dazu vorgehen, lesen Sie im oben erwähnten Handbuch. Im Test haben wir Variante Nummer eins gewählt und damit das Display ohne Proble-

me zum Laufen gebracht. Bildqualität und Auflösung (800 x 480) sind in Ordnung; das Display ist ausreichend hell und die Fingersteuerung funktioniert gut. Doch auch hier gibt es keine Zoomgesten. Mit einem kleinen Schalter auf der Rückseite des Monitors (Backlight) lässt sich die Hintergrundbeleuchtung abschalten. Über folgende Eingabe in der Kommandozeile DISPLAY=:0.0 matchbox-keyboard -s 100 extended aktivieren Sie eine virtuelle Bildschirmtastatur. Verwenden Sie das speziell angepasste Raspbian, sollten Sie vorher die Spracheinstellungen und das Tastaturlayout auf „Deutsch“ umstellen. Die virtuelle Tastatur kam bei uns im Test sofort im deutschen QWERTZ-Layout. Ist das bei Ihnen nicht der Fall, lesen Sie hier, wie sie umgestellt wird: http://wiki.openmoko.org/wiki/Change_ matchbox_keyboard_layout. Da dieses Display im Gegensatz zum offiziellen Modell nicht mit dem Raspberry verschraubt, sondern lediglich über Kabel verbunden ist, lässt sich das Display auch mit anderen Einplatinenrechnern nutzen, etwa dem Banana Pi.

Es muss nicht unbedingt ein „richtiger“ Monitor sein. Je nach Projekt ist auch die Ausgabe über ein kleines Touchdisplay sinnvoll

Kurz-Check HDMI-Display Hersteller: Waveshare Web: www.avc-shop.de Preis: ca. 60 Euro

Fazit: Preisgünstiger Monitor, der etwas mehr Software-Anpassung erfordert als das „offizielle“ Display

139

Zubehör

PiFace Digital 2

Steuerungshoheit über LEDs oder Geräte mit höherer Spannung Das GPIO-Interface kann bekanntlich mehr als nur LEDs blinken oder Pieptöne erklingen lassen. Sollte man nicht darüber hinaus weitere Projekte angehen? Warum nicht einmal mit einer bewegungsgesteuerten Paintball-Gun auf einer motorgelenkten Lafette spielen? Mit PiFace öffnen sich zahllose Projekt-Türen. Acht digitale Eingänge, vier Schalter und Ausgänge ermöglichen eine große Flexibilität. Mit dem Board lassen sich auch Projekte mit höherer Spannung realisieren, denn es stehen zwei 12-Volt-Relais zur Verfügung. Die Platine wurde von einem Team an der Manchester University als Alternative zum wesentlich größeren und teureren Gertboard entwickelt und avancierte schnell zum Liebling der Bastler. Zusätzlich wartet PiFace mit zwei wichtigen Software-Eigenschaften auf: Einerseits kann an einem GUI-Simulator experimentiert werden, ohne auch nur einen Finger krumm zu machen. Andererseits ist die Tatsache wichtig, dass das PiFace vollständig mit Scratch kompatibel ist. Somit können also auch Kinder ihre eigenen

Schaltkreise über selbst geschriebenen Code in der vertrauten Umgebung erstellen. Diese Funktionalität ist ein Alleinstellungsmerkmal, das als überzeugendes Kaufargument wirkt. Für unseren Einsatz nutzten wir Python zur Kontrolle des Boards. Dabei folgten wir der Dokumentation unter piface.github.io, um die Software zu installieren und zu konfigurieren. Allein mit den im Modul vorgefertigten PiFace-Funktionen waren wir schnell dazu in der Lage, die LED und Eingabesignale von Druckschaltern zu kontrollieren. Außerdem probierten wir den Simulator aus, um die Eingabesignale zu testen und um ein paar virtuelle LEDs blinken zu lassen, was ebenfalls gut funktionierte. Das alles sind bereits Gründe, um das PiFace zu nutzen. Hinzu kommt, dass es ein recht kostengünstiges Board ist, mit dem sich der Anwendungsbereich des Raspberry Pi wesentlich vergrößern lässt. Zudem lassen sich durch die Relais zahllose neue Geräte steuern. Mit Python ist es außerdem gut möglich, die Platine komfortabel und sicher in bereits bestehende Projekte einzubinden.

Mit PiFace werden umfangreiche, über Python gesteuerte Projekte möglich

Kurz-Check PiFace

Hersteller: Element 14 Web: www.piface.org.uk Preis: ca. 35 Euro Fazit: Wer professionelle Projekte mit dem Pi realisieren will, kommt am PiFace nicht vorbei.

XLoBorg

Widerstand zwecklos, dieses Board macht einen zum PiBorg!

140

selbstständig zu operieren. Es muss ja nicht gleich auf dem Mars oder einem Kometen sein. Wenn man dieses Board in Gang setzt, erlebt man, wie einfach sein Einsatz ist. Es passt exakt auf die GPIO-Pins – sowohl bei den älteren als auch bei den aktuellen Modellen. Auf www.pi borg.com/xloborg erhält man die notwendigen Bibliotheken. XLoBorg kommuniziert über den seriellen I-2-C (Inter-Integrated Circuit) mit dem RasPi. Dazu benötigt es übrigens nicht den kompletten GPIO-Slot. Das XLoBorg ist zum TriBorg derselben Firma kompatibel, der die Anzahl der GPIO-Pins des Pi verdreifacht. Folgt man der offiziellen Anleitung, nutzt das Pi direkt nach Installation und Reboot bereits den I-2-C-Bus. Danach werden mit dem Skript XLoBorg.py die Funktionen getestet. Wenn man das Pi bewegt, werden über stdout die Daten ausgegeben, die aus den Sensoren stammen. Sollten Sie eine selbstständig in der Umgebung agierende Maschine planen, ist das XLoBorg ideal, da es alle wichtigen Daten liefert. Außerdem könnte man ja noch weiter denken und beispielsweise die Luftfeuchtigkeit und vieles mehr messen …

Messen leicht gemacht: Mit Beschleunigungsmeter und Magnetfeldmessgerät steht das Pi einem Smartphone in nichts nach

Kurz-Check XLoBorg

Hersteller: PiBorg Web: www.piborg.org Preis: ca. 12 Euro Fazit: Trekkies können die Sensorkarte benutzen, um ihren Pi-gesteuerten Tricorder zu bauen

Fotos: Linux Format, Hersteller

Hersteller lieben es, mit neuen Boards zu experimentieren. PiBorg produziert beispielsweise eine Menge interessanter Platinen. PicoBorg ist solch ein spielerisches Produkt, mit dem man kleine Motoren kontrollieren kann. Das LEDBorg wiederum besitzt eine extrem helle Leuchtdiode, mit der sich dynamische Farbwechsel programmieren lassen. Beides sind nur zwei Beispiele aus einem riesigen Angebot von Pi-Erweiterungen der Firma, die allerdings in Deutschland noch keinen Vertrieb besitzt. Für einen kurzen Blick haben wir XLoBorg ausgewählt. Die Platine bietet Bewegungs- und Richtungssensoren, die per Python gesteuert und kontrolliert werden. XLoBorg besitzt einen Drei-Achsen-Beschleunigungssensor und ein Magnetfeldmessgerät. Daher kann die Karte also auch als Kompass programmiert werden. Außerdem ist sie dank der Freescale-Sensoren dazu in der Lage, ein weites Spektrum an Bewegungen zu registrieren. Da das Magnetfeldmessgerät auch die Temperatur messen kann, eignet sich die Platine wunderbar, um etwa in einem ferngesteuerten beziehungsweise unbemannten Rover Daten zu sammeln und

Zubehör

PiFace Control 2 So steuern Sie das RasPi ohne Maus, Monitor und Tastatur Das Raspberry Pi avanciert zur primären Plattform für Projekte, die das Internet der Dinge lebendig werden lassen. Doch ein Problem ist damit stets verbunden: Man bleibt mit Blick auf die Kontrolle von Ein- und Ausgabe im laufenden Zustand abhängig von Keyboards, Maus und Monitor. Was aber, wenn man ein Internetradio für die Küche oder einen schlichten Videoplayer für die Kids bauen möchte? Das ist genau der Moment, an dem PiFace Control & Display Revision 2 ins Spiel kommt. PiFace Control & Display ist eine Erweiterungsplatine, die über eine Reihe von Mikroschaltern und ein Jog-Rad Systemeingaben ermöglicht, deren Output über einen kleinen LC-Bildschirm ausgegeben wird. Ein weiteres spannendes Feature ist der eingebaute Infrarot-Empfänger, der zur Zusammenarbeit mit Fernbedienungen programmiert werden kann. PiFace Control & Display passt auf die GPIOPins und ist ungefähr so groß wie das Raspberry Pi selbst. Die Softwareinstallation ist unkompliziert. Es wird nur ein schnelles Update der Repositories benötigt. Abschließend erfolgt die Instal-

lation von python3-pifacecad (Python-2-Nutzer lassen die 3 einfach weg). Um das Board zu prüfen, ließen wir das mitgelieferte Testprogramm laufen, das die IP-Adresse, die Temperatur und die CPU-Last des Pi über den LC-Screen ausgibt. Die Tests bestehen aus 60 Zeilen Python-Code und es ist herrlich zu sehen, dass die Library eine unglaubliche Fülle an Funktionen implementiert. Ganz besonders machte es Spaß, die Abfahrtszeiten von Zügen abzurufen (leider nur für Großbritannien), und auch die Beispielskripte eines Internetradios sind nützlich. Allein diese vorgefertigten Programme zeigten uns, wie extrem vielseitig die Platine ist. PiFace Control & Display erleichtert selbstständige Projekte ungemein. Die Infraroteingabe ist außerdem eine willkommene Erweiterung, die neue Einsatzbereiche erschließt. Im Vergleich zu anderen Produkten ist diese Platine konkurrenzlos mit Blick auf die Vielfalt der Funktionen. Wer Maschinen auf Augenhöhe mit der Industrie oder künstlerische Installationen verwirklichen möchte, sollte hier zugreifen.

Diese schicke Platine stemmt vom Internetradio bis zur Zeitrafferkamera ganz unterschiedliche Anwendungen

Kurz-Check PiFace Control & Display Revision 2

Hersteller: Element 14 Web: www.piface.org.uk Preis: ca. 30 Euro

Fazit: Mit diesem Board haben Sie eine Menge Spaß und kontrollieren Ihr Pi auf einfachste Weise

Ab in die Matrix mit PiFace Control & Display Seit PiFace Control & Display auf den Markt gekommen ist, wird fleißig experimentiert (www.piface.org.uk). Ein Projekt, das der Hersteller selbst realisiert hat, greift Kinogeschichte auf. Als 1999 sensationelle 360-Grad-Aufnahmen den Kultstatus des Cyberpunk-Klassikers „Matrix“ begründeten, waren extrem teure Digitalkameras nötig, um den „Bullet-TimeEffekt“ zu verwirklichen. Heute reicht dafür ein Ring aus Raspberry Pis mit aufgesteckten PiFace-Control&Display-Boards und Pi-Kameras. Das PiFace-Team vernetzte mit 500 Metern

Kabel 48 solcher Geräte und produzierte eine Zeitraffersequenz aus simultan aufgenommenen Fotos aus 48 verschiedenen Blickwinkeln. Dahinter steckt einfacher Code, der allerdings auf einigem Netzwerkwissen basiert. Doch es muss ja nicht gleich diese Dimensionen annehmen. Auch Privatanwender können mit Zeitrafferkameras viele interessante Aufnahmen etwa im Garten realisieren. Denken Sie etwa an den Frühling und filmen Sie, wie die Krokusse erblühen. Oder wie wäre es mit einem Fotoautomaten für die nächste Party? Der Code zur

Steuerung des PiFace-Control&Display-Boards ist über die Webseite zu beziehen. Die PythonLibrary für das Raspberry-Pi-Kameramodul in Version 1.9 bietet enorme Steuerungsmöglichkeiten, etwa die Modifikation der Helligkeit, und bringt Zeitrafferfunktionen gleich mit (https:// pypi.python.org/pypi/picamera). Die Kombination unterschiedlicher Input-Hardware wie Knöpfe, Schalter oder der Infrarot-Receiver komplettieren manches Projekt. Der kleine LC-Bildschirm ersetzt außerdem vorzüglich das Anschließen eines großen Monitors.

Bullet-Time-Bilder wie aus „Matrix“ mit insgesamt 48 Kleinstrechnern!

141

Zubehör

Rapiro

Bausatz zum Erlernen von Robotik

Dieser 25 Zentimeter große humanoide Roboter sieht zwar niedlich aus, ist aber alles andere als ein kitschiges Spielzeug. Der Bausatz für den kleinen Roboter, dessen Produktion über Kickstarter finanziert wurde, besteht unter anderem aus 30 Plastikteilen für das Gehäuse und zwölf Servos. Ein Bausatz kostet rund 450 Euro. Er muss selbst zusammengebaut werden, was nicht weiter schwierig ist. Das benötigte Raspberry Pi, Batterien, Sensoren verschiedenster Art sowie ein Netzteil müssen bei Bedarf zusätzlich angeschafft werden. Rapiro wurde zwar für ein Raspberry Pi Modell A oder B konzipiert, kann aber mit kleineren Modifizierungen auch mit einem aktuellen Modell verwendet werden. Die eigentliche Herausforderung am Rapiro ist die Programmierung des Verhaltes und der Bewegungsabläufe. Das Rapiro-Modul, der ServoController, ist mit Arduino kompatibel. Zur Programmierung kann die Arduino-

IDE genutzt werden. Aber das sollte Programmieranfänger nicht abschrecken. Schließlich wurde Rapiro erfunden, um das Programmieren und die Möglichkeiten der Robotik zu erlernen. Deshalb ist das Rapiro-Modul für simple Bewegungsabläufe bereits vorprogrammiert. Ein Raspberry Pi wird nur dann benötigt, wenn zusätzliche Anschlüsse zum Beispiel für Lautsprecher genutzt oder Rapiro per USB mit dem PC verbunden werden sollen. Auch WLAN- oder Bluetooth-Adapter lassen sich einsetzen. Mit den passenden Sensoren, zum Beispiel einem Bewegungssensor und einem Kameramodul im Kopf, kann Rapiro etwa Wachhund spielen und eine Nachricht per Funknetz verschicken, sobald sich etwas bewegt. Das zugehörige Forum und das Wiki sind ebenfalls eine Herausforderung: Hier verständigt man sich auf Englisch und Japanisch.

Rapiro kommt als Bausatz zu Ihnen nach Hause

Kurz-Check Rapiro

Hersteller: Kiluck Web: www.rapiro.com Preis: ca. 450 Euro Fazit: Niedlicher, wenn auch nicht gerade preisgünstiger Begleiter für Programmierprojekte (fast) jeder Art

Lightberry

Ambient Lighting für Fernseher als Nachrüst-Kit

142

das nachgerüstete Lightberry flexibler. Sie entscheiden selbst, wie viele Seiten und LEDs Sie bestücken möchten. Außerdem können Sie Einstellungen vornehmen, die Sie bei einem Ambilight-TV nicht ändern können, zum Beispiel die Reaktionszeit der LEDs. Einziges, aber nicht zu unterschätzendes Manko: Statt eines einzigen Stromkabels für den Fernseher benötigt ein mit dem Lightberry ausgerüsteter TV mindestens vier Netzteile und die dazugehörigen Kabel für die LEDs, das Lightberry und das Raspberry Pi. So viel Kabelsalat will erst einmal untergebracht werden. Einen kleinen Eindruck davon, wie sich Lightberry im Vergleich mit dem Original schlägt, können Sie sich hier holen: http://tinyurl.com/ LightberryvsAmbilight. Der Preis für Lightberry mit 44 LEDs liegt bei ca. 72 Euro, für das Starterset mit allen Komponenten bei ca. 160 Euro.

Lightberry ist eine Out-of-the-BoxLösung zum Nachrüsten von Ambilight

Kurz-Check Lightberry

Hersteller: Lightberry Web: http://lightberry.eu Preis: ca. 160 Euro (Bundle) Fazit: Für Ambilight-Fans, die gern basteln und die Investition in einen neuen Fernseher scheuen

Fotos: Hersteller

Ambilight ist eine von Philips entwickelte Technik, mit der farbiges Umgebungslicht an die Wand hinter dem Fernseher abgestrahlt wird. Die Farbe wechselt dabei, je nachdem, welche Farbe gerade auf dem TV-Screen dominiert. Ihnen gefällt dieses Konzept, Sie möchten aber nicht unbedingt gleich in ein neues TV-Gerät investieren? Mit Lightberry lässt sich jedes Videosignal von Quellen wie SetTop-Boxen, Konsolen oder Playern mit LEDs aufpeppen. Durch einen Splitter wird das HDMI-Signal einerseits durch das Raspberry Pi geschleust, das die LEDs ansteuert, und parallel an den Fernseher weitergeleitet. Im Prinzip kann Lightberry jedoch jedes Videosignal verarbeiten, das von extern kommt. Für Scart-Anschlüsse zum Beispiel gibt es einen eigenen Adapter. Ein echter AmbilightFernseher ist je nach Modell an zwei, drei oder vier Seiten mit LEDs bestückt. Her ist

Zubehör

Arcade Kit

Mini-Spielhallenautomat zum Selbermachen Porta-Pi ist ein individualisierbarer Bausatz für einen Mini-Spielautomaten. Entwickler Ryan Bates hatte 2014 über Kickstarter erfolgreich Geld für den Start der Produktion sammeln können. Die Kits im coolen Retrodesign gibt es wahlweise mit 9-Zoll-Display in Acryl oder Holz oder mit 10,1-ZollDisplay aus Holz. Alle Modelle werden entweder als – preisgünstiges – abgespecktes Kit, als kompletter Bausatz oder fertig montiert angeboten. Raspberry Pi und SD-Karte sind im Kit nicht enthalten. Benötigt wird ein Modell B, B+ oder Raspberry 2. Als Software kommt eine modifizierte Version von RetroPie zum Einsatz, die über die Homepage erhältlich ist. Bestellen können Sie die Bausätze über den Onlineshop (siehe Info-Kasten). Da die Bausätze in der Regel erst auf Bestellung produziert werden, benötigt

man etwas Geduld. Zuweilen dauert die Lieferung aus den USA nach Deutschland mehrere Wochen. Achtung: Es werden keine Spiele-ROMs angeboten. Da das Copyright auf den Spielen noch nicht abgelaufen ist, müssen Sie aus rechtlichen Gründen ein Original des Spiels besitzen, um ein ROM nutzen zu dürfen. Die zum Spielen benötigten ROMs müssen Sie sich selbst rippen oder Sie laden diese aus den verschiedenen im Netz verfügbaren Archiven herunter. Ryan Bates entwickelt die verfügbaren Bausätze ständig weiter. Ein Plan für die Zukunft ist etwa das Einbinden eines Münzeinwurfs.

Porta-Pi-Arcade gibt es wahlweise aus Holz oder aus Acryl

Kurz-Check Porta-Pi-Arcade

Hersteller: Ryan Bates Web: www.retrobuiltgames.com Preis: ab 280 Euro (kompl. Bausatz) Fazit: Für alle Nostalgiker, Bastler und Gamer. Und wer nicht selbst basteln will, erwirbt den Spielautomaten einfach fertig montiert.

BrickPi

Mehr Rechenpower bei Projekten mit Lego Mindstorms Aus einem bunten Klötzchenspiel hat sich eine ernsthafte Beschäftigung für Jugendliche und Erwachsene entwickelt. Die Rede ist von den weltbekannten Lego-Steinen, die als „Lego Mindstorms“ ein intelligentes Eigenleben als programmierbare Roboter führen. Dexter Industries, eine Firma, die sich mit Robotertechnik in der Bildung beschäftigt, bringt nun das Raspberry Pi mit ins Spiel. „BrickPi“ ist ein Arduino-basiertes Zusatzboard, das sich mit Lego Mindstorms kombinieren lässt und die Daten der Mindstorms-Roboter an das Raspberry Pi weiterleitet. Das Pi sorgt so für eine Extraportion Maschinenintelligenz – auf diese Weise entsteht aus Lego eine hochinteressante Experimental- und Technikplattform – vom gesteigerten Spielspaß ganz zu schweigen. Zur Technik: BrickPi ist sozusagen der Dolmetscher beziehungsweise die Schnittstelle zwischen dem Raspberry Pi und den Lego-Mindstorms-NXT-Motoren sowie den dazugehörigen Sensoren und Aktoren. Zum Lego-System gehören beispielsweise Farb-, Kontakt- und Lagesensoren. Diese Daten versetzen das Raspberry Pi in die Lage, die Gerätschaften des Mind-

storms-Systems zu steuern und interaktiv auf Änderungen in der Umgebung zu reagieren. Sie können bis zu drei Lego-Mindstorms-NXT-Motoren und vier Sensoren am BrickPi anschließen. Wer bereits mit dem Arduino Uno gearbeitet hat, wird auf der Platine des BrickPi einen alten Bekannten wiederentdecken: nämlich den AtmelMikrocontroller Atmega328. Getaktet ist er mit 16 MHz. Um die Motoren kümmert sich der Texas Instruments SN754410. Als Kraftwerk dienen dem BrickPi acht externe AA-Batterien, die auch gleich die Stromversorgung der Motoren, der Sensoren und des Raspberry Pi übernehmen.

Die Steuerung des BrickPi basiert auf Python

Kurz-Check BrickPi

Hersteller: Dexter Industries Web: www.experimentiershop.de Preis: ca. 110 Euro Fazit: Das Lego-Mindstorms-System bekommt ein digitales Gehirn. Das bringt die Klötzchen auf Trab

143

Zubehör

Keyboard

Funktastatur im Kleinformat

Eine Mini-Tastatur mit einem gewissen RetroTouch – das klingt nach einem guten Partner für den Mini-Computer Raspberry Pi. Trotz ihrer geringen Abmessungen hat die die Funktastatur einiges zu bieten: Sie besitzt ein deutsches Tastaturlayout, verfügt zusätzlich über ein kleines Touchpad und lässt sich dank integriertem Laserpointer als Präsentations-Fernbedienung nutzen. Dazu wird sie vom Quer- ins Längsformat umge-

schaltet. Der Akku ist wiederaufladbar. Im Test (mit einer aktuellen Raspbian-Installation) klappte die Kommunikation zwischen Tastatur und Raspberry Pi sofort – völlig problemlos und ohne Installation zusätzlicher Treiber. Natürlich ist das Keyboard eher nicht zur Eingabe längerer Texte gedacht – dafür sind die Tasten einfach zu klein. Aber zum Steuern des RasPi-Mediacenters oder für unterwegs ist es eine gute Wahl.

Kurz-Check Mini-Funktastatur Hersteller: AVC Service Web: www.avc-shop.de Preis: ca. 25 Euro

Fazit: Verbindet sich ohne Umschweife mit dem Raspberry Pi und ist dabei klein und handlich

Edimax

Per WLAN-Adapter ins Netz

Auf der Platine des Raspberry Pi befindet sich kein WLAN-Modul – das gilt leider auch für das allerneueste Modell. Also muss man sich anderweitig behelfen: Per WLAN-Adapter bringen Sie Ihren Minirechner drahtlos ins Netz – der Anschluss erfolgt über eine der USB-Buchsen. Wenn Sie eines der aktuellen Raspberry-Pi-Modelle besitzen, sollte der WLAN-Adapter einwandfrei arbeiten, ohne dass die Spannung zusammen-

bricht. Statt sich die Mühe zu machen, Ihre bereits vorhandenen, älteren WLAN-Adapter auszuprobieren, empfehlen wir den Edimax EW-7811Un Wireless USB Adapter. Dieser WLAN-Adapter ist wirklich winzig und zudem preisgünstig. Das Wichtigste aber ist: Er wird vom Raspberry Pi voll unterstützt. Falls die Reichweite zu gering ist, können Sie den Adapter auch mit einem externen USB-Kabel ans Pi anschließen.

Kurz-Check Edimax EW-7811Un Hersteller: Edimax Web: www.amazon.de Preis: ca. 9 Euro

Fazit: Nicht jeder WLAN-Adapter arbeitet mit dem RasPi zusammen. Der Edimax aber ganz bestimmt.

Pi USV+

So bleibt die Stromversorgung gesichert

Einfache Handhabung

Unter der Bezeichnung „Pi USV+“ bietet die CW2. GmbH (http://piusv.de) eine Lösung für alle Raspberry-Pi-Versionen an. Neben den aktuellen

144

Modellen ist Pi USV+ (per Adapter) auch mit dem Raspberry A und B kompatibel. Und auch die Stromversorgung anderer Kleinstcomputer, sprich Arduino, Beaglebone sowie Banana Pi soll Pi USV in naher Zukunft übernehmen. Dafür wird dann eine zusätzliche Adapterplatine benötigt. Doch zurück zum Grundmodell: Die Spannungsversorgung des Raspberry Pi erfolgt über die GPIO-Leiste. Pi USV wird dabei direkt auf den GPIO-Port gesteckt. Die Kommunikation zwischen Raspberry Pi und der Mini-USV erfolgt über den I2C-Bus. Sobald die Primärversorgung ausfällt, schaltet die USV auf Batteriebetrieb um. Wichtig zu wissen: Pi USV+ ist nicht für den Dauerbetrieb des Raspberry Pi gedacht, sondern dient nur dazu, den Minicomputer kontrolliert herunterzufahren, sodass keine Daten verloren gehen. Besonders praktisch: Pi USV+ besitzt eine Akkuladefunktion (Akku nicht im Lieferumfang).

Kompakt: Die kleine Pi USV+ nimmt nur wenig Raum auf der Platine des Raspberry Pi ein

Kurz-Check Pi USV+

Hersteller: CW2. Web: http://piusv.de Preis: ca. 30 Euro Fazit: Lohnenswert für alle ernsthaften Projekte, bei denen es auf Datensicherheit ankommt.

Fotos: CW2.; Hersteller

Es kommt zwar in Deutschland sehr selten vor, aber es passiert: Der Strom fällt aus. Ob dies ein echtes Problem für Ihr Raspberry Pi ist, hängt natürlich immer vom konkreten Projekt ab. Aber wenn Sie zum Beispiel nach Ihrer Rückkehr aus dem Urlaub feststellen, dass sämtliche Daten einer mehrwöchigen Messreihe futsch sind, wäre das mehr als ärgerlich. Gegen solche Ausfälle kann man sich absichern, zum Beispiel mit einer kleinen USV-Anlage, also einer unterbrechungsfreien Stromversorgung. Vor allem dann, wenn Sie Entwickler sind und das Raspberry Pi in kommerziellen Projekten einsetzen, ist eine solche Anschaffung empfehlenswert.

Zubehör

Anonymebox

Sie möchten sich im Internet bewegen, ohne dass NSA & Co. Sie ausspähen? Mit der Anonymebox erhalten alle Ihre Geräte ganz unkompliziert Zugang zum Tor-Netzwerk

A

Wohnzimmertauglich: Die Anonymebox kommt im schicken roten Gehäuse und bringt alle benötigten Komponenten mit

Foto: Pi3g

nonym im Web unterwegs via Tor-Netzwerk: Auf Seite 50 im Heft haben wir Ihnen gezeigt, wie Sie ein Raspberry Pi als Tor-Gateway einrichten – mithilfe einigen Zubehörs und relativ viel Scripting. Ein solches Tor-Gateway, das allen Geräten in Ihrem Heimnetz einen anonymen Webzugang ermöglicht, lässt sich aber auch einfacher aufbauen. Mit der Anonymebox aus dem Hause Pi3g bekommen Sie eine fertige Lösung, die alle benötigten Komponenten umfasst. Im Kit enthalten sind das Raspberry Pi selbst (im Test noch ein älteres BModell), ein WLAN- und ein LAN-Adapter, ein Ethernetkabel zur Verbindung mit dem Router und ein Netzteil zur Stromversorgung. Außerdem die vorkonfigurierte Software auf SD-Karte und eine sehr ausführliche Anleitung. Folgen Sie den Schritten in dieser Anleitung, kann tatsächlich kaum etwas schiefgehen. Im Handumdrehen haben Sie Ihre Anonymebox als Gateway eingerichtet und können sich ab jetzt per WLAN mit ihr verbinden. Möchten Sie Ihren PC per LAN mit dem Gateway verbinden, nutzen Sie dazu den mitgelieferten LAN-Adapter. Um zu überprüfen, ob Sie wirklich anonym im Internet unterwegs sind, rufen Sie ein Geolocation-Tool auf, etwa www.geoiptool.com. Hat alles geklappt, haben Sie nun eine IP-Adresse, die irgendeinem Ort auf der Welt zugeordnet wird – nur auf keinen Fall

demjenigen, an dem Sie sich wirklich befinden. Da im Tor-Netzwerk der Datenverkehr per Zufallsprinzip von einem Knoten zum nächsten weitergegeben wird, ändert sich Ihr Standort natürlich regelmäßig. Auf diese Weise soll sichergestellt werden, dass der Datenverkehr tatsächlich anonym übermittelt wird. Über das Webinterface der Anonymebox (http://anonymebox.local) lassen sich noch einige Feineinstellungen vornehmen. So können Sie etwa über Settings | Change TOR Settings festlegen, dass sich der Endknoten des Tor-Netzwerks nicht innerhalb Deutschlands befindet. Vorteil: Auf diese Weise können Sie Inhalte sehen, die für deutsche Nutzer gesperrt sind, etwa YouTube-Videos, die aufgrund ungeklärter GEMA-Rechte nicht abgespielt werden dürfen.

Die Anonymebox ist zum Preis von 199 Euro bei Pi3g erhältlich. Ein besonderes Angebot für Leser dieses Sonderheftes: Sie erhalten die Box mit einem Preisnachlass von 40 Euro. Gehen Sie dazu einfach auf die Seite www.ano mymebox.de und geben Sie beim Bestellvorgang im Feld „Haben Sie einen Gutscheincode?“ den CHIP-Bestellcode CHIP40 ein. //re

Kurz-Check

INFO Auf der Seite https://anony mebox.com stellt Hersteller Pi3g einige nützliche Tipps und Informationen rund um die Anonymebox bereit – inklusive eines Audiofiles.

Anonymebox

Hersteller: Pi3g Web: https://pi3g.com Preis: 199 Euro Fazit: Einfach anschließen – fertig ist Ihr Tor-Gateway. Lediglich die Performance im Tor-Netzwerk lässt etwas zu wünschen übrig.

YouTube-Sperre knacken

Gesperrte Videos schauen

Das passiert recht häufig: Statt des gewünschten Videoclips sehen Sie nur einen schwarzen Screen (links). Dieses Problem löst die Anonymebox (rechts).

Im Golf von Guinea: Mit www.geoiptool.com sehen Sie auf einen Blick, ob Sie wirklich anonym im Netz unterwegs sind

145

Zubehör

Hausüberwachung

Eine Alarmanlage für 16 Euro verspricht das PIR Alarm GPIO Kit. Und in der Tat: Wer bereits ein Raspberry Pi und eine Kamera hat, kann mit dem Bastelsatz sofort loslegen

Kurz-Check PIR Alarm GPIO Project Kit Hersteller: TR Computers Web: http://tri.co.uk Preis: zirka 16 Euro Fazit: Ein einfaches Kit, das sich speziell an Einsteiger wendet. Das Projekt ist gut dokumentiert.

Fotos: Hersteller

A

lle zwei Minuten wird irgendwo in Deutschland eingebrochen, so die aktuelle Kriminalstatistik. Ein guter Grund also, sich mit Sicherheitstechnik zu beschäftigen. Das geht selbstverständlich auch mit dem Raspberry Pi. Falls Sie ein entsprechendes Projekt verwirklichen wollen, bietet Ihnen das „PIR Alarm Kit“ von TR Computers alles Nötige für ein sensorgesteuertes Überwachungssystem. Das Kit beinhaltet unter anderem einen passiven Infrarotsensor, eine kleine Platine mit dem BISS0001Chip, diverse Kabel, Schrauben und sonstiges Zubehör. Nicht zum Lieferumfang gehört allerdings die Raspberry-Pi-Kamera – sie muss gesondert angeschafft und gegebenenfalls irgendwo unauffällig montiert werden. Der Zusammenbau des Kits ist für geübte Bastler unproblematisch. Außer einer gewissen Fingerfertigkeit benötigen Sie nur gebräuchliche Werk-

Das RasPi prüft, ob sich jemand dem Fenster nähert. Das Problem ist nur, dass Glas den Sensor irritiert. Der IR-Sensor muss daher außen angebracht werden

zeuge, wie man sie in jedem Haushalt findet (hierzu gehört beispielsweise ein Seitenschneider). Dem Kit liegt außerdem eine DVD bei. Darauf wird jeder Handgriff im Video erklärt. Wenn es überhaupt eine Hürde gibt, dann ist es die Verkabelung des Sensors mit der GPIO-Leiste (General Purpose Input Output) des Raspberry. Doch auch hier hilft die Anleitung weiter. Wichtig ist nur, dass man vor dem Einschalten die Verdrahtung sorgfältig prüft, um die GPIOs nicht zu beschädigen. Die Anschlüsse des Sensors sind gekennzeichnet, man sieht die Bezeichnungen, wenn man die kleine Kunststoffhaube vorsichtig entfernt. Die auf die Platine aufgelöteten Kondensatoren sind sehr fragil und könnten abknicken.

Auf einen Blick

Infrarotsensor

Das BISS0001-PIR-Modul ist bei Projekten dieser Art häufig im Einsatz. Sie finden deshalb viele Infos im Web dazu.

146

Sofort loslegen

Sie können mit dem Kit gleich starten. Etwas Zeit kosten Sie nur die Verkabelung und die Skript-Anpassung.

Nach dem Zusammenbau folgt man der Anleitung und führt einen ersten Funktionstest durch. Bei dieser Prüfung verschickt das System eine E-Mail mit angehängtem Foto, sobald der Sensor anschlägt und den Alarm auslöst. Das Skript startet zudem ein Video mit einer Aufnahme, die allerdings nur maximal 10 Sekunden dauert. Sie wird direkt auf dem Raspberry gespeichert und kann dann zu einem späteren Zeitpunkt abgerufen werden.

Alarm aktivieren

Die Anweisungen sind nicht in Python geschrieben – wie es normalerweise beim Raspberry Pi der Fall ist –, sondern werden als Shell-Skripte ausgeführt. Sie müssen zudem einige zusätzliche Pakete installieren, um alle E-Mail-Funktionen (inklusive der Dateianhänge) nutzen zu können. Zudem sind einige Eingriffe in Konfigurationsdateien nötig. Die dazu nötigen Schritte sind gut dokumentiert. Nachdem die Testläufe abgeschlossen sind, können Sie Ihr Alarmsystem in Position bringen und aktivieren. Bei unserem Kurztest haben wir das RasPi mit einem externen Akkupack versorgt. Der Zugriff auf das Raspberry erfolgte via SSH – so lassen sich übrigens auch die Skripte starten. Fazit: Ein tolles Kit zu einem sehr günstigen Preis. Das Know-how, das Sie damit sammeln, lässt sich später zudem gut auf leistungsstärkere Alarmanlagen übertragen. //jr

INFO Die mitgelieferte DVD enthält nicht nur detaillierte Anleitungen, sondern auch weitere Projekte, die sich mit den Themen Sicherheit und Überwachung beschäftigen.

KIOSK Im CHIP Kiosk finden Sie alle Produkte aus dem Hause CHIP. Magazine und Specials – gedruckt oder digital. Als Einzelheft oder Abo. www.chip-kiosk.de

Windows 10 –

aktualisierte Auflage 164 Seiten Praxiswissen, Tipps und Workshops Nur 9,95 €

Jetzt bestellen. www.chip-kiosk.de

Der neue INTEL XEON Prozessor D-1540 ®

®

Für jede Anforderung der passende Server

vSERVER M

POWER SERVER Intel XEON D-1540 CPU

6 vCores 8 GB RAM 250 GB SSD Windows / Linux 500 MBit Flat

ab 7,99 € monatlich

32 GB DDR4 RAM 2 x 1.000 GB HDD Zusatz SSD (optional) 1.000 MBit Flat

69,99 € monatlich

ROOT SERVER S 4 vCores 16 GB RAM 2 x 120 GB SSD Hardware-RAID 1.000 MBit Flat

23,99 € monatlich

Jetzt informieren & bestellen Tel.: 0211 / 545 957 - 330 www.webtropia.com Intel, das Intel Logo Xeon und Xeon Inside sind Marken der Intel Corporation in den USA und anderen Ländern.

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF