Mit DVD
148 Seiten Know-how Seiten Know-how und Workshops
i P y r r e b p s a R
e v i t a m i t l u s a D
02/2015
Das ultimative
9,95 €
Raspberry Pi
h c u b d n a H
Handbuch
Kreative Projekte
F ür alle M o od elle!
ink l. A+/ B +/ 2
Eigener Roboter, Retro-Gaming, Heimü Heimüberw berwac achun hung g u. v. m.
RasPi als Server So wird Ihr Pi zum NAS, Dropbox-Ersatz oder Proxy
Für Einsteiger Auspacken, anschließen und loslegen – so geht’s
Troubleshooting Die 13 häufigsten Probleme und wie Sie diese lösen
Das beste Zubehör
Displays, Erweiterungs-Boards, Kameras Plus: Banana Pi, Arduino & Co..
RasPi 2 mit Quadcore & Win 10 6-fache Leistung ▶ 1 GB RAM ▶ ARM Cortex-A7 ▶ Läuft auch mit Windows 10 (fürs Pi gratis) ▶
Die große
RasPi DVD DV D
Auf DVD Schnelleinstieg (160 Seiten) Installation, Konfiguration u.v.m. Komplettes Buch als PDF ▶ Video-Workshops Pi als Spielkonsole + Fotos und Videos mit dem Kamera-Board ▶ Starter-Kit Alle wichtigen Tools und Systeme ▶
DT-Control geprüft:
Beiliegender Datenträger ist nicht jugendbeeinträchtigend
P I H C n o v t f e h r e d n o S n i E
€ r 0 f s € 5 , 0 1 0 1 5 , 5 , : 9 1 h 1 1 : c : i z x e i u r r e l e w e t n s h
Multimedial vernetzt! Jetzt den ultimativen Guide im CHIP Kiosk sichern.
9,95 Euro!
Multimedial vernetzt! Jetzt den ultimativen Guide im CHIP Kiosk sichern.
9,95 Euro!
Editorial
Super-Pi am Rande des Weltraums Liebe Leserinnen und Leser, erinnern Sie sich noch an den Sprung des Österreichers Felix Felix Baumgartner aus der Stratosphäre Stratosphäre im Jahr 2012? Sein Höhenrekord Höhenrekord von rund 39 Kilometern wurde im September 2014 2014 vom Google-Manager Alan Eustace mit 41 Kilometern sogar sogar noch überboten. Eines der spektakulärsten Raspberry-Pi-Projek Raspberry-Pi-Projekte te des letzten Jahres hat genau einen solchen Sprung – quasi im Miniaturformat – nachgestellt. nachgestellt.
Thorsten Franke-Haverkamp
Redaktionsleiter
Pilot beim Pi-Projekt war jedoch kein normaler Mensch, sondern Superman – in Form einer Actionfigur des Herstellers Herstellers Mattel. Der Wetterballon, Wetterballon, der den Superhelden Superhelden in die Stratosphäre Stratosphäre brachte, brachte, fiel natürlich etwas kleiner aus als bei Baumgartner Baumgartner und Eustace. Eustace. Mit an Bord der Kapsel war neben den Kameras und GPS-Trackern ein Raspberry Pi als Steuerzentra Steuerzentrale. le. Hoch ging es „nur“ bis auf 29 Kilometer, Kilometer, weil der Ballon lediglich bis 30 Kilometer Höhe ausgelegt ausgelegt war. Dennoch handelte es sich um ein wirklich faszinierendes faszinierendes Experiment, Experiment, das beeindruckende beeindruckende Bilder und Videos lieferte lieferte – zu sehen und nachzulesen ist alles unter tinyurl.com/strato-pi. Auch Auch wenn wenn die die übrig übrigen en Proje Projekt kte e in unser unserer er Galeri Galerie e (ab Seite Seite 42) 42) etwa etwas s besc beschei heide dener ner ausausUnser fallen, fallen, zeigen zeigen sie doch gut, was mit dem kleinen kleinen Einplati Einplatinenc nencompu omputer ter möglich möglich ist. Unser
Ziel ist es, Ihnen Ideen und Anregungen Anregungen für eigene eigene Projekte Projekte zu liefern. Wie wäre es zum Beispiel mit einem kleinen Dateiserver für Ihr Heimnetz? Heimnetz? Wie Sie das und vieles andere mehr realisieren, realisieren, erklären erklären wir Schritt für Schritt in diesem Heft. Viel Freude mit Ihrem Raspberry Pi wünscht Ihnen
Thorsten Franke-Haverkamp Franke-Haverkamp
Vor dem Sprung aus der Stratosphäre: Stratosphäre: Der Organisator Organisator Pete Pete Wood präsentiert präsentiert seinen Piloten Piloten in der Kapsel
Kameras an Stangen dokumentieren das Projekt – die Steuerung übernimmt ein Raspberry Pi im Inneren
Hoch Hoch oben: Aus 29 km Höhe spring springtt Superman aus seiner Kapsel – und landet später sicher wieder auf der Erde 3
Inhalt
42 8 Grundlagen 8
Das neue Raspberry Pi 2 Die Revolution für den Mini-PC – mit ARM Cortex-A7 Quad-Core CPU, 1 GByte Arbeitsspeicher und Windows 10
10 Das Raspberry Pi B+ Großes Update für das RasPi B: Die Version B+ bringt mehr Anschlüsse und einige praktische Verbesserungen
12 Klein und günstig: Raspberry Pi A+ Das Modell A+ besticht vor allem durch seinen geringen Stromverbrauch und seine winzigen Abmessungen
13 Modellübersicht Vier Versionen hat die RasPi-Familie zu bieten. Hier sehen Sie auf einen Blick, worin die Unterschiede liegen
14 Noobs: Welches OS darf’s denn sein? Simpel und flott: Mit Noobs laden Sie eines von sechs Betriebssystemen auf Ihr RasPi – ohne Linux-Kenntnisse
16 Raspbian auf einen Blick Für den Einstieg in Raspbian benötigen Sie nur wenige Kommandos und einige kleine Tools – schon können Sie mit dem Raspberry Pi loslegen
18 So stellen Sie Ihr RasPi richtig ein Per „raspi-config“ passen Sie Raspbian im Handumdrehen an Ihre individuellen Bedürfnisse an
20 Das RasPi aus der Ferne steuern Wie Sie das Raspberry Pi per Fernwartung dirigieren
22 Alternative Betriebssysteme Meist werkelt das Raspberry Pi unter Raspbian. Doch es gibt noch mehr Betriebssysteme – wir stellen drei Alternativen vor
26 So entsteht ein Raspberry Pi Der Mini-PC ist äußerst preiswert – und das, obwohl das Gerät in Europa produziert wird. Ein Werksbesuch
30 Nachgefragt: System on a Chip Das RasPi ist ein „SoC“-Board, also ein „System on a Chip“. Wir beantworten die wichtigsten Fragen rund um die Einplatinenrechner
4
Projekte 34 Projektideen Zehn Projekte zum Nachmachen – vom Musikstreaming bis zum Raspberry Pi als NAS
42 Die RasPi-Galerie Das RasPi-Wunderkind Zachary Igielman mit seinem PiPiano und viele weitere spannende RasPi-Geschichten
50 RasPi auf großer Fahrt Ein Roboter, der durch die Wohnung flitzt: So wird das Pi zum Technikspielzeug für Erwachsene
54 Heimüberwachung Der Mini-Computer kann auch als Wachhund dienen und schlägt Alarm, wenn Eindringlinge erkannt werden
58 Mathematica: kostenlos fürs Raspberry Pi! Mathematica ist eines der meistgenutzten mathematischnaturwissenschaftlichen Programme. Für das Pi ist es gratis
62 Retro-Gaming mit dem Pi Wir zeigen Ihnen, wie Sie mithilfe von Emulatoren alte Games wie früher genießen können
66 Ein Space-Controller auf Arduino-Basis Es muss nicht immer RasPi sein: So basteln Sie einen eigenen Controller für das beliebte Kerbal Space Program mit einem Arduino-Board
72 Die erste eigene Schaltung Ein preiswerter Ersatz für Ihren Mini-Computer muss her? Beim ShrimpingIt-Projekt bauen Sie Ihr eigenes Mikrocontroller-Board
76 Das PiFace als Zusatzboard So bietet das RasPi noch mehr Möglichkeiten: Das PiFace ist ideal, um die Schnittstellen des Minirechners zu erweitern
r e f ä h c S s u a l o k i N : ) . i l . o ( t l a h n I d n u o t o f l e t i
T
Inhalt
Zubehör 116 Jenseits der Grundausstattung Clevere Erweiterungen und nützliches Zubehör machen viele RasPi-Projekte erst möglich
124 RasPi-Alternativen Was bieten die Wettbewerber des RasPi? Der China-Rivale Banana Pi etwa hat bei der Performance die Nase vorn
128 Raspberry Pi Compute Model
88
Sie planen kommerzielle Raspberry-Pi-Projekte? Diese Weiterentwicklung des winzigen Rechners könnte genau das sein, wonach Sie gesucht haben
130 Cool und günstig: Robotik-Kit Pi2Go Mit dem RasPi auf Erkundungsfahrt – das Robotik-Kit Pi2Go Lite gibt’s zum Taschengeldpreis
131 Mehr Klangqualität Als Soundmaschine tritt das Raspberry normalerweise nicht in Erscheinung. Was fehlt, ist ein hochwertiges Audio-Interface. Nun erobert die Cirrus Logic Audio Card die Bühne
132 Funk für RasPi und Arduino
80 Praxis 80 Ihr eigener Webserver Wir zeigen Ihnen, wie Sie einen günstigen, schnellen und stabilen Server auf dem Raspberry Pi einrichten
84 Günstig netzwerken mit dem RasPi Das Pi macht als zentraler Speicher fürs Heimnetz eine gute – und günstige – Figur, sei es als einfacher Dateiserver oder als ausgewachsene NAS
88 Das Pi als Mediacenter Mit Raspbmc und einem HDMI-Kabel wird der Minirechner zum leistungsstarken Mediaplayer
92 Mit Lychee zum eigenen Fotoserver Vergessen Sie Flickr & Co. und teilen Sie Ihre Fotos mit einem eigenen, schnellen Webserver
96 Ampache Musikstreaming So halten Sie Ihre Musik auf allen Geräten synchron
98 Der Weg zum eigenen Wiki Wikis sind ideal, um gemeinsam Wissen zu sammeln. Auch auf dem RasPi lässt sich ein solches Wiki betreiben
102 Raspberry Pis als Cluster Wir zeigen, wie Sie die geballte Rechenleistung vieler Mini-Computer verwenden, um Passwörter zu knacken
106 Auf Nummer sicher per SSH So verwenden Sie SSH-Tunnel auf Ihrem Raspberry Pi und verhindern Online-Spionage
110 Mehr Tempo fürs Internet Ein RasPi eignet sich auch, um sich bei lahmender Internetanbindung zu behelfen. Squid und pdnsd machen es möglich
Für Bastler und Entwickler ein Traum: Raspberry Pi und Arduino tauschen sich jetzt ganz elegant per Funk miteinander aus. Zwei neue RF-Boards von Ciseco machen es möglich
133 Alarmanlage ruck, zuck selbst gebaut Eine Alarmanlage für 16 Euro verspricht das PIR-Alarm-GPIOKit. Und in der Tat: Wer bereits ein RasPi und eine Kamera hat, kann mit dem Bastelsatz sofort loslegen
Tipps & Tricks 136 Tonido: Dateiserver für Einsteiger Behalten Sie Ihre Daten unter Kontrolle – auch in der Cloud. Der Server Tonido macht das Teilen und Verwalten einfach
137 Programmieren lernen mit Sonic Pi Das didaktische Konzept ist genial: Sonic Pi bringt Musik und Programmierung unter einen Hut. Heraus kommt eine interaktive Lernumgebung für Einsteiger mit hohem Spaßfaktor
138 Troubleshooting 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
142 Tipps & Tricks Manchmal sind es Kleinigkeiten, die Ihnen als Pi-Nutzer das Leben entscheidend erleichtern. Wir haben für Sie eine Reihe hilfreicher Tipps für den RasPi-Alltag zusammengestellt
Service 3 Editorial 74 DVD-Inhalt 146 Impressum 5
Raspberry Pi Grundlagen Wir stellen Ihnen alle RasPi-Modelle vor und zeigen, wie der Einstieg gelingt. Zudem erfahren Sie, wie Sie Ihr Pi aus der Ferne steuern und wie der Minicomputer überhaupt entsteht
8
Das neue Raspberry Pi 2 Die Revolution für den Mini-PC – mit ARM Cortex-A7 Quad-Core CPU, 1 GByte Arbeitsspeicher und Windows 10
10 Das Raspberry Pi B+ Großes Update fürs RasPi B: Die Version B+ bringt mehr Anschlüsse und einige praktische Verbesserungen
12 Klein und günstig: Raspberry Pi A+ Das Modell A+ besticht vor allem durch seinen geringen Stromverbrauch und seine winzigen Abmessungen
13 Modellübersicht Vier Versionen hat die RasPi-Familie zu bieten. Hier sehen Sie auf einen Blick, worin die Unterschiede liegen
14 Noobs: Welches OS darf’s denn sein? Simpel und flott: Mit Noobs laden Sie eines von sechs Betriebssystemen auf Ihr RasPi – ooder auch mehrere
16 Raspbian auf einen Blick Für den Einstieg in Raspbian benötigen Sie nur wenige Kommandos und einige kleine Tools
18 So stellen Sie Ihr RasPi richtig ein Per „raspi-config“ passen Sie Raspbian im Handumdrehen an Ihre individuellen Bedürfnisse an
20 Das RasPi aus der Ferne steuern Oftist ein Pi gar nichtdirekt zu erreichen.Wir zeigen, wie Sie das Raspberry Pi ausder Ferne benutzen
22 Alternative Betriebssysteme Meist werkelt das Raspberry Pi unter Raspbian. Doch es gibt noch mehr Betriebssysteme – wir stellen drei Alternativen vor
26 So entsteht ein Raspberry Pi Der Mini-PC ist äußerst preiswert – und das, obwohl das Gerät in Europa produziert wird. Ein Werksbesuch
30 Nachgefragt: System on a Chip Das RasPi ist ein „SoC“-Board, also ein „System on a Chip“.Wir beantworten die wichtigsten Fragen
6
Das neue Raspberry Pi 2 Das brandneue Modell mit mächtig Wumms: mit sechsfacher Leistung und doppeltem Arbeitspeicher
Seite 8
Raspbian auf einen Blick Raspbian ist ein speziell aufs RasPi angepasstes Debian.Wir zeigen die wichtigsten Funktionen und Tools
Seite 16
Nachgefragt: System on a Chip Das RasPi ist ein sogenanntes „SoC“-Board – aber was bedeutet das eigentlich ganz konkret?
Seite 30
7
Grundlagen
Mehr 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 jetzt microSD-Karten (Slot aufder Rückseite)
Stromversorgung Die Spannungsregler sindwie bei den Plus-Modellen neu, doch es bleibt beim 5V-Micro-USB-Anschluss
HDMI Der Anschluss sitzt wie gewohnt mittigauf der Platine
INFO Die Veröffentlichung des Raspberry Pi 2 erfolgte nach Redaktionsschluss. Daher konnten wir bei den Workshops nicht explizit darauf eingehen. Es ist aber voll kompatibel zum Modell B+.
8
Kamera-Connector
Audio und Video
Der Anschluss für Kameramodule istwie beim B+ein paar Millimeter zur Seite gewandert
Audio und CompositeVideo sitzen wie beim B+ nun gemeinsam an einem vierpoligen 3,5-mm-Anschluss
as für ein Paukenschlag: Obwohl das Modell 2 erst für 2017 eingeplant war, überraschte die Raspberry Pi Foundation alle mit dessen plötzlicher Präsentation. Dank Vierkern-Prozessor ist es rund sechs Mal schneller als seine Vorgänger. Für die größte Überraschung aber dürfte sorgen, dass auf ihm neben Linux künftig auch Windows 10 laufen wird (siehe Kasten rechts). Das große Update gibt es zunächst für das Modell B; das Raspberry 2 Modell A soll erst 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 nachdem, welchen Benchmark man zugrunde legt, ergibt sich
W
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 RasPi 2 wird bei einigen Händlern bereits für rund 35 Euro gelistet. Es war zum Zeitpunkt des Drucks jedoch noch nicht frei erhältlich. //tfh
n o i t a d n u o F i P y r r e b p s a R : s o t o F
Grundlagen Neuer BCM2836 Prozessor
Linux oder Windows – Sie haben die Wahl
Der neue Prozessor istein ARM Cortex-A7 Quad-Core mit 900MHz Taktfrequenz.
40-Pin-GPIO Statt 26 Pins bietet der neue GPIO-Port nun 40 (wie beim A+ und B+). Allerdings bleibt die Belegung der ersten 26 Pins wegen der Kompatibilität gleich
4 xUSB Dank der zusätzlichen USB2.0-Ports lässt sichneben Maus undTastatur nunetwa ein WLAN-Stick anschließen
Netzwerk Es bleibt wie beim B und B+ bei10/100MBit/s-Ethernet
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 etwa mit einem regulärem 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 künftig überflüssig. Um das neue Raspberry Pi 2 in Betrieb zu nehmen, müssen Sie ein aktuelles Noobs herunterladen. Dort stehen wie gewohnt diverse Betriebssysteme zur Wahl – darunter auch Raspbian oder ein Mediacenter wie XBMC. Sie können aber auch fertige Images downloaden wie etwa das leichtgewichtige Snappy Ubuntu Core. Ein Snappy-CorePackage für Noobs gibt es hingegen noch nicht. In den nächsten Wochen und Monaten dürfte sich da allerdings noch eine Menge tun. Viel revolutionärer ist hingegen die Tatsache, dass Sie das Raspberry Pi 2 in Zukunft auch mit Windows 10 betreiben können – und zwar kostenlos. Microsoft stellt der MakerCommunity künftig eine speziell fürs Pi angepasste Version gratis zur Verfügung. Erhältlich ist diese Version jedoch noch nicht. Wer interessiert daran ist, kann sich kostenlos als Windows IoT Entwickler registrieren, um auf dem Laufenden zu bleiben. Weitere Informationen zu Windows 10 fürs Pi finden sich auf der Seite https://dev.windows.com/ en-us/featured/raspberrypi2support. So ganz aus heiterem Himmel kommt die RasPi-Unterstützung von Microsoft übrigens nicht: Die Raspberry Pi Foundation arbeitet bereits seit einem halben Jahr mit dem Redmonder Unternehmen zusammen. Und auch Microsoft verlinkte bereits recht häufig auf Pi-Projekte. Windows 10 für Raspberry Pi 2 ist kostenlos verfügbar. Melden Sie sich unter www. windowsonde vices.com für das Entwicklerpro gramm an, um regelmäßig Updates zu erhalten
9
Grundlagen
Plus-Modell mit Extras Ein Update für das Raspberry Pi B: Die Version B+ bringt mehr Anschlüsse und einige praktische Verbesserungen Prozessor & Speicher 40-Pin-GPIO Herzstück des RasPi bleibt der Broadcom BCM2835 mitfest verbauten und nicht erweiterbaren 512 MB RAM
Statt 26 Pins bietet der neue GPIO-Port nun40. Allerdings bleibt die Belegung der ersten 26 Pins gleich
4 xUSB Display Connector
Dank der zusätzlichen USB2.0-Ports lässt sichneben Maus undTastatur nunetwa auch WLAN anschließen
Statt über den GPIOPortlassensich Displays auch über den DSIDisplay-Anschluss anbinden. So bleibt der GPIO-Port frei
Netzwerk Es bleibt bei 10/100MBit/s-Ethernet. Allerdings gibt es nun zwei LEDs
microSD-Karten-Slot Statt SD-Karten schluckt das Modell B+ nun microSD-Karten (auf der Rückseite) – so steht kaum mehr etwas hervor
Audio und Video Audio und CompositeVideo sitzen nun gemeinsam an einem vierpoligen 3,5-mm-Anschluss
Stromversorgung
HDMI
Kamera-Connector
Die Spannungsregler sindneu, doch es bleibt beim 5V-Micro-USB-Anschluss
Der Anschluss sitzt wie bisher mittig aufder Platine
Der Anschluss für Kameramodule ist ein paar Millimeter zur Seite gewandert
W
elch ein Erfolg: Über drei Millionen Stück hat die Raspberry-Pi-Stiftung vom Einplatinencomputer bisher verkauft. Der Mini-PC, den es teilweise schon für rund 30 Euro gibt, ist bei der breiten Masse der Bevölkerung angekommen. Kein Wunder, gibt es doch schier unendlich viele Dinge, die man mit dem RasPi anstellen kann. So lässt sich der kleine Tausendsassa etwa als Entertainment-Zentrale nutzen oder zur Steuerung von Geräten. Sogar in den Weltraum ist das Pi schon geflogen. Lesen Sie dazu auch unseren Artikel zu den interessantesten neuen Projekten ab Seite 42. Noch besser ist das Pi nach dem Update: Es handelt sich dabei jedoch nicht um eine komplett neue Version 2.0 des Minis, sondern um eine Weiterentwicklung und Verbesserung. Die RasPi-Macher haben sich entschieden, die neue
Das Raspberry Pi ist dank praktischer Verbesserungen nun noch attraktiver geworden 10
Version schlicht B+ zu nennen. Das ist konsequent, denn es ist die Fortführung des Raspberry-Pi-Modells B. Wie dieses basiert das Modell B+ auf dem Broadcom SoC BCM2835 und arbeitet ebenfalls mit 512 MByte RAM. Allerdings wurde sonst ziemlich viel umgekrempelt. Das fängt schon beim Layout der Platine an: Zwar ist der Formfaktor gleich geblieben, aber die Komponenten sind neu platziert. Auch die beiden Löcher für die Schrauben sitzen nun an anderer Stelle. Das hat den Nachteil, dass zum Beispiel Gehäuse und einiges Zubehör nicht mehr passen. Allerdings wäre dies sowieso der Fall gewesen, denn das RasPi B+ besitzt nun vier USB-Ports, die natürlich erheblich mehr Platz einnehmen. Dafür sind Audio und Composite Video nun in einem vierpoligen Klinkenanschluss vereint. Außerdem fällt sofort ins Auge, dass das Modell B+ jetzt statt SD-Karten microSD-Karten schluckt. Das war ein überfälliger Schritt, da die Verbreitung der Mini-Speicher rapide zunimmt. Ein Vorteil der microSD: Sie ragt nicht so über die Platine hinaus. Dies konnte bisher nur durch spezielle, extrem kurze SD-Karten verhindert werden. Außerdem ist das Einstecken durch den Federmechanismus jetzt viel
g 3 i p , r e l f f ä h c S s u a l o k i
N , n o i t a d n u o F i P y r r e b p s a R : s o t o F
Grundlagen angenehmer. Man weiß nun immer genau, ob die Karte auch „richtig drin“ ist. Verwendet man kein Gehäuse, kann man jedoch die kleine Karte versehentlich durch einen leichten Druck auswerfen.
Modell B
Modell B+
Versteckte Neuerungen Nicht auf den ersten Blick erschließt sich, dass auch die Stromversorgung überarbeitet wurde. Äußerlich sieht man nur, dass der zum Abbrechen neigende Entstör-Kondensator nicht mehr vorhanden ist. Dank neuer, noch energiesparenderer Spannungsregler ist die Leistungsaufnahme des Modells B+ um 0,5 bis 1 Watt gesenkt worden. Gleichzeitig wurde der maximale Eingangsstrom von 1 A auf 2 A angehoben – das ist wichtig bei vier USB-Ports. Selbstverständlich muss das verwendete Netzteil diese Stromstärke zur Verfügung stellen. Den USB-Ports stehen dann insgesamt 1,2 A zur Verfügung.Allerdings muss man dies erst „freischalten“. Standardmäßig sind es nach wie vor nur 600 mA. Um dies zu ändern, tragen Sie in der config.txt Folgendes ein: safe_mode_gpio=4
Beim nächsten Firmware-Update soll dieser Parameter in max_usb_current=1
umbenannt werden. Die Neuerung ist alles andere als unbedeutend: So ist es mit dem Modell B+ in vielen Fällen möglich, auf einen zusätzlichen, aktiven USB-Hub zu verzichten – etwa beim Anschluss einer externen 2,5-Zoll-Festplatte. Zudem soll das Pi dadurch nun auch besser vor Hot-PlugNeustarts geschützt sein. Diese traten beim Modell B zuweilen auf, wenn man im laufenden Betrieb etwa einen WLAN-Stick einsteckte. Überhaupt ist das Modell B+ deutlich unempfindlicher gegenüber Spannungsschwankungen (was freilich kein Freibrief für Billignetzteile sein sollte). Sinkt die Spannung unter 4,63 V, zeigt dies nun eine LED am Platinenrand durch Blinken an. Auch die Audioqualität wurde verbessert: Für den Audioausgang gibt es nun eine eigene Stromversorgung, was Störungen minimieren soll. Wer allerdings das Pi als Multimedia-Zentrale nutzen möchte, verwendet besser auch für Audio HDMI. Als Mediacenter ist das Modell B+ genauso gut geeignet wie das Modell B. Mit OpenELEC oder Raspbmc ist das RasPi eine vollwertige Entertainment-Zentrale, die nahezu alle gängigen Codecs bereits an Bord hat. Hier kommen die zusätzlichen USB-Ports etwa für USBSticks oder Festplatten sehr gelegen.
GPIO mit 40 Pins Eine wiederum sehr offensichtliche Neuerung betrifft den GPIO-Port. Er verfügt nun über 40 Pins statt wie bislang 26.
Allerdings hat die RasPi-Stiftung bewusst die Belegung der ersten 26 Pins beibehalten. Hinzugekommen sind zwei spezielle Pins (ID_SD/ID_SC), drei GND-(Erde)Pins sowie neun GPIO-Pins. Somit sind die meisten GPIO-Erweiterungsplatinen voll kompatibel – was die elektrischen Anschlüsse angeht. Mechanisch sieht es allerdings anders aus (siehe Kasten unten). Gar nicht mehr nutzen lassen sich leider ein paar spezielle Erweiterungen wie die ältere Wolfson Audio Card. Wolfson wurde zwischenzeitlich von Cirrus Logic übernommen und bietet nun unter neuem Namen eine Karte für das Modell B+ an (siehe http://tinyurl.com/claudiocard). An dieser Stelle sollte man erwähnen, dass beim Kameraund Display-Connector alles beim Alten bleibt. Sie können also Ihre vorhandenen Kameramodule und (Touch-)Displays uneingeschränkt weiterverwenden.
Links im Bild das Modell B, rechts das Modell B+: Auffällig sind die Veränderun gen am Layout des Boards. Das B+ bringt nun vier USB-Ports und 40 Pins mit – plus kombiniertes Composite-Video/ Audio
Ein paar oene Wünsche Bei der Raspberry Pi Foundation hat man sehr darauf geachtet, dass die Kompatibilität zu bisheriger Hard- und Software in einem hohen Maße erhalten bleibt. Daher hält man bei der Stiftung an der bewährten ARMv6-Architektur fest. Doch diese ist nur für Single-Core-Prozessoren verfügbar. Zudem liegt die Taktgrenze bei maximal 1 GHz. Da sich das Modell B+ ebenso leicht übertakten lässt wie das Modell B (in unserem Test lief es auch bei 900 MHz absolut stabil), hat man hier die technologische Leistungsgrenze erreicht. Der verwendete LAN9514-Chip ist sowohl für die vier USB-Ports als auch fürs LAN zuständig. Ein Aufbohren auf GBit-Ethernet würde also leider nichts bringen. Aufgrund des gleichen SoCs ist der von einigen Fans erhoffte Leistungsschub mit dem Modell B+ ausgeblieben. Wer sich mehr Leistung wünscht, steigt auf den neuen Nachfolger Raspberry Pi 2 um oder muss ganz auf andere Geräte ausweichen. Ab Seite 124 stellen wir die schärfsten RasPi-Konkurren vor und zeigen, wo deren Stärken und Schwächen liegen. //tfh
Adapter für Raspberry Pi B+ Durch das neue Platinen-Design und den GPIOPort mit 40 Pins lassen sich einige ursprünglich perfekt aufs Pi passende Erweiterungen 1 nicht mehr ohne Weiteres nutzen 2 . Die Münchner RasPi-Spezialisten pi3g arbeiten derzeit an einem Adapter, der dieses Problem löst (pi3g.com). Dieser Adapter (Abb. 2, rechts oben) sorgt auch für den richtigen Abstand, der wegen der vier USB-Ports notwendig ist.
1 Modell B
2 Modell B+
11
Grundlagen
Raspberry Pi A+ 20 Euro für einen kompletten Rechner: Das brandneue Modell A+ ist trotz seines günstigen Preises voll kompatibel zu seinem großen Bruder B+ und bereit für viele neue Projekte
D
ie Entwicklung des Raspberry Pi ist eine riesige Erfolgsgeschichte: Seit dem Verkaufsstart im Februar 2012 wurden mehr als 3,8 Millionen der kleinen Einplatinencomputer verkauft. Blättern Sie einmal zur Seite 26, um zu erfahren, wie ein Raspberry Pi entsteht. Jüngster Spross der Pi-Familie ist das nur rund 20 Euro teure Raspberry Pi Modell A+. Es ersetzt ab sofort das alte Modell A. Damit setzt die Raspberry Pi Foundation konsequent auf Erneuerung wie beim Wechsel des Modells B hin zum Modell B+. Trotz des günstigen Preises wurde auf Kompatibilität geachtet.Wie das Modell B+ arbeitet das RasPi A+ an der GPIOSchnittstelle nun mit 40 Pins. Dabei sind die ersten 26 identisch mit dem ersten RasPi-Modell. Auf diese Weise lassen sich alle Erweiterungen auch mit der neuen Hardware weiter nutzen.
Weniger Speicher Wie auch beim Modell B+ ist das Herz des Raspberry Pi A+ ein 700-MHzProzessor. Dieser muss allerdings mit der Hälfte des Arbeitsspeichers auskommen (256 MB). Speicherintensive Anwendungen sind somit nicht möglich, was aber bei den meisten Embedded-Projekten nicht sonderlich ins Gewicht fallen dürfte.
RasPi für alle: Das unglaublich günstige Modell A+ ist auf das Nötigste reduziert
Im Gegensatz zum Vorgänger besitzt das Modell A+ nun einen verbesserten integrierten Ausgang für Audio und Video zusätzlich zum HDMI-Port. Zudem wurde die Leistungsaufnahme verringert. Das Betriebssystem wird jetzt nicht mehr auf SD-, sondern auf microSD-Karte aufgespielt. Diese ist wie schon beim Modell B+ praktischerweise voll versenkbar und ragt nicht mehr über das Board hinaus. Das Standard-Betriebssystem ist wie bei allen Pis auch hier die angepasste Debian-Wheezy-Version
Auf einen Blick
Raspbian. Dank Noobs-Installer und umfangreicher Hilfe auf der Projektseite ist die Installation ein Kinderspiel. Wie das rund zwei Zentimeter längere Modell B+ hat das A+ einen CSIPort zur Verbindung mit der Raspberry-Pi-Kamera und einen DSI-Port zur Verbindung mit einem TouchscreenDisplay. Allerdings fehlt im Gegensatz zum größeren Modell eine Netzwerkschnittstelle. Die Netzwerkanbindung könnte man jedoch über einen – separaten – WLAN-Adapter herstellen. Dieser würde dann aber den einzigen USB-Port belegen (zum Vergleich: Das Modell B+ besitzt vier USB-Ports). Daher eignet sich das RasPi A+ wohl eher für den Embedded-Einsatz und weniger für Serverprojekte. //tfh
Techn. Daten Raspberry Pi A+
12
Größenvergleich
Umfangreiche Hilfe
Das Modell A+ (im Vordergrund) ist noch einmal deutlich kleiner als das Modell B+ (Hintergrund)
Die Raspberry Pi Foundation versucht auf vorbildliche Weise, den Einstieg zu erleichtern
Hersteller: Raspberry Pi Foundation Web: www.raspberrypi.org Preis: ca. 20 Euro Prozessor: 700 MHz Broadcom BCM2835inkl.256 MB RAM Anschlüsse (int.): erweiterter 40-Pin-GPIO, 1 x CSI-, 1 x DSI-Port Anschlüsse (ext.): 1 x USB 2.0, 4-poliger Stereo-Output und CompositeVideo Port, 1 x HDMI OS/Speicher: microSD Größe: 6,6 x 6,5cm
p m a k r e v a H e k n a r F n e t s r o h T , 4 1 t n e m e l E l l e n r a F : s o t o F
Grundlagen
RasPi-Modelle im Überblick Die Modellreihen A und B unterscheiden sich deutlich voneinander. Um Ihnen die Kaufentscheidung zu erleichtern, haben wir hier die wichtigsten Produktdetails zusammengestellt INFO Auch wenn sich die Modelle unterscheiden – in puncto Betriebssystem herrscht Einigkeit: Jedes RasPi-OS läuft auf jedem der Modelle
D
ie Raspberry-Pi-Familie besteht derzeit aus vier verschiedenen Modellen. Die Versionen A und B des von der Raspberry Pi Foundation entwickelten Einplatinenrechners waren ein riesiger Verkaufserfolg. Kein Wunder also, dass man mit den seit 2014 erhältlichen Modellen A+ und B+ nochmals nachlegte. Dabei handelt es sich nicht um grundlegende Neuentwicklungen – die aktuellen Modelle warten jedoch mit zahlreichen Detailverbesserungen auf (siehe auch Seiten 10 und 12). Doch für welches RasPi sollte man sich nun entscheiden? Wie so oft im Leben heißt die Antwort: Es kommt darauf an... Denn viel größer als die Auswahl an Raspberry-PiModellen ist die Anzahl an Projekten, die sich mit dem Minirechner umsetzen lassen . Soll Ihr Pi im Dauerbetrieb laufen, ist sicher der geringe Stromverbrauch des A+ ein wichtiger
Faktor. Auch seine selbst für RasPi-Verhältnisse winzigen Abmessungen sprechen für das Modell A+. Dieses ist noch dazu mit 23 Gramm ein echtes Leichtgewicht. Möchten Sie dagegen Ihr Raspi als Server oder Netzwerkspeicher betreiben, sollten Sie zu einem der B-Modelle greifen, da die A-Versionen keinen Netzwerkanschluss besitzen. Auch die Anzahl der USB-Schnittstellen spricht für die B-Modelle. Top ist hier das Modell B+ mit vier USB-Anschlüssen. Als Fünfter im Bunde kommt noch das Raspberry Pi Compute Module Development Kit hinzu (siehe Seite 128). 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 150 Euro. Daher fehlt es in unserer Tabelle. Die anderen vier Pis finden Sie unten in der Übersicht. //re
Modelle RASPBERRY PI A Preis Abmessungen (Gesamtgröße) Gewicht Speichermedium
RASPBERRY PI A+
RASPBERRY PI B
RASPBERRY PI B+
20 Euro
22 Euro
32 Euro
32 Euro
93 x 63,5 x17 mm
70,4 x57,2 x 12 mm
93 x63,5 x20 mm
93 x63,5 x20 mm
31 Gramm
23 Gramm
40 Gramm
45 Gramm
SD-Karte
microSD-Karte
SD-Karte
microSD-Karte
Broadcom BCM2835
Broadcom BCM2835
Broadcom BCM2835
Broadcom BCM2835
CPU
ARM1176JZF-S/700MHz
ARM1176JZF-S/700MHz
ARM1176JZF-S/700MHz
ARM1176JZF-S/700MHz
GPU
Broadcom VideoCore I V
Broadcom VideoCore I V
Broadcom V ideoCore I V
Broadcom V ideoCore I V
256 MByte
256 MByte
512 MByte
512 MByte
26 Pins
40 Pins
26 Pins
40 Pins
5-V-Micro-USB-Anschluss
5-V-Micro-USB-Anschluss
5-V-Micro-USB-Anschluss
5-V-Micro-USB-Anschluss
Prozessor
Arbeitsspeicher GPIO (P1)
ANSCHLÜSSE Strom USB 2.0 Audio-/Videoausgang
1x
1x
2x
4x
3,5 mmKlinke/Composite Video
Ein gemeinsamer 4-poliger Anschluss fürAudio undVideo
3,5 mmKlinke/CompositeVideo
Eingemeinsamer 4-poliger Anschluss fürAudio undVideo
HDMI Kamera-Connector (CSI)
Q
Q
Q
Q
Q
Q
Q
Q
Display-Connector (DSI) Netzwerk
Q
Q
Q
Q
Q
Q
5 V, 500 m A (2,5 W)
5 V, 100–230 m A (0,5–1,2 W)
5 V, 700 m A (3,5 W)
5 V, 500–600 m A (2,5–3 W)
1A
2A
1A
2A
Q
(10/100 MBit-Ethernet)
Q
(10/100 MBit-Ethernet)
STROMVERSORGUNG Leistungsaufnahme Eingangsstrom maximal Q JA Q NEIN
13
Grundlagen
Noobs bringt das RasPi zum Laufen 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 dürfen wählen zwischen Klassikern wie Raspbian und Spezialitäten wie RISC OS oder Pidora. 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 beim neuen Modell Raspberry Pi B+ ist der Austausch der nur fingernagelgroßen microSD-Karte 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 (etwa 1,4 GByte), 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 18.
Alternative Methoden Experten wissen es: Noobs ist nur eine von vielen Möglichkeiten, um das RaspPi 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“ arbeiten. Mit diesem Tool lassen sich SD-Karten 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 zum Beispiel mit den folgenden Parametern kombiniert: 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
Direkt im Anschluss erscheint die Abfrage, was mit der Datei geschehen soll. Wählen Sie Datei speichern und klicken Sie auf 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.
t a m r o F x u n i L
: o t o F
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 18).
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
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 Pulldown-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 nden Sie neue Soware
Eigene Ordner anlegen
Wenn Sie neue Programme installieren, werden diese von Raspbian automatisch in die jeweiligen Menükategorien einsortiert.
Klicken Sie rechts auf den Desktop, wenn Sie eigene Verzeichnisse anlegen wollen. Dann erscheint ein spezielles Kontextmenü.
R TIPP Werfen Sie regelmäßig einen Blick auf die DownloadSeite des Raspberry-Projekts. Das OS wird regelmäßig aktualisiert und verbessert.
16
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
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 ScreenshotProgramm 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 zu VNC (Virtual Network Computing) finden Sie auf Seite 20.
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
Mit Synaptic versorgen Sie das RasPi mit der nötigen Software, etwa mit Spielen
Warnhinweis: Als Admin mit Root-Rechten können Sie das
System beschädigen! Dann ist eine Neuinstallation nötig.
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 Einstellun gen 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
17
Grundlagen
So stellen Sie Ihr RasPi richtig ein 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 St andardpasswort „raspberry“ für den Benutzer „pi“ gleich bei der Konfiguration ändern.
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.
E
18
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
5 Memory Split nutzen
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
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.
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. 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.
INFO Wenn Sie das Passwort ändern,sehen Sie keinerlei Hinweise – auch keine Sternchen. Das ist unter Linux, also auch bei Raspbian,der geltende Sicherheitsstandard.
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, kom-
men 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.
4 Raspberry Pi übertakten
7 Overscan deaktivieren
Experimentierfreudigen RasPi-Besitzern, die gerne an ihrem System herumschrauben, bietet das Config-Tool 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.
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
19
Grundlagen
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 dazu direkt im Anschluss.
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: 20
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 di e 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.
Grundlagen 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 22). Sichern Sie die Session mit einem Klick auf den Button Save. Mit Open öffnen Sie ein Terminal-Fenster 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:
Putty ist unter Windows das Tool der Wahl. Es stellt die Verbindung zum RasPi her
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 eben mit ip addr | grep inet ermittelt haben, etwa 192.168.178.61:5900 . Der Port 5900 (und höher) ist für VNC-Verbindungen. 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
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 kos-
tenpflichtigen 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). Preis: 4,49 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
21
Grundlagen
Mehr als nur Raspbian Jeder Rechner braucht einen Motor, der ihn antreibt. Beim Raspberry Pi ist es Raspbian. Doch es gibt auch andere Betriebssysteme – wir stellen Ihnen drei Alternativen vor
K
reativität, Freiheit und Offenheit – für diese Werte steht das Raspberry Pi. Der Linux-Zwerg hat neue Maßstäbe gesetzt. Das ist einer der Gründe, weshalb das Gerät in der Open-Source-Welt so beliebt ist. Elektronikbastler schätzen das Raspberry Pi, denn es eröffnet ihnen ganz neue Chancen für ihre Projekte und Ideen. Der kleine Rechner hat die Computerszene gehörig durcheinandergewirbelt. War man bis dato der Meinung, dass es leistungsstarke Hardware und große Budgets braucht, um Ideen in die Praxis umzusetzen, zeigt das RasPi, dass es auch anders geht. Mittlerweile haben zahlreiche außergewöhnliche Projekte das Licht der Öffentlichkeit erblickt. Die unzähligen Einsatzmöglichkeiten beweisen die große Flexibilität der kleinen Wunderplatine
Ein neues Betriebssystem für das Raspberry Pi ist wie eine spannende Entdeckungsreise 22
Das Raspberry Pi ist die perfekte Plattform, um Programmieren zu lernen, sich ein tieferes Verständnis von Linux zu erarbeiten oder in die faszinierende Welt der Elektronik einzutauchen. Die meisten Anwender werden sich auf das offizielle Betriebssystem, sprich Raspbian (auf Heft- DVD), beschränken und den kleinen Rechner für alltägliche Aufgaben einsetzen. Warum auch nicht, niemand muss sich bis tief in die letzten Bits & Bytes vorarbeiten. Aber es gibt eine große Welt jenseits von Raspbian, die Ihnen viele weitere Möglichkeiten eröffnet. Dank des HDMI-Ports, ausreichender Rechenleistung und der kompakten Bauweise findet das Raspberry Pi bei vielen Usern zu Hause im Wohnzimmer seinen Platz – gleich in der Nähe des Fernsehers. Sie benötigen nur das richtige Betriebssystem, dann verwandeln Sie Ihr Raspberry Pi in ein Mediacenter. Dies ist ohne großen Aufwand für jedermann leicht nachvollziehbar. Wie es geht, lesen Sie auf Seite 88. Apropos Unterhaltung: Hätten Sie gedacht, dass ein Raspberry Pi auch als Spielkonsole taugt? Lesen Sie im Folgenden, welches OS dafür Voraussetzung ist.
t a m r o F x u n i L
: o t o F
Grundlagen
RasPlex
Verwan erwande deln ln Sie Sie Ihr Ihr Rasp Raspbe berry rry Pi in ein ein mode modern rnes es Medi Mediac acen ente terr – zum zum Nu Nullllta tari riff
N
ie war es leichter, leichter, sich ein preiswertes preiswertes HomeEntertainment-Center in Eigenregie selbst zusammenzustellen: Empfehlenswert Empfehlenswert ist zum Beispiel der kostenlose kostenlose Plex Media Media Serve Serverr, der Ihre Sammlung von Musik, Videos und Fotos an verschiedene Geräte streamt. Sie können sich zwischen einer ganzen Reihe von verschiedenen Betriebssystemplattformen Betriebssystemplattformen für den Plex Media Media Serv Server er entsche entscheiden: iden: Windows, Windows, OS X, Linux, Linux, FreeB FreeBSD SD oder einer NAS. Die Chancen stehen stehen also sehr gut, gut, dass Sie etwas Passendes Passendes für sich finden. Falls Ihnen die serverseitige serverseitige Installation des Plex Media Media Serve Servers rs Probleme bereiten bereiten sollte: Im englischsprachigen Forum (plexapp.zendesk.com) finden Sie viele Schritt-für-Schritt-Anleitungen. Wenn Wenn serverseitig serverseitig alles alles glatt läuft, ist es an an der Zeit, sich um die Konfiguration auf dem Raspberry Pi zu kümmern. Sie benötigen dazu eine Speicherkarte Speicherkarte mit mindestens 4 GByte Speicher (am besten eine Class-10-Karte Class-10-Karte)) und einen Zugang Zugang zu Ihrem privaten LAN. Ferner müssen natürnatürlich ein Monitor, Monitor, eine Tastatur und eine Maus am Raspberry Raspberry Pi angeschlossen angeschlossen sein. Später, Später, wenn alles hundertprozentig hundertprozentig läuft, können Sie das Pi in einem Gehäuse verstauen. verstauen. Es gibt drei drei Instal Installer ler für RasPle RasPlex: x: Sie kön können nen die Softw Softwar are e von einem Windows-, OSXOSX- oder Linux-Rechner Linux-Rechner überspielen. Die Versionen Versionen finden Sie unter www unter www.rasplex. .rasplex.com. com. Das Konfigurationstool ist mit einer Benutzeroberfläche ausgestattet und hilft Ihnen, das Image auf die SD-Karte zu überspielen. überspielen. Sie stecken die Karte in den Rechner, Rechner, starten den Installer und entscheiden sich für eine RasPlex-Version. Wählen Sie das Image aus und klicken Sie auf Write to transferieSD Card, um das System auf Ihre SD-Karte zu transferieren. Nachdem RasPlex RasPlex überspielt ist, stecken stecken Sie die Karte ins Raspberry Pi und booten das System wie gewohnt. Zunächst passiert passiert nichts. Keine Panik, Panik, das ist normal! Das liegt nicht daran, daran, dass Ihr Raspberry Raspberry Pi defekt defekt ist, sondern beruht auf der Konzeption von RasPlex. RasPlex arbeitet nämlich mit einer clientseitigen clientseitigen Zwischenspeicherung Zwischenspeicherung von Fotos, Fotos, Vorschaubildern orschaubildern und Metadaten. Beim ersten Start
des Systems ist der Cache allerdings noch leer – folglich dauert es eine Weile, Weile, bis er gefüllt und das Raspberry Raspberry Pi bereit ist. Beim nächsten Mal sollte der Bootvorgang Bootvorgang dann sehr viel schneller ablaufen. Um den Prozess zu beschleunigen, beschleunigen, können Sie im Konfigurationsmenü gurationsmenü einige Änderungen Änderungen vornehmen: Aktivieren Sie im Abschnitt Abschnitt All die Optionen All Videos, All TV Shows sowie die übrigen Einträge. Einträge. Sorgen Sorgen Sie dafür, dafür, dass RasPlex möglichst möglichst alles alles in den Cache Cache schiebt. schiebt. Die Zeit, Zeit, die Sie in die sorgfältige sorgfältige Konfiguration des Systems investieren, investieren, sparen Sie später, wenn Sie mit RasPlex experimentieren experimentieren wollen.
Läuft bei Ihnen – etwa auf der NAS – bereits der Plex Media Server, ist RasPlex die ideale Ergänzung
Die RasPlex-Community RasPlex-Community RasPlex ist leider noch nicht endgültig ausgereift. ausgereift. Mit Überraschungen raschungen und Nebeneffekten müssen Sie rechnen. Aber wie bei allen Projekten, Projekten, die sich mit den Möglichkeiten des Raspberry Pi beschäftigen, beschäftigen, gilt: Versuch macht klug. klug. RasPlex ist ein relativ junges junges Projekt, bei dem man viel lernen kann – vor allem, wenn Sie sich aktiv daran beteilibeteiligen und zum Beispiel den Code verbessern. verbessern. Das ist aber nicht die einzige einzige Form, Form, wie Sie mitmachen mitmachen können. Mehr erfahren Sie auf der Internetseite zu RasPlex: www.rasplex. com/contribute/h com/contribute/how-to-help ow-to-help.. Wenn Wenn Sie sich im RasPlexService: Der RasPlex-Downloader Forum engagieren und dort Fragen von Einsteigern beanthilft, das Betriebsworten, wird das besonders gerne gesehen. system auf die SDKarte zu bringen
XBian: Die Multimedia-Distribution RasPlex basiert zwar zwar auf XBMC, doch manche ziehen das Original vor. In diesem Fall empfehempfehlen wir, neben Raspbmc (siehe Seite 88) auch einen Blick auf die Multimedia-Distribution XBian zu werden. Die Mediacenter-Software Mediacenter-Software XBMC ist bereits bereits mit an an Bord. Die Vorteile Vorteile dieser Komplettlösung sind eine kürzere kürzere Bootzeit sowie sowie ein flotteres flotteres XBMC-Menü. Falls Sie es ausprobieren wollen: Schauen Sie bei www.xbian.org vorbei vorbei und laden Sie sich die Software Software herunter. Passende Installer bekommen Sie sowohl für Windows- und OSXOSX- als auch für Linux-Systeme. Linux-Systeme.
Gerade für Einsteiger Einsteiger ist XBian durchaus einen Versuch wert. Denn Sie ersparen sich die serverseitige serverseitige Konfiguration von Plex. Sie benötigen im Grunde genommen nur ein passendes NAS-Laufwerk. NAS-Laufwerk. Außerdem ist der RessourcenRessourcenverbrauch sehr gering. Das Beste aber: WLAN-Adapter WLAN-Adapter lassen sich mit XBian vom Fleck weg weg einbinden, meist ohne Probleme. Probleme. Das User-Interface User-Interface kann sich ebenfalls sehen lassen und ist damit ein weiteres weiteres Argument für Einsteiger. Einsteiger. Ein neues Dateisystem mit der Bezeichnung BTRFS verkürzt die Bootzeiten zusätzlich.
23
Grundlagen
RISC OS
Ein Ein geni geniale aless Betri Betrieb ebssy ssyst stem em – nicht nicht nur für Retr Retroo-Spi Spiel ele e
R
Pfeilschnell und absolut retro: RISC OS ist eine echte BetriebssystemAlternative
etro ist weiterhin schwer schwer in Mode: Wir erfreuen uns an künstlich vergilbten vergilbten Digitalfotos, lieben Smartphone-Apps mit Telefonwählscheiben elefonwählscheiben und verstecken modernste Technik in antiken Gehäusen im Steampunk-Look. punk-Look. Doch was hat das mit dem Raspberry Pi zu tun? Wie wäre es, wenn Sie auf dem RasPi die Computerspiele Ihrer Jugend laufen laufen lassen könnten? könnten? Games, die Sie früher nächtelang auf Atari, Amiga oder C64 gespielt haben. Unser Vorschlag: Elite! Das Weltraumspiel Weltraumspiel zog seinerzeit unzählige Spieler in seinen Bann. Die Spielwelt umfasste umfasste mehr als tausend Planeten, Planeten, die es zu entdecken entdecken galt. Um wieder in
diesen Genuss zu kommen, installieren installieren wir RISC OS als Betriebssystem Betriebssystem auf dem RasPi. Die Wurzeln Wurzeln von RISC OS OS reichen bis in die späten 80er 80er Jahre zurück, zurück, als die britische Firma Acorn für ihren 32-Bit-Computer 32-Bit-Computer Archimedes Archimedes (mit ARM-CPU) ein Betriebssystem Betriebssystem entwickelte entwickelte.. Auf dieser ARMArchitektur Architektur basiert heute auch das RasPi – einer der Gründe, weshalb dieses im Dauerbetrieb sehr stromsparend stromsparend arbeitet. ARM-Prozessor ARM-Prozessoren en spielen überall dort eine Rolle, wo es auf eine geringe geringe Stromaufnahme ankommt.
RISC OS richtig konfigurieren RISC OS erinnert im Look-and-Feel Look-and-Feel eher an die 90er Jahre, Jahre, was aber seinem seinem Gebrauchswert Gebrauchswert keinen Abbruch tut. Es besitzt eine grafische Benutzeroberfläche Benutzeroberfläche und lässt sich per Maus bedienen. Am einfachsten installieren installieren Sie das System über Noobs, Noobs, das Sie auf www.raspberrypi.org auf www.raspberrypi.org fi finden nden (siehe Seite 14). 14). Sie gehen dabei genauso genauso vor wie bei der Installation von Raspbian. Sie können unter Noobs auch gleich beide Betriebssysteme Betriebssysteme auf eine SD-Karte installieren – oder noch weitere weitere mehr. Bei jedem Start wählen Sie dann einfach das gewünschte gewünschte System aus. Natürlich können Sie RISC OS von der Raspberry-Pi-Homepage auch direkt als komplettes Image herunterladen herunterladen und auf SD-Karte überspielen.Achtung: Die Netzwerkverbindung Netzwerkverbindung ist von Haus aus deaktiviert. Um sie zu aktivieren, aktivieren, wählen Sie das !Configure-Symbol auf dem Desktop per Doppelklick aus (linke Maustaste). Als Nächstes folgt ein einfacher Klick auf das Symbol Network und Internet . Wählen Wählen Sie Enable TCP/IP TCP/IP protocol suite . Dort sollten jetzt drei Symbole aufleuchten. aufleuchten. Klicken Sie auf die Schaltfläche Schaltfläche Close und Save im vorherigen Fenster und starten Sie den Reboot mit Reset Now .
So starten Sie Elite per Emulator Im Folgenden Folgenden zeigen wir Ihnen, wie Sie den Spieleklassiker Arc Elite auf dem RasPi RasPi spielen. Wir nutzen den Emulator ArcEm, um das alte Betriebssystem Betriebssystem Archimedes Archimedes zu emulieren. Starten Sie RISC OS OS auf dem RasPi. Öffnen Sie den Browser !NetSurf und laden Sie die aktuelle Version von ArcEm für RISC OS herunter. herunter. Den Link finden Sie über http://arcem.sourceforge. über http://arcem.sourceforge. net. !NetSurf mag keine automatischen automatischen Downloads. Klicken Sie die Fehlermeldung Fehlermeldung weg und nutzen Sie den Direktlink. Direktlink. Öffnen Sie per Klick auf das SD-Karten-Symbol unten links den Dateimanager. Dateimanager. Ziehen Sie nun das Datei-Symbol im neuen Popup-Fenster Popup-Fenster des !NetSurfBrowsers Browsers in den Ordner der SD-Karte. Per Klick auf die mittlere(!) Maustaste oder das Mausrad öffnen Sie das Kontextmenü. Erstellen Sie einen neuen Ordner für ArcEm auf der SD-Karte SD-Karte (New Directory | ArcEm) und entpacken Sie das heruntergeladene heruntergeladene Archiv arcem-1.50-riscos.zip dort hinein. Um es entpacken entpacken zu können, müs-
24
sen Sie eventuell erst den Dateityp Dateityp als ZIP festlegen (File | Set type | ZIP). Als Nächstes besorgen wir uns ein ROM-File, ein Abbild des ursprünglichen AchimedesBetriebssystems. Betriebssystems. Sie werden die Parallelen Parallelen zum modernen RISC OS gleich erkennen. erkennen. Sie finden es im Archiv support2 support2 unter http://home.tis unter http://home.tis cali.nl/jandboer. cali.nl/jandboer. Es enthält das Programm !A310Emu . Drücken Sie [Shift] [Shift] + Doppelklick und navigieren Sie zu !A310Emu | OS. Hier Hier finden Sie die Datei ro310 . Diese benötigen benötigen Sie. Um sie für unsere unsere Zwecke Zwecke zu nutzen, entfernen wir den Kopierschutz (File | Access | Unprotected), geben den Dateityp Dateityp als Data an (File | Set type | Data), benennen benennen sie um in ROM (File | Rename | ROM) und speichern sie per [Shift] + Doppelklick im !ArcEm-Ordner !ArcEm-Ordner (ArcEm | Apps | Misc | !ArcEm). Sie können können den Emulator nun mit Doppelklick auf !ArcEm testen. Das Bild wird kurz schwarz, schwarz, dann startet die Bootsequenz von Archimedes. Archimedes. Über das das Icon
Apps unten rechts erreichen Sie die Einstellun-
gen !Configure . Hier können Sie gegebenengegebenenfalls die Einstellungen für den Screen auf 4:3 permanent festlegen (Screen (Screen Mode 28). Wegen Wegen eines Bugs müssen Sie das RasPi vom Strom nehmen, um den Emulator zu schließen. Das ist nicht elegant, elegant, aber schadet schadet auch nicht. Starten Sie das Raspi neu und laden Sie das eigentliche Spiel herunter (419 KByte): KByte): www.iancgbell. clara.net/elite/ clara.net/elite/arc. arc. Benennen Sie die Datei b5052410.arc in ein ZIP-Archiv ZIP-Archiv um (Set type | zip) und entpacken Sie alle Spieldateien in den Unterordner ArcEm | Apps | Misc | hostfs auf der SD-Karte. Wenn Wenn Sie den Emulator erneut starten, sollte Ihnen das Spiel jetzt zur Verfügung stehen. stehen. Auf dem Archimedes-Desktop Archimedes-Desktop klicken Sie auf das Hostfs-Icon -Icon unten links. Mit Doppelklick auf !élite sowie Jameson unten rechts starten Sie das Game. Detaillierte Informationen zum Spiel finden Sie hier: www.iancgbell.clara.net/elite/manual.htm.
Grundlagen
RetroPie
So mach machen en Sie Sie aus aus dem dem Rasp Raspbe berry rry Pi mit mit weni wenig g Aufwa Aufwand nd eine eine klas klassi sisc sche he Spie Spielk lkon onso sole le
D
ie gute alte Zeit: Auf dem Raspberry Raspberry Pi können Sie Sie sie wiederauferstehen lassen – zumindest wenn es um klassische Retro-Spiele Retro-Spiele geht. Einen wichtigen Hinweis geben wir allerdings vorweg: Sofern Sofern es sich nicht um freie Software Software handelt, müssen Sie ein Exemplar eines Spiels besitzen, um dessen ROM nutzen nutzen zu dürfen. dürfen. Erst dann ist es erlaubt, ROMs entweder aus Ihren Ihren eigenen Kopien zu erstellen, von Händlern zu erwerben erwerben oder aus dem Internet herunterzuladen. herunterzuladen. Da viele alte Konsolenspiele keinen Kopierschutz Kopierschutz haben, dürfen Sie von diesen Spielen Backups anlegen. anlegen. Achtung: Von Spielen mit DRM-Schutz dürfen Sie weder Sicherungskopien anlegen noch Kopien ziehen! Diese Regelung gilt in Deutschland bereits seit dem 13. September 2003. 2003. Doch nun zu RetroPie: RetroPie: Dieses Betriebssystem hat viele gängige Emulatoren Emulatoren bereits bereits vorinstalliert, etwa für Amiga, Atari Atari 2600, Game Boy, Boy, Neo Geo, Sega, Sega, PlayStatio PlayStation n 1 oder Sinclair ZX Spectrum, um nur einige Beispiele zu nennen. Um das OS herunt herunterz erzula uladen den,, gehen gehen Sie zu folge folgende nderr Inter Inter-netsei netseite: te: goo.gl/ goo.gl/34t 34tF FaI. Dor Dortt laden laden Sie die Imaged Imagedate ateii des Betrie Betriebss bssyst ystems ems herunt herunter er.. Übersp Überspiele ielen n Sie die Datei Datei auf eine eine SD-Kart SD-Karte. e. Booten Booten Sie Retr RetroPie oPie von der Karte Karte.. Anfang Anfangss sollten sollten Sie den Einstel Einstellun lungsb gsbilds ildschir chirm m für den Con Contr trolle ollerr sehen. sehen. Folgen olgen Sie einfac einfach h den Anweis Anweisung ungen, en, um ein Gamepa Gamepad d oder oder die Tastatu astaturr entspr entsprech echend end zu kon konfig figuri urier eren. en. Nun kön können nen Sie in Retro RetroPie Pie problem problemlos los navigie navigiere ren. n. Für die Kalibri Kalibrieru erung ng wählen wählen Sie Menu und dann dann Exit EmulationStation . Sie Sie können kön nen jetzt jetzt versch verschied iedene ene Simulat Simulatore oren n und die dazuge dazugehöhörigen rigen Spiele Spiele auswäh auswählen len.. Hinwe Hinweis: is: Beim Beim ersten ersten Start Start des EmuEmulators lators wird wird das Raspber Raspberry ry Pi ung ungew ewohn ohntt langsa langsam m reagi reagier eren. en. Danach Danach verhä verhält lt sich das System System wieder wieder völlig völlig normal normal und auch auch das Tempo empo ist wie gewoh gewohnt. nt.
Spiel, Spiel, Spaß, Spaß, Spann Spannung ung Um ein Spiel zu starten, starten, navigieren navigieren Sie mit den Tasten links und rechts durch die verschiedenen verschiedenen Simulatoren. Mit den Tasten hoch und runter wählen Sie das entsprechende entsprechende Spiel aus. Jeder Emulator bringt sein eigenes Menüsystem Menüsystem mit, in dem Sie die jeweiligen verfügbaren verfügbaren ROMs finden. Diese können Sie laden und anschließend anschließend spielen. Die Menüs werden werden mit der Zeit immer größer größer.. Es kommt hier
natürlich darauf darauf an, wie viele ROMs Sie im Laufe der der Zeit hinzufügen. hinzufügen. Machen Sie deswegen deswegen von der Jump-to-LetterJump-to-LetterOption Gebrauch. Hier können Sie gezielt zu einem beliebigen Buchstaben Buchstaben springen. Es handelt sich dabei um die Taste auf dem Controller, den Sie für die schnelle Navigation festgelegt festgelegt haben. Gelegentlich hakt hakt es etwas bei den Audio-Einstellungen. Audio-Einstellungen. Das hat aber nichts mit dem Raspberry Pi selbst zu tun. Schuld ist hier vielmehr der Audiotreiber. treiber. Manchmal ist beim beim Pi auch das Audiokabel dafür dafür verantwortlich. verantwortlich. Prüfen Sie deshalb deshalb immer zunächst, zunächst, ob die Kabel und Stecker Stecker richtig sitzen. Falls Sie Gefallen am RetroGaming finden, haben wir zum zum Schluss noch einen Projektvorschlag für für Sie: Wie wäre es zum Beispiel mit einem RetroRetroGaming-Gehäuse? Gaming-Gehäuse? Hierfür eignen sich sowohl alte Gehäuse als auch ein Eigenbau. Ein Hingucker wäre eine ausgediente Arcade-Maschine, Arcade-Maschine, in der ein Raspberry Pi steckt.
Ein Raspberry Pi bereitet viel Freude. Freude. Nicht nur beim Programmieren – auch beim Spielen
Beim RetroPieRetroPieProjekt geht es darum, alte Spiele auf dem RasPi laufen zu lassen
Von RetroPie unterstützte Games und Emulatoren Hier sehen Sie eine kleine Übersicht von Systemen, die von RetroPie in der aktuellen Version unterstützt werden: Amiga (UAE4All) Apple II (Basilisk II) Arcade (PiFBA, (PiFBA, Mame4All-RPi) Atari 800 Atari 2600 (RetroArch) Atari ST/STE/TT/Falcon ST/STE/TT/Falcon C64 (VICE)
CaveStory (NXEngine) Doom (RetroArch) Duke Nukem 3D Final Burn Alpha (RetroArch) (RetroArch) Game Boy Advance (gpSP) (gpSP) Game Boy Color (RetroArch) Game Gear (Osmose) Intellivision (RetroArch) (RetroArch) MAME (RetroArch) MAME (AdvMAME) NeoGeo (GnGeo)
NeoGeo (Genesis-GX, (Genesis-GX, RetroArch) Sega Master System (Osmose) Sega Megadrive/Genesis (DGEN, Picodrive) Nintendo Entertainment System NES (RetroArch) N64 (Mupen64Plus-RPi) PC Engine/Turbo Grafx 16 (RetroArch) PlayStation 1 (RetroArch) (RetroArch)
ScummVM SNES Super Nintendo Entertainment System (RetroArch, (RetroArch, PiSNES, SNES-Rpi) Sinclair Sinclair ZX Spectrum Spectrum (Fuse) (Fuse) PC/x86 (rpix86) Z Machine emulator (Frotz) (Frotz) Weitere Weitere Unterstützung und Infos finden Sie auf folgender Website: Website: http://blog.petrockblock.com.
25
Grundlagen
So entsteht ein Raspberry Pi Der Mini-PC ist sehr flexibel und äußerst preiswert – und das, obwohl das RasPi in Europa produziert wird. Die britischen Kollegen von Linux Format waren auf Werksbesuch
D
as Raspberry Pi ist eine großartige Erfolgsgeschichte. Ursprünglich als preiswerte Lernplattform für Schüler und Studenten in England konzipiert, hat der Linux-Zwerg seinen Weg in Elektroniklabors und private Bastelprojekte weltweit gefunden. Dieser Siegeszug des Raspberry Pi hat viele Gründe.Wobei vor allem der günstige Preis maßgeblich zum Verkaufserfolg beigetragen hat. Nicht ohne Grund lief das Pi anfangs von chinesischen Produktionsbändern. Die niedrigen Fertigungskosten in Fernost waren zu verlockend. Doch es geht auch anders: Dass man in Europa kostengünstig produzieren kann, davon war die Raspberry-PiFoundation gemeinsam mit den Initiatoren, darunter Eben Upton und Pete Lomas, fest überzeugt. So kam es zur Partnerschaft mit dem japanischen Elektronikkonzern Sony, der in seinem Werk im südwalisischen Pencoed eine Pro-
Anfangs lief das Raspberry Pi in China vom Band – doch es geht auch anders
duktionsstätte für das Raspberry eingerichtet hat. Weil wir wissen wollten, wie ein Raspberry Pi entsteht, sind wir nach Pencoed gereist und haben uns vor Ort die Fertigungsschritte zeigen lassen. Bereits so viel vorab: Es ist äußerst spannend, zu sehen, wie aus einer leeren Platine am Ende ein Rechner entsteht, der eine schier unglaubliche Begeisterung für Computerbasteleien, Elektronik und Programmiertechnik ausgelöst hat. Wir haben die Chance genutzt und uns mit Pete Lomas getroffen, einem der Mitbegründer der Raspberry-Pi-Foundation. Er ist maßgeblich für das Hardwaredesign des Boards verantwortlich und kennt das RasPi bis ins kleinste Detail. Bei der Werksführung mit von der Partie war Gareth Jones, Senior Manager New Business Development beim Sony UK Technology Centre. Auf unserer Tour durch die weitläufigen Fabrikhallen erklären uns Lomas und Jones, wie das Raspberry Pi entsteht: „Die Grundidee ist eigentlich ganz simpel“, sagt Pete Lomas, als er uns eine leere Platine in die Hand drückt: „Wir bestücken die Leiterplatte mit den elektronischen Komponenten, packen den Prozessor darauf und verlöten das Ganze.“ Jones ergänzt: „Nach der Montage durchlaufen die Platinen selbstverständlich eine Reihe
Die Lötpaste wird per Schablone aufgebracht
Von der Platine hängt das Design der Schablone ab
26
t a m r o F x u n i L
: o t o F
Grundlagen von mechanischen und elektrischen Tests, bis sie am Schluss nach der Endkontrolle verpackt und für den Versand vorbereitet werden.“ Hier haken wir ein: „Das klingt ein bisschen zu simpel. Schließlich liegt das Produktionsziel bei weit über 10.000 Einheiten pro Tag. Wie schaffen Sie es, im Sekundentakt ein Raspberry Pi zu produzieren?“ Jones lacht und ergänzt dann stolz: „Ich darf Sie korrigieren. Bei uns verlässt exakt alle 2,9 Sekunden ein Raspberry Pi das Band.“ Jetzt ist Jones in seinem Element und erklärt weiter: „Beginnen wir mit dem Design des Raspberry Pi: Schon an dieser Stelle lässt sich durch einen geschickten Platinenaufbau der Produktionsprozess beschleunigen. Dabei hat uns Pete Lomas sehr geholfen. Er hat das Board als doppelseitige Leiterplatte entworfen, wobei die Bauteile per Surface-Mount-Technologie (SMT) direkt auf die Platine gelötet werden. Wir haben aber auch Bauelemente, die durch die Leiterplatte gesteckt werden und dann rückseitig befestigt sind. Wenn Sie genau hinsehen, erkennen Sie beim USBPort noch die Drahtanschlüsse auf der Rückseite. Im Prinzip haben wir es also mit einer gemischten Bestückung zu tun.“ Wir gehen ein Stück weiter durch die Fabrikationshalle, als Jones vor einer Fertigungsstation stehen bleibt: „Hier nimmt alles seinen Anfang.“ Er greift zu einer sogenannten Gesamtleiterplatte, die sechsmal so groß ist wie das Board des Raspberry Pi. In der Produktionsfachsprache wird diese Platte „Nutzen“ genannt. Die Gesamtleiterplatte besitzt mehrere Sollbruchstelle – wie eine Tafel Schokolade. Auf diese Weise lässt sie sich später in einem weiteren Produktionsschritt in sechs einzelne Platinen teilen. Jones erklärt uns, warum man die Einzelplatinen zu einem Nutzen zusammenfasst: „Durch diese blockweise Verarbeitung beschleunigen wir die Produktion und erreichen eine höhere Durchsatzrate, da wir sechs Platinen gleichzeitig in einem Arbeitsgang bestücken können.“ Die Platine selbst steckt, während sie durch die Fertigungsstraße läuft, in einem massiven Rahmen. Dieser schützt sie vor Beschä-
Ausgefeilte Logistik Auch wenn einRaspberry Pi sehr günstigist, die Qualitätmuss stimmen.Aus diesem Grund setzt Sony bereits weit im Vorfeld an: Die Qualitätssicherung beginnt schon beim Einkauf. Für die Produktion des Raspberry Pi hat Sony sehr strenge Richtlinien bezüglich der Lieferantenbewertung aufgestellt. Ziel ist es, dass nur hochwertigeTeile angeliefert werden, um die Ausschussquote während der Fabrikation so niedrig wie möglich zu halten. Hintergrund ist die missglückte Produktion eines anderen Lieferanten aus der Anfangszeit, der eine Raspberry-Pi-Serie mit falschen Ethernet-Ports fabrizierte. Nicht nur die Qualitätder Bauteile istkritisch: sie müssen
auch passend portioniert ankommen. Die moderne automatisierte Oberflächenmontagetechnik erfordert, dass die SMD-Maschinen nahtlos in den Materialfluss eingebunden sind.Für den nötigen Nachschub sorgen Blistergurte auf großen Rollen („Tape & Reel“), die der Bestückungsautomat selbstständig verarbeitet. Auf einer Einzelspule sind bis zu 10.000 Bauteile untergebracht – trotzdem müssendie Spulenalle paar Stunden ersetzt werden. Die dazu nötigenArbeitsschritte setzen eine präzise zeitliche Koordination voraus. Hier hilft ein computergesteuertes Bestellsystem, das denVerbrauch im Auge behält und rechtzeitig neueWare ordert.
digungen – und das ist dringend nötig, wie Pete Lomas erklärt: „Beim Bestücken platziert der Automat im Schnitt pro Sekunde 5,5 Bauelemente auf der Platine. Da darf sich nichts bewegen oder in Schwingung geraten – bei diesem Prozess ist höchste Präzision gefragt.“ Wir setzen unseren Rundgang fort. Während des Gesprächs erfahren wir von Lomas, dass die langjährige Expertise von Sony bei der Produktion von elektronischen Geräten eine wichtige Rolle für die Entscheidung der Raspberry-Pi-Foundation gespielt hat. So mussten die Maschinen zur Bestückung der Platinen speziell darauf ausgelegt werden, das sogenannte Package-on-Package-Verfahren umzusetzen. Dabei wird zuerst der Prozessorchip aufgelötet und direkt darüber der Arbeitsspeicher. Das spart Platz auf der Hauptplatine. Die dabei zugrunde liegende Verfahrenstechnik ist jedoch so diffizil, dass nur wenige Produktions-
Die Qualitätskontrolle erfolgt automatisch per Bildanalyse
Jeweils sechs Platinen werden zu einer Produktionseinheit zusammengefasst
27
Grundlagen stätten sie beherrschen. Zum Beispiel sind für den Lötprozess hoch präzise und speziell abgestimmte Temperaturprofile nötig. Das ist eine Wissenschaft für sich. Zurück zum Fertigungsprozess: Im ersten Schritt geht es darum, die Leiterplatine für alle späteren Bestückungs- und Lötprozesse vorzubereiten. Dazu werden an einigen Stellen, die durch das Platinenlayout vorgegeben sind, winzige Mengen an Lötpaste aufgebracht. Streng genommen handelt es sich dabei weniger um eine Paste als um mikroskopisch feine Kügelchen (25 µm), die in ein Flussmittel eingebunden sind. Diese Mixtur wird mit einer ultradünnen Metallschablone (0,1 mm) auf der Leiterplatte aufgebracht. Da es sich nicht vermeiden lässt, dass Lötpaste in der Matrize haften bleibt, was die Platine unbrauchbar machen kann, nimmt ein Bildanalyseprogramm eine optische Kontrolle vor. So vorbereitet, kann die Platine an die SMD-Station übergeben werden. Das Kürzel SMD steht für Surface-mounted Device, zu Deutsch „oberflächenmontiertes Bauelement“. In der Elektronik wird aber ausschließlich der englische Fachausdruck verwendet. Sony benutzt für das Löten eigene SMD-Maschinen: Sie besitzen unter anderem einen Bestückungskopf, der in drei Achsen rotieren kann und sich die Bauelemente per Unterdruck aus einem Zuliefergurt saugt. Eine Kamera checkt die exakte Lage des Bauteils, Abweichungen werden sofort korrigiert. Dann erfolgt die punktgenaue Platzierung auf der Leiterplatte. Der Bestückungsautomat verarbeitet Bauelemente ab einer Größe von 0,5 mm und arbeitet mit einer Präzision von 40 µm (das entspricht einem dünnen menschlichen Haar). Die Leistungskapazität der Bestückungsautomaten ist beein-
Vieles ist automatisiert, aber einige Bauelemente müssen von Hand bestückt werden
druckend: Die Maschinen verarbeiten bis zu 25.000 Bauelemente pro Stunde bei voller Auslastung der Fertigungsbänder. Um den Durchsatz zu erhöhen, kann jeder Automat mit bis zu zwölf Vakuum-Systemen ausgerüstet werden, um die zu bestückenden SMD-Bauteile rascher aufzunehmen. Durch die Doppelkopfkonstruktion erhöht sich das Tempo nochmals: Während der eine Bestückungskopf die Bauelemente platziert, sorgt der andere Kopf bereits für den dringend benötigten Nachschub. Insgesamt müssen 173 SMDKomponenten für das Pi-Board verarbeitet werden. Dadurch, dass sechs Platinen zu einer Gesamtleiterplatte („Nutzen“) zusammengefasst sind, ist dieser Bestückungsprozess nach 150 Sekunden beendet. Nach der Bestückung müssen die Bauelemente endgültig fixiert werden. Dieser Prozess läuft in einem computergesteuerten Ofen ab, auch als „Reflow-Löten“ oder „Wiederaufschmelzlöten“ bezeichnet. Dabei wird das per Schablonendruck aufgetragene Lot erhitzt, wobei sich die Hitze auf vordefinierte Zonen beschränkt. Hier zeigt sich ein weiterer Vorteil des Produktionsverfahrens: Durch die in einem der vorherigen Schritte aufgetragene klebrige Lötpaste haften nun auch die Bauelemente. Auch in diesem Arbeitsgang werden die Platinen wieder im sogenannten Sechserpack verarbeitet. Anschließend wird die Gesamtleiterplatte dann kontrolliert heruntergekühlt, um Spannungen in der Platine und den empfindlichen Bauelementen möglichst zu vermeiden. Die beschriebenen Prozesse spielen sich übrigens alle innerhalb eines sehr engen Zeit- und Temperaturfensters ab. Ohne entsprechendes Produktions-Know-how müsste man in dieser Phase mit sehr viel Ausschuss rechnen.
Kontrolle muss sein Während wir noch eine Weile dabei zusehen, wie die Platinen die Lötstation verlassen, greift Jones in eine Kiste: „So sehen Platinen aus, die die Qualitätskontrolle nicht bestanden haben.“ Wir nehmen den Sechserpack in die Hand,
Hier wird eine Stichprobe aus der laufenden Produktion genommen
Während der Produktion steckt das Pi in einem Rahmen
28
Grundlagen drehen ihn und entdecken: nichts! „Mit bloßem Auge sind die Fehler nur selten zu sehen“, erklärt Lomas. „Um solche Mängel auszuschließen, setzen wir verschiedene AOI-Systeme ein. Jede Platine wird per HD-Kamera aufgenommen und anschließend mit einem Referenzboard verglichen. Das erledigt natürlich der Computer für uns“, ergänzt Lomas. Er erläutert uns, dass die sogenannte Automatic Optical Inspection (AOI) heutzutage in alle industriellen Fertigungsprozesse Einzug gehalten hat. Nur so könne man potenzielle Fehlerquellen erkennen und ausschalten. Wir fragen nach: „Das heißt, Sie können in Ihrer Produktionslinie bei der Qualitätskontrolle ganz auf den Einsatz von Mitarbeitern verzichten?“ Lomas schüttelt den Kopf: „Nein, wir setzen selbstverständlich in den verschiedenen Phasen der Produktion speziell geschulte Qualitätssicherungsteams ein.“ Es gebe zahlreiche Fehlervarianten, meint er, die man mit bloßem Auge beim besten Willen nicht erkennen könne. Als Beispiel nennt er den Arbeitsschritt, bei dem der Speicher per Package-on-Package-Verfahren auf den BCM2835Prozessor des Raspberry Pi gelötet wird. „Hier schließen wir durch optische Kontrollen aus, dass zum Beispiel ein Bauelement schief sitzt oder die Lötstelle fehlerhaft ist. Wir sehen aber nicht, ob zwischen Broadcom SoC und Speicher etwas schiefgelaufen ist“, stellt Lomas fest. Um diesen Produktionsschritt zu kontrollieren, setze man ein anderes Analyseverfahren ein: Röntgentests. Pete Lomas erläutert: „Damit blicken wir tief in die Baukomponenten hinein und können auch verborgene Lötstellen prüfen.“ Er erklärt uns noch, dass man nicht alle Produktionsschritte beim Raspberry Pi automatisieren könne: „Wir haben einige Bauelemente auf der Platine, die wir von Hand bestücken. Zum Glück sind es nur fünf.“ Er nimmt wieder ein Muster in die Hand und zeigt auf die USB-Buchse und den GPIO-Port: „Beide Anschlüsse profitieren natürlich davon, dass sie nicht per SMD-Technik gelötet, sondern ganz konventionell in Bestückungslöcher gesteckt und
Der SMD-Automat arbeitet auf 40 Mikrometer genau
rückseitig verlötet werden. Das ist mechanisch deutlich stabiler.“ Interessant wird es noch einmal bei der Endkontrolle: Ein Mitarbeiter fährt eine ganze Palette mit Platinen im Sechserpack im Rollcontainer heran – das Rasp berry Pi ist in der Endkontrolle angelangt: Der Mitarbeiter nimmt die Gesamtleiterplatte, zerbricht sie in sechs Einzelteile und legt jede Platine in das Prüfgerät. Es checkt sämtliche elektronischen Komponenten, testet die CPU, prüft die einzuhaltenden Parameter und erteilt – vorausgesetzt, alle Tests wurden ohne Beanstandung durchlaufen – das Okay für den nächsten, den letzten Schritt. Jetzt ist das Raspberry Pi endlich so weit, dass es zur Verpackungsstation darf: Dort wird es in einen AntistatikBeutel gesteckt und wandert zusammen mit einer kurzen Produktbeschreibung in eine Schachtel. Und schon ist es unterwegs: Denn irgendwo wartet bereits jemand sehnsüchtig auf sein RasPi. //jr
Diese Platinen warten auf ihre Funktionsprüfung
Einige Bauteile müssen von Hand auf der Platine platziert werden
29
Grundlagen
Nachgefragt: System on a Chip Ein „System on a Chip“ (SoC) als Gehirn von Kleinstrechnern wie dem Raspberry Pi ist eine der größten Erfolgsgeschichten des Chip-Designs. Wir beantworten die wichtigsten Fragen dazu Neulich bin ich auf das Kürzel „SoC“ gestoßen.
F Wenn ich mich richtig erinnere, war es in den technischen Unterlagen zum Raspberry Pi. Trifft das zu?
Genau so ist es. Das Raspberry Pi basiert auf einem
A „Broadcom BCM2835“, der zur Familie der ARM-
Prozessoren gehört. Dabei handelt es sich genau genommen um ein Ein-Chip-System, auf Englisch auch „System on a Chip“ oder kurz SoC genannt. Mich interessiert in erster Linie die Technik, die
F dahintersteckt. Was genau ist ein System on a Chip beziehungsweise ein SoC?
Ganz allgemein ausgedrückt handelt es sich dabei um einen speziellen Mikrochip, der alle wichtigen Komponenten vereint, die ein Computer benötigt. Das Chip-Design kombiniert sowohl Recheneinheit als auch Controller – sprich die CPU (Central Processing Unit) sowie die GPU (Graphics Processing Unit). Beim Rasp-
A
30
berry Pi ist es der Broadcom BCM2835, der sich unter anderem aus einem 700-MHz-ARM-Prozessor und einem Broadcom VideoCore IV zusammensetzt. Dazu kommen noch 512 MByte Arbeitsspeicher – doch dazu später mehr. Bedeutet dies, dass alle SoCs so mager ausgestat-
F tet sind? Unter einem leistungsstarken System stelle ich mir eigentlich etwas anderes vor.
Nein, natürlich nicht. Es gibt eine breite Palette an
A SoCs, wobei das Systemdesign immer von der konkreten Aufgabenstellung abhängt. Beim Entwurf des Raspberry Pi hat man die Prioritäten eben anders gesetzt. Warum unterscheidet sich dann das Systemdesign eines Motherboards im Desktop-Computer so grundlegend von einem SoC? Könnte man dort nicht auch alles viel platzsparender zusammenfassen?
F
In einem normalen Computer übernehmen jeweils
A einzelne Chips bestimmte Aufgaben. Aus Gründen
p i h C o r c i
M / a i l o t o F
: o t o F
Grundlagen der Stromversorgung, des Datentransfers, der Wärmeableitung und der Austauschbarkeit ist es sinnvoller, diese Komponenten zu trennen. Denken Sie einfach einmal daran, welcher technische Aufwand getrieben werden muss, um den Hauptprozessor zu kühlen. Bei modernen HighEnd-Grafikkarten ist es nicht viel anders. Sobald man solche Komponenten zusammenfasst, gerät man sehr schnell an physikalische Grenzen. Das ist also der Grund, weshalb das Raspberry Pi
F so klein und in der Leistung limitiert ist? So ist es! Ein Computer benötigt eine ganze Reihe von A Komponenten. Bei einem Desktop-Rechner ist normalerweise genügend Platz vorhanden, alles in einem gemeinsamen Gehäuse unterzubringen. Und die Kühlung ist hier – rein technisch gesehen – viel leichter zu beherrschen. Auf der anderen Seite muss man natürlich sehen, dass man durch das SoC-Design elektronische Geräte mit sehr kleinem Formfaktor bauen kann. Bestes Beispiel sind unsere modernen Handys, die ohne SoCs undenkbar wären. Diese Geräte benötigen nur wenig Strom. Das ist
F ein weiterer Vorteil, nicht wahr? Richtig. Das verdanken wir unter anderem dem hochA komprimierten Schaltungsdesign. Alles ist auf maximale Effizienz ausgelegt. Beim Raspberry Pi zum Beispiel führt das dazu, dass man nur 5 Volt benötigt. Dafür reicht das Netzteil eines Smartphones! Von Handys und dem Raspberry Pi abgesehen –
F gibt es noch andere Geräte mit SoCs? Im Prinzip kann man sich an folgende Faustregel halA ten: Passt das Gerät in die Hand und läuft es mit Batterien, ist die Wahrscheinlichkeit groß, dass ein SoC drinsteckt. Taschenlampen und Ähnliches lassen wir in diesem Zusammenhang aber beiseite. Typische Kandidaten sind zum Beispiel die Tablets. In vielen populären Android-Tablets stecken nVidia-Tegra- und Qualcomm-SnapdragonSoCs. Auch im Microsoft Surface 2 ist so ein Tegra 4 verbaut (in den Pro-Modellen sind es Intel-Chips). Der nVidia Tegra 4 ist ein Quad-Core-SoC. Die vier ARM-Cortex-A15Kerne können theoretisch mit bis zu 1,9 Gigahertz laufen. Als wir eben über das Raspberry Pi sprachen, war die Rede von der CPU und der GPU. Was aber ist mit dem Speicher? Wo versteckt der sich?
F
Das Raspberry Pi B und B+ besitzt 512 MByte
A SDRAM. Der Speicher sitzt direkt auf dem BroadcomChip, was in der Fertigung ein hochkomplexes Verfahren erfordert. Der Speicher wird in der Fabrik per Package-onPackage-Verfahren auf den BCM2835-Prozessor gelötet. Mit einem speziellen Röntgenverfahren wird dann in der Endkontrolle geprüft, ob beide Komponenten wirklich korrekt miteinander verbunden sind. Denn eine optische Kontrolle ist nach dem Löten nicht mehr möglich. Können Sie vielleicht noch ein paar Worte über das Lötverfahren sagen? Für mich klingt das immer so, als würden die Bauteile nur miteinander verklebt.
F
Es ist schon ein bisschen komplizierter. Heutzutage
niger um eine Paste als um mikroskopisch feine Kügelchen (25 µm), die in ein Flussmittel eingebunden sind. Diese Mixtur wird mit einer ultradünnen Metallschablone aufgebracht. Theoretisch kann man deshalb Speicherbausteine von verschiedenen Herstellern verwenden. Wichtig ist nur, dass sich alle an die vorgegebenen Normen halten. Bedeutet dies dann also, dass ein SoC von Haus
F aus keinen Speicher besitzt? Nein, diese Schlussfolgerung wäre nicht korrekt. Das A eben geschilderte Produktionsverfahren gilt für das Raspberry Pi beziehungsweise seinen Broadcom BCM2835. In diesem Fall wird beim Package-on-PackageVerfahren zuerst der Prozessorchip aufgelötet und direkt darüber der Arbeitsspeicher. Das spart Platz auf der Hauptplatine. Letztlich hängt es immer vom Gerät ab, ob man zu dieser Methode greift. Es sind je nach Verwendungszweck auch völlig andere Chip-Designs denkbar. Wenn das so ist – welche Komponenten kann man
F noch bei einem SoC finden? Haben Sie Beispiele? Von CPU, GPU und dem Speicher abgesehen kann ein A SoC zum Beispiel auch mit einer Northbridge ausgestattet sein. Das ist ein Baustein, der für die Kommunikation verschiedener Komponenten untereinander zuständig ist. So verbindet zum Beispiel eine Northbridge den Hauptprozessor mit der Grafikkarte. Es sind aber auch andere Varianten denkbar. Einige SoCs besitzen eine Southbridge, die sich um die I/O-Funktionen kümmert. Das führt mich zur nächsten Frage: Offensichtlich
F haben SoCs immer einen ARM-Prozessor. Ist das in jedem Fall so oder gibt es Ausnahmen?
Theoretisch sind auch andere Prozessortypen denk-
A bar. In der Praxis trifft man bei SoCs aber meistens
ARM-Prozessoren an. Das hat einen einfachen Grund: Die Systemarchitektur dieser Prozessoren ist darauf ausgelegt, möglichst wenig Strom zu verbrauchen. Das ist natürlich
Mini-Rechner, Tablets und Handys sind ohne SoCs nicht denkbar gerade bei mobilen Geräten – typischerweise Smartphones und Tablets – ein gewichtiges Argument. Ganz im Gegensatz zu Prozessoren auf Basis der x86-Architektur – sie sind wahrlich keine Musterknaben, was den Stromverbrauch bei laufendem Betrieb angeht. Das sind alles gute Argumente. Vor allem der nied-
F rige Stromverbrauch klingt sehr überzeugend. Wieso werden dann SoCs nicht überall eingesetzt?
Diese Frage ist naheliegend. Aber bedenken Sie: So
A verwendet man bei der Bestückung die sogenannte
A verbrauchsgünstig und platzsparend SoCs sind – es
SMD-Technik. Das Kürzel SMD steht für „Surface-Mounted Device“; die deutsche Bezeichnung wäre „Oberflächenmontiertes Bauelement“. Auf den ersten Blick sieht es so aus, als würde ein Bauteil nur auf ein anderes geklebt. In Wirklichkeit werden an einigen Stellen – sie sind durch das Platinen-Layout vorgegeben – winzige Mengen an Lötpaste aufgebracht. Streng genommen handelt es sich dabei we-
gibt auch Nachteile. Erstens ist die Leistung eines SoCs aufgrund des extrem kompakten Designs limitiert, zweitens sind SoCs nicht so flexibel einsetzbar. Nehmen Sie die klassischen Komponenten eines Desktop-Computers: Ein PC lässt sich leicht umrüsten – etwa durch den Austausch des Hauptprozessors, durch eine bessere Grafikkarte oder schnellere Speicherbausteine. //jr 31
Raspberry Pi Projekte Lassen Sie einen Roboter durch Ihre Wohnung flitzen oder das RasPi Ihr Zuhause überwachen. Hier finden Sie jede Menge Anregungen – zum Nachmachen oder als Inspirationsquelle
34 Projektideen Zehn Projekte zum Nachmachen – vom Musikstreaming bis hin zum Raspberry Pi als NAS
42 Die RasPi-Galerie Das RasPi-Wunderkind Zachary Igielman mit seinem PiPiano und viele weitere spannende RasPi-Geschichten
50 RasPi auf großer Fahrt Ein Roboter, der durch die Wohnung fährt: So wird das Pi zum Technikspielzeug für Erwachsene
54 Heimüberwachung Der Mini-Computer kann auch als Wachhund dienen und schlägt Alarm, wenn Eindringlinge erkannt werden
58 Mathematica: kostenlos fürs RasPi Mathematicaist einesder meistgenutztenmathematischnaturwissenschaftlichen Programme.Für das Pi ist es gratis!
62 Retro-Gaming mit dem Pi Wir zeigen Ihnen, wie Sie mithilfe von Emulatoren alte Games genießen können – wie früher am Spielautomaten
66 Ein Space-Controller auf Arduino-Basis Es muss nichtimmer RasPi sein: So basteln Sie einen eigenen Controller für das beliebte Kerbal Space Program mit einem Arduino-Board
72 Die erste eigene Schaltung Ein preiswerter Ersatz für Ihren Mini-Computer muss her? Beim ShrimpingIt-Projekt bauen Sie Ihr eigenes Mikrocontroller-Board
76 Das PiFace als Zusatzboard So bietetdas RasPi noch mehr Möglichkeiten: DasPiFace ist ideal, um die Schnittstellen des Minirechners zu erweitern
32
Die RasPi-Galerie Es gibt so viele tolle Projekte mit dem Raspberry Pi.Wir stellen einige in unserer großen Galerie vor
Seite 42
RasPi auf großer Fahrt Sie interessieren sich für Roboter? Dann schauen Sie doch einmal, was man mit dem Pimachen kann
Seite 50
Retro-Gaming mit dem Pi Da kommt Spielhallenfeeling auf: So erwecken Sie alte SpieleKlassiker wieder zum Leben
Seite 62
33
Projekte
Raspberry-Projekte Mit der RasPi-Cam Bilder an Twitter ausgeben, das RasPi als Netzwerkspeicher einsetzen oder Spieleklassiker emulieren und mehr: Wir stellen Ihnen zehn spannende Projektideen vor
E
igentlich wurde das Raspberry Pi für den Unterricht konzipiert. Die Raspberry Pi Foundation entwickelte den schnörkellosen Einplatinencomputer als preiswertes Gerät für Kinder, die das Programmieren lernen wollen, sich aber ein gebrauchtes Notebook nicht leisten können. Das Projekt nahm dann jedoch eine andere Richtung, als sich das Eben Upton, Rob Mullins, Jack Lang und Alan Mycroft am Institut für Computerwissenschaft der Universität von Cambridge ursprünglich gedacht hatten.
Das RasPi wurde ursprünglich entwickelt, um Kindern spielerisch das Programmieren beizubringen Denn das Raspberry Pi sprach sofort Hacker und Bastler an, die schnell viele spannende Einsatzmöglichkeiten für das Raspberry Pi fanden. Die Ansichten über diese Entwicklung sind geteilt. Viele Anwender meinen, dass das Pi nur im Lehrbetrieb eine gute Figur macht. Andere finden eher, dass der scheckkartengroße Rechner vor allem etwas für erfahrene Bastler ist, die ihn dann beispielsweise in einem RC-Automodell einsetzen. Die Wahrheit liegt wie so oft in der Mitte, denn das Raspberry Pi eignet sich für sehr vieles. 34
Grundsätzlich ist die Beschäftigung mit dem Pi eine gute Möglichkeit, sich auch mit Linux auseinanderzusetzen und sich sogar in die Entwicklung einzuarbeiten. In Großbritannien hat das Raspberry Pi inzwischen seinen festen Platz in den Lehrplänen an Schulen. In jeder Altersstufe sammeln die Schüler mehr Erfahrung im Umgang mit dem Minicomputer. Den Anfang machen das Erkunden des Systems und das Schreiben von kleinen Anwendungen. Bereits im Grundschulalter wird der Umgang mit der Distribution Raspbian geübt. Auf den weiterführenden Schulen sollen dann die ersten Schritte mit den textbasierten Programmiersprachen wie Python unternommen werden. Auf all diesen Einsatzgebieten arbeitet das RasPi zuverlässig, besonders wegen seiner vielseitigen GPIO-Schnittstelle, an die externe Geräte und Module angedockt werden können. In diesem Artikel möchten wir Ihnen zeigen, wie Sie erste eigene Projekte mit dem Minicomputer umsetzen. Sie müssen sich lediglich ein Exemplar besorgen. Verwenden Sie Noobs und eine SD-Karte, um das RasPi vorzubereiten. Sie müssen Noobs nur herunterladen, das Archiv extrahieren und das gewünschte Betriebssystem auf die formatierte Karte kopieren. Schon kann der Rechner das System nutzen. Unser Artikel stellt Ihnen einige praktische und alltagstaugliche Projekte vor, die wirklich jeder nachmachen kann. Und am Ende kennen Sie dann bereits viele Tricks des Raspberry Pi, die auch erfahrene Bastler anwenden. //sla
Projekte
Twittern per API Projekt 1: Twittern mit der Kamera Mit der Präsentation der offiziellen Kamera für das Raspberry Pi eröffnete sich eine Vielzahl neuer Möglichkeiten. Entwickler, die bereits USB-Kameras eingesetzt hatten, konnten nun auf eine kleine Kamera mit Full-HD-Auflösung zugreifen, um damit etwa Raumüberwachung zu betreiben. Die Aufnahmen senden Sie zum Beispiel direkt an Twitter. Bevor Sie die Kamera anschließen, suchen Sie die serielle Schnittstelle dafür (neben dem Ethernet-Port) und ziehen den Sperrhebel sanft nach oben. Schieben Sie das Datenkabel des Kameramoduls in den Schacht. Die Silberkontakte auf dem Kabel müssen vom Ethernet-Anschluss weg zeigen. Drücken Sie das Kabel nur leicht in den Slot und halten Sie es fest. Mit der anderen Hand drücken Sie den Sicherungshebel wieder in die ursprüngliche Position zurück.
Die Kamera konfigurieren Nachdem die Hardware an Ort und Stelle ist, ist nun die Einrichtung der Software an der Reihe. Booten Sie Raspbian und rufen Sie das Konfigurationstool auf mittels sudo raspi-config. Blättern Sie in der Liste bis zum Eintrag Enable Camera. Bestätigen Sie Ihre Auswahl und starten Sie das Raspberry Pi neu. Nach dem Reboot können Sie mit den gut dokumentierten Befehlen raspistill und raspivid Standbilder und Videos aufnehmen. Um Bewegung zu erfassen, greifen wir auf ein PythonSkript aus der Raspberry-Pi-Gemeinschaft zurück. Das Skript beruht auf der Python Imaging Library, einer Bibliothek für die Analyse und Bearbeitung von Bildern. Sie installieren die Lib mit sudo apt-get install python-imaging-tk. Legen Sie außerdem ein Verzeichnis picam in Ihrem Homeverzeichnis an, mit mkdir ~/picam. Laden Sie das Skript herunter und machen Sie es ausführbar über wget -c http://pastebin.com/raw.php?i=yH7JHz9w -O picam.py und chmod +x picam.py. Starten Sie das Skript mit ./picam.py: Die rote LED auf der Kamera wird aktiviert. Die Kamera nimmt nun Bilder mit niedriger Auflösung auf. Indem die Pixel von zwei aufeinan-
Überprüfen Sie erst die Einstellungen zur Privatsphäre, bevor Sie Twitter die Bilder Ihrer RasPi-Kamera anvertrauen
derfolgenden Bildern untersucht werden, wird versucht, Bewegungen zu erkennen. Wurden Änderungen erkannt, nimmt das Skript ein Bild mit hoher Auflösung auf. Das Skript ist sehr effizient. Es entfernt automatisch alle Bilder mit niedriger Auflösung und behält nur die detailreichen Aufnahmen. Um das Skript beim Systemstart auszuführen, benötigen Sie ein Init-Skript, das das picam.py-Skript ausführt. Beim Herunterfahren beendet es das Skript wieder. Laden Sie sich das Skript mit wget http://pastebin.com/ raw.php?i=AfqbjQrb -O picam_init herunter und bewegen es mit sudo mv ~/picam_init /etc/init.d/picam.Anschließend machen Sie es mittels sudo chmod +x /etc/ init.d/picam ausführbar. Schließlich müssen Sie das System noch darauf hinweisen, es beim Booten zu berücksichtigen mit sudo update-rc.d picam defaults .
Sie wiegt nur wenige Gramm, dennoch kann die Kamera für das Raspberry Pi hochauflösende Bilder aufnehmen
Posting an Twitter In diesem Schritt eröffnen Sie einen Twitter-Account und nutzen ihn für die Bilder. Starten Sie mit der Installation des Paketmanagers von Python mit dem Namen Pip: sudo apt get install python-pip. Anschließend installieren Sie
Die RasPi-Kamera können Sie für viele Projekte einsetzen, etwa um Ihr Zuhause zu überwachen Twython: Mit diesem sprechen Sie die Twitter-API an. Das Kommando für das Terminal lautet: sudo pip install twython. Für Twython benötigen Sie ein Entwicklerkonto. Melden Sie sich auf https://apps.twitter.com mit den Zugangsdaten des neuen Benutzerkontos an. Achten Sie darauf, dass Sie Ihr Profil auf „privat“ schalten. Legen Sie mit Create New App eine neue App an und füllen Sie lediglich Name und Beschreibung aus. Die neue App ist nur mit Leserechten ausgestattet. Markieren Sie den Eintrag und ändern Sie dies im Tab Permissions. Wechseln Sie zum Tab API Keys und notieren Sie sich die Ziffernfolgen. Laden Sie sich dann das modifizierte Skript herunter unter https://raw.githubusercontent.com/ghalfacree/bashscripts/master/picamera-security.py ( picam.py). Öffnen Sie picam.py in einem Editor und tragen Sie hier die gerade bei Twitter erhaltenen Informationen ein. Danach machen Sie das Skript mit chmod +x picam.py ausführbar. Läuft das Skript und wird eine Bewegung registriert, landen die Bilder in der Timeline des neuen Twitter-Benutzerkontos, sodass Sie auch unterwegs sehen, was in Ihrer Abwesenheit läuft. Da es außer Ihnen keine Follower gibt, bleiben die Aufnahmen auch privat. 35
Projekte
Das RasPi als Netzwerkspeicher Projekt 2: Daten austauschen
Mit Remmina nutzen Sie das RasPi als Thin Client und greifen auf einen performanteren Server zu
Sehr praktisch ist die Kombination des Raspberry Pi mit einer externen Festplatte zum Netzwerkspeicher. Diese Kombination erlaubt es Ihnen, auf die darauf gespeicherten Dateien von anderen Geräten aus zuzugreifen. Mit der Samba-Software – eine Implementierung des SMB/CIFS-Netzwerkprotokolls – geben Sie das Raspberry Pi als Network Attached Storage (NAS) frei und greifen von externen Computern auch ganz einfach auf daran angeschlossene USB-Laufwerke zu. Mit sudo apt-get install samba samba-common-bin installieren Sie di e notwendige Software. Verbinden Sie den USB-Datenträger, der automatisch unter /media eingebunden wird. Nehmen wir an, der Datenträger wird über /media/usb in das System übernommen. Sie müssen Samba so einrichten, dass dieser Datenträger über das Netz erreicht werden kann. Dazu legen Sie erst einen Samba-Nutzer mit dem Namen pi an. Im Terminal geben Sie ein: sudo smbpasswd
-a pi. Schließen Sie die Eingabe mit einem Passwort ab. Nun öffnen Sie die Datei /etc/samba/smb.conf in einem Editor. Möchten Sie das Pi von einem Windows-Gerät erreichen, suchen Sie nach dem Eintrag workgroup = WORKGROUP am Anfang der Datei smb.conf und ändern Sie den Namen auf Ihre Arbeitsgruppe ab. Suchen Sie die Zeile # security = user und entfernen Sie das Zeichen #, um die Absicherung zu aktivieren. Blättern Sie ans Ende der Datei und tragen Sie Folgendes ein: [USB] path = /media/usb comment = USB NAS Drive valid users = pi writeable = yes browseable = yes create mask = 0777 public = yes
Speichern Sie die Datei und starten Sie Samba neu: sudo / etc/init.d/samba restart. Einen ausführlichen Workshop zur Einrichtung des RasPi als NAS mit Samba und Open Media Vault ( OMV) finden sie ab Seite 84.
Projekt 3: Raspberry als Thin Client Ein Thin Client ist ein Computer, der rechenintensive Arbeiten anderen Maschinen überlässt und von dort lediglich die Ergebnisse abruft. Da das Pi leise und energiesparend ist, eignet es sich perfekt zum Einsatz als Thin Client. Für diesen Workshop benötigen Sie einen leistungsfähigen Computer, der als Remote-Server dien, und auf den das Raspberry Pi als Thin Client zugreift. Unser Desktop-Server läuft mit Ubuntu, zu dem der Vino-Remote-Desktop-Server gehört. Über die Desktop-Sharing App kann dann auf das System zugegriffen werden. Der Remote-Desktop ist standardmäßig deaktiviert. Um ihn einzuschalten, suchen Sie unter Ubuntu nach „Freigabe der Arbeitsfläche“. In der App müssen Sie aktivieren, dass andere Nutzer den Desktop sehen dürfen. Aktivieren Sie dann die Passwortabfrage. Das Passwort tragen Sie in das
Raspberry Pi übertakten Die 700 MHz des Raspberry-Prozessors reichen für unsere Hacks vollkommen aus. Früher oder später werden Sie sich aber vielleicht doch mehr Leistung wünschen. Die gute Nachricht: Der Prozessor kann noch schneller laufen! Bedenken Sie aber, dass das Übertakten auch immer seinen Preis hat. Der Prozessor benötigt mehr Strom, entwickelt mehr Wärme und wird deswegen auch nicht die gleiche Lebenserwartung haben, wie er sie ohne diesen Kunstgriff erreichen würde. Der sicherste und ein-
36
fachste Weg zum Übertaken erfolgt über das Programm raspi-config. Das beeinträchtigt auch nicht Ihre Garantie. Die Optionen im Konfigurationsprogramm sind für die Nutzung des Systems sicher. Starten Sie raspi-config und blättern Sie bis zur Option Overclock. Bestätigen Sie, dass Sie weitermachen wollen. Sie sehen jetzt eine Liste der verfügbaren Geschwindigkeiten. Nachdem Sie eine ausgesucht haben, wird das Raspberry neu gestartet und läuft mit der neuen Taktung.
Das Pi bietet Presets zum Overclocking. Bei Problemen halten Sie beim Start die Umschalttaste gedrückt
Projekte nächste Feld Feld ein. Mit einem Klick auf den Schalter Schließen speichern Sie die Änderungen. Änderungen. Nutzen Sie auf dem Desktop eine andere Distribution Distribution als Ubuntu, installieren installieren Sie dort zunächst zunächst einen VNC-Server wie Vino oder krfb. krfb. Wenn Wenn Sie Vino unter Ubuntu Ubuntu nutzen, nutzen, müssen Sie zuvor noch noch eine kleine Änderung vornehmen. vornehmen. Das liegt daran, dass das Programm zwar zwar auf Verschlüsselung besteht, aber dafür etwas veraltete veraltete Methoden nutzt. Starten Sie auf dem Rechner ein Terminal und ändern Sie die Einstellungen Einstellungen von Vino mit gsettings set org.gnome. Vino require-encryption false. Folgen Folgen Sie der weiteren weiteren Anleitung. Wenn Sie sich vom Raspberry Raspberry Pi aus mit dem Desktop verbinden können, können, kehren kehren Sie zum Server zurück und nutzen die Einstellungen permanent. permanent. Dazu installieren Sie sich den dconf-Editor: dconf-Editor: sudo apt-get install dconfProgramm und suchen Sie darin editor. Starten Sie das Programm nach org | gnome | desktop | remote-access und deaktivieren Sie die Option require-encryption setting. Sie müssen jetzt den Pi als Client konfigurieren. konfigurieren. Dazu installieren Sie sich den Remmina-Client mit sudo apt-get Programme install remmina. Sie rufen ihn danach über die Programme der Kategorie Internet auf. Legen Legen Sie eine neue Verbindung an und markieren Sie Außerdem müssen VNC als Protokoll aus dem Listenfeld. Außerdem Sie die IP-Adresse IP-Adresse des Servers Servers eintragen. Die Bildqualität wird deutlich besser, besser, wenn Sie eine größere Farbtiefe Farbtiefe einstellen. Klicken Sie abschließend abschließend auf Connect, um sich sich mit dem Server zu verbinden. verbinden. Remmina stellt eine eine Verbindung her und fragt Sie nach dem Passwort, Passwort, das Sie in den Optionen unter Ubuntu eingetragen eingetragen haben. Danach können Sie vom Pi aus auf den Rechner Rechner zugreifen.
Projekt 4: Hosting 4: Hosting von ownCloud Sie möchten von überall aus auf Ihre Daten zugreifen, zugreifen, wollen jedoch kein kein Geld für einen einen Anbieter ausgeben, ausgeben, der womöglich auch noch seine Server Server im Ausland betreibt? betreibt? Unser Tipp: Verwenden Sie Sie das Geld für die Anschaffung eines eines Raspberry sowie einer USB-Festplatte USB-Festplatte mit großer Kapazität und hosten Sie Ihre persönlichen Daten per ownCloud. Mit ownCloud teilen und synchronisieren synchronisieren Sie Ihre Daten und können von jedem mit dem Internet verbundenen verbundenen Gerät darauf zugreifen. zugreifen. Für zusätzliche Sicherheit sorgt sorgt die optionale Verschlüsselung erschlüsselung Ihrer Dateien Dateien in ownCloud. Die Software Software kann mit einer Vielzahl von Formaten Formaten umgehen und besitzt eine integrierte Fotogalerie sowie einen Musikplayer. player. Eine interessante Funktion Funktion ist die Dateiversionierung. Der Server protokolliert jede Änderung und Sie kehren bei Bedarf leicht zu einer früheren früheren Version zurück. Wie bei anderen Clouddiensten Clouddiensten greifen Sie auf Dateien von ownCloud entweder über den Browser Browser oder einen Desktop-Client für Windows, Mac und und Linux zurück. Außerdem Außerdem gibt es Apps für Android Android und iOS. OwnCloud läuft auf jedem Webserver Webserver (etwa (etwa Apache) und benötigt zusätzlich einen Datenbankserver Datenbankserver.. Das Programm unterstützt unterstützt zwar auch MySQL, in diesem Beispiel soll aber der schlankere SQLite-Server SQLite-Server verwendet werden. werden. Alle benötigten Komponenten Komponenten installieren installieren Sie mit dem Aufruf sudo apt-get install apache2 php5 php5-gd php5-sqlite curl libcurl3 php5-curl. Rufen Sie https://owncloud.org Sie https://owncloud.org auf auf und laden Sie den Tarball der aktuellsten Version. Entpacken Entpacken Sie die Dateien mit tar xjvf owncloud-7.0.2.tar.bz2 und verschieben Sie den entstehenden Ordner in das Stammverzeichnis des
Apache Servers mit sudo mv owncloud /var/www. ÜberÜberprüfen Sie anschließend, anschließend, ob die Dateien die korrekten Berechtigungen haben: sudo chown -R www-data:wwwdata /var/www/owncloud. Apache benötigt noch weitere weitere Module. In einem Terminal geben Sie sudo a2enmod headers rewrite env ein und starten den den Apache neu mit sudo service apache2 restart. Für die Einrichtung von ownCloud ownCloud starten Sie einen Browser und rufen die Seite unter localhost/owncloud auf. Melden Sie sich dann als Admin auf Ihrem Server Server an und laden Sie die ersten Dateien Dateien hoch. Bevor das problemlos klappt, müssen Sie die PHP-Einstellungen PHP-Einstellungen anpassen, anpassen, damit Dateien mit mehr als 2 MByte hochgeladen werden können. Öffnen Sie die Datei php.ini unter /etc/php5/apache2 mit einem Editor. Editor. Suchen Sie upload_max_filesize upload_max_filesize und post_ max_size und passen passen Sie die Werte Werte an Ihre Wünsche an.
In Version 7 der ownCloud wurden unter anderem die Workflows optimiert
Sie wollen von überall auf Ihre Daten zugreifen? Nutzen Sie ein Raspberry Pi und ownCloud Damit sind alle Vorbereitungen orbereitungen zum Hochladen per Browser Browser abgeschlossen. abgeschlossen. Sie können auch auch per WebDAV WebDAV auf die DateiDateien zugreifen. zugreifen. Im Dateimanager drücken drücken Sie die Tastenkombination [Strg]+[L]. [Strg]+[L]. Dort rufen Sie ownCloud auf dem lokalen System mit dav://localhost/owncloud/remote.php/ webdav auf. Nachdem Sie sich angemeldet haben, werden die Dateien einfach eingebunden. Um eine Datei zu teilen, besuchen Sie die DateiverwalDateiverwaltung im Browser. Browser. Zeigen Zeigen Sie auf eine Datei, um sich ein Menü mit mehreren Optionen Optionen anzeigen zu lassen. Klicken Sie dort auf Share. Entscheiden Entscheiden Sie sich für eine der angebotenen Optionen und legen legen Sie die Rechte fest, fest, die der Nutzer haben darf, darf, mit dem Sie die Datei teilen. Dateien können Sie sogar mit Personen Personen teilen, die gar nicht auf dem Server angemeldet sind. Wenn Wenn Sie sich für entscheiden, rufen Sie einen Link zum zum Teilen ab, den Share entscheiden, Sie dann einfach weitergeben weitergeben können, optional sogar mit einem Passwort. Passwort. Dazu muss OwnCloud aber auch extern erreichbar erreichbar sein, nicht nur aus dem lokalen Netz. 37
Projekte
Musik streamen und Spiele emulieren Projekt 5: Musik streamen Neben der lokalen Audiosammlung haben Sie vielleicht noch Hunderte Tracks bei Google Play oder einen Service wie Spotify. Alle diese Titel können Sie mit der PiMusicBoxDistribution zusammenfassen, die das Raspberry Pi zu einem perfekten Musikplayer macht. PiMusicBox kann die Titel über Lautsprecher oder Kopfhörer wiedergeben, die an das Pi angeschlossen sind, aber auch über die HDMI- und USB-Schnittstellen. Sie müssen lediglich die Distribution installieren, Lautsprecher anschließen und Ihre Zugangsdaten hinterlegen. Die Wiedergabe steuern Sie von jedem Computer im gleichen Netzwerk oder von Mobilgeräten. Beginnen Sie damit, die Imagedatei von der Site www. pimusicbox.com herunterzuladen. Extrahieren Sie die ZIPDatei und verschieben Sie die IMG-Datei auf eine SD-Karte mit dem dd-Kommando, etwa mit sudo dd if=musicbox0.5.3.img of=/dev/sdd
Ersetzen Sie /dev/sdd mit den Werten Ihrer Installation. Nutzen Sie den Ethernet-Anschluss für den Zugang zum Internet, starten Sie das Raspberry direkt von der SD-Karte. Verwenden Sie dagegen ein WLAN, müssen Sie erst ein paar Anpassungen vornehmen. Dazu greifen Sie auf die Karte von einer anderen Distribution aus zu. Öffnen Sie den config-Ordner und öffnen Sie die Datei settings.ini mit einem Editor. Am Beginn der Datei finden Sie die Einträge WIFI_NETWORK und WIFI_PASSWORD. Tragen Sie die Werte Ihres Netzwerks ein. Der Zugriff erfolgt aber nur bei WPA2-geschützten Netzen. Danach starten Sie das Raspberry Pi wie gewohnt von der Karte. Beim ersten Aufruf wird das System das Dateisystem anpassen, um die gesamte Karte verwenden zu können und anschließend das Pi neu starten. Falls Sie einen Monitor angeschlossen haben, können Sie den Startvorgang verfolgen. Andernfalls warten Sie eine oder zwei Minuten und starten dann einen Browser auf einem anderen Rechner in Ihrem Netzwerk. Rufen Sie http://musicbox.local auf oder
verwenden Sie die IP-Adresse des Raspberry Pi. Die Oberfläche wirkt ziemlich nüchtern, was daran liegt, dass Sie noch keine Musikquellen hinterlegt haben. Klicken Sie oben auf den Link zu den Einstellungen. Dies führt Sie zu einer Seite, auf der Sie individuell Streamingdienste aktivieren und deren Zugangsdaten ändern können. Hier passen Sie aber auch die Optionen des Programms an. Unter Audio ändern Sie zum Beispiel die Audio-Ausgänge. Die PiMusicBox verfügt über eine funktionierende Samba-Konfiguration und sollte unter allen Dateimanagern verschiedener Betriebssysteme auftauchen. Der einzige freigegebene Ordner trägt den Namen Music. Jede Datei, die Sie dort ablegen, landet automatisch auf der SD-Karte. Wann immer Sie das Raspberry Pi neu starten, durchsucht die Distribution die Karte auf neu hinzugefügte Dateien. Zwischen allen Dateien blättern Sie dann etwa über das Webinterface von PiMusicBox. Die Musik können Sie auch mit jeder Software wiedergeben, die den Music Player Daemon (MPD) unterstützt, zum Beispiel die MPDroid-App für Android. Zum Verbinden müssen Sie lediglich die App starten und die IP-Adresse des Pi in das Feld mit dem Host eintragen. Wenn Sie sich ausführlicher mit dem Musikstreaming beschäftigen möchten, lesen Sie auch unseren Workshop auf Seite 96 zu Ampache.
Projekt 6: Das Pi als Radiosender Musik mit dem Pi abzurufen ist die eine Seite der Medaille. Aber was, wenn Sie Musik vom Raspberry Pi an andere Geräte verteilen wollen? Wie wäre es, wenn Sie Ihren eigenen Radiosender betreiben könnten? Neben den vertrauten Schnittstellen und Buchsen wie Audio, Ethernet, HDMI und USB-Ports finden sich auf dem Board auch Verbindungsmöglichkeiten, um darüber andere Schalttafeln und Boards zu verbinden. Dieser Bereich, der General Purpose Input/ Output (GPIO) genannt wird, besteht aus einzelnen Pins, die in zwei Reihen auf dem Board angebracht sind. Diese Schnittstelle funktioniert nicht per Plug& Play, kann aber direkt per Software angesteuert werden. Ein paar Entwickler haben ein Programm geschrieben, das einige dieser Pins dazu einsetzt, Kurzwellen auszustrahlen. Um ein erstaunlich starkes Radiosignal zu verbreiten, müssen Sie lediglich einen Draht mit dem Pin 4 verbinden. Doch selbst ohne den Draht können Radioempfänger in der Nähe das Signal gut empfangen. Starten Sie zunächst das Pi und öffnen Sie ein Terminal. Laden Sie den Code und extrahieren Sie ihn mit Wget http://omattos.com/pifm.tar.gz mkdir ~/pifm tar zxvf pifm.tar.gz -C ~/pifm
PiMusicBox basiert auf dem Mopidy Server, der in Python geschrieben wurde 38
Der Tarball entpackt sechs Dateien. Sie können die ausgelieferte Audiodatei mit sudo ./pifm sound.wav 101.2 ausstrahlen. Besorgen Sie sich ein Radio beziehungsweise einen FM-Empfänger und stellen Sie diesen auf 101.2 ein.
Projekte Sie werden die Star-Wars-Melodie hören. Die genutzte Frequenz können Sie selbst auf einen Wert zwischen 88 MHz und 108 MHz einstellen, indem Sie den Wert einfach dem Kommando hinzufügen. Sie können natürlich auch Ihre eigenen Musikdateien versenden. Allerdings müssen diese im WAV-Format vorliegen und in Mono aufgenommen sein. Das klingt nach viel Aufwand und einer großen Einschränkung.Aber dank des tollen SoX Sound Exchange Editors wandeln Sie jede MP3Datei, unabhängig von deren eigener Codierung, in das gewünschte WAV-Format um. Installieren Sie den Editor und alle Abhängigkeiten mit dem Kommando sudo apt-get install sox libsox-fmt-all. Ist die Installation abgeschlossen, rufen Sie das folgende Kommando auf, wobei Sie „SomeSong.mp3“ mit dem Dateinamen eines Titels ersetzen, den Sie abspielen möchten: sox -t mp3 SomeSong.mp3 -t wav -r 22050 -c 1 - | sudo ./pifm - 101.2.
Der erste Teil des Kommandos konvertiert das MP3 in eine WAV-Datei, ändert die Samplingrate auf 22050 Hz und reduziert den Mix auf Mono. Das konvertierte Stück wird dann zum Standard-Output gesendet, über das Pipe-Symbol wird das Ergebnis anschließend an die Eingabe des pifm-Kommandos geschickt. Der einzige Unterschied zum vorherigen Aufruf besteht darin, dass das Skript keinen Dateinamen verwendet, sondern den Input aus einem anderen Programm. Stellen Sie den Empfänger auf die gewünschte Frequenz ein, sollten Sie jetzt Ihren eigenen Titel hören. Sie können mit SoX noch mehr Dinge tun. Wenn Sie dies wollen, senden Sie einen Stream aus dem Internet direkt lokal weiter. Das Kommando sox -t mp3 http://www.tuxradar.com/files/podcast/ tuxradar_s06e02.mp3 -t wav -r 22050 -c 1 - | sudo ./pifm - 101.2
tribution verwendet werden. Mit sudo apt-get install git dialog installieren Sie die Abhängigkeiten. Mit diesem Kommando holen Sie sich die Datei: git clone git://github.com/petrockblog/RetroPie-Setup
Wechseln Sie in das gerade geklonte Verzeichnis und führen Sie das Skript mit cd RetroPie-Setup && sudo ./retropie_setup.sh aus. Das Skript kümmert sich auch um die Einrichtung und bietet weitere Optionen. RetroPie verwendet eine grafische Oberfläche mit dem Namen EmulationStation, mit der Sie die installierten Emulationen verwalten. Das RetroPie-Image startet immer mit diesem Frontend. Falls Sie RetroPie in einem vorhandenen Raspbian installiert haben, müssen Sie es erst mit dem
Bei älteren Games haben sich die Entwickler stärker auf die Geschichte im Spiel fokussiert Kommando emulationstation aufrufen. Danach sollten Sie das Setup für die Controller sehen, in dem Sie Ihren Spielcontroller an der USB-Schnittstelle einrichten können. Um überhaupt spielen zu können, müssen Sie die Spiele natürlich besitzen. Solche ROMs können Sie von den Originaldatenträgern anfertigen, oder Sie suchen online nach Spielen, die von den Herstellern für die Öffentlichkeit freigegeben wurden. iD Software hat zum Beispiel das legendäre Doom zu Open Source und Public Domain erklärt. Diese Dateien müssen Sie nur noch an die korrekten Unterordner des passenden Emulators unter roms/ auf der SD-Karte kopieren. Mehr Informationen zur Emulation alter Games finden Sie ab Seite 62.
zum Beispiel strahlt den podcast von TuxRadar aus. Statt auf eine lokale Datei verweisen Sie nun auf eine externe Quelle.
Projekt 7: Spieleklassiker emulieren Spiele waren früher keine grafischen Leckerbissen. Als weniger grafische Ressourcen zur Verfügung standen, haben sich die Entwickler stärker auf das eigentliche Spiel und dessen Geschichte fokussiert. Genau das macht die Faszination der älteren Spiele aus. Am einfachsten ist das Spielen solcher Klassiker mit RetroPie. Das Programm kann auf einem existierenden Raspbian installiert oder auch als Dis-
EmulationStation zeigt nur Games, deren ROM Sie hinzugefügt haben
Spenden Sie ungenutzte Rechenzeit Wenn das Raspberry Pi zwar läuft, Sie es aber gerade nicht benötigen, können Sie die ungenutzte Rechenzeit spenden. BOINC (Berkeley Open Infrastructure for Network Computing) ist ein Dienst von Freiwilligen, der die gespendeten Ressourcen für eine ganze Reihe von Projekten einsetzt, von der Berechnung von Proteinmolekülen bis zur Suche nach intelligentem Leben im All. Bevor Sie BOINC installieren, ändern Sie auf dem RasPi den Ressourcenverbrauch des Geräts. Dazu rufen Sie sudo raspi-con-
fig auf. Wechseln Sie zu Advanced Options | Memory Split und wählen Sie den geringsten Wert für die GPU aus. Installieren Sie dann BOINC mit sudo apt-get install boinc-manager boincclient. Danach starten Sie den BOINC Manager über seinen Eintrag im Startmenü. Wählen Sie nun aus den über 30 Projekten aus. Einige warnen davor, auf dem Raspberry Pi genutzt zu werden. Verwenden Sie am besten solche, die keine Probleme machen – und die Sie überdies für sinnvoll halten.
In den Optionen können Sie genau steuern, wie BOINC Ihren Rechner verwenden soll
39
Projekte
Coole Projekte mit Python Projekt 8: So spricht das Raspberry Dank der eSpeak-Bibliothek können Sie das Raspberry Pi auch für die Sprachausgabe nutzen. Die Bibliothek kann sogar direkt aus Python heraus verwendet werden. Starten Sie ein Terminal und geben Sie dort sudo apt-get install espeak python-espeak ein. Damit richten Sie die Lib sowie alle Abhängigkeiten ein. Wenn Sie nach der Installation espeak „Hallo! Wie geht es?“ in ein Terminal eintippen, wird die App den Text zwischen den Anführungszeichen ausgeben. Auf die Ausgabe können Sie mit einer ganzen Reihe von Kommandos und Optionen Einfluss nehmen. Zum Beispiel espeak -ven+f2 -s140 „Etwas klein für die Sturmtruppen“ gibt den Text langsamer und mit weiblicher Stimme aus. ESpeak kann nicht nur Englisch, sondern eine Reihe weiterer Sprachen. Das Kommando espeak -voices listet alle vorhandenen Sprachmodule auf. Das Python-Modul eSpeak ist recht einfach zu bedienen und eignet sich gut für die Umwandlung von Text in Sprache. Rufen Sie die interaktive Shell für Python mit dem Kommando python auf und geben Sie Folgendes ein: from espeak import espeak espeak.synth(“Hallo”)
Im nächsten Beispiel verwenden Sie die Bibliothek in einem Skript, um die Namen der Follower eines Twitter-Kontos auszugeben. Folgen Sie den Anweisungen aus dem ersten Hack, um die Daten für die API zu erhalten. Nutzen Sie folgenden Code: import time from twython import Twython from espeak import espeak api_token = ‘ ‘ api_secret = ‘ ‘ access_token = ‘ ‘ access_token_secret = ‘ ‘ twitter = Twython (api_token, api_secret, access_token, access_token_secret) next_cursor=-1 while (next_cursor): search = twitter.get_followers_list(screen_ name=’geekybodhi’,cursor=next_cursor)
for result in search[‘users’]:
Sie können Jasper mit eigenen Kommandos anpassen und ergänzen 40
print result[“name”] their_name= result[“name”] espeak.synth(their_name) time.sleep(2) next_cursor = search[“next_cursor”]
In dem Beispiel verbinden Sie sich mit Twitter und rufen alle Follower ab. Mit der Technik des sogenannten Cursoring teilen Sie Liste in einzelne Abschnitte. Für jeden Eintrag gibt das Skript den Namen aus und übergibt ihn an eSpeak. Nach einigen Sekunden kommt der nächste Eintrag dran.
Projekt 9: Sprachausgabe Was für Apple Siri ist, kann für das Raspberry Pi Jasper sein. Im Gegensatz zum Apple-Tool ist Jasper aber Open Source. Um die Ausgaben von Jasper zu hören, müssen Sie einen Lautsprecher an den Audioausgang anschließen. Da das Raspberry Pi aber keinen Mikrofoneingang besitzt, benötigen Sie ein USB-Mikrofon, das mit dem Pi arbeitet. Nach der Verbindung mit dem Pi überprüfen Sie, ob das Gerät das Mikrofon auch erkannt hat. Dazu nutzen Sie das Kommando arecord -l command. Obwohl Sie Jasper auf Basis einer existierenden Raspbian-Installation einrichten können, ist der von uns empfohlene Weg, die Imagedatei auf SD-Karte zu verwenden. Dazu laden Sie sich den Tarball (http://jasperproject.github.io) und extrahieren das Image mit tar zxvf jasper-disk-image. tar.gz. Angenommen, der Ort für eine leere SD-Karte ist /dev/sdd, dann nutzen Sie das Kommando sudo dd if=jasper-disk-image.img of=/dev/sdd, um das Image auf die Karte zu schreiben. Ist diese Arbeit erledigt, starten Sie Ihr Pi von der eingelegten Karte. Sie können die Konfiguration über einen SSH-Zugang von einem anderen Computer aus vornehmen. Dies gilt für den Zugang per Ethernet. Wenn Sie WiFi verwenden, verbinden Sie einen Monitor mit dem System, starten eine grafische Oberfläche und verwenden das grafische Werkzeug für die Konfiguration der Verbindung. Die Zugangsdaten für das Jasper-System sind die gleichen wie bei einem frischen Raspberry, also pi:raspberry. Nachdem das Netzwerk eingerichtet ist, verbinden Sie sich mit dem Gerät per SSH. Im Home-Verzeichnis Ihres Nutzers Pi besorgen Sie sich den Jasper-Client mit git clone https://github.com/jasperproject/jasper-client.git jasper. Aktualisieren Sie die Lib setuptools mit sudo pip install upgrade setuptools. Danach installieren Sie die noch benötigten Python-Komponenten mit sudo pip install -r jasper/client/requirements.txt. Schließlich bearbeiten Sie noch die Rechte an den Dateien mit sudo chmod 777 -R * und starten neu. Während des Neustarts führt Jasper das Skript boot.py aus und die legt Datei languagemodel.lm im Ordner ~/ jasper/client an. Kontrollieren Sie, ob die Datei angelegt wurde. Falls nicht, starten Sie das Skript manuell mit python ~/jasper/boot/boot.py. Nachdem das Sprach-
Projekte modell angelegt wurde, fahren Sie damit fort, ein Benutzerprofil einzurichten, damit Jasper mit Ihrer Sprache auch umgehen kann. Wechseln Sie zu ~/jasper/ und führen Sie das Skript mit python populate.py aus. Es ist für die Anlage eines Benutzerprofils zuständig. Es fragt von Ihnen einige Informationen ab. Die Angaben werden in der Datei profile.yml gespeichert. Halten Sie sich an die Anweisungen in der Online-Dokumentation des Projekts, um weitere Dienste wie Facebook oder Spotify einzubinden. Starten Sie das Raspberry Pi jedes Mal neu, wenn Sie das Skript für die Profilerstellung ausgeführt haben. Jasper wird Sie immer mit der Stimme begrüßen, die Sie im Profil aktiviert haben. Laufen alle Systeme, beginnen Sie damit, sich mit Ihrem neuen Assistenten zu „unterhalten“. Sagen Sie dazu einfach „Jasper“. Hat es die Eingabe erkannt, antwortet das System mit einem Piepsen. Jetzt fragen Sie einfach „What’s the time“ oder „Do I have new e-mail?“. Erkennt das System Ihre Eingabe, antwortet es Ihnen umgehend.
Projekt 10: Minecraft Pi-Edition Die Minecraft Pi-Edition ist eine abgespeckte Variante der Pocket Edition, die aber genug Elemente enthält, um Ihrer Kreativität Raum zu bieten. Sie können damit in zufällig erstellten Landschaften spielen, aber auch im Baumodus eigene Welten erschaffen. Eine Besonderheit der Version ist die API, die per Python angesprochen werden kann. So schreiben Sie Skripte, mit denen Sie den Spieler bewegen oder auch Blöcke bauen können. Der Vorteil: Sie konstruieren damit innerhalb von Sekunden Strukturen und Gebäude, für deren Aufbau Sie sonst viel mehr Zeit benötigt hätten. Der Umgang mit der API macht dabei nicht nur Spaß, sondern Sie können damit auch das Programmieren lernen. Zur Installation besuchen Sie die Seite pi.minecraft.net und laden sich das Archiv herunter. In Ihrem Home-Verzeichnis extrahieren Sie es mit tar zxvf minecraft-pi.tar. gz. Die Dateien werden damit im Ordner ~/mcpi entpackt. Wechseln Sie dorthin und starten Sie das Spiel mit ./minecraft-pi. Wenn Sie wenig Erfahrung mit Minecraft besitzen: Sie bewegen sich mit der Maus und den Tasten [W], [A], [S] und [D]. Die Taste [T] öffnet die Chat-Konsole, mit den Ziffern [1] bis [8] wählen Sie Elemente in der Inventarliste, die Leertaste lässt die Figur springen, und ein zweifacher Druck auf die Leertaste bringt den Spieler zum Fliegen. Mit der API können Sie sich mit einer laufenden Minecraft-Installation verbinden. Bevor Sie sich der API zuwenden, machen Sie am besten eine Sicherungskopie davon. In einem Terminal geben Sie mkdir ~/mycraft ein, um einen Ordner anzulegen. Kopieren Sie die Daten dorthin: cp -r ~/mcpi/api/python/mcpi ~/mycraft/minecraft
Ihre eigenen Skripte speichern Sie in diesem ~/mycraft Verzeichnis. Während das Spiel läuft, wechseln Sie wieder in ein Terminal und dort nach mycraft. Legen Sie eine neue Datei demo.py mit nano ~/mycraft/demo.py an und fügen Sie diesen Code ein: # Demo Skript import minecraft.minecraft as minecraft import minecraft.block as block import time #Mit Minecradt verbinden mc = minecraft.Minecraft.create() #Eine Nachricht in den Chat schreiben mc.postToChat (“Hallo, das kommt von der API.”)
time.sleep(2) playerPos = mc.player.getPos() #Find your player’s
Treten Sie mit Minecraft per Python in Verbindung
position #Position des Spielers bearbeiten mc.postToChat(“50 Blocks weit in den Himmel!”) time.sleep(2) mc.player.setPos(playerPos.x,playerPos.y + 50,playerPos.z) # 10 Sekunden warten time.sleep(10) # Ein Stein Block anlegen playerPos = mc.player.getTilePos() mc.setBlock(playerPos.x+1, playerPos.y+1, playerPos.z, block.STONE) time.sleep(5) # Den Block in Holz verwandeln mc.setBlock(playerPos.x+1, playerPos.y+1, playerPos.z, block.WOOD_PLANKS) time.sleep(5) # - Einen Turm errichten for top in range(0, 10): mc.setBlock(playerPos.x+3, playerPos.y+top, playerPos.z, block.STONE) time.sleep(5) # Jetzt werden Sie auf die Spitze des Turms bewegt mc.player.setPos(playerPos.x+1, playerPos.y+10, playerPos.z)
Speichern Sie die Datei. Während Minecraft läuft, rufen Sie das kleine Programm mit python ~mycraft/demo.py auf. Wenn Sie sich nicht verschrieben haben, werden Sie vom Text begrüßt, den Sie unter postToChat eingetragen haben. Danach wird die Spielerposition mit getPos ermittelt und in der Variable playerPos abgelegt. Die Position des Spielers wird durch die Koordinaten X, Y und Z definiert, die auch am oberen Rand des Bildschirms erscheinen. Mit setPos wird die Position geändert. Danach produziert setBlock einen Block aus Stein ( block.STONE), der nach einer Pause von 5 Sekunden in Holz verwandelt wird ( block.WOOD_ PLANKS). Mit einer Schleife (For) werden zehn Blöcke aufgeschichtet, bevor die Figur erneut teleportiert wird. Die kleine Demo der Möglichkeiten, die Ihnen die API bietet, macht Lust auf mehr? Dann laden Sie sich am besten eine Anleitung zu allen Parametern der API herunter. Diese umfasst unter anderem auch eine kurze Beschreibung und Beispiele (http://bit.ly/MinecraftPyCheatSheet). Mit Python Minecraft beeinflussen zu können, eröffnet ganz neue Einsichten und sorgt für jede Menge Spielspaß. 41
Projekte
Von Bastlern und Erfindern Das Raspberry Pi beflügelt weltweit die Fantasie der Menschen, egal ob von Hobby-Bastlern, Programmierern oder Schülern. Hier finden Sie eine kleine Auswahl ihrer großartigen Projekte
E
in Raspberry Pi ist wegen seiner Größe und Ausstattung unglaublich flexibel einsetzbar. Zwar wurde es ursprünglich für den Schulunterricht entwickelt, aber auch die Bastler und Hacker haben mit der kleine Platine großen Spaß. Plattformen wie Kickstarter und Indiegogo werden mit neuen Produkt- und Geschäftsideen, die auf dem Raspberry Pi basieren, gerade zu überflutet. Der Anfang ist eigentlich nicht schwer. Aber um wirklich etwas Innovatives mit dem Pi 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 aber auch Geräte, die inzwischen käuflich zu erwerben
sind. 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“. Neben einer Ausstellung gibt es hier auch Vorträge und Workshops Die nächste Veranstaltung „Pi and More 7“ wird am 20. Juni an der Universität in Trier stattfinden. Für nähere Informationen zur Veranstaltung schauen Sie am besten auf die Homepage: https://piandmore.de. Im Archiv können Sie sich hier auch durchlesen, welche Projekte bereits präsentiert wurden. Der Eintritt ist kostenlos. Wenn Sie vorbeischauen wollen, wird allerdings um vorherige Anmeldung über die Homepage gebeten. //jas
Dartscheibe mit Pfiff
Pidart Web: tinyurl.com/pidart
D
iese unscheinbare, elektrische Dartscheibe kann vieles mehr als nur elektronisch das Spielergebnis anzeigen. Die Sensoren der Dartscheibe sind mit einemArduino Mega Microcontroller Board verbunden. Das Board sendet dieTreffer an einRaspberry 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 Web-Interface mit der 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 den Spieler 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 Ender42
gebnis bekannt. Über das Webinterface lässt sich nicht nur die Software bedienen, sondern die Spieler können sich auch parallel über den Web-Client die Ergebnisse anschauen – sogar per Smartphone. Fehlerhafte Ergebnisse, etwa falls ein Treffer falsch gewertet wurde, lassen sich manuell korrigieren. Spieler können das Match jederzeit verlassen oder durch neue Spieler ersetzt werden. In diesem kurzen Youtube-Video 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 t t e F l e i n a D
: o t o F
Projekte Fermentations-Temperaturregler
BrewPi 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
Oben: das installierte BrewPi Spark. Links: mehrere Ventilsteuergeräte, hintereinander geschaltet
man sollte sich mit der Materie bereits vorher gut 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.
Bausatz zum Erlernen von Robotik
Rapiro Web: www.rapiro.com
D ) i P w e r B ( s b o c a J o c l E ; ) o r i p a R ( c n I , e c n e i c S h c t i w S & i r a t a w i h s I a t o h S : s o t o F
ieser 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. EinBausatz kostet rund 440 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 Plus-Modell verwendet werden. Die eigentliche Herausforderung an Rapiro ist die Programmierung des Verhaltes und der Bewegungsabläufe. Das Rapiro-Modul, der Servo-Controller, 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 dann nur benötigt, wenn zusätzliche Anschlüsse zum Beispiel für
Lautsprecher genutzt oder Rapiro per USB mit dem PC verbunden werden soll. 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. Welche Schandtaten Sie ihm beibringen, bleibt Ihnen und Ihren Programmiervorlieben überlassen
43
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.
Multifunktions-Futterspender
Alle elektronischen Elemente inklusive selbst gebauter Platine und Raspberry Pi können über eine Klappe an der Frontseite erreicht werden
44
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 demAusfahren 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
k c a r B l e i n a D : s o t o F
Nicht nur das elektronische Innenleben, auch der gesamte Korpus des Turms wurde selbst designt und gefertigt
Turms zu informieren sowie für den Systemcheck. Der Musikplayer hingegen hat tatsächlich Einfluss auf das Gemüt der 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 Klavierspielen mit dem Pi
PiPiano Web:
http://pipiano.com
D
er 14-jährige Zachary Igielman aus Großbritannien hat die Platine PiPiano entwickelt. 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 Sound-Output. 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 statt als Klaviatur selbstverständlich auch für die verschiedensten Raspberry-Pi-Projekte eingesetzt werden. Da das PiPiano als Bausatz ausgeliefert wird, eignet es sich auch hervorragend dazu, das Löten von elektronischen Bauteilen zu üben. Auf Wunsch gibt es jedoch auch eine fertig verlötete Version. Die Erweiterung ist mit sämtlichen Raspberry-PiModellen kompatibel. Da es vergleichsweise wenige GPIOPins verwendet und es für den MCP23017-IO-Chip eine gute und ausführliche Dokumentation gibt, kann das Board gut mit einer Reihe von anderem Raspberry-Pi-Zubehör kombiniert werden.
Dank Crowdfunding erfolgreich Zachary ist ein RasPi-Wunderkind und besucht regelmäßig die Raspberry-Jams in Cambridge, wo er seine Pi-RobotikProjekte vorstellt. Seine Indigogo-Kampagne für das PiPiano, die von November 2014 bis Januar 2015 lief, war ein
n a m l e i g I y r a h c a Z : o t o F
Einer der jüngsten Erfinder: Der 14-jährige Zachary Igielman (oben rechts) und sein PiPiano
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. Ab Februar sollen die Kits ausgeliefert werden. Da Zachery sich auf die Schule konzentrieren muss, wird demnächst eine Firma den Vertrieb und die Weiterentwicklung des PiPianos übernehmen. Interessenten, die die Kampagne verpasst haben, stellen am besten eine Anfrage im Forum auf pipiano.com.
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 Investion lohnt? Kein Problem: Great Scott zeigt Ihnen, wie Sie Ihren normalen Fernseher mithilfe von ein paar Metern LED-Streifen sowie XBMC 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 RasPi läuft XBMC als Mediacenter. Mithilfe des Boblight-Plugins, das unter XBMC vorinstalliert ist, wird das Ansteuern der LEDs fast zum Kinderspiel. Great Scott hat im dazugehörigenWorkshop auf instructables.com auch seine Version des ConfigFiles 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).
Ambient Lighting als Kit
Lightberry Web: http://lightberry.eu
D
as Lightberry-Kit aus Polen zum Nachrüsten geht noch einen Schritt weiter als der oben erwähnte Workshop. Mit Lightberry kann jedes Videosignal von Quellen wie Set-Top-Boxen, PS3 oder Playern mit den LEDs aufgepeppt werden. Durch einen Splitter wird das HDMISignal 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 eigenenAdapter. Ein echter Ambilight-Fernseher ist je nach Modell an zwei, drei oder vier Seiten mit LEDs bestückt. Wie auch die Version von Great Scott oben, ist das nachgerüstete Lightberry hier 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: etwa die Reaktionszeit der LEDs anpassen. 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. 46
Lightberry ist eine zeitsparende Out-of-the-BoxLösung zum Nachrüsten von Ambilight
Einen kleinen Eindruck davon, wie sich Lightberry gegen das Original schlägt, können Sie sich hier holen (http:// tinyurl.com/LightberryvsAmbilight). Die Preise für Lightberry mit 44 LEDs starten ab rund 70 Euro. Für den HDMISplitter, der für hochauflösende Bildsignale benötig wird, werden weitere 70 Euro fällig. Das notwendige RasPi zum Ansteuern der LEDs ist dabei noch nicht berücksichtigt.
; ) y r r e b t h g i L ( r a k o T k e r c e d a J n : a s S o c t i o r F E
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 ange-
t n u H d i v a D
: o t o F
schlossen wird. Weniger alltagstauglich ist, dass das PiPhone 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 vielen weiteren Projekten gibt es auf dem 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
Bücher für Maker! Egal ob Sie Ihr Wissen über Raspberry Pi, Arduino oder 3D-Druck vertiefen möchten: Unsere Bücher und Video-Trainings zeigen Ihnen, wie’s geht.
Galileo Press heißt von jetzt an Rheinwerk.
www.rheinwerk-verlag.de 1.064 Seiten, in Farbe, 39,90 € ISBN 978-3-8362-2933-3
359 Seiten, in Farbe, 19,90 € ISBN 978-3-8362-3533-4
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 RetroPi-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 MAME4allEmulator
Mini-Spielhallenautomat
Arcade Kit Web: www.retrobuiltgames.com
D
er Porta-Pi-Arcade ist ein Projekt von Ryan Bates. Porta-Pi ist ein individualisierbarer Bausatz für einen Mini-Spieleautomaten. Bates hatte 2014 über Kickstarter erfolgreich Geld für den Start der Produktion sammeln können. Die Kits gibt es wahlweise mit 7-ZollDisplay (ca. 18 cm) in Acryl oder mit 9-Inch-Display (ca. 23 cm) aus Holz. Porta-Pi Lite ist eine abgespeckte Version ohne Display,die per HDMI an einen beliebigen Monitor angeschlossen werden kann. Raspberry Pi und SD-Karte sind im Kit nicht enthalten. Benötigt wird ein Modell B oder B+. Als Software kommt eine modifizierte Version von RetroPi zum Einsatz, die über die Homepage erhältlich ist. Bestellen können Sie die Bausätze über den Onlineshop. Hier hat man die Wahl zwischen dem reinen Holz- beziehungsweise dem Acryl-Korpus oder den Komplettbausätzen, inklusive Joystick, Lautsprecher und Buttons. 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ötigen 48
ROMs müssen Sie sich selbst rippen oder Sie laden diese aus den verschiedenen im Netz verfügbaren Archiven herunter. Bates entwickelt die verfügbaren Bausätze ständig weiter. Ein Plan für die Zukunft ist etwa das Einbinden eines Münzeinwurfs. Eine kurze Anleitung für Bastler, die ihren Porta-Pi selbst entsprechend modifizieren möchten, ist ebenfalls bereits vorhanden.
Porta-Pi-Arcade gibt es wahlweise aus Holz oder aus Acryl
s e t a B n a y R , ) t c e j o r P i P o r t e R ( u l . t t e t l . e c a p s r e k a m / / : p t t h – k c u r b l e t t E ’ d e u q i n h c e T e é c y L : s o t o F
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
D
ieses RasPi-Experiment ist ein Projekt von acht Doktoranden und Studenten der Unis Duisburg-Essen und RWTH Aachen. Es findet im Rahmen des REXUS-Programms statt – kurz für Rocket Experiments for University Students (rexusbexus.net). Der Name LICOD ist einAkronym 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. Der Effekt ist zum Beispiel für die Klimaforschung interessant, hilft aber auch dabei, Rückschlüsse auf die Entstehung von Planeten zu ziehen.
Zwei Minuten Schwerelosigkeit Alle Experimente der Gruppen, die am Rexus 17/18-Programm teilnehmen, werden in einer sechs Meter hohen Rakete installiert.Die Rakete fliegt 100 Kilometer hoch bis in die Thermosphäre und beschleunigt dabei kurzfristig auf 20 g. Danach wird sie auf die Erde zurückfallen. Das LICOD-Team will die Schwerelosigkeit ausnutzen, die bis zu 120 Sekunden beim freien Fall herrschen wird. Die Dauer der Schwerelosigkeit ist hier wesentlich länger als bei anderen üblichen Me-
r e g ü r K s n e J , m a e T D O C I L : s o t o F
thoden 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. Wenn die Rakete wie geplant erfolgreich startet, werden die beiden Raspberry Pis die ersten ihrer Art sein, die sich so weit von der Erde weg in denWeltraum entfernen. Zurzeit werden alle Komponenten noch ausführlich getestet, um sicherzustellen, dass das Experiment den hohen Belastungen standhält. Wer sich über die aktuellen Entwicklungen auf dem Laufenden halten möchte, kann dem LICOD-Team und dem Experiment auch auf Facebook folgen (www.facebook.com/rexus.licod).
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 Mit glied, Benedikt Eliasson, ist später dazugestoßen
49
Projekte
Das RasPi auf Expeditionsfahrt Ein Roboter, der durch Ihre Wohnung flitzt? Kein Problem! Wir zeigen, wie Sie eine mobile Experimentalplattform bauen. So wird das RasPi zum Technikspielzeug für Erwachsene
O
hne Zweifel: Roboter sind eine der nützlichsten Erfindungen der Menschheit. Sie produzieren im Minutentakt neue Autos in Fabriken, verlegen auf dem Meeresgrund kilometerlange Pipelines, kriechen durch verdreckte Abwasserrohre – kurzum, sie erledigen Arbeiten, die für uns viel zu gefährlich oder zu eintönig wären.
Roboter bauen macht einfach Spaß. Und man lernt nebenbei eine Menge über Elektronik Es lohnt also, sich mit Robotern zu beschäftigen. Davon abgesehen: Es macht auch Spaß! Kostengünstige Entwicklungsplattformen wie das Raspberry Pi machen die Sache für jedermann finanziell erschwinglich. Genügend Rechenleistung bringt der Linux-Zwerg ebenfalls mit – so lassen 50
sich auch anspruchsvollere Projekte in die Tat umsetzen. Doch es lohnt noch aus einem anderen Grund, sich mit Robotik zu beschäftigen: Kaum ein anderes Themengebiet ist so abwechslungsreich. Sie lernen unglaublich viel über Elektronik, Programmierung, Sensorik und Mechanik. Für das folgende Projekt verwenden wir Python als Programmiersprache – nicht ohne Grund. Es gilt als besonders einsteigerfreundlich, ist relativ leicht zu lernen und hat sich bei Projekten im Bildungsbereich besonders bewährt. Das ist auch einer der Hauptgründe, weshalb die Raspberry-PiFoundation Python zur wichtigsten Programmiersprache für Raspberry-Pi-Projekte in Schulen erklärt hat. Noch ein kurzes Wort zu den Hardware-Komponenten, die für dieses Eigenbauprojekt nötig sind: Sie bekommen die Bauelemente sowohl im stationären Elektronikhandel als auch online, etwa bei Völkner (www.voelkner.de), ELV (www.elv.de) oder Conrad (www.conrad.de) – um nur einige Versender in Deutschland zu nennen. //jr
t a m r o F x u n i L : s o t o F
Projekte
Widerstände verhindern, dass der GPIO-Eingang des RasPi durch zu hohe Spannungen zerstört wird
Die Ultraschallsensoren, mit denen der Roboter seine Umgebung abtastet, sorgen in modernen Autos dafür, dass beim Einparken keine Blechschäden entstehen
Zur prinzipiellen Funktionsweise des Roboters: Seine Elektronik interagiert über die GPIO-Pins (General Purpose Input /Output) mit dem Raspberry. Dazu gehören insbesondere die Motorsteuerung des Roboters sowie die Ultraschallsensoren. Die sensorischen Bauteile sind das „Auge“ und „Ohr“ des Raspberry – sie verbinden ihn mit unserer Welt und helfen ihm, sich darin zurechtzufinden. Genau diese Schnittstelle ist das Spannende an unserem Robotik-Projekt: Hier treffen Mechanik, Programmierung und Computertechnologie aufeinander – eine echte Herausforderung. Umso verblüffender, dass sich mit knapp 80 Zeilen Python-Code und einem Linux-Rechner im Kleinformat – dem RasPi – ein solches Projekt in die Tat umsetzen lässt. Und das Beste: Wenn Sie diesen Workshop durchgearbeitet haben, können Sie einen funktionsfähigen Roboter auf seine erste Mission schicken – zum Beispiel eine Erkundungsfahrt durch Ihre Wohnung. Eine der wichtigsten Komponenten ist das „Ryanteck Motorsteuerungs-Board“, das Sie entweder als Komplettlösung bekommen oder als Bausatz selber löten beziehungsweise fertigen. Der Preis liegt bei rund 15 Euro. Die Steuerungseinheit ist relativ leicht zusammenzubauen, ein ausführliches und gut bebildertes Tutorial finden Sie bei Ryanteck unter http://ryanteck.uk/rtk-000-001-assembly. Zum Bausatz gehört auch ein Chassis. Wie man die Bauteile darauf anordnet, entnehmen Sie zum Beispiel folgendem YouTube-Video: http://goo.gl/irnPc7. Sie sind aber völlig frei, was die Montage angeht – ohnehin sind bei diesem Projekt eigene Lösungen gefragt. Um die Elemente zu
fixieren, empfiehlt es sich, eine Tube mit Klebstoff (es muss nicht unbedingt ein Sekundenkleber sein) parat zu legen. Auch kleine Kabelbinder sind sehr nützlich, um Bauteile temporär zu befestigen oder in Position zu halten. Ein Beutel mit 100 Stück kostet kaum mehr als zwei Euro.
Die Belegung der GPIO-Pins ist etwas tricky. Es gibt ein sogenanntes Boardund ein BCM-Layout. Dieses Projekt basiert auf der BCM-GPIODokumentation
Erste Schritte mit Python Mit dem Zusammenbau der Hardware ist es natürlich nicht getan. Um den Roboter zum Leben zu erwecken und ihn zu steuern, benötigen wir ein Programm. Bei diesem RobotikProjekt erstellen wir den Code mit Python. Die Programmierung ist simpel gestrickt. Für den Anfang reicht es, wenn der Robot sich vorwärts und rückwärts bewegt und auf Kommando nach links oder rechts schwenkt. Um die entsprechenden Sequenzen zu starten, müssen wir die Daten des Ultraschallsensors auswerten.Wie dies am besten gelingt, zeigt der folgende Pseudocode. Er soll den prinzipiellen Ablauf demonstrieren – der eigentliche Code, den wir in Python schreiben, folgt später. Importiere alle Module, die wir benötigen Erzeuge die Variablen Richte die GPIOs des RasPI ein Erzeuge Funktionen für den Ultraschall-Sensor Erzeuge Funktionen für die Motor-Steuerung Erzeuge eine unendliche Schleife Rufe die Ultraschall-Funktion auf, um die Distanz zu
einem Objekt zu messen Erzeuge eine bedingte Anweisung Wenn die Distanz zum Roboter größer als 10 cm ist, gehe weiter Wenn die Distanz zum Roboter kleiner als 10 cm ist, wende dich nach rechts
Schauen wir uns den Code im Detail an und beginnen wir mit den Modulen: Dabei handelt es sich um externe PythonBibliotheken, die Sie in Ihr Projekt importieren. So verwenden wir das RPi.GPIO-Modul, um die GPIO-Pins des Raspberry Pi anzusteuern. Möchte man ein externes Modul einbinden, kommt das Import-Kommando ins Spiel. Für unser Programm benötigen wir zwei Bibliotheken: eine für die Zeit und eine weitere für die GPIO-Funktionen. import RPi.GPIO as GPIO import time
Ihnen ist sicherlich in den beiden Zeilen aufgefallen, dass das Zeit-Modul auf andere Weise als das RPi.GPIO-Modul 51
Projekte auch Variablen verwenden, um die jeweiligen Nummern zu speichern. In diesem Projekt geschieht dies durch die beiden Variablen echo und trigger. GPIO.setup(echo, GPIO.IN) GPIO.setup(trigger, GPIO.OUT) GPIO.setup(17, GPIO.OUT) GPIO.setup(18, GPIO.OUT) GPIO.setup(22, GPIO.OUT) GPIO.setup(23, GPIO.OUT)
Pins und Sensoren aktivieren
Sie können Ihren RasPi-Roboter mit diversen Motoren ausstatten. Für dieses Projekt haben wir uns für einen schnellen Antrieb entschieden
eingebunden wird. Durch den Befehl as wird das Modul umbenannt und lässt sich im Folgenden der kürzere Bezeichnung wegen leichter handhaben. Als Nächstes sehen wir drei Variablen, wobei eine davon besonders ist – es handelt sich um eine globale Variable. In diesem Fall ist es distance. Globale Variablen lassen sich innerhalb und außerhalb von Funktionen verwenden. Die beiden anderen Variablen sind echo und trigger. Sie speichern die Nummern der GPIO-Pins des Raspberry, die wir für den Ultraschallsensor verwenden. global distance trigger = 11 echo = 8
Nun geht es um die Konfiguration der GPIO-Pins. Beim Raspberry gibt es mehrere Bezeichnungssysteme (Mapping Layouts) für die Pin-Leiste. Die wichtigsten sind „BOARD“ und „BCM“. Die BCM-Pin-Nummern beziehen sich auf die Nummerierung beziehungsweise die offizielle Dokumentation. In diesem Projekt verwenden wir das BCM-Layout, so wie es in der Ryanteck-Dokumentation beschrieben wird. GPIO.setmode(GPIO.BCM)
Unabhängig davon, ob Sie BOARD oder BCM verwenden: Die GPIO-Pins stehen Ihnen immer für Ihre Projekte zur Verfügung.Aber bevor sich die Pins korrekt ansprechen lassen, müssen Sie festlegen, welche Aufgabe die Pins jeweils übernehmen sollen. Dazu ein Beispiel: GPIO.setup(17, GPIO.OUT)
Diese Anweisung sorgt dafür, dass der Pin 17 als „Output“ definiert wird, was wiederum bedeutet, dass von diesem Pin ein Strom zur Ryanteck-Motorsteuerungseinheit fließt. Alternativ zu den fest verknüpften Nummern können wir
Anders als andere Steuereinheiten setzt das Board von Ryanteck keine besonderen Python-Module voraus 52
Das Steuerungsboard von Ryanteck verwendet vier Pins der GPIO-Leiste, um mit den Motoren zu kommunizieren. Diese Pins sind 17, 18, 22 und 23. Normalerweise verbindet man die Pins mit den Nummern 17 und 18 mit dem linken Motor; 22 und 23 sind für den rechten Motor zuständig. Der linke Motor wird mit M1 auf dem Board verbunden und der rechte Antrieb mit M2. Nachdem das Setup komplett ist, können wir uns um die Funktionen kümmern, die später für die Abwicklung von spezifischen Aufgaben zuständig sind. Für Funktionen in Python gelten diverse Regeln. So müssen sie zum Beispiel erst definiert werden, bevor sie zum Einsatz kommen können. Als Erstes kümmern wir uns um die Entfernungsmessung. Das Prinzip: Der Sensor sendet einen Ultraschallimpuls aus und wartet auf den Impuls, der vom Hindernis reflektiert wird. Die gemessene Signallaufzeit dient als Grundlage, um die Entfernung zwischen Sensor und Objekt zu berechnen. In unserem Code definieren wir den Namen der Funktion und berücksichtigen, dass zusätzlich ein Argument benötigt wird. In diesem Fall ist es sensor – eine Variable, die den Ultraschallsensor identifiziert. Die Variable global distance – die wir zu einem früheren Zeitpunkt definiert haben – verwenden wir ebenfalls an dieser Stelle. def ultra(sensor): global distance
Als Nächstes legen wir fest, wann eine bedingte Anweisung starten soll: in diesem Fall if...else. Wir beginnen mit „Wenn das Sensor-Argument dem Wert „Null“ entspricht, dann warte 0,3 Sekunden“, um dem Ultraschallsensor eine Vorlaufzeit zu geben. Dann erteilen wir dem Trigger-Pin die Anweisung, den Ultraschallsensor für den Bruchteil einer Sekunde (exakt 0,00001 Sek.) mit Strom zu versorgen. Dieser „Stromstoß“ reicht für einen kurzen Messimpuls aus. Dann wird der Trigger-Pin sofort wieder abgeschaltet und der Impuls gestoppt. if sensor == 0: time.sleep(0.3) GPIO.output(trigger, True) time.sleep(0.00001) GPIO.output(trigger, False)
Wurde der Messimpuls gesendet, wartet der Sensor auf ein Echo. Solange keine Daten empfangen werden, gilt die Anweisung: Setze die Variable signaloff auf die Startzeit und benutze dazu die Funktion time.time(). Empfängt der Sensor ein Echo, speichert signalon die Stoppzeit. while GPIO.input(echo) == 0: signaloff = time.time() while GPIO.input(echo) == 1: signalon = time.time()
Jetzt ist noch etwas Mathematik nötig, um die Distanz zum Objekt zu berechnen. Dazu benötigen wir die Variable timepassed, sie notiert die Differenz zwischen signalon und
Projekte signaloff. Sobald wir das Ergebnis haben, benötigen wir noch die globale Variable distance. Sie übernimmt den Wert, den wir mit timepassed multipliziert mit 17.000 er-
halten. 17.000 ist die Hälfte der Schallgeschwindigkeit. Sie beträgt 34.000 cm/Sek. bei 20 Grad Celsius und trockener Luft. Mit der Zeile return distance erhalten wir das Resultat anschließend als Shell-Output. timepassed = signalon - signaloff distance = timepassed * 17000 return distance
Zum Schluss schließen wir das if -Statement und beschäftigen uns mit dem else-Teil der Bedingung. Else wird verwendet, wenn die erste Bedingung nicht zutrifft. In diesem Fall erfolgt die Ausgabe „Error“ auf dem Bildschirm und der Prozess wiederholt sich. else: print „Error.“
Motorsteuerung abstimmen Zwei Motoren sorgen dafür, dass sich der Roboter fortbewegt. Sie müssen synchron laufen, wenn es geradeaus gehen soll. Verkabelt sind die Antriebe mit den Pins 17 und 23. Eingeschaltet werden sie über Pin 1, in der Programmlogik entspricht das True und High. Es genügt, sie eine Sekunde laufen zu lassen – in dieser Zeit legt der Roboter einige Zentimeter zurück. Wenn wir Pin 17 und 23 abschalten, indem wir 0 verwenden, entspricht dies False und Low. def forward(): GPIO.output(17,1) GPIO.output(23,1) time.sleep(1) GPIO.output(17,0) GPIO.output(23,0)
Diese Befehle lassen sich in modifizierter Form auch dazu verwenden, den Roboter zu drehen. Damit der Roboter wie
beim Ballett eine Pirouette dreht, ist ein kleiner Kniff nötig. Hier ist der Code, mit dem Sie den Roboter sich links herum – also gegen den Uhrzeigersinn – drehen lassen: def left(): GPIO.output(17,0) GPIO.output(18,1) GPIO.output(22,0) GPIO.output(23,1) time.sleep(1) GPIO.output(17,0) GPIO.output(18,0) GPIO.output(22,0) GPIO.output(23,0)
Zum Schluss noch ein Beispiel, wie Sie dem kleinen Roboter einen „Fluchtreflex“ einimpfen. Wenn die Distanz zwischen dem Roboter und einem Hindernis größer als zehn Zentimeter ist, sorgt die Funktion forward dafür, dass er sich weiter in Fahrtrichtung bewegt. Schrumpft die Distanz unter zehn Zentimeter, tritt der Robot den Rückzug an – eingeleitet durch eine Rechtsdrehung.
Rüsten Sie den Roboter mit einer Kamera auf – schon ist Ihr kleiner Forschungs-Rover startklar while True: ultra(0) if distance > 10: forward() elif distance < 10: right()
Ändern Sie den Code je nach Bedarf ab – wir wünschen Ihnen viel Spaß bei Ihren Experimenten!
Unser Roboter hat zwei Hauptantriebe, die für die Fortbewegung des Vehikels sorgen. Das Rad an der Vorderseite dient nur der Stabilisierung 53
Projekte
Hausüberwachung mit dem RasPi Der Mini-Computer überwacht Ihr Heim und alarmiert Sie, wenn Eindringlinge erkannt werden
D
as Raspberry Pi eignet sich perfekt als Plattform für das Prototyping verschiedenster Objekte. Von einem einfachen blinkenden LED-Band bis zur Steuerzentrale eines Quadrocopters scheint damit alles möglich zu sein. Was Sie benötigen, ist ein wenig Fantasie, etwas Geschick und ein paar Zusatzkomponenten. Ein spannendes Einsatzgebiet ist zum Beispiel die Aufnahme von Daten und Informationen aus der Umgebung, die danach auf verschiedene Arten ausgewertet werden. 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.
Unser Plan mit dem Infrarotsensor Infrarotsensoren in passiver Bauform (PIR) werden üblicherweise in Geräten wie Alarmanlagen verwendet. Sie sind inzwischen so preiswert in der Herstellung, dass sie zum Beispiel auch in elektrischen Raumerfrischern eingesetzt werden, die dann auf Bewegung reagieren. 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. Sobald jedoch das Infrarotsignal unterbrochen wird, sendet der Sensor ein Signal an ein weiteres Bauteil, was zu einer
bestimmten Aktion führt. So ein Infrarotsensor ist sehr preiswert und eignet sich wegen des einfachen Aufbaus auch als idealer Ausgangspunkt für erste Projekte. In diesem Projekt werden wir einen solchen PIR-Sensor zur Überwachung eines Areals einsetzen. Wird eine Bewegung entdeckt, 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 mögliche Einbrecher informiert. Zur Veranschaulichung des Ablaufs lässt sich gut Pseudocode nutzen, der die verschiedenen 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 Dinge genutzt werden. Verpacken Sie alle Bauteile in einem wasserdichten Gehäuse, könnten Sie etwa im Som-
Sensoren-Vielfalt 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 die 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.
54
t a m r o F x u n i L : s o t o F
Projekte
mer Ihren Garten überwachen und automatisch alle Tiere aufnehmen, die sich im Bereich des Sensors befinden. Natürlich eignet sich die Konstruktion gerade zur Beobachtung von Lebewesen, die besonders scheu sind. Platzieren Sie Kamera und Sensor in die 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 als Benachrichtigung eine SMS genutzt. 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, nut-
zen 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 Kamera 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.
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. 55
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
2 Testen
Sie die Kamera
Sie habendas Raspberryangewiesen, dieEingabeder Kameraabzufragen. Zeit für einen Test, ob die Kameraauch richtig aufnimmt. ÖffnenSie ein Terminal und gebenSie dort raspistill -o test.jpg
Wählen Sie im Menü denEintrag Enable the camera und drücken Sie Eingabe. Bestätigen Sie auch dieNachfrage. Kehren Sie zum Menü zurück und wählen Sie Finish.
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.
3 Pip
4 ...
installieren ...
Um dieKamera mitPython nutzen zu können, müssen Sie picamera herunterladen. Am einfachstengeht das mit dem Paketmanager Pip. Pip funktioniert prinzipiell wie apt-get. Das Werkzeug übernimmt also die gleichen Aufgaben wie der Paketmanager desRaspberry. Installieren Sie Pip mit einemTerminal wieim Code des nächsten Schritts beschrieben.
5 Projektdateien
önen
Um dieDaten zu verwenden, müssenSie den Editor idle verwenden. Mit Root-Rechten starten Sie das Programm über sudo idle
Im Programm wechseln Sie mit File | Open in denOrdner, in dem Sie die Projektdateien abgelegt haben. Öffnen Sie nun die Datei pir_alarm.py. 56
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 dasZIP unter https://github.com/lesp/PIR_Alarm/archive/master.zip.
6 Extras
hinzufügen
Im Quellcodeist eine Sektion fürden Import vonZusatzfunktionen 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 besserin GPIO umbennen. Schließlich noch picamera, was benötigt wird, um mitPython dieKamera zu steuern.
Projekte
Code anpassen
1 Signal-PIN
speichern
2 Textnachrichten
Wir habenden Ausgang desSensors mitPin 7 desRaspberry Pi verbunden. Um den Code effizienter zu gestalten, speichern Sie diesen Wert. Dazu nutzen Sie eine Variable:
aktivieren
Damit können Sie später leichter die Pin-Belegung – falls notwendig– auch im Programm ändern.
Die Funktion sms() in Zeile 14 ist ein wichtiger Bestandteil, dervon 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 denService nutzen zu können, müssen Sie einen kostenlosen Account anlegen (siehe unten).
3 Code
4 So
pir = 7
vereinfachen
Im Code suchen Sie denBlock GPIO.setup(pir, GPIO.IN)
Die Zeile weistdas Programmüber dieVariable an, auf das Signal vonPin 7 zu warten. DienächsteZeile kürzt denAufruf für die Kamera von picamera zu camera, was denCode vereinfacht. camera = picamera.PiCamera()
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. Nehme 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 gehen. 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 Python-Code 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 Der Code speichert alle Bilder und Videos im auf einem Server anzubieten. gleichen Verzeichnis, in dem auch das Skript liegt
57
Projekte
Mathematica auf dem Raspberry Pi Mathematica gehört zu den meistgenutzten mathematisch-naturwissenschaftlichen Programmpaketen. Für das RasPi gibt es eine Gratisversion der kommerziellen Software
M
athematica ist ein äußerst umfangreiches Softwarepaket aus dem mathematischen Bereich, das sowohl symbolische als auch numerische Berechnungen erlaubt. Es stammt von der Firma Wolfram Research und ist bereits seit über 25 Jahren erhältlich. In dieser Zeit hat es erhebliche Anpassungen durch Wissenschaft und Industrie erfahren. Mithilfe der universellen Programmiersprache Wolfram Language bietet die Anwendung eine einfache Plattform, die so gut wie alles, was man ihr vorsetzt, lösen, simulieren, durch Approximation bestimmen oder grafisch umsetzen kann. Obwohl unser Fokus normalerweise nicht auf proprietärer Software liegt, machen wir in diesem Fall eine Ausnahme, denn seit 2013 gibt es eine freie Version von Mathematica (samt Programmiersprache) für das Raspberry Pi. Wenn Sie eine halbwegs aktuelle Raspbian-Version verwenden, ist Mathematica bereits vorinstalliert. Falls nicht, erhalten Sie es mit diesen Befehlen: sudo apt-get update sudo apt-get install wolfram-engine Achten Sie auf ausreichend freien Plattenplatz, da die gesamte Installation zirka 600 MByte umfasst. Das Paket installiert zwei Programme, Mathematica und Wolfram Lan-
Dieses Fraktal kennt wohl jeder. Es lässt sich in Mathematica einfach zeichnen und einfärben 58
guage. Mathematica startet eine grafische Oberfläche im Notebook-Stil, Wolfram Language eine am Terminal orientierte. Wolfram Language wird für die KnowledgeEngine von Wolfram Alpha und für die neue Wolfram Programming Cloud benötigt. Mithilfe von Wolfram Language sollen Programme jeder Art mit einem Bruchteil des heute notwendigen Aufwands erstellt werden. Damit sei Automatisierung auf einem ungeahnt hohen Niveau möglich, so Entwickler Stephen Wolfram. Wenn Sie bereits mit dem Paket vertraut sind, sollten Sie einkalkulieren, dass „das Raspberry Pi Wolfram Language zirka zehn- bis zwanzigmal langsamer ausführt als ein aktueller Laptop und manchmal sogar noch langsamer, wenn architekturspezifische interne Bibliotheken fehlen“, erklärt er weiter. Etwas Geduld sollten Sie also mitbringen.
Einfache Berechnungen Wir zeigen zunächst die Grundlagen von Mathematica. In seiner einfachsten Form können Sie das Programm als Taschenrechner nutzen. Klicken Sie auf das Arbeitsblatt und tippen Sie 3 + 2 (oder einen anderen Ausdruck) am Prompt In[1]:= ein. Wenn Sie [Enter] drücken oder Evaluate Cell aus dem Menü Cell wählen, sollte Out[1]= gefolgt von der richtigen Antwort erscheinen. Natürlich kann das Programm viel mehr. Tippen Sie einmal 2014 ^ 2013 ein: Sie werden überrascht sein, wie schnell die Antwort erfolgt. Es geht aber noch komplexer, etwa wenn wir die Zahl Pi auf die erste Million Dezimalstellen genau berechnen wollen: pi = N[Pi, 1000000]; Auf unserem Raspberry Pi dauerte das zwölf Sekunden (beachten Sie, dass das Semikolon die Ausgabe dieses ziemlich langen Ergebnisses unterdrückt, was sonst die benötigte Zeit deutlich erhöhen würde). Es lassen sich auch eigene Funktionen definieren. Zum Beispiel könnten wir eine sehr einfache Implementierung für Fibonacci-Zahlen erstellen: F[0] = 0; F[1] = 1; F[x_] = F[x -1] + F[x -2]; Mit dem Unterstrich geben wir an, dass x ein vom Nutzer bereitgestelltes Argument ist. Diese Funktion arbeitet korrekt – die ersten Zahlen der Sequenz lassen sich als 0, 1, 1, 2, 3, 5, 8 usw. rasch berechnen –, doch das ändert sich, wenn wir beispielsweise die Tausendste Fibonacci-Zahl finden wollen. Die folgende Funktion eignet sich besser, ohne das Rad neu erfinden zu müssen, und Sie erhalten schnell eine Antwort: Fibonacci[1000]
t a m r o F x u n i L : s o t o F
Projekte
Rechnen in der Cloud Falls Ihre Berechnungen so umfangreich sind, dass sie das Pi in die Knie zwingen, können Sie einige Abfragen auch an die Wolfram-AlphaKnowledge-Engine senden. Sofern möglich, kommen die Antworten in einem Format, mit dem Sie in Mathematica weiterarbeiten können. Dafür muss Ihr Pi Internetzugang haben.
Wolfram Alpha ist in der Lage, nicht nur Abfragen in der Programmiersprache Wolfram Language, sondern auch in natürlicher Sprache zu verstehen. Wenn Sie also der Wetterbericht für München interessiert, geben Sie einfach die folgende Befehlszeile ein: WolframAlpha["weather munich germany"]
Erinnern Sie sich noch an Gleichungssysteme? Zum Beispiel 2x + 3y = 11 und 3x - y = 0? Das lässt sich zwar im Handumdrehen lösen, aber bei mehr Variablen wird die Sache komplizierter. Wir bilden eine Matrix von Koeffizienten und invertieren sie falls möglich. Das ist ein mühsamer Prozess, wenn man ihn (mit dem gaußschen Eliminationsverfahren) per Hand durchführt, und weckt zudem ungute Erinnerungen an die Schulzeit. Es ist zugleich eine Aufgabe, für die ein bedeutender Teil der weltweiten Rechenzeit von Supercomputern aufgewendet wird, da so viele Modelle auf linearen Systemen basieren. Wir können unser simples lineares Gleichungssystem von oben einfach so lösen: m = {{2,3},{3,-1}} minv = Inverse[m] minv * {{11},{0}} Mathematica liefert den Vektor {{1},{3}} zurück. Somit ergibt sich die Lösung x = 1 und y = 3. Lassen wir Mathematica einmal eine 20 x 20 große Matrix zufälliger Gleitkommawerte invertieren: m = RandomReal(1,{20,20}) Inverse[m] Es ist angenehm, die Matrix nicht als Liste voller geschweifter Klammern, sondern als rechteckiges Array zu visualisieren. Das lässt sich durch Hinzufügen dieser Zeile erreichen: m // MatrixForm Außer bei linearer Algebra kann Mathematica auch bei der Analysis helfen, besonders wenn es um Integral- und Differenzialrechnen geht. Mit dem Funktionsaufruf D[f,x] differenzieren wir die Funktion f für die Variable x, sodass Sie etwas Einfaches wie diese Aufgabe durchführen können: D[cos[x] + x^2, x] Als Lösung ergibt sich -sin[x] + 2x . Es geht allerdings auch ein wenig komplizierter: D[tan^-1[x^x],x] Sie können genauso gut die (sehr lange) zweite und dritte Ableitung dieser Funktion herausfinden: D[tan^-1[x^x],{x,2}]
Allerdings sollten Sie bei Ihren Abfragen berücksichtigen, dass die frei verfügbare Rechenzeit begrenzt ist. Doch die Cloudmethode ist trotzdem hilfreich, wenn es um Berechnungen geht, die mittelfristig zwar viel Speicher benötigen, aber eine nicht allzu komplexe Antwort zurückliefern.
und D[tan^-1[x^x],{x,3}] Außerdem lassen sich mit der Funktion D[] partielle und sogar implizite Ableitungen durchführen: D[x^2 + (y[x])^3,x] Oft empfinden Lernende die Integralrechnung als komplizierter als die Differenzialrechnung und greifen seit vielen Jahren zum Online-Integralrechner unter http://integrals. wolfram.com. Wie zu er warten kann Mathema tica so ziemlich jede Funktion symbolisch integrieren, wenn dies sinnvoll ist (es gibt Ausnahmen, etwa x^x, wobei das Integral sich
Das ist das Echidnahedron – hier etwas verfremdet –, auf dem das Mathematica-Logo (auch bekannt als Spikey) basiert 59
Projekte TIPP Unter http:// blog.wolfram. com finden Sie regelmäßig innovative MathematicaBeispiele, etwa wie Sie beim Spiel „Stein, Schere, Papier“ gewinnen.
Die FourierAnalyse basiert auf Sinus- und Cosinus-Werten 60
nicht symbolisch darstellen lässt). Doch alle grundlegenden Funktionen lassen sich problemlos ausführen: Integrate[x^2,x] Integrate[sin^-1[x],x] Integrate[log[x],x] Wichtig: Vergessen Sie nicht die Integrationskonstante. Darüber hinaus können Sie sogar komplizierte Ausdrücke für Dinge, die sich nicht ohne Weiteres integrieren lassen, erhalten. So führt beispielsweise Integrate[ln[cos[x]]] zu einem recht unschönen komplexen Ausdruck mit polylogarithmischen Funktionen. Eine der beeindruckendsten Fähigkeiten von Mathematica besteht darin, Grafiken zu generieren. Graphen, Oberflächen, Netzwerke, Karten – alles ist eine Frage von nur wenigen Zeilen. Wir können beispielsweise mit der folgenden einfachen Anweisung eine Periode der Sinus-Funktion zeichnen: Plot[Sin[x],{x,0,2 * Pi}] Die in Mathematica eingebaute Funktion WeatherData[] erzeugt darüber hinaus sehr ansprechende Wetterkarten. Um beispielsweise die täglichen Durchschnittstemperaturen des vergangenen Sommers für München darzustellen, geben Sie Folgendes ein: DateListPlot[WeatherData[„Munich (Germany)“,“Mean Temperature“,{{2014,6,1},{2014,9,1},“Day“}],Joined->True] Sogar ein Ausflug in die dritte Dimension ist mit der folgenden Funktion möglich: Plot3D[Sin[x]+Cos[y],{x,0,2 * Pi},{y,0,2*Pi}] Sie können zwei (oder mehr) Zeilen oder Oberflächen auf derselben Fläche zeichnen, indem Sie diese der entsprechenden Plot-Funktion hinzufügen. Wenn Sie zum Beispiel noch einmal wissen wollen, wie die Sinus- und die CosinusFunktion zusammenhängen, geben Sie ein:
Plot[Sin[x],Cos[x],{x,0,2 * Pi}] Formen sind ebenfalls einfach, dank Mathematicas umfangreicher Bibliothek von Polyedern. So zeichnen Sie ein rotes Echidnahedron (ein sternförmiges Ikosaeder mit 92 Spitzen, 270 Kanten und 180 Flächen): Graphics3D[{Opacity[.8], Glow[RGBColor[1,0,0]], EdgeForm[White], Lighting -> None, PolyhedronData[„Echidnahedron“, „Faces“]}]
Besonderheiten der RasPi-Version Generell ist die Mathematica-Ausgabe für das Pi eine abgespeckte Version des Vollprodukts. Sie verfügt aber über eine Exklusivfunktion, nämlich die Fähigkeit, mit Geräten, die über die GPIO-Pins angeschlossen sind, und dem per CSR verbundenen PiCam-Modul zu kommunizieren. Das passiert mithilfe der Befehle DeviceRead und DeviceWrite. So setzen Sie beispielsweise Pin 14 auf „high“: DeviceWrite[„GPIO“, 14 -> 1] Wenn Sie 1 durch 0 ersetzen, legen Sie den Wert „low“ fest. Um den Status von GPIO-Pin 14 (GPIO14 in der BCM-Zählweise!) auszulesen, geben Sie ein: status = DeviceRead[„GPIO“, 14] Die Variable status nimmt dann den Wert 0 oder 1 an. Um ein Bild vom Kameramodul in Mathematica zu importieren, gehen Sie folgendermaßen vor: img = DeviceRead[„RaspiCam“] Und so exportieren Sie es wieder, entweder wie hier als JPEG oder in einem anderen gewünschten Format: Export[„/home/pi/img.jpg“, img] Damit beenden wir unsere kleine Exkursion durch die Funktionen von Mathematica. Auf der Seite gegenüber finden Sie einige Beispiele, was sich mit dem Programm so alles anstellen lässt. //tr
t a m r o F x u n i L : s o t o F
Projekte
Praxisbeispiele für Mathematica
1
Strömungszeichnung
Hier sehen Sie eine Strömungsdarstellung, die die Windrichtungen über Australien zeigt. Die höheren Windgeschwindigkeiten sind durch hellere Farben kenntlich gemacht. Dazu müssen Sie die Funktion outline manuell eingeben. Sie finden alle Details dazu im Wolfram-Blog. Strömungsdarstellungen werden häufig benutzt, um Differenzialgleichungen zu visualisieren (http://bit.ly/WeatherPatterns).
3
Astronomische Navigation
Ein altes Maori-Sprichwort sagt: „Bevor du dich auf eine Reise machst, sei sicher, dass du die Sterne kennst.“ In dieser Demo können Sie lernen, Ihre Position zu bestimmen, indem Sie zu einer bestimmten Zeit die Höhenwinkel zu Planeten, Sternen oder dem Mond messen. Die Himmelskugel entspricht in etwa der Bahn der Erde auf einer kreisförmigen Umlaufbahn bei konstanter Geschwindigkeit ( http://bit.ly/CelestialNavigation).
2
Sonnenfleckenzyklus
Mithilfe öffentlich verfügbarer Daten können Sie zum Beispiel den elfjährigen Sonnenfleckenzyklus beobachten. Zwischen 1640 und 1710 gab es ungewöhnlich wenige Sonnenflecken, was mit der „kleinen Eiszeit“ in Europa zusammenfiel. Wenn Sie in Daten mit hohem Rauschen nach Mustern suchen, hat es sich bewährt, Ihre Daten vor der Fourier-Analyse mittels Faltung zu glätten ( http://bit.ly/SunspotNumbers).
4
Schneeflocken
Die hier dargestellte Schneeflocke wurde mithilfe von sechseckigen zellularen Automaten generiert. Alle Schneeflocken zeigen aufgrund der Wasserstoffbrückenbindung in den Wassermolekülen eine hexagonale Symmetrie. Sobald sie erstarren, werden die Kristalle durch die Verteilung der Ladungen in einer sechseckigen Form angeordnet ( http://bit.ly/Snow flakeLikePatterns). 61
Projekte
Spiele-Klassiker auf dem RasPi Machen Sie mit uns eine Zeitreise in die Anfangszeit der Videospiele: In diesem Artikel zeigen wir Ihnen, wie Sie mithilfe von Emulatoren alte Games wie früher genießen können
D
as RasPi mag für moderne Spiele zu schwachbrüstig sein, bietet aber genug Leistung für eine ausgezeichnete Emulator-Maschine, die 8- und 16-Bit-Oldies spielt. Dafür müssen Sie noch nicht einmal die eigens für diesen Zweck konzipierte Distribution RetroPi verwenden (mehr zu RetroPi lesen Sie auf Seite 25). Auch für Raspbian gibt es eine Vielzahl von Emulatoren für
verschiedene Systeme. Nur die Spiele müssen Sie sich noch selbst besorgen. Einige wenige, wie zum Beispiel Digger für Dosbox, können Sie sich kostenlos aus dem Internet herunterladen. Viele sind allerdings noch urheberrechtlich geschützt. Sie dürfen die entsprechenden ROMs also nur nutzen, wenn Sie das Original besitzen. Aber Achtung: Seit dem 13. September 2003 darf man für Sicherheitskopien seiner eigenen Spiele keinen DRM-Kopierschutz mehr umgehen.Wer seine Games vor diesem Stichtag kopiert hat, ist rechtlich auf der sicheren Seite. Da viele alte Konsolenspiele allerdings keinen Schutz haben, dürfen Sie von diesen weiterhin Backups anlegen, sofern Sie das Original besitzen. Am leichtesten bekommt man alte Klassiker als Bundles für PCs, etwa auf dotemu.com. Hier werden meist die Originale samt Emulator 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 simple 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/
Chameleon Pi – eine Variante von Raspbian 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
62
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. SchreibenSie dann das Image mit Win32DiskImager (Windows, auf (auf Heft) oder dd (Linux)auf eineSD-Karte undstarten Siedas RasPi.Mit zx alsUser und spectrum als Passwort loggen Sie sich ein. Die ROMs kopieren Sie einfach über Ihren Computer auf die SD-Karte unter der Partition roms. DVD
ChameleonPi kommt zwar ohne grafische Oberfläche, nutzt aber einen eigenen keyboardgesteuerten Launcher für die Emulation
t a m r o F x u n i L : s o t o F
Projekte
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: Lassen Sie die DOS-Ära aufleben, indem Sie digger.exe über DOSBox Kultklassiker wie Blood spielen
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 acht verschiedene Modelle, und man verkaufte weltweit
über fünf Millionen Geräte. Deshalb haben wir die Wahl unter einer Reihe von Emulatoren. 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 sich 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 größere Wellen: Er fand seinen Weg in etwa 15 Millionen Wohnzimmer und steht im Guinness-Buch der Rekorde als das meistverkaufte Computermodell aller Zeiten. 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 gehen. Laden Sie sich zunächst die Datei c64.zip herunter unter
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 Enter-Taste. Wenn Sie mit dem Spielen fertig sind, gehen Sie zu Machine | Reset, um den Emulator zurückzusetzen.
63
Projekte http://tinyurl.com/C64-4pi 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 Moto-
rola verbaut war. Der Atari ST war einer der ersten Heimcomputer mit 512 KByte RAM, einer grafischen Benutzeroberfläche und einem Diskettenlaufwerk. Hatari ist ein exzellenter Emulator für den ST. Auch diesen gibt es über die Paketverwaltung: 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. //pd, jas
Retro-Hardware mit dem Raspberry Pi aufmotzen
1
Neue Hardware, klassisches Gewand
In einem alten Sinclair Spectrum findet ein Raspberry Pi samt Kabeln mehr als ausreichend Platz.
3
Ein Pi im Mega-Drive
Die Raspberry-Pi-Platine ist so klein, dass der komplette Minirechner sogar in ein altes Mega-Drive-Modul passt.
64
2
Bequem verstaut
Von außen sieht der Spectrum aus wie vorher, innen schlägt aber ein neues 700-MHz-Herz mit 512 MByte RAM.
4
Retro-Spiele auf dem Pi
Auf dem Raspbian-Betriebssystem laufen noch viele weitere Emulatoren für alte Systeme, etwa MAME und Mega Drive
Jetzt bloß nicht den Kopf einziehen! Dieses Angebot sollten Sie nicht verpassen.
Powerbank • externes Ladegerät für unterwegs • stabiles Metallgehäuse • Maße: 103 mm x 23 mm • Gewicht: 90g • einfaches Aufladen von Endgeräten via USB bzw. Anschlussadapter • Eingangsspannung: 5V 1000mA • Ausgangsspannung: 5V 1000mA • 2600 mAh Lithium-Ionen-Akku mit Überladungsschutz • mit integrierter LED-Taschenlampe
+
Ihre Vorteile: • 6 Hefte zum Vorzugspreis: Sie
sparen 10% • Hochwertiges Geschenk gratis • Kompetente und kompakte Informationen • Tipps, Tests und Ratgeber • Pünktliche, kostenlose und bequeme Lieferung • Eine Ausgabe kostenlos vorab bei Erteilung von Bankeinzug
6x CHIP Test & Kauf lesen und 10% sparen
Gleich Coupon ausfüllen und abschicken oder unter www.abo.chip.de/tuk-raspberrypi bestellen
So einfach können Sie bestellen: (Telefon) 0781-639 45 26 (Fax) 0781-846 19 1 (E-Mail)
[email protected] (URL)www.abo.chip.de/tuk-raspberrypi
Ja, ich bestelle 6 Ausgaben CHIP Test&Kauf für nur 16,20 € (inkl. MwSt. + Porto) Zunächst für ein Jahr (6 Ausgaben). Das Geschenk erhalte ich umgehend nach Zahlungseingang. Das Abo kann ich nach Ablauf der 12 Monate jederzeit wieder schriftlich kündigen. Es genügt eine kurze Nachricht von mir an den CHIP Aboservice, Postfach 225, 77649 Offenburg oder per E-Mail an abo@ chip.de. Dieses Angebot gilt nur in Deutschland (Konditionen für das Ausland bitte auf Anfrage unter
[email protected]) und nur solange der Vorrat reicht.
Ich bezahle bequem durch Bankeinzug, erhalte eine Ausgabe gratis vorab und mein Geschenk sofort SEPA-Lastschriftmandat: Ich ermächtige die CHIP Communications GmbH, wiederkehrende Zahlungen von meinem Konto mittels Lastschrift einzuziehen. Zugleich weise ich mein Kreditinstitut an, die vom Verlag auf mein Konto gezogenen Lastschriften einzulösen. Hinweis: Ich kann innerhalb von acht Wochen, beginnend mit dem Belastungsdatum, die Erstattung des belasteten Betrags verlangen. Es gelten dabei die mit meinem Kreditinstitut vereinbarten Bedingungen.
D E IBAN
Ihre BLZ
Zahlungsempfänger:
Straße, Haus-Nr.
CHIP Communications GmbH, St.-Martin-Straße 66, 81541 München Gläubiger-ID: DE11ZZZ00000186884 Mandatsreferenz wird separat mitgeteilt. Mit folgender Kreditkarte:
Weitere Angebote finden Sie unter www.chip-kiosk.de/chip Sie haben ein gesetzliches Widerrufsrecht, die Belehrung können Sie unter www.chip-kiosk.de/widerrufsrecht abrufen.
CHIP Test & Kauf erscheint im Verlag: CHIP Communications GmbH, St.-Martin-Straße 66, 81541 München. Geschäftsführung: Thomas Koelzer (CEO), Markus Scheuermann (COO) Handelsregister: AG München, HRB 136615. Die Betreuung der Abonnenten erfolgt durch: Abonnenten Service Center GmbH, CHIP Aboservice, Marlener Str. 4, 77656 Offenburg. Der Verlag behält sich vor, Bestellungen ohne Angabe von Gründen abzulehnen.
Ihre Konto-Nr.
Name, Vorname
V IS A
E ur oc ar d/ Ma st er ca rd
PLZ,Ort Kreditkarten-Nr. Telefon/Handy
Geburtsdatum
Prüfnr.
/ Gültig bis:
E-Mail
und erhalte als Geschenk gratis dazu: Powerbank (C871 ) Coupon ausschneiden und schicken an: CHIP Aboservice, Postfach 225, 77649 Offenburg oder im Internet bestellen unter: www.abo.chip.de/tuk-raspberrypi
Ja, ich bin einverstanden, dass die CHIP Communications GmbH mich per E-Mail über interessante Vorteilsangebote informiert. Meine Daten werden nicht an Dritte weitergegeben. Dieses Einverständnis kann ich selbstverständlich jederzeit widerrufen.
Datum
Unterschrift
615SA02P1
Projekte
Selbst gebauter Space-Controller Es muss nicht immer ein Raspberry Pi sein. Wir zeigen, wie Sie einen eigenen Controller für das beliebte Kerbal Space Program mit einem Arduino-Board basteln
D
ie standardmäßige Belegung einer Computertastatur eignet sich nicht wirklich gut für Flugsimulationen. Jedes Mal, wenn Sie auf die Taste [G] drücken, um das Fahrwerk auszufahren, merken Sie, dass Sie eigentlich gar nicht wirklich fliegen. Doch bloß weil das Spiel ein Keyboard verlangt, muss es nicht gleich eines mit QWERTZLayout sein: Der Arduino Leonardo ist ein Mikrocontroller, der eine Standardtastatur emulieren kann (http://arduino. cc/en/Main/arduinoBoardLeonardo). Sie können das Gerät so verdrahten, dass Sie etwa statt die [Escape]-Taste zu drücken eine Abdeckung anheben und einen Schalter umlegen müssen, um das Cockpit zu öffnen.
Da jeder eine eigene Vorstellung davon hat, was ein solcher Controller können muss, sollten Sie sich am besten für ein universelles Gerät entscheiden, das mit möglichst vielen Flugsimulatoren funktioniert. Hier zeigen wir Ihnen eine Lösung von Luis Villazon für das Kerbal Space Program. Diese Grundprinzipien können Sie jedoch leicht übertragen – auf andere Programme und auf Projekte mit dem RasPi. Zunächst einmal gibt es verschiedene Versionen des Arduino. Sie brauchen hierfür zwingend den Leonardo, da nur dieser das USB-Keyboard emulieren kann. Ohne Extras kostet das Gerät etwa 20 Euro; sollte dies jedoch Ihr erstes Projekt sein, sollten Sie die Variante mitsamt LEDs, Wider-
Entprellung sorgt für richtiges Ansprechen aller Schalter Hardware-Schalter sind mechanische Bauteile mit gewissen Ungenauigkeiten. Wenn Sie diese betätigen, wird binnen Millisekunden oft mehrfach der Kontakt hergestellt und wieder unterbrochen, bevor der Schalter einrastet. Wenn nun Ihr Arduino jeden dieser Kontakte als Knopfdruck ins Spiel überträgt, wird das zum Problem. Die Lösung heißt entprellen. Das ist ziemlich simpel: Sie müssen lediglich den Controller so programmieren, dass er, nachdem er den ersten
66
Kontakt feststellt, fünf Millisekunden wartet, bevor er eine Aktion überträgt. Dies müssen Sie mit jedem mechanischen Knopf durchführen. Ein Beispielprogramm unter http:// arduino.cc/en/Tutorial/ Debounce zeigt Ihnen, wie das funktioniert. Manche Erweiterungsboards wie das SX1509 aus diesem Projekt bringen Funktionen zum Entprellen der Hardware mit. So benötigt man beim Initialisieren des Boards lediglich einen einfachen Befehl je Input.
Entprellen Sie alle Inputs, um Störsignale zu unterbinden
t a m r o F x u n i L : s o t o F
Projekte
Den Arduino programmieren Der Arduino hat seine eigene integrierte Entwicklungsumgebung (IDE), sodass Sie die Programme, auch Entwürfe genannt, schreiben und direkt auf dessen Flash-RAM laden können. Wenn Sie das Gerät einschalten, spielt es den Entwurf automatisch ab. Die IDE nutzt C++, sodass Sie selbst als Programmiereinsteiger schnell die Grundlagen erlernen können. Jeder Entwurf hat eine Setup-Funktion, die bei jedem Start durchläuft, sowie eine Loop-Funktion, die kontinuierlich wiederholt wird, bis Sie das Gerät ausschalten. Wenn Sie einen Knopf am digital pin 2 anschließen, initialisieren Sie die Setup-Funktion mit dem Befehl pinMode(2, INPUT). Mit dem Kommando digitalRead(2) können Sie den Pin auslesen, um dessen Zustand zu überwachen. Da es in C++ auf Groß- und Kleinschreibung ankommt, ist pinMode nicht gleich PinMode. Die IDE kennzeichnet integrierte Codebausteine automatisch orange. Wenn das nicht passiert, wissen Sie also gleich, dass Sie sich vertippt haben. Sind Sie bereit für den Test, klicken Sie auf das Pfeilsymbol, um den Entwurf zu kompilieren. Dadurch wird der Code in maschinenlesbare Befehle verwandelt und auf den Arduino geladen – der hat nur 28.672 Byte Speicher für die Entwürfe. Das reicht in der Regel, da keine Grafiken den Speicher belasten. Wenn Sie im Programmieren geübt sind, sollten Sie möglichst effizient arbeiten. Unter Datei | Beispiele können Sie simple Entwürfe laden, um die grundlegenden Techniken zum Erkennen von Schaltern,Ansteuern von LEDs sowie des Sendens von Knopfdrücken an den PC zu lernen.
ständen und einer Steckplatine für Versuchsaufbauten kaufen. Ein gutes Starterpaket gibt es unter www.conrad.de oder www.reichelt.de. Das Grundprinzip ist, dass Sie Knöpfe oder Schalter an den Arduino anschließen, der das Signal dann an den PC weitergibt. Ihr Spiel wird sich dann genauso verhalten, als hätten Sie eine Taste auf dem Keyboard gedrückt. Sie müssen dabei natürlich nicht jede Taste auf den Controller übertragen, sondern lediglich die für das Spiel benötigten. Deshalb ist es ratsam, die Standardtastatur dennoch angeschlossen zu lassen. Wenn Sie sich in Ihrer Kreativität nicht einschränken möchten, können Sie auch noch einen Joystick hinzufügen. Analoge Geräte sind zwar nicht für jedes Spiel geeignet, jedoch gibt es eine Menge günstiger digitaler Joysticks mit Mikroswitches (www.digikey.com). So haben Sie die Möglichkeit, alle Richtungen zu programmieren, sodass die Tasten [W], [A], [S] und [D] als Joystick fungieren. Die Richtungstasten lassen sich auch mit verschiedenen Modi belegen – beispielsweise wenn Sie Ihr Gefährt seitlich streifen anstatt entlang der Längsachse rotieren lassen möchten.
Drehregler mit Feingefühl Funktionen zum Drosseln müssen Sie nicht zwingend als Plus- und Minustasten anlegen, denn es gibt auch Drehregler. Am einfachsten geht das mithilfe eines Potentiometers, also eines variablen Widerstands, der sich durch Drehen des Knopfes verändert – genau wie bei einer Lautstärkeregelung. Die sich konstant ändernde Ausgabespannung dieses Bauteils verwandelt der Arduino dann in eine ganze Zahl zwischen Null und 1,023. Der Nachteil an Potentiometern ist, dass sie einen physischen Stopp-Punkt haben. Auf unserem Controller haben wir Knöpfe verbaut, die den Schub direkt auf 20, 80 oder
100 Prozent setzen. Mit einem Potentiometer kann es hingegen passieren, dass der Regler bereits voll aufgedreht ist, der Schub sich im Spiel jedoch erst bei 70 Prozent befindet. Eine Lösung für dieses Problem ist es, einen Drehregler zu verbauen, den man endlos in beide Richtungen drehen kann. Diese sind zwar günstig, doch es ist kompliziert, dem Arduino beizubringen, in welche Richtung der Knopf gerade gedreht wird. Außerdem verfügen viele der Drehregler nur über zwölf Stufen, die für viele Spiele etwas zu ungenau sein dürften.Wenn Sie etwas mehr Geld in die Hand nehmen, können Sie sich auch für den MA3-Drehregler mit magnetischem Schaft von http://usdigital.com entscheiden. Dieser ist teurer, reagiert jedoch sehr präzise und lässt sich leicht programmieren. Darüber hinaus gibt es die Möglichkeit, dass Sie nicht nur Befehle an das Spiel senden, sondern mit dem Controller auch welche empfangen. Kerbal Space Program etwa fordert Sie dazu auf, Ihre Karte zu betrachten, um die orbitalen Parameter auszuwerten. Diese können Sie sich auf dem Controller mit einem LC-Display ausgeben lassen. All das mag zunächst abschreckend wirken, doch Sie werden mithilfe der Anleitung auch als absoluter Neuling in Sachen Elektronik und Programmierung schnell zu brauchbaren Ergebnissen kommen. Die meisten trickreichen Codepassagen können Sie von anderen Arduino-Projekten übernehmen. Wenn Sie nicht gleich einen kompletten Controller bauen möchten, fangen Sie klein an. Bereits ein einfacher Boost-Knopf macht das Spielen fetziger. //pd
Ersetzen Sie nicht einfach jede Taste durch einen Knopf – Schalter und Regler sind viel nützlicher
67
Projekte
Die Elektronik So verbinden Sie Schalter und Lämpchen durch einfaches Löten miteinander 1
Design-Prototyp
Bevor Sie ins kalte Wasser springen und eine Schalttafel basteln, sollten Sie sich Gedanken über Größe und Aussehen des Geräts machen. Erstellen Sie einen Prototyp mit Bleistift, Pappe oder gar Lego, um verschiedene Layouts zu testen. So finden Sie heraus, welches Design für Ihr Spiel am besten passt. Ersetzen Sie auch nicht zwingend jede Taste durch einfache Knöpfe – beleuchtete Schalter oder Drehregler sorgen meist für ein praktischeres und ansprechenderes Interface.
2
Machbarkeitsnachweis
Um mit dem Arduino loszulegen, bauen Sie zunächst ein einfaches Gerät. Nehmen Sie einen regulären Schalter und verbinden Sie eine Seite mit den GND-Pins des Arduino und die andere mit digital pin 2. Nutzen Sie dann eine Steckplatine, um den einen Draht einer LED an einen Widerstand mit 1.000 Ohm und den anderen an den GND-Pin auf dem Arduino anzuschließen. Das freie Ende des Widerstands stecken Sie bei digital pin 3 an. Probieren Sie, ob Sie den Arduino so programmieren können, dass die LED leuchtet, wenn der Schalter umgelegt ist. Beispiele dafür finden Sie unter http://arduino.cc/en/Tutorial.
Use the online utility at http://corntab.com to easily set up crontabs.
3
Wie Sie am besten löten
Beim Löten geht es insbesondere darum, eine ruhige Hand zu haben. Klemmen Sie dazu die beiden Drähte so fest, dass ihre Enden überlappen. Halten Sie dann den warmen Lötkolben mit dem Zinn daran, sodass dieser die beiden Drähte umfließen kann. Warten Sie, bis das Metall abgekühlt und fest ist, bevor Sie etwas bewegen.
Crimpen Nackte Drähte lassen sich nicht in den Arduino einstecken, da ihre Enden nicht steif genug sind, um darin zu halten. Deshalb brauchen Sie kleine Quetschverbinder am Ende der Drähte. Sie
68
können diese selbst anbringen. Der Einfachheit halber kaufen Sie am besten 30 Zentimeter lange Drähte, die Sie in der Mitte teilen. Dann verlöten Sie eine Seite und stecken die andere an.
4
Verbindungsstellen hinzufügen
Jeder Schalter und jedes Licht auf dem Kontrollpanel benötigt eigene Verbindungsstellen. Zwar lassen sich Flachleitungen ordentlicher verkabeln, jedoch auch schwerer verlöten. Außerdem können Sie die Schalter dann nicht mehr so leicht hin und her bewegen. Mit Schrumpfschläuchen isolieren Sie die Enden der Kabel.
Projekte 5
Den Arduino erweitern
6
Der Arduino Leonardo hat nur 20 digitale Input-/Output-Pins, doch für dieses Projekt werden Sie mehr brauchen. Eine einfache LED-Ziffer benötigt zum Beispiel schon sieben verschiedene Outputs, um alle Segmente darstellen zu können. Eine der umfassendsten Lösungen zur Vervielfachung der Anschlussmöglichkeiten ist der sogenannte SX1509 für etwa zehn Euro (www.sparkfun.com/products/11502). Das Bauteil nutzt zwei Pins, um mit dem Arduino zu kommunizieren, bietet Ihnen dafür aber 16 weitere Pins. Bis zu vier davon können Sie an den Leonardo anschließen, da diese alle dieselben Pins benutzen. So bekommen Sie insgesamt 64 Pins zum Preis von zwei! Zudem bringt der SX1509 ein Add-on mit, das dem Arduino mitteilt, sobald einer der Inputs verändert wird.
Header verlöten
Mit dem SX1509 können Sie auch LEDs blinken lassen. Unter http://bit. ly/LXFsx1509 finden Sie eine große Open-Source-Bibliothek mit Programmierbeispielen. Statt die Drähte direkt an den SX1509 zu löten, sollten Sie lieber einen Header-Block wie den des Arduino selbst hinzufügen. So können Sie einzelne Komponenten daran anstecken. Header-Blöcke gibt es in Streifen zu kaufen, die Sie sich zurechtschneiden. Löten Sie dann jeden Pin an der Unterseite fest.
Ohmsches Gesetz Verbinden Sie eine LED direkt mit dem 5-V-Pin des Arduino, wird diese unangenehm hell sein oder gar kaputtgehen. Das liegt daran, dass LEDs als Halbleiter keinen eingebauten Widerstand besitzen. Das ohmsche Gesetz lautet Span-
nung (V) = Stromstärke (I) mal Widerstand (R). Ist R sehr klein, wird I sehr hoch. Um dies zu vermeiden, bauen Sie stets einen Widerstand in Reihe ein. Für eine grüne LED mit 2,2 V benötigen Sie also einen Widerstand mit 280 Ohm.
7
Fortlaufend testen
Nutzen Sie die Steckplatine, um jede Komponente direkt nach dem Anbau zu testen. So stellen Sie sicher, dass Sie nichts falsch herum angeschlossen haben; außerdem lernen Sie so die Programmierung des Arduino Schritt für Schritt.
8
LCD verbinden
Einfache LCDs mit 16x2-Displays sind günstig, benötigen aber jede Menge Pins zur Steuerung. Dieses SerLCD Huckepack-Board (www.sparkfun. com) braucht jedoch nur einen Draht – plus Erdung und +5 V –, um mit dem Arduino über sein eigenes serielles Interface zu kommunizieren. Sie können auch Boards kaufen, auf denen der SerLCD schon installiert ist, doch ihn selbst einzubauen ist kein Problem. Verlöten Sie die LCDPlatine unter Benutzung der existierenden Pin-Verbindungen und stellen Sie mit dem Potentiometer den Kontrast des Displays ein. Die serielle Kommunikation unterscheidet sich vom i2CBus des SX-1509-Boards, aber beide kommen gut miteinander aus. Auch hier gibt es viele Codevorlagen unter http://bit.ly/LXFserlcd.
69
Projekte
Gehäuse für den Space-Controller Fertigen Sie eine Anlage an, die dem Apollo-Programm in nichts nachsteht 9
Eine einfache Box
Rück- und Unterseite des Kastens erstellen Sie aus 6 mm starken MDF-Platten. Diese lassen sich einfach schneiden und durchbohren. Sie isolieren die Elektronik bestens. Schneiden Sie auch Säulen und Schrägen aus 20-mm-MDF, um die Ecken und Hohlräume zu verstärken. Verschrauben Sie alles miteinander.
Power-Hub Jedes Lämpchen benötigt je eine Verbindung zur Erdung oder +5V, manchmal auch zu beiden. Der Arduino hat jedoch nur zwei Erdungen und einen +5V, sodass nicht alle LEDs Platz finden. Mit einem Streifen Veroboard, an das Sie Header löten und an den GDN-Pin anschließen, umgehen Sie das. Wiederholen Sie dies für +5V, um eine Art Hub zu erzeugen.
10
Das Frontpanel
Die Vorderseite besteht aus 3 mm starkem Aluminium, das Sie zurechtgeschnitten auf eBay kaufen können. Falls Sie etwas wollen, das sich leichter bohren lässt und ebenso gut aussieht, probieren Sie ACM – Hartplastik zwischen zwei dünnen Aluminiumschichten. Mithilfe von CAD- oder Zeichensoftware zeichnen Sie die genauen Positionen aller Knöpfe und Schalter auf und markieren die Mitte jedes Bohrlochs. Drucken Sie diese Vorlage schließlich gespiegelt aus und kleben Sie sie auf das Aluminium. So können Sie von hinten bohren und das Papier drauflassen, wodurch das Metall innen zusätzlich isoliert wird.
11
Löcher bohren
Die meisten Elemente brauchen Löcher mit 9 mm Durchmesser. Nehmen Sie eine Schraube, um die Mitte jedes Lochs genau zu markieren. Stellen Sie sicher, dass Ihr Panel nicht verrutschen kann, und bohren Sie zunächst ein Loch mit 3 mm vor. Anschließend vergrößern Sie es mit einem 9-mm-Bohrfutter.
12
Das Frontpanel einsetzen
Nun können Sie sämtliche Kratzer herauspolieren – sobald alle Schalter installiert sind, wird das nämlich sehr umständlich. Stecken Sie die Platte also auf Ihre MDF-Box und fügen Sie alle Kontrollelemente hinzu. Lassen Sie die Rückseite noch offen.
70
Projekte 13
Dioden verwenden
14
Dioden sind Halbleiter, die als Einwegröhre für Strom fungieren. Sie können diese nutzen, um clevere Encoder zu erstellen, mit denen Sie digitale Pins auf dem Arduino einsparen. Angenommen, Sie haben einen Vier-Wege-Drehregler, dann bräuchte jede der Richtungen einen eigenen Input. Doch so können Sie ihn mit nur zweien verbauen: Verbinden Sie Position 2 mit einem Pin und Position 4 mit einem weiteren. Schließen Sie Position 3 nun bei diesen beiden Pins an. Nutzen Sie aber Dioden, um 2 und 4 dennoch voneinander zu isolieren. Wenn Sie nun Position 1 wählen, bekommt kein Pin ein Signal, da er nicht angeschlossen ist. Bei 2 ist der erste Pin hoch, bei 3 beide Pins und bei 4 nur der zweite Pin. In unserem Beispiel haben wir das Konzept für einen Sechs-Wege-Regler erweitert, der am Ende lediglich drei Pins auf dem Arduino benötigt.
Tastatur-Matrix
Wenn Sie viele Knöpfe haben, von denen Sie nicht mehrere gleichzeitig drücken, sondern die Sie jeweils nur nacheinander betätigen, dann verdrahten Sie diese am besten in einem Raster, sodass jede Spalte und jede Zeile einen gemeinsamen Verbindungspunkt hat. Der zuvor angesprochene SX1509 scannt anschließend alle Spalten und Zeilen, um den jeweils gedrückten Knopf zu ermitteln und an den Arduino weiterzugeben. Mit diesem einfachen Trick sparen Sie ebenfalls jede Menge wertvoller Pins auf dem Leonardo.
15
Alle Kabel unterbringen
Verschrauben Sie den Arduino auf der Rückseite der Box und verbinden Sie alle Schalter mit den entsprechenden Pins. Notieren Sie sich am besten, was an welcher Stelle eingesteckt ist, und auch die Kabelfarben – das spart Zeit beim Testen.
Stromstärken Der Arduino kann auf der 5-V-Schiene maximal eine Stromstärke von 200 mA leisten, auf der 3,3-V-Schiene höchstens 50 mA. Sollte Ihr Controller also viele LEDs haben, werden Sie diese Grenze schnell erreichen und der Arduino wird nicht korrekt arbeiten. Mithilfe eines günstigen Stromversorgungsmoduls für Steckplatinen erzielen Sie 500 mA auf jeder der Schienen. Diese Energie können Sie dazu nutzen, alle Komponenten zu versorgen und den Arduino über USB laufen zu lassen. Als erfahrener Bastler können Sie auch ein USB-Kabel auftrennen und verbinden.
16
Hardware-Tests
Wenn Sie anfangen, mit dem Arduino zu programmieren, werden Sie zunächst kaum unterscheiden können, ob ein Fehler durch Hardware oder Software verursacht wird. Gehen Sie also in kleinen Schritten vor, zum Beispiel mit einem einzelnen Schalter. Programmieren Sie den Arduino so, dass er erkennt, wenn der Schalter umgelegt wird und dies mit einer LED signalisiert. Wiederholen Sie dies. Anschließend sollten Sie die Library des SX1509 nutzen, um die Steuerung der Erweiterungsboards zu übernehmen. Sind Sie sich sicher, dass Ihre Einstellungen funktionieren, probieren Sie doch mal, Nachrichten auf dem LCD darzustellen. Sollten Sie auf seltsame Störungen treffen, nehmen Sie sich die Zeit und prüfen Sie die Spannungen der verschiedenen Pins. Auch ein Check nach Kurzschlüssen, die durch unsauberes Löten entstehen, hilft oft weiter.
71
Projekte
Die erste eigene Schaltung Elektronikbastler, die einen preiswerten Ersatz für ihren Mini-Computer suchen, haben jetzt eine tolle Alternative: Beim ShrimpingIt-Projekt bauen Sie Ihr eigenes Mikrocontroller-Board
E
gal ob Sie Programmieren lernen, eigene Schaltungen entwerfen oder tiefer in die faszinierendeWelt der Mikrocontroller einsteigen wollen: Neben dem RasPi ist die Arduino-Plattform, insbesondere das „Arduino Uno R3“, eine gute Ausgangsbasis für dieses Vorhaben. Das „ShrimpingIt“-Projekt (http://shrimping.it) geht einen entscheidenden Schritt weiter: Hier bauen Sie sich eine eigene Experimentierplattform („Shrimp“) von Grund auf – trotzdem bleibt das Ganze kompatibel zum Arduino Uno. Das hat mehrere Vorteile: Die Kosten sind minimal, der Lerneffekt ist größer und Sie können Ihr Erfahrungswissen jederzeit auf die Arduino-Plattform übertragen. Steigen wir direkt in die Technik ein und schauen wir uns das Prototypen-Board Arduino Uno etwas genauer an: Es besteht im Kern a us einem Atmel-ATmega-Mikrocontroller mit einem Bootloader, einem Leistungsregler und einer UART-Schnittstelle. Genau dieser Aufbau lässt sich auch mit dem wesentlich kostengünstigeren Shrimp-Kit realisieren. Mit diesem Arduino-kompatiblen Board experimentieren Sie auf ebenso einfache Weise wie mit dem Arduino Uno. Im Prinzip stehen Ihnen beim Shrimp-Projekt alle Möglichkeiten offen, das Board (Shrimp) nach Ihren persönlichen Bedürfnissen zu erweitern. Wenn Sie zum Beispiel eine USB-to-UART-Bridge als Schnittstelle brauchen, können Sie jederzeit einen CP2102-Baustein verwenden. Der CP2102 verhält sich auf der Mikrocontrollerseite wie ein UART-Baustein, PC-seitig aber wie ein USB-Gerät. Bei dieser Gelegenheit lernen Sie noch einen weiteren
Beim Shrimp-Projekt müssen Sie die Komponenten selbst zusammenfügen. Der viel höhere Lerneffekt ist am Ende jedoch die kleine Mühe wert 72
Vorteil des Shrimp-Projekts kennen: Während beim Arduino für Elektronik-Einsteiger nicht immer klar ist, welcher Pin für welche Aufgabe zuständig ist, herrscht beim Shrimp-Projekt von Beginn an Klarheit.
So legen Sie los Da Sie das Experimentierboard von Grund auf selbst bauen, benötigen Sie natürlich erst einmal einige Bauteile. Eine Liste mit den wichtigsten Utensilien haben wir für Sie weiter unten zusammengestellt – die Kosten sind überschaubar. Als Bezugsquellen für die Komponenten bieten sich die klassischen Online-Versender oder Elektronikfachhändler vor Ort an. Einige Beispiele: ELV (www.elv.de), Reichelt Elektronik (www.reichelt.de), Re-In Retail International (www.voelkner.de) oder Conrad (www.conrad.de). Und nun, wie versprochen, die Teileliste für den Start:
1 2 3 4 5 6 7 8 9 10
ATmega328-PU 2 x 22-pF-Kondensator 4x100-nF-Kondensator 1x10-µF-Kondensator 1x10-KOhm Widerstand 16-MHz-Messquartz 6-mm-Druckpunkttaster Diverse farbige Drähte oder Jumper Eine LED und ein passender Widerstand Männlicher 9-Pin-Steckverbinder
Die Initiatoren des Shrimp-Projekts bieten auch komplette Pakete an, ob sich aber eine Bestellung aus England lohnt, müssen Sie selbst entscheiden. Ein Basis-Kit kostet derzeit ungefähr sechs Euro. Weitere Infos dazu finden Sie unter der Adresse http://shrimping.it/blog/kits. Für klassische Steckplatinen, auch Breadboards genannt, lohnt sich der Aufwand jedenfalls nicht. Solche Experimentierplatinen bekommen Sie überall – selbst bei Amazon. Jetzt legen wir los: Stecken Sie den Mikrocontroller in das Breadboard. Eventuell müssen Sie die Pins etwas zurechtbiegen – das geht nur mit viel Gefühl! Ist das geschafft, ist das Einstecken der restlichen Komponenten ein Kinderspiel. Sie finden eine ausführliche Schritt-für-Schritt-Anleitung unter http://shrimping.it/blog/blink. Auf dem Bild links sehen Sie, wie das Resultat aussehen sollte. Am anderen Ende stecken Sie die Drähte in die CP2102-USB-auf-UARTBrücke. Wichtig ist folgende Belegung: Rot in 5V, Orange in RXD, Gelb gehört in TXD, Grün legen Sie auf GND und Braun kommt in DTR. Nun installieren Sie die Arduino-IDE und lassen Ihr erstes Programm laufen. Im typischen Arduino-Jargon wird dieser
Projekte
Das Original: Arduino Uno im Überblick Das „Arduino Uno“ ist ein MikrocontrollerBoard, das speziell für Experimente und die Programmierung entwickelt wurde. Es basiert auf dem „ATmega328“ von Atmel. Das Board besitzt 14 digitale I/O-Schnittstellen (sechs davon sind als PWM-Ausgang nutzbar), sechs analoge Eingänge, einen 16-MHz-Quarzoszillator sowie einen Anschluss für USB und Strom.
Dazu kommen noch ein ICSP-Header sowie ein Reset-Button. Rund um das Arduino Uno haben sich eine große Fangemeinde und ein reichhaltiger Zulieferermarkt entwickelt. Wer es sich leicht machen will, nimmt ein Komplett-Kit, in dem bereits diverse Bauteile für Experimente enthalten sind. Ein Beispiel ist das „Fritzing Creator Kit“. Es enthält die Arduino-Uno-Plati-
Vorgang „sketchen“ genannt. Durch die Kompatibilität zum Arduino Uno haben Sie Zugriff auf Tausende von Schaltungen. Auch auf der offiziellen Shrimp-Seite werden immer mehr Schaltungen und Ideen veröffentlicht. Auf dieser Seite (http://shrimping.it) finden Sie einen Klon des in den 70ern beliebten Merk- und Konzentrationsspiels „Simon Says“.
ne, ein deutschsprachiges Handbuch, eine große LED-Matrix, Lichtsensoren, Piezo-Signalgeber sowie einen bunten Mix mit elektronischen Bauteilen. Preis: knapp 100 Euro. Viele Elektronikbastler benutzen ein Arduino Uno zusammen mit einem Raspberry Pi. Schöne Projektideen finden Sie etwa unter www.robo sphere.de oder www.forum-raspberrypi.de.
Tipp: Noch spannender wird es, wenn Sie die Ein- und Ausgänge des Shrimp direkt von der Konsole aus kontrollieren. Eine weitere Möglichkeit bietet Ihnen das Protokoll „Firmata“. Damit können Sie zum Beispiel externe Sensoren einbinden und Messwerte verarbeiten (siehe www.fhemwiki. de/wiki/Arduino_Firmata). //jd, jr
Praxisbeispiele: Ideen für Ihren „Shrimp“
1 Ihr
erster Shrimp
2 Arduino
hinzufügen
3 Simon
Says
Das Shrimp-Team verwendet „Blink“ am Anfang des Workshops. Damit testet man, ob alles funktioniert. Im Anschluss können Sie sich an schwierigere Projekte wagen. Kaufen Sie ein Kit, sind weitere Kondensatoren und Widerstände enthalten ( http://bit.ly/1cPehqz).
Da Ihr Shrimp kompatibel zum Arduino Uno ist, müssen Sie nur die IDE (Integrierte Entwicklungsumgebung) von Arduino.cc installieren: File | Open | Examples | Basics | Blink . Klicken Sie auf den Pfeil in der Leiste. Auf diese Weise übermitteln Sie den Code zum Shrimp.
Das Spielprinzip entspricht dem in Deutschland angebotenen „Senso“: Vier Farbfelder leuchten in wechselnder Reihenfolge auf. Der Spieler merkt sich die Abfolge und drückt die Farbtasten im gleichen Rhythmus. Jede Runde wird schwieriger (http://bit.ly/1ejWl8J).
4 Optische
5 Platine
6 Gemeinsam shrimpen
Späße
Mit dem Kit „Persistence of Vision“ können Sie Buchstaben und Symbole erzeugen. Im Prinzip erinnert es an eine Leuchtmatrix, deren Felder abwechselnd aktiviert werden. Das Projekt verwendet für die optische Darstellung insgesamt acht LEDs (http://bit.ly/1fC5x3I).
erweitern
Verwenden Sie eine Lötleiste, haben Sie auf dem Breadboard mehr Platz für Schaltungen. Hier nutzen wir einen 28-Pin-DIP-IC-Adapter. Damit können Sie denselben Atmel-Mikrocontroller für mehrere Schaltungen einsetzen (http://bit.ly/1bLRT2X).
Den meisten Spaß haben Sie, wenn Sie mit anderen Menschen gemeinsam basteln. Der Twitter-Feed „@ShrimpingIt“ informiert Sie regelmäßig über Workshops. Nehmen Sie das Board zu Arduino-Treffen mit oder organisieren Sie selbst Shrimp-Hack-Workshops.
73
DVD
Für einen einfachen Einstieg
RasPi-Wissen pur Mit unserer DVD halten Sie den idealen Begleiter zum Hef in der Hand: Tools zu den Workshops, ein 160-seitiges E-Book und eineinhalb Stunden Videotraining
N
eben einem prall mit Informationen gefüllten E-Book und dem anschaulichen Videotraining 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 deutlich gekennzeichnet. Mit dabei ist der Klassiker Raspbian Wheezy, die offizielle Linux-Distribution für das Raspberry Pi – aber auch OpenELEC und Raspbmc. Zusätzlich haben wir Ihnen das RasPi-Starter-Kit beigelegt. Hier finden Sie die wichtigsten Tools für den Einstieg wie etwa UltraVNC, mit dem Sie den Bildschirminhalt eines fremden Rechners sehen und steuern können. Oder Putty, einen Telnet-Client für Windows, der das SSH-Protokoll unterstützt. Mit dem Win32Disk Imager bereiten Sie mit ein paar Klicks Ihre SD-Karte für das RasPi vor.
74
DVD Videotraining von Rheinwerk (ehemals Galileo Computing)
Schlaue Projekte mit dem Raspberry Pi Statt die Einsatzgebiete des Raspberry Pi trocken zu erläutern, zeigt Ihnen Tobias Hübner im Videotraining spannende Projekte für den Mini-Computer und erläutert diese Schritt für Schritt in anschaulichen Workshops. So werden Ihnen spielerisch Elektronik- und Programmierkenntnisse vermittelt. Auf der Heft-
DVD finden Sie die kompletten Kapitel sieben und acht aus dem umfangreichen Trainingsprogramm. Speichern Sie die ZIP-Datei und entpacken Sie diese. In fast eineinhalb Stunden Videotraining lernen Sie, wie Sie das RasPi als Retro-Spielekonsole nutzen und wie Sie Fotos und Videos mit dem Kamera-Board machen.
Grundwissen: E-Book mit 160 Seiten
Schnelleinstieg Raspberry Pi Wenn es Sie nun so richtig gepackt hat und Sie mit Ihren ersten eigenen Projekten loslegen möchten, haben Sie mit unserem E-Book alle Grundlagen zur Hand. Hier finden Raspberry-Pi-Einsteiger alles Wichtige Schritt für Schritt erklärt. Achtung: Damit Sie das E-Book nutzen können, ist zuvor eine kostenlose Registrierung beim Verlag nötig. Starten Sie dazu die EXE-Datei, die Sie von der DVD herunterladen. Es
öffnet sich ein Fenster für die Registrierung. Klicken Sie auf den Button Internet. Sie werden auf eine Webseite weitergeleitet. Geben Sie hier Ihre E-Mail-Adresse und Ihren Namen an. Sie bekommen im Anschluss Ihre persönliche User-ID und einen Freischaltcode per E-Mail geschickt. Wechseln Sie zurück in das Registrierungsfenster und geben Sie den Code und Ihre ID in die jeweiligen Felder ein, um das E-Book freizuschalten.
So funktioniert die DVD Die DVDstartet unter Windows automatisch, sobald Sie sie in Ihren PC eingelegt haben.Gegebenenfalls müssen Sie der Ausführung zuvor zustimmen. Sollte der Autostart von DVDs deaktiviert sein, klicken Sie bitte doppelt auf die Datei „starter.html“ im Stammverzeichnis der Disk.
75
Projekte
Das PiFace-Board besitzt sogar zwei 12-Volt-Relais
PiFace bohrt das RasPi auf Um die Schnittstellen des Raspberry Pi zu erweitern, kommt das PiFace wie gerufen. Dieser Workshop zeigt, wie die beiden Platinen miteinander kooperieren
W
er hätte im Februar 2012, als der Winzling auf den Markt kam, ahnen können, dass das Raspberry Pi derart populär werden würde? Unter Elektronikbastlern hat sich ein regelrechter Boom entwickelt. Heute, drei Jahre später, finden sich reihenweise Projekte und Erweiterungen für das Pi. Selbst anspruchsvollere Aufgaben bewältigt der Kleinstcomputer mittlerweile, etwa in Robotern oder bei der Steuerung von Motoren. Dieser Erfolg verdankt sich nicht zuletzt dem sehr schnell gewachsenen Markt an speziellen Platinen, mit denen sich der Funktionsumfang des Raspberry Pi erweitern lässt. Eines der vielseitigsten Boards ist das PiFace (siehe Seite 118). Es wartet mit zwei Umschalt-Relais, acht Open Collector-Ausgängen, acht digitalen Eingängen, acht LEDs und vier Tastern auf. Man kann es mit Python, C und Scratch programmieren. In diesem Workshop testen wir mit einem simplen Versuchsaufbau, ob unser PiFace korrekt arbeitet. Anschließend zeigen wir, wie man einen 12-Volt-PC-Gehäuselüfter über einen Schalter bedient. Haben Sie das 76
erst einmal gemacht, können Sie im Prinzip jedes andere 12-Volt-Gerät ebenso steuern. Sie brauchen also lediglich ein RasPi mit dem Raspbian-Betriebssystem, ein PiFace, einen 12-Volt-PC-Gehäuselüfter, eine 9-Volt-Batterie (PP3), sechs Male-to-Male-Verbindungskabel, vier Krokodilklemmen und eine Steckplatine.
Board auf Board setzen Als Erstes verbinden wir das PiFace-Board mit dem Raspberry Pi. Weil unsere Erweiterung dieselbe Baugröße wie das Pi hat, passt sie perfekt oben auf den Rechner. Geben Sie Acht, dass die Pins korrekt eingepasst sind, bevor Sie Druck ausüben, um die Platine einzustecken. Passt alles, wird das System auf den neuesten Stand gebracht. Öffnen Sie ein Terminal und geben Sie Folgendes ein: sudo apt-get update sudo apt-get install python{,3}-pifacedigitalio Die Angabe python{,3}-pifacedigitalio installiert die not-
wendigen Bibliotheken für Python 2.x und 3 in einem
t a m r o F x u n i L : o t o F
Projekte
Projekte gefahrlos umsetzen Das Raspberry Pi arbeitet sicher mit Spannungen um die 3,3 Volt bis zu einem Maximum von 5 Volt bei 0,5 Ampere Stromstärke. Ist die Spannung höher, kann dies zu Schäden am Pi führen – oder im schlimmsten Fall sogar sein Ende bedeuten. PiFace stellt ein gepuffertes Interface zur GPIOSchnittstelle zur Verfügung, doch sollte man hier gleichfalls Vorsicht walten lassen. Die ein-
zige Ausnahme stellt die Nutzung der beiden Relais dar, die sicher mit 12 Volt arbeiten können. Zumindest theoretisch sind sie in der Lage, mit 220 Volt klarzukommen. Dennoch lautet die Empfehlung, bei 12 Volt zu stoppen, damit Sie sich nicht selbst in Gefahr bringen. Wer mit 220 Volt arbeiten will, benötigt schon eine Menge elektrisches sowie elektronisches Fachwissen, um Projekte sicher umzusetzen.
Rutsch. Unser PiFace lässt sich mit beiden Python-Versionen betreiben, hier nutzen wir allerdings Python 2.7.
Das PiFace testen Wenn der Update-Vorgang beendet ist, überprüfen wir unsere Konfiguration. Das klappt am besten mit einem kleinen Programm, das die LEDs, die auf der Platine verbaut sind, zum Blinken bringt. Die acht Leuchtdioden werden mit pfd. leds[x] toggle adressiert. [x] ist eine Zahl zwischen 0 und 7. Mit einem Editor schreiben wir den ersten Test-Code: import pifacedigitalio import time pfd = pifacedigitalio.PiFaceDigital() pifacedigitalio.init() while True: for i in range(0,7): pfd.leds[i].toggle() time.sleep(0.1)
Beachten Sie, dass Python Leerzeichen interpretiert. Eine Einrückung besteht aus vier Leerzeichen. Tabulatoren werden automatisch durch vier Leerzeichen ersetzt. Eine Python-IDE, etwa IDLE, erledigt dies automatisch. Ihren Lieblingseditor müssen Sie wahrscheinlich trainieren. Wir speichern den Code als sweep.py, kehren ins Terminal zurück, steuern ins Verzeichnis, wo das Skript abgelegt wurde, und tippen dort: python sweep.py
Wenn alles korrekt konfiguriert ist, sollten jetzt nach und nach alle LEDs für den Bruchteil einer Sekunde aufleuchten und wieder verlöschen. Das Programm brechen Sie mit der Tastenkombination [Strg]+ [C] wieder ab.
Der Lüfter geht in Betrieb Da wir nun wissen, dass die neue Platine ordnungsgemäß ihren Dienst verrichtet, ist es an der Zeit, ein echtes Projekt in Angriff zu nehmen. Wir nutzen die Relais, um unseren Gehäuselüfter zu steuern. Dazu verdrahten wir den Schaltkreis entsprechend dem Diagramm (http://imgur.com/ J1TurK8). Doch was geht da im Einzelnen vor sich? Schauen wir uns das einmal genauer an. Elektronische Bauteile besitzen normalerweise zwei Kabel für den Stromfluss. Eins ist rot und mit einem „+“ beschriftet, das andere ist schwarz und weist ein „–“ auf. Oft ist der Minuspol zugleich auch die Masse oder GND. Wenn wir mit höheren Spannungen arbeiten wollen, brauchen wir ein Relais, um den empfindlichen Stromkreis des Pi von dem höhervoltigen zu isolieren. Ein Relais ist ein elektrischer Schalter, der aus einem starken Elektromagneten besteht, der durch Schwachstromsignale vom Raspberry Pi gesteuert wird. Wenn der Magnet einmal aktiviert
Daher haben wir im Workshop eine PP3-Batterie mit 9 Volt eingesetzt, um den Lüfter arbeiten zu lassen. Das sind zwar weniger als die 12 Volt, die das Gerät eigentlich benötigt, aber immerhin dreht es sich dann mit 75 Prozent seiner Geschwindigkeit. Bitte überprüfen Sie jeden Stromkreis, bevor Sie ihn aktivieren. Im Zweifel konsultieren Sie den nächsten Hackspace oder eine Usergroup in Ihrer Nähe.
ist, schiebt er den Schalter in eine geschlossene Position (in unserem Projekt), die es ermöglicht, die zu hohen 12 Volt komplett vom Pi abgeschottet in einem Stromkreis zu nutzen. Wir benötigen das Relais, um den Lüfter mit der 9-VoltBatterie zu verbinden, die den 9-Volt-GND-Bereich des Stromkreises vollendet, wenn das PiFace 5 Volt an das Relais schickt.Wir setzen es in der Konfiguration „Normally Open“ ein. Das bedeutet, dass der Stromkreis so lange unterbrochen ist, bis das Raspberry Pi das 5-Volt-Signal gibt. Das schaltet den Elektromagneten ein und schiebt den Schalter im Relais in die Position, die es erlaubt, dass der Lüfter Strom aus der Batterie ziehen kann.
Das Relais programmieren Es zeigt sich, dass wir jedes nur denkbare 12-Volt-Gerät dank der fantastischen Bibliotheken steuern können: import pifacedigitalio pfd = pifacedigitalio.PiFaceDigital() pifacedigitalio.init() while True: if pfd.switches[0].value == 1: pfd.relays[1].value = 1 elif pfd.switches[1].value == 1: pfd.relays[1].value = 0
Im Folgenden betrachten wir den Code genauer. Als Erstes importieren wir das Modul pifacedigitalio. Diese Bibliothek ermöglicht überhaupt erst die Arbeit mit dem PiFace. Als Nächstes kürzen wir pifacedigitalio.PiFaceDigital() mit der Variablen pfd ab. Das vereinfacht die Arbeit. Vor jeder Nutzung müssen wir die Funktion pifacedigital.io.init() initialisieren. Sie teilt dem Programm mit, dass wir PiFace-Code zum Einsatz bringen. Als Nächstes erzeugen wir eine Schleife: while True läuft so lange, bis das Pi vom Strom genommen wird. Im Loop setzen wir zwei bedingte Anweisungen ein: if pfd.switches[0].value == 1 bedeutet „wenn der erste Schalter betätigt wird“ und elif pfd.switches[1].value == 1 heißt, „wenn der zweite Schalter gedrückt wird“. Über diese beiden Schalter wird der Lüfter aktiviert oder deaktiviert. Die Aktivierung übernimmt pfd.relays[1].value = 1, wobei der Wert [1] anzeigt, dass das zweite Relais genutzt wird. Das erste wird mit [0] angesteuert. Die beiden Beispiele erlauben einen ersten Einblick, wie das PiFace zusammen mit dem Pi genutzt werden kann. Doch bietet das Board weitaus mehr. PiFace lässt sich an zahllose Aufgaben anpassen und erlaubt aufgrund der guten Unterstützung eine schnelle Entwicklung komplexerer Projekte. Das Entwicklerteam des PiFace hat natürlich auch einige Beispiele parat. Sie sind hier zu finden: https:// github.com/piface. Die Dokumentation der Software finden Sie unter http://bit.ly/PiFaceDocs. // mk
TIPP Auf der Mikrocontroller.netSeite http://goo. gl/PrtV6I finden Sie umfangreiche Informationen zum PiFace als D/AWandler auf Deutsch. 77
Raspberry Pi Praxis Sie können Ihr RasPi als Webserver einsetzen, als ausgewachsene NAS, als Mediacenter oder Fotoserver. Oder als Internet-Turbo oder VPN-Gateway. Oder, oder, oder ...
80 Ihr eigener Webserver Wir zeigen Ihnen, wie Sie einen günstigen, schnellen und stabilen Server auf dem Raspberry Pi einrichten
84 Günstig netzwerken mit dem RasPi Das Pi ist als zentraler Speicher fürs Heimnetz eine gute – und günstige – Lösung, sei es als einfacher Dateiserver oder als ausgewachsene NAS
88 Das Pi als Mediacenter Mit Raspbmc und einem HDMI-Kabel wird der MiniRechner zur leistungsstarken Mediazentrale
92 Mit Lychee zum eigenen Fotoserver Vergessen Sie Flickr & Co. und teilen Sie Ihre Fotos mit einem eigenen, schnellenWebserver
96 Musikstreaming mit Ampache Mit dem kleinen Raspberry Pi halten Sie Ihre Musik auf allen Geräten synchron – einfach clever
98 Der Weg zum eigenen Wiki Wikis sind ideal, um gemeinsam Wissen zu sammeln und weiterzugeben. Auch auf dem RasPi lässt sich eine solche Wissensplattform betreiben
102 Raspberry Pis als Cluster Wir zeigen, wie Sie die geballte Rechenleistung vieler Mini-Computer verwenden, um Passwörter zu knacken
106 Auf Nummer sicher per SSH So verwenden Sie SSH-Tunnel auf Ihrem Raspberry Pi und verhindern Online-Spionage
110 Mehr Tempo fürs Internet Ein Raspberry Pi eignet sich hervorragend, um sich bei lahmender Internetanbindung zu behelfen. Squid und pdnsd machen es möglich
t a m r o F x u n i L : s o t o F
78
Ihr eigener Webserver
Sie wollen einen günstigen, stabilen und schnellenWebserver? Dann ist das Pi die ideale Einstiegsplattform
Seite 80
Das Pi als Mediacenter
Dank Raspbmc (Kodi) wird aus dem RasPi eine Unterhaltungszentrale mit allen möglichen Extras
Seite 88
Auf Nummer sicher per SSH
Über einen SSH-Tunnel können Sie selbst öffentliche WLANs sicher verwenden und Spionage verhindern
Seite 106
79
Praxis
So richten Sie einen Webserver ein Sie wollen wissen, wie Sie einen Webserver administrieren? Wir zeigen Ihnen, wie Sie einen günstigen, schnellen und stabilen Server auf dem Raspberry Pi selbst einrichten
E
Das Raspberry Pi ist die ideale Experimentierplattform: Ein Webserver wie Apache ist schnell und einfach installiert
80
inen eigenen Webserver einzurichten hat nicht nur Vorteile für Anfänger, sondern auch für erfahrene Webentwickler. Einsteiger können so ohne Sicherheitsrisiken und weitere Kosten an einem System üben. Entwickler testen damit Skripte und Webseiten in aller Ruhe, bevor diese live gehen. Und natürlich hilft Ihnen Ihr persönlicher Webserver dabei, die LAMP-Umgebung besser kennenzulernen oder eine eigene Webseite zu hosten. Die LAMP-Umgebung (auch als Stack bezeichnet) besteht aus Linux, Apache, MySQL und PHP. Der Apache-Server kann optional aber auch durch einen anderen Webserver wie Lighttpd oder Nginx ersetzt werden. Erfahrene Nutzer werden den eigenen Server als privates Labor zum Experimentieren mit neuen Paketen oder Änderungen bestehender Server-Setups schätzen lernen. Mit solch einem Server können Sie etwa die Bilder mehrerer Überwachungskameras zu einer Gesamtansicht auf einer Webseite kombinieren. Ein Paket wie Motion genügt schon, um ein derartiges System zu realisieren. Oder Sie probieren eine Software wie Varnish aus, einen Beschleuniger für HTTP, bevor Sie ein solches Tool auf Ihrem dedizierten Server einrichten.
In diesem Artikel werden wir Ihnen verschiedene Varianten eines solchen Webservers für zu Hause erklären, den Sie zum Beispiel auf einem Raspberry Pi, einem günstigen PC oder sogar einem USB-Stick installieren können.
Wählen Sie Ihr persönliches Setup Ein USB-Stick ist eine sehr preiswerte Option für eine Ubuntu- oder Debian-Installation. Er ist einfach einzubinden und lässt sich gut für Backups nutzen. Verschiedene Tools erstellen einen startfähigen USB-Stick. Ein Beispiel ist UNetbootin. Damit installieren Sie etwa ein ISO-Image auf einen USB-Stick. Auch ein Raspberry Pi eignet sich hervorragend. Der Kleinstcomputer ist mit rund 30 Euro günstig in der Anschaffung, sehr zuverlässig und passt überallhin. So ein RasPi verbraucht wenig Strom und ist für Experimente perfekt, da es sowohl mit USB-Sticks oder SD-Karten als Festplattenersatz betrieben werden kann. Wenn Sie sich für ein Raspberry Pi entscheiden, haben Sie die Wahl zwischen einer ganzen Reihe von Linux-Distributionen. Raspbian ist für Einsteiger sehr empfehlenswert, da es hierzu viele Onlinehilfen und Benutzerforen gibt. Eine LAMP-Serverumgebung aus Linux, Apache, MySQL und PHP installieren Sie unter Raspbian wie folgt: sudo apt-get update sudo apt-get install apache2 sudo apt-get install mysql-server mysql-client sudo apt-get install php5 libapache2-mod-php5 sudo apt-get install curl libcurl3 libcurl3-dev php5-curl sudo /etc/init.d/apache2 restart Nachdem Sie die Installation erfolgreich abgeschlossen haben, können Sie ein paar neue Setups oder Erweiterungen ausprobieren, wie zum Beispiel das bereits erwähnte Tool Varnish. Oder Sie richten zusätzlich die Portweiterlei-
t a m r o F x u n i L
: o t o F
Praxis
Einfaches Backup durch Klonen Die Konfiguration Ihres Servers entspricht Ihren Vorstellungen und alles läuft stabil? Dann klonen Sie doch die gesamte Festplatte, um im Notfall ein Ersatzsystem bei der Hand zu haben. Eine einfache und doch starke Methode dafür ist unter Linux das Kommando dd . Es ist gerade auch auf dem Raspberry Pi nützlich. Stecken Sie einen mit FAT32 formatierten USBStick mit ausreichendem Speicherplatz ans Pi an. Der Stick sollte automatisch erkannt und eingebunden werden. Nutzen Sie dann das Kommando unmount und formatieren Sie den Stick mit einem ext4-Dateisystem:
mkfs.ext4 /dev/sda1 Jetzt binden Sie den USB-Stick in ein Unterverzeichnis des Media-Ordners ein. In diesem Fall soll der Ordner meinusbdrive genutzt werden. Tipp: Mittels df -h können Sie stets ermitteln, wie der USB-Stick eingebunden worden ist. mount /dev/sda1 /media/meinusbdrive Das nachfolgende Kommando kopiert den gesamten Inhalt der SD-Karte des Raspberry Pi auf den USB-Stick: dd if=/dev/root/ of=/dev/sda1/ bs-4M Schließlich müssen Sie dem Raspberry Pi noch mitteilen, dass der Rechner den USB-Stick als
tung auf Ihrem Router ein, damit Sie auf die Website auch von extern per SSH zugreifen können. Ihren Webserver erreichen Sie mittels der IP, der Netzwerk-IP oder des Domainnamens.Auch wenn Sie über einen externen Computer per SSH auf die Linux-Konsole zugreifen wollen, ist die Port-Weiterleitung notwendig. Im einfachsten Fall müssen Sie nur dafür sorgen, dass alle Anfragen auf dem Port 22 (Standard für SSH) an die IP-Adresse der Maschine geleitet werden, auf der Ihr Webserver läuft. In diesem Artikel werden wir mit Port 22 weiterarbeiten. Sie können die Portnummer aber jederzeit in der Datei /etc/ssh/sshd_confi g anpassen. Da Port 22 der Standard ist, gibt es hier oft Angriffe mit dem Benutzernamen root. Ändern Sie den Port sowie die Konfiguration von PermitRootLogin yes in PermitRootLogin no, werden Ihre Log-Dateien übersichtlicher und Sie werden viel seltener von gescheiterten Anmeldeversuchen hören. Lassen Sie die Port-Weiterleitung gar nicht zu, können Sie die Maschine nur noch per SSH im eigenen Heimnetz fernsteuern, da beide Computer den gleichen Router verwenden. Achten Sie darauf, dass Sie alle nötigen Dateien für Ihre Website innerhalb des Ordners /var/www ablegen. Es ist auch möglich, mehrere Sites auf dem gleichen Server zu hosten. Dann müssen Sie aber ein paar Anpassungen an der Datei apache2.conf vornehmen. Öffnen Sie die Datei und fügen Sie eine Zeile in der Datei apache2.conf ein. Include conf.d/*.conf Diese Zeile erlaubt Ihnen jetzt für jede Site, die auf dem Server liegen wird, eine eigene .conf-Datei anzulegen. Den Domainnamen der Site stellen Sie dem Dateinamen voran: Für die Website beispiel.com wäre der Dateiname beispiel. com.conf. Die Dateien für die Site beispiel.com liegen dann im Ordner /var/www/beispiel.com. Also öffnen Sie die Datei mit vi /etc/apache2/conf.d/beispiel.com.conf.
ServerName www.beispiel.com ServerAlias beispiel.com*.beispiel.com DocumentRoot /var/www/beispiel.com Order allow,deny Allow from all Damit sind die Basisarbeiten abgeschlossen. Jetzt folgt das Feintuning, denn Sie werden den Server so einrichten wollen, dass er die Anfragen möglichst effizient abarbeitet.
Festplatte verwenden soll. Dazu öffnen Sie die Datei /boot/cmdline.txt und ändern den Wert root=/dev/root zu root=/dev/sda1.
Achtung: Sie benötigen weiterhin dennoch die SD-Karte, da das RasPi immer noch von der SD-Karte bootet. Aber die Website und alle Dateien befinden sich nun auf dem USB-Stick. Nahezu identisch verläuft das Klonen einer beliebigen Linux-Installation von einer normalen Festplatte auf einen USB-Stick. Eine identische Kopie eines USB-Datenträgers legen Sie wiederum ganz einfach mit einem Programm wie Clonezilla an.
Obwohl der Typ des Servers (Apache, Lighttpd, Nginx etc.) durchaus eine Rolle bei der Bearbeitung der Anfragen spielt, haben auch das aktuelle Dateisystem und die Programmierung der Site einen Einfluss auf deren Geschwindigkeit. Wenn Sie Wordpress,Joomla, Drupal, Magento oder eine andere populäre auf PHP basierende Anwendung einsetzen, werden Sie vielleicht feststellen, dass die Site recht langsam lädt. Einen guten Kompromiss aus Stil und Geschwindigkeit erreichen Sie mit einer CSS-Vorlage und Bildern mit möglichst geringem Datenvolumen.Auch mit der Kombination PHP/MySQL lassen sich schlanke Seiten programmieren, die schnell aufgerufen werden können. Doch aufgepasst: Beachten Sie beim Testen, dass Ihre Seiten viel schneller im eigenen Netzwerk laden als bei einem externen Aufruf. Deswegen sollten Sie immer versuchen, die Ladegeschwindigkeit so gering wie möglich zu halten.
Varnish installieren und einrichten Nachdem Sie jetzt di e grundlegende Einrichtung des Servers gesehen haben und Ihnen die Konstruktionsprinzipien von Websites geläufig sind, bleiben noch zwei einfache Handgriffe übrig, um den Server zu beschleunigen: Installieren Sie als Erstes ein Modul für Apache, mit dem Sie das Caching von Bildern und Dateien im Browser des Nutzers aktivieren. Danach können Sie mod_expires oder mod_ headers installieren und einrichten. Darüber steuern Sie dann das Caching über die Datei .htaccess im Ordner /var/www (oder in einem benutzerdefinierten Verzeichnis). Mittels PHP und MySQL dynamisch generierten Webseiten beschleunigen Sie zusätzlich mit Varnish. Das populäre Paket läuft auf vielen Webservern. Es liefert dynamisch generierte Inhalte aus einem Cache im RAM des Servers aus, bis sich die Inhalte der Seiten ändern. Dann wird der Cache neu angelegt. Die Seiten werden somit viel schneller ausgeliefert. Um Varnish zu installieren und zu betreiben, müssen Sie den Port des Apache-Servers auf einen anderen Wert, zum Beispiel 8080 oder 81, ändern, da Varnish selbst den Port 80 für sich beansprucht. Übrigens, wenn Sie nach der Installation feststellen, dass der Server ohne Varnish besser lief, müssen Sie nur die Portnummer des ApacheServers in der Datei apache2.conf zurücksetzen. Wenn Sie Ubuntu verwenden, installieren Sie Varnish einfach über das Software-Center. Auf dem RasPi müssen Sie es aus den Quellen kompilieren. Laden Sie dazu den Quelltext herunter, entpacken Sie das Tar-Archiv, lösen Sie die Abhängigkeiten auf und kompilieren Sie das Programm. 81
Praxis Verschaffen Sie sich zunächst Root-Rechte mit sudo -s. Wechseln Sie in das Verzeichnis /var/tmp directory mit cd /var/tmp Laden Sie sich die aktuelle Version von Varnish aus der Quelle herunter: wget http://repo.varnish-cache.org/source/varnishx.x.x.tar.gz Entpacken Sie die Datei mit tar xzf varnish-x.x.x.tar.gz (Ersetzen Sie x.x.x mit der aktuellen Version) und wechseln Sie in das varnish-Verzeichnis: cd varnish-x.x.x Als Nächstes installieren Sie dann alle Abhängigkeiten: apt-get install autotools-dev autoconf libpcre3-dev libedit-dev automake libtool groff-base python-docutils pkg-config Jetzt führen Sie die Datei autogen.sh aus, um danach das Kompilieren zu beginnen: sh autogen.sh. Danach müssen Sie noch die Konfiguration durchführen: sh configure --enable-diagnostics –enable-debuggingsymbols Die eigentliche Installation führen Sie mit zwei Kommandos aus. In einem Terminal geben Sie make ein und danach make install. Achtung: Falls es zu einem Fehler kommt und Sie einen zweiten Versuch starten wollen, nutzen Sie zuerst die Kommandos make uninstall und make clean. Dann legen Sie die zum Betrieb notwendigen Links an: ldconfig -n /usr/local/lib/ Jetzt öffnen Sie die Konfigurationsdatei default.vcl mittels vi /usr/local/etc/varnish/default.vcl, heben die Kommentierung der folgenden Zeilen auf und setzen den Port
auf 8080. Diesen nutzt dann Apache – Varnish verwendet Port 80: backend default { .host = “127.0.0.1”; .port = “8080”; } Als Nächstes ändern Sie den Port des Webservers. Für Apache bearbeiten Sie die Datei /etc/apache2/apache2.conf. und ändern den Port auf 8080. Bearbeiten Sie /etc/lighttpd/lighttpd.conf, wenn Sie Lighttpd einsetzen. Um Varnish zu starten, legen Sie die folgenden Zeilen als Skriptdatei an oder geben die Kommandos ins Terminal ein: /usr/local/sbin/varnishd -f /usr/local/etc/varnish/ default.vcl -a :80 -P /var/run/varnish.pid -s malloc,30m Beachten Sie, dass die Option -f den Pfad zur Konfigurationsdatei enthält: /usr/local/etc/varnish/default.vcl. Die Option -a definiert den Port für Varnish, während -s anzeigt, wie viel Cache im Speicher reserviert wird. In diesem Fall sind das 30 MB. Weitere Infos zu den Optionen finden Sie unter: http://bit.ly/Varnishsettings. Mit /usr/bin/pgrep -lf varnish testen Sie, ob Varnish läuft. Zusätzlich durchsuchen Sie die PHP-Header danach. Das nachfolgende PHP-Skript mit dem Namen headers. php prüft, ob Varnish läuft, indem es eine Zahl von Headern anlegt. Legen Sie die Datei mittels vi headers.php an: ’; print_r(get_headers($my_url, 1)); ?> Das nachfolgende Kommando gibt die Header aus: 82
php ./headers.php Ist alles korrekt eingerichtet, erhalten Sie eine Ausgabe wie unten. Hier läuft Lighttpd, die Ausgabe ist von Varnish. Array ( [0] => HTTP/1.1 200 OK [Vary] => Accept-Encoding [Last-Modified] => Tue, 17 Sep 2014 05:46:44 GMT [ETag] => “3026883401” [Content-Type] => text/html [Server] => lighttpd/1.4.31 [Date] => Tue, 17 Sep 2014 06:23:14 GMT [X-Varnish] => 1977155788 1977155786 [Age] => 75 [Via] => 1.1 varnish [Connection] => close ) Ein anderer Weg zur Beschleunigung des Servers besteht darin, das Modul mod_expires zu aktivieren, das die Anzahl von Anfragen an den Server reduziert. Dazu müssen Sie einen benutzerdefinierten Code in die Datei .htaccess einfügen, die unter /var/www sowie / oder Unterordnern gespeichert ist. Die Optionen aus der Datei .htaccess werden aus dem Ordner /var/www vererbt, können aber in jedem Unterordner überschrieben werden. Mehr Infos zum Modul finden Sie auf der Website von Apache unter http:// httpd.apache.org/docs/2.2/mod/mod_expires.html. Sie können auch HTML-Dateien cachen. Das sollte aber gut überlegt sein, da diese im Browser-Cache bleiben, bis die festgelegte Zeit abläuft. Wenn Sie nur gelegentlich Änderungen an den Dateien vornehmen, kann dies aber auch von Vorteil sein. Tipp: Mit der Firefox-Erweiterung Yslow und der Erweiterung Firebug können Sie Ihre Konfiguration testen. Mögliche Fehlerquellen der .htaccess-Datei und des Frontend-Codes werden dann hervorgehoben.
Heartbeat aufsetzen Diese Erweiterung ist in den letzten Monaten stark in Verruf geraten, da die Sicherheitslücke Heartbleed darauf aufsetzt. Inzwischen wurde diese Lücke jedoch geschlossen. Mit Heartbeat kann ein Computer die Aufgabe des anderen übernehmen, wenn ein Server ausfällt. Wir zeigen im Folgenden, wie Sie einen Cluster aus zwei RasPis mit verschiedenen Hostnamen aufsetzen. Der Hostname wird in der Datei /etc/hostname definiert. Achtung: Es ist wichtig, dass die beiden Namen unterschiedlich sind. In unserem Beispiel trägt das Hauptsystem den Namen raspberrypi und der zweite Rechner raspberrypi2. Zusätzlich benötigen beide Computer eine individuelle statische IP-Adresse. Das Hauptsystem trägt für diesen Artikel die Adresse 192.168.0.106, das Zweitsystem ist über 192.168.0.107 erreichbar. Technisch funktioniert das Setup so: Im Router wird eine IP-Adresse für die Portweiterleitung angelegt (hier 192.168.0.120). Der Apache-Server liefert die Website vom Hauptsystem 192.168.0.106 aus. Dieser Raspberry ist aber unter dem Alias 192.168.0.120 zu erreichen. Kommt es auf raspberrypi zu einem Problem, kann raspberrypi2 (192.168.0.107) einspringen. Damit das funktioniert, bearbeiten Sie drei Dateien: /etc/network/interfaces, /etc/hosts und /etc/hostname. Zusätzlich müssen auf beiden Maschinen diese Dateien angelegt werden: /etc/ha.d, /etc/ha.d/haresources, /etc/ha.d/ ha.cd und /etc/ha.d/authkeys. Im ersten Schritt legen Sie
Praxis die festen IP-Adressen an. Die Dateien sind mit Ausnahme der IP auf beiden Rechnern nahezu identisch. Ein Beispiel: vi /etc/network/interfaces auto eth0 iface eth0 inet static address 192.168.0.106 netmask 255.255.255.0 gateway 192.168.0.1 Sie müssen die Datei hosts auf beiden Systemen anpassen. Tipp: Wenn Sie neue Dateien anlegen, machen Sie zuerst eine Kopie der alten Inhalte. Die Datei auf dem Haupt-RasPi: // Node #1 cp /etc/hosts /etc/hosts.bak vi /etc/hosts 192.168.0.106 raspberrypi 192.168.0.107 raspberrypi2 #192.168.0.120 cluster Und für das Backup-System: //Node #2 127.0.0.1 localhost 192.168.0.106 raspberrypi 192.168.0.107 raspberrypi2 192.168.0.120 cluster Mit apt-get install heartbeat installieren Sie auf beiden Maschinen Heartbeat und legen danach eine Datei haresources an. Beide enthalten eine Zeile mit der zentralen IP-Adresse, die Sie angelegt haben. vi /etc/ha.d/haresources raspberrypi 192.168.0.120/24/eth0 apache2 Legen Sie die Datei authkeys an und fügen Sie diese drei Zeilen ein: vi /etc/init.d/authkeys auth 1 1 sha1 mypassword Verändern Sie die Rechte an dieser Datei: chmod 600 /etc/ha.d/authkeys Auf beiden Maschinen legen Sie nun die Datei ha.cf an. Sie können folgenden Codeblock dafür verwenden: vi ha.cf logfacility local0 #used to tell heartbeat which log facility to utilize for logging keepalive 2 #interval in seconds(or can be 2000ms) between heartbeat packets deadtime 5 # timeout before the second node takes over udpport 694 #listening port for broadcasts instantiated by heartbeat bcast eth0 #broadcast device node raspberrypi # hostname for node 1 node raspberrypi2 # hostname for node 2 auto_failback on # important for auto failover
Auf beiden Systemen sollte Apache als Service laufen. Danach starten Sie Heartbeat mit service heartbeat start.
Monitoring und Backup Damit haben Sie di e Voraussetzungen für einen störungsfreien Betrieb geschaffen. Jetzt wollen Sie natürlich, dass die Systeme auch permanent und stabil laufen. Dazu richten Sie die Rechner so ein, dass Apache stets nach dem Booten läuft, die Rechner immer eine feste IP-Adresse erhalten und regelmäßig mit einem Ping die Erreichbarkeit geprüft wird. Das Setup funktioniert nur mit einer festen IP. Lassen Sie den Router die IP mittels DHCP automatisch zuweisen, erhalten die Systeme nach einem Neustart eine neue IP-Adresse. Das führt zu Fehlern in den Skripten. Nachdem der Server eingerichtet ist, ist es ratsam, die Arbeit mit einem Backup abzusichern. Sie können wahlweise einfach ein Tar-Archiv erstellen oder Sie nutzen einen Cron-Job, der per rsync die Dateien der Sites auf eine andere Platte kopiert. Oder Sie klonen einfach die gesamte Festplatte mit dem Kommando dd (siehe Kasten Seite 81 oben). Mit dd kann der USB-Stick auch als Root-Partition genutzt werden. Damit ersetzen Sie bei Bedarf eine nicht funktionierende Platte schnell durch den Stick. Läuft Ihr System auf einem USB-Datenträger, bieten sich Werkzeuge wie Clonezilla an, um davon identische Kopien anzulegen. Nach dieser kurzen Einführung wissen Sie nun schon alles, was Sie benötigen, um Ihren eigenen Webserver einzurichten. Ein solcher Webserver ist schnell aufgesetzt und leicht zu administrieren. Er besitzt gegenüber professionellen Hosting-Angeboten aber auch Nachteile, besonders was die Geschwindigkeit betrifft. Gerade das Raspberry Pi kann natürlich nicht mit reinrassigen Servern mithalten, wie sie bei Providern eingesetzt werden. Mehr Geschwindigkeit und größere Zuverlässigkeit erreichen Sie aber auch bei Hosting-Angeboten nur durch effiziente Programmierung. Deren Grundlagen erarbeiten Sie sich in aller Ruhe auf Ihrem individuellen Webserver zu Hause. //sla
Mit der Erweiterung Yslow für Firebug finden Sie Schwachstellen im Code und der .htaccess-Datei und verbessern so die Performance Ihrer Seite
Hardware für den eigenen Webserver Wenn Sie einen eigenen Server betreiben wollen, können Sie jedes Speichermedium nutzen, auf dem sich Linux installieren lässt, auch SDKarten oder USB-Sticks. Ein ausrangierter oder gebrauchter Rechner reicht zu Beginn. Selbst bei defekter Platte können Sie den Rechner einsetzen. Dazu stellen Sie im BIOS das Booten
von USB ein und lassen Linux direkt vom USBStick starten. Wenn Sie mit neuer Hardware beginnen wollen, ist ein Raspberry Pi preislich unschlagbar. Der Minicomputer, Netzteil, SDKarte und Kabel kosten unter 50 Euro. Unter http://elinux.org/RPi_VerifiedPeripherals können Sie sich darüber informieren, welche
Hardware mit dem Pi kompatibel ist. Für den gelegentlichen Betrieb mag sich die PC-Version mit USB-Stick noch rechnen. Für den Dauereinsatz eignet sich dagegen das Raspberry Pi sehr gut, weil es wenig Strom verbraucht und aufgrund seiner geringen Größe wirklich überall untergebracht werden kann.
83
Praxis
Günstig netzwerken mit dem RasPi Das Pi macht als zentraler Speicher fürs Heimnetz immer eine gute Figur – sei es als einfacher Dateiserver mit Samba-Shares oder als ausgewachsene NAS mit vielen Features
D
Sie müssen nicht direkt vor dem RasPi sitzen, sondern können es auch aus der Ferne per SSH administrieren – bei einer NAS sehr wichtig
as Raspberry Pi lässt sich hervorragend als Server für die unterschiedlichsten Aufgaben einsetzen. Die naheliegendste Variante ist sicherlich ein Dateiserver. Als quasi vollwertiger PC kann das RasPi auch als Netzwerkspeicher (NAS) eingesetzt werden. Alles, was Sie dazu benötigen, ist entsprechender Speicherplatz. Da dieser auf der SD-Karte naturgemäß sehr begrenzt ist, empfiehlt es sich, eine Festplatte oder einen USB-Stick zu verwenden. Achten Sie beim Einsatz einer Festplatte auf eine ausreichende Stromversorgung. Große Modelle im 3,5-Zoll-Format verfügen sowieso über eine eigene Stromversorgung. Doch viele 2,5-Zoll-Festplatten beziehen ihren Strom über USB. Beim Raspberry Pi teilen sich jedoch alle via USB angeschlossenen Geräte den Strom des Netzteils – beim Modell B+ sind das bis zu vier. In diesem Fall sollten Sie lieber auf einen aktiven Hub zurückgreifen, also einen kleinen „USB-Verteiler“ mit eigener Stromversorgung. Bietet die 2,5-Zoll-Platte hingegen die Möglichkeit, ein separates Netzteil anzuschließen, ist dies das Mittel der Wahl. Die hier vorgestellte NAS-Lösung kann von der Leistung her nicht mit spezielle NAS-Festplatten, wie sie etwa Qnap,
Die Installation von Samba ist schnell erledigt. Allerdings müssen Sie anschließend noch etwas konfigurieren
Synology & Co. anbieten, mithalten. Dies liegt vor allem an der Fast-Ethernet-Schnittstelle des RasPi, die selbst beim aktuellen Modell nicht über 100 MBit/s hinauskommt. Backups riesiger UHD-Filmarchive oder ganzer RechnerImages sollten Sie daher eher auf einem dedizierten NASGerät durchführen und nicht auf dem RasPi. Dafür ist die Leistungsaufnahme des RasPi mit maximal 3,5 Watt (Modell B) so gering, dass Sie es bedenkenlos rund um die Uhr laufen lassen können. Zunächst zeigen wir Ihnen, wie Sie auf dem RasPi eine einfache Netzwerkfreigabe mittels Samba einrichten. In einem zweiten Schritt machen wir mittels OpenMediaVault aus dem RasPi eine NAS mit umfangreichen Konfigurationsmöglichkeiten und allem Komfort.
Dateifreigaben mit Samba Wir gehen im Folgenden von einem frisch installierten Raspbian aus. Schließen Sie einen USB-Stick oder eine externe Festplatte an. Öffnen Sie dann auf dem RasPi ein Terminal 84
k y z w a r K , o t o h p k c o t S i
: o t o F
Praxis oder verbinden Sie sich via ssh (Linux) oder Putty (Windows) mit dem kleinen Rechner. Alles, was wir im Folgenden beschreiben, funktioniert auch per Fernzugriff. Details hierzu lesen Sie ab Seite 20. Da das RasPi in diesem Beispiel ausschließlich als Server genutzt wird, benötigen Sie später keine grafische Oberfläche – das spart Ressourcen. Wie Sie das Pi standardmäßig ohne grafische Oberfläche starten, lesen Sie auf Seite 18. Zunächst einmal bringen Sie mittels sudo apt-get update und sudo apt-get upgrade Ihr System auf den neuesten Stand. Kernstück der Dateifreigaben in einem heterogenen Netzwerk mit Linux-, Windows- und anderen Clients ist ein Stück 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 das die beste Lösung, um die Dateifreigabe zu realisieren. Samba funktioniert plattformübergreifend. Sie installieren den Dienst mit diesem Befehl: sudo apt-get install samba
Nach der Installation starten zwei Hintergrundprozesse, sogenannte Daemons. Jede entsprechende Anfrage, die über das Netzwerk hereinkommt, wird von diesem beantwortet. Sie müssen jedoch den Ort definieren, wo Ihre zentrale Dateiablage liegen soll. Wir verwenden für diesen Zweck eine USB-Festplatte oder einen USB-Stick. Daher benötigen wir einen speziellen Einhängepunkt in unserem Dateisystem. Dieser muss dauerhaft erreichbar sein. Nachdem Sie das USB-Gerät eingesteckt haben, geben Sie dmesg ein. Dieser Befehl gibt das System-Log wieder. Am Ende sollten Sie sehen, wie Raspbian das Einstecken des USB-Massenspeichers behandelt. Suchen Sie in dieser Ausgabe nach etwas wie sda: sda1. Es könnte aber auch sdb sein. In beiden Fällen ist das der Name, mit dem Linux das Gerät bezeichnet und mit dem Sie es ansprechen können. Um das Gerät an das System zu hängen, erzeugen wir zunächst einen neuen Ordner, der den Root des USB-Geräts darstellt. Mit mkdir /mnt/share
legen wir einen Ordner namens „share“ im schon bestehenden Ordner /mnt an. Um das Gerät bereits beim Start einzubinden, fügen wir per Editor folgende Zeile in die Datei / etc/fstab ein: /dev/sda1
/mnt/share
vfat
defaults
0
0
Die Quelle ist das USB-Gerät, dessen Namen wir von dmesg kennen. Das Ziel haben wir gerade erstellt. Danach kommt
Samba unterstützt die Kommunikation mit Windows – melden Sie sich dazu mit Ihrem selbst erstellten Benutzer an
der Typ des Dateisystems, gefolgt von „defaults“ und zwei Nullen. Problematisch könnte der Typ des Dateisystems sein. Wir gehen hier davon aus, dass es sich für unseren Zweck um einen USB-Stick handelt, der für Microsoft-Systeme vorformatiert wurde (vfat). Es wäre in diesem Fall eigentlich geschickter, das USBGerät mit einem nativen Linux-Dateisystem zu versehen. Dann ließe sich dieses aber nicht mehr direkt an einem Windows-PC nutzen. Sollten Sie das USB-Gerät zum Beispiel als ext4 formatieren, müssen Sie dies entsprechend in der Datei fstab ändern. Ob sich das Gerät einbinden lässt, lässt sich mittels sudo mount /mnt/share überprüfen. Hat alles geklappt, können Sie über die Kommandozeile oder mit einem Dateimanager auf das USB-Gerät zugreifen, indem Sie sich in das Verzeichnis /mnt/share begeben. Sollte das nicht funktionieren, benutzen Sie wieder dmesg, um herauszufinden, was schiefgelaufen ist. Anderenfalls bindet sich Ihr USB-Gerät jetzt bei jedem Start des Pi automatisch ein. Nun wollen wir sicherstellen, dass jeder von dem Ordner lesen und diesen beschreiben kann. Das erledigen die folgenden Befehle: sudo chown -R root:users /mnt/share sudo chmod -R ug+rwx /mnt/share
Der erste ändert den Besitzer aller Dateien auf dem Laufwerk. Dafür sorgt der Parameter -R, der für „rekursiv“ steht. Der Teil root:users erteilt root (dem Systemadministrator) die Besitzrechte, und die berechtigte Gruppe ist „users“. Unter Linux ist nun jeder der Gruppe „users“ zugehörige Benutzer zugriffsberechtigt. Der Befehl „groups“ verrät Ihnen die Gruppenzugehörigkeiten des aktuellen Anwenders. Wenn Sie den Standardanwender „pi“ verwenden, sollte „users“ in der Liste auftauchen. Der zweite Befehl sorgt dafür, dass sich alle Dateien und Ordner lesen (r), schreiben (w) und ausführen (x) lassen. Das gilt für den Besitzer und die zugewiesene Gruppe. Als Nächstes erstellen wir ein Benutzerkonto, mit dem Sie auf die Netzwerkfreigabe zugreifen können. Dafür benötigen wir ein neues lokales Konto, das wir mit Samba verknüpfen. Ist das getan, benötigen Sie beim Zugriff auf die Netzwerkfreigabe einen Anwendernamen und ein Passwort. Mit diesen Befehlen erreichen wir das gewünschte Ergebnis: sudo useradd smbaccess -m -G users sudo passwd smbaccess sudo pdbedit -a smbaccess
Erst erstellen wir den User „smbaccess“ und stellen sicher, dass er Mitglied der Gruppe „users“ ist. Diesem geben wir ein Passwort. Der letzte Befehl fügt den Anwender Samba
Nachdem Sie sich angemeldet haben, können Sie von überall bequem auf Ihre Daten zugreifen – wie hier mit dem Windows Explorer 85
Praxis Die erste Konfiguration von OpenMediaVault erfolgt weit gehend assistentengeführt
Pi. Wenn Sie so vorgegangen sind, lesen Sie bitte ab „Erster Login“ auf der nächsten Seite weiter. Sie können die Pakete aber auch in eine bestehende Raspbian-Installation einbinden. Das zeigen wir im Folgenden. Zunächst einmal müssen Sie die Unterstützung des Netzwerkprotokolls aktivieren. Bearbeiten Sie dazu mit einem Editor wie nano die Datei modules: sudo nano /etc/modules
Die Datei enthält die Namen der Kernel-Module, die beim Booten geladen werden. Fügen Sie dort die Zeile ipv6
hinzu. Nun veranlassen wir Samba nur noch dazu, die eigentliche Netzwerkfreigabe zu erstellen. Öffnen Sie mit sudo nano /etc/samba/smb.conf
die Konfigurationsdatei und fügen Sie folgende Zeilen am Ende der Datei ein: [public] comment = Public path = /mnt/share valid users = @users force group = users create mask = 0660 directory mask = 0771 read only = no
Nun starten Sie Samba neu. Dies erfolgt über den Befehl sudo service samba restart. Die Syntax ist Ihnen bereits bekannt. Ab sofort können Sie auf Ihre Netzwerkfreigabe aus dem gleichen Netzwerk zugreifen. Dazu müssen Sie lediglich das Protokoll smb, gefolgt von der IP-Adresse des Raspberry Pi verwenden. Beispielsweise so: smb://
[email protected]. Das funktioniert auch im Dateimanager. Nun sollten Sie alle Dateien und Ordner sehen, lesen und beschreiben können. Unter Windows können Sie aber auch einfach mit dem Explorer das Netzwerk durchsuchen und dann auf das Raspberry Pi klicken.
Auf dem Weg zur „richtigen“ NAS Geht es Ihnen nur darum, einen zentralen Speicher zur Verfügung zu haben, war es das im Prinzip schon. Sie können jetzt auf Wunsch weitere Nutzer und Gruppen mit unterschiedlichen Zugriffsrechten einrichten. Das RasPi wird zuverlässig seinen Dienst als Datenkuli verrichten. Vergleicht man diese Lösung jedoch mit kommerziellen NAS-Systemen, so fällt auf, dass doch einige Features und vor allem der Komfort fehlen. Es gibt beispielsweise keine grafische Oberfläche, mit der Sie Ihr NAS-System konfigurieren können. Doch das lässt sich schnell ändern. Wir verwenden in diesem Beispiel OpenMediaVault (OMV), ein freies Betriebssystem für Netzwerkspeicher. Im Gegensatz zu der weit verbreiteten, ebenfalls freien Software FreeNAS basiert OMV nicht auf FreeBSD, sondern auf Debian. Es verwundert also nicht, dass es auch eine speziell aufs Raspberry Pi angepasste Version gibt. Diese können Sie etwa von der Seite www.openmedia vault.org herunterladen – das ist der einfachste Weg. Das heruntergeladene ISO schreiben Sie entweder per dd (Linux) oder mit einem Tool wie Win32diskimager (Windows) auf die SD-Karte und booten dann mit dieser Karte Ihr Ras86
ein und speichern Sie die Datei. Damit die Änderungen wirksam werden, starten Sie das Pi neu. Fügen Sie nun die Paketquelle für OMV Ihrem System hinzu. Machen Sie sich dafür mit sudo su zum Superuser und bleiben Sie es auch während der folgenden Schritte. Erzeugen Sie die neue Paketquelle mit echo „deb http://packages.openmediavault.org/public kralizec main“ > /etc/apt/sources.list.d/openmediavault. list
Der Name „Kralizec“ ist übrigens die offizielle Bezeichnung für die aktuelle Version 1.0, die im September 2014 gelauncht wurde. Gegebenenfalls müssen Sie im Laufe der Zeit eine aktuellere Version hinzufügen.Aktualisieren Sie nun die Paketlisten mittels apt-get update. Ignorieren Sie die Fehlermeldung wegen des fehlenden Signaturschlüssels. Installieren Sie das erste Paket mittels apt-get install openmediavault-keyring postfix
Ignorieren Sie auch hier die Warnung wegen der fehlenden Authentifizierung.
Konfiguration von OMV Es folgt nun ein assistentengeführter Dialog zur Einrichtung . Zunächst wählen Sie die Konfiguration des Postfix-Mailservers. Entscheiden Sie sich für Internet mit Smarthost
damit Postfix den Standard-Mailserver verwendet. Den System-E-Mail-Namen belassen Sie bei raspberrypi. Beim SMTP-Relay-Server belassen Sie es ebenfalls bei der Vorgabe smtp.localdomain. Aktualisieren Sie erneut alle Pakete mittels apt-get update. Installieren Sie jetzt das eigentliche System mittels apt-get install openmediavault
Anschließend erfolgt wieder ein assistentenbasierter Dialog,
Nach dem ersten Login begrüßt Sie OpenMediaVault mit einer Übersicht über die wichtigsten Informationen
Praxis Alle neuen Speicher und Festplatten müssen zunächst formatiert werden. OMV nutzt standardmäßig ext4
der Sie durch die weitere Einrichtung führt. führt. Dabei wird beispielsweise abgefragt, abgefragt, ob Sie einen RAID-Verbund RAID-Verbund mehrerer Festplatten Festplatten einrichten einrichten wollen. Das wäre zwar mit dem Raspberry Pi theoretisch theoretisch machbar, machbar, würde den kleinen Rechner jedoch an seine Grenzen führen. führen. Bestätigen Bestätigen Sie daher einfach die folgenden Dialoge mit OK. Nun geht es an die Konfiguration des FTP-Servers. FTP-Servers. Planen Sie, regelmäßig regelmäßig via FTP auf Ihren Speicher zuzugreifen, zuzugreifen, entscheiden Sie sich hier für Servermodus. Bei wenigen wenigen Verbindungen pro Tag wählen Sie besser von Inetd. Leider müssen Sie nun noch etwas Hand anlegen und von der Seite www.omv-extras.org Seite www.omv-extras.org zzwei wei speziell angepasste angepasste PHP-Pakete PHP-Pakete herunterladen. herunterladen. Auf der Konsole geht das so: wget wget http://omv-extras.org/testing/php5-pam_1.0.3-2_ armhf.deb wget wget http://omv-extras.org/testing/php5proctitle_0.1.2-2_armhf.deb
Dieser Umstand ist etwas etwas ärgerlich, ärgerlich, zumal Sie diesen Vorgang nach einer Systemaktualisierung Systemaktualisierung möglicherwe mö glicherweise ise wiederholen müssen. müssen. In künftigen Versionen dürfte dies aber behoben werden. Immerhin können Sie die Pakete anschließend anschließend über das Frontend Frontend aktualisieren. Installieren Installieren Sie die beiden heruntergeladenen Pakete mit dpkg -i php5-pam_1.0.3-2_armhf. php5-pam_1.0.3-2_armhf.deb deb php5-proctitphp5-proctitle_0.1.2-2_armhf.deb
Bringen Sie die Installation Installation zum Abschluss mit apt-get -f install
Die Option -f sorgt dafür dafür,, dass fehlende fehlende Abhängigkeiten Abhängigkeiten nachinstalliert nachinstalliert und kaputte Pakete deinstalliert werden – eine kleine Sicherheitss Sicherheitsschleife chleife zum Abschluss.
Erster Login in OMV Nun wird es spannend, denn Sie können sich zum ersten Mal in die grafische Administrationsoberfläche Administrationsoberfläche von OpenMediaVault MediaVault einloggen. Starten Sie dazu einen Browser auf einem beliebigen Rechner in Ihrem Netzwerk und geben Sie dort die IP-Adresse IP-Adresse des RasPi an, etwa so: 192.168.90.15
Das standardmäßig angelegte angelegte Administratorkonto Administratorkonto bei OMV hat den Benutzernamen Benutzernamen admin; das Passwort Passwort lautet openmediavault. Warten Warten Sie eine Zeit lang ab – der erste erste Login dauert immer eine Weile. Weile.
Nun müssen Sie einen Datenspeicher Datenspeicher einbinden und Samba aktivieren. aktivieren. Letzteres Letzteres erledigen Sie über Dienste | SMB/ CIFS | Aktivieren. OpenMediaVault OpenMediaVault arbeitet am besten mit ext4-formatierten ext4-formatierten Speichern zusammen. Sie können diesen entweder entweder vorher – etwa unter Linux – mit ext4 formatieren formatieren oder diese Aufgabe Aufgabe OpenMediaVault OpenMediaVault überlassen. Löschen Sie dazu die vorhandene vorhandene Partition unter Datenspeicher | auf Datenspeicher | Reale Festplatten. Klicken Sie dann auf Dateisysteme | Erstellen und formatieren Sie das Laufwerk. Jetzt können Sie das frisch formatierte Laufwerk Laufwerk einbinden. Dies geschieht geschieht ebenfalls über den Dialog Dateisysteme. Markieren Markieren Sie das Laufwerk und klicken klicken Sie zum Schluss auf Einbinden. Nun müssen Sie nur noch entsprechende entsprechende Zugriffsrechte Zugriffsrechte vergeben. vergeben. Benutzer Benutzer können Sie über Zugriffskontrolle | verwalten. Zunächst genügt genügt es aber, aber, unter ZuBenutzer verwalten. griffskontrolle | Freigegebene Freigegebene Ordner auf Hinzufügen zu klicken. Wählen Sie den Datenträger Datenträger aus und vergeben Sie – bei einem öffentlichen Ordner – Lese- und Schreibrechte Schreibrechte für jeden. Unter Dienste | SMB/CIFS klicken Sie auf Hinzufügen. Wählen Sie hier den freigegebenen freigegebenen Ordner aus, vergeben vergeben Sie einen Namen und gewähren gewähren Sie jedem den Gastzugriff. Gastzugriff. Ab sofort können Sie mit allen Rechnern Rechnern im Netzwerk auf die Freigabe zugreifen – unabhängig vom jeweiligen Betriebssystem. //tfh
TIPP OpenMedia Vault schaltet standardmäßig SSH ab. ab. Wollen Sie wieder aufs Pi zugreifen, aktivieren Sie den Dienst über Dienste und SSH. Klicken Klicken Sie dann auf Zugrifskontrolle | Benutzer. Markieren Markieren Sie pi, klicken klicken Sie auf Bearbeiten und aktivieren Sie ssh.
Kleine Tour durch OpenMediaVault Wenn Wenn Sie mit dem ebenfalls freien NAS-System FreeNAS FreeNAS vertraut vertraut sind, wird Ihnen OpenMediaVault Vault bekannt vorkommen. vorkommen. Das ist kein kein Zufall, hat doch der Macher hi nter dem Projekt, Volker Theile, zuvor bei FreeNA FreeNAS S mitentwickelt. mitentwickelt. Im Prinzip ist OMV eine Neuimplementierung von FreeNAS FreeNAS auf Debian-Basis. Dadurch wird deutlich mehr Hardware unterstützt – unter anderem das Raspberry Pi. Am besten klicken Sie sich einmal durch sämtliche Menüs, um sich einen Überblick zu verschaffen. Die Datenträger-Bereitstellung Datenträger-Bereitstellung haben wir bereits gezeigt. gezeigt. Der nächste wichtige Punkt Zugriffskontrolle. Hier legen ist die Zugriffskontrolle legen Sie Benutzer, zer, Gruppen und Freigaben Freigaben fest (Letzteres SMB/CIFS). außerdem unter Dienste | SMB/CIFS
AktualisierungsverPraktisch Praktisch ist zudem die Aktualisierungsverwaltung, die Sie unter System erreichen. erreichen. Per Mausklick wählen Sie die Pakete aus, aus, die aktualisiert werden werden sollen. Unter Einstellungen legen Sie fest, ob Sie auch vorab veröffentlichte veröffentlichte Aktualisierungen einspielen einspielen wollen. Genauso komfortabel gelingt das Einspielen von Erweiterungen, von denen es bereits einige einige für OMV gibt. Unter System | OMV-Extras.org legen Sie die Paketquellen Paketquellen fest, unter Erweiterungen markieren Sie die gewünschte Zusatz-Software. Zusatz-Software. Auf diese Weise Weise lässt sich etwa ein FTP- oder Mediaserver Mediaserver einrichten oder ein AirPort-ExAirPort-Express-Server emulieren. Ein Tipp zum Schluss Schluss betrifft Allgemeine Einstellungen: Hier können Sie das Zeitlimit hoch-
setzen (standardmäßig (standardmäßig fünf Minuten), nachdem Sie zwangsabgemeldet zwangsabgemeldet werden. Unter Datum & Zeit sollten Sie zudem Ihre Zeitzone einstellen, einstellen, beispielsweise Europe/Berlin.
Praktisch: Praktisch: OMV inklusive Extras Extras aktualisieren Sie mit ein paar Mausklicks
87
Praxis
Das Raspberry Pi als Mediacenter
Mit Mit Raspb Raspbmc mc und einem einem HDMIHDMI-Kab Kabel el wird wird der Mini Minire rechn chner er zum zum leist leistun ungsst gsstark arken en Mediap Mediapla laye yerr s ist schon bemerkenswert, bemerkenswert, wie vielseitig das Raspberry Pi ist. Nicht nur Alltagsjobs bewältigt bewältigt der MiniPC – er lässt sich auch für Spezialaufgaben Spezialaufgaben jeder Art verwenden, verwenden, bis hin zum Einsatz als VPN-Server oder als Access Access Point fürs fürs Tor-Netzwerk. or-Netzwerk. Hier zeigen zeigen wir Ihnen, wie Sie eine voll ausgestattete Unterhaltungszentrale auf XBMC/Kodi-Basis XBMC/Kodi-Basis aufsetzen. Das RasPi streamt dann Ihre Videos, Fotos Fotos und Songs und dient gleichzeitig gleichzeitig als TVStation und Festplattenrecorder. XBMC (vor Kurzem in „Kodi“ umbenannt) ist di e vielleicht populärste Open-Source-Lösung für ein Mediacenter. RasPi-Besitzer RasPi-Besitzer bekommen mit Raspbmc eine hervorragend hervorragend gepflegte gepflegte Distribution. Die Installation geht sehr schnell
E
88
vonstatten vonstatten und die Konfiguration ist selbsterklärend. selbsterklärend. Nach nur wenigen Klicks haben Sie daher eine zentrale zentrale Verwaltung für Ihre unterschiedlichen unterschiedlichen Unterhaltungsquellen. Unterhaltungsquellen. Weiterer Vorteil: Vorteil: Sie müssen nicht befürchten, befürchten, dass Sie ein weiteres weiteres großes Abspielgerät unterbringen unterbringen müssen. müssen. Das Pi können Sie auch in einem kleinen Gehäuse hinter dem Fernseher platzieren. Oder Sie verstecken es einfach im FestFestplattengehäuse. plattengehäuse. Außerdem Außerdem können Sie XBMC/Kodi XBMC/Kodi mit zahllosen Plugins erweitern. erweitern. Das Angebot beinhaltet beinhaltet Sportkanäle,YouTube, kanäle,YouTube, Streamingdienste Streamingdienste für Filme und vieles mehr. mehr. Haben Sie ohnehin schon diverse Komponenten Komponenten daheim, lohnt sich ein Raspberry Pi auf jeden Fall: Ein preiswerteres Mediacenter finden Sie nirgends.
Praxis
1 Vorbereitung Sich ein Home-Entertainment-C Home-Entertainment-Center enter selbst zusammenzubauen, zusammenzubauen, war wohl noch nie so einfach wie derzeit. derzeit. Kaufen Sie sich ein Raspberry berry Pi, Modell Modell B+, mit Gehäuse Gehäuse,, eine schnelschnelle microSD-Karte, microSD-Karte, ein HDMI-Kabel und ein Micro-USB-Netzteil. Micro-USB-Netzteil. Schließen Sie daran Tastatur und Maus an, verbinden Sie das Pi per Ethernet-Kabel Ethernet-Kabel mit Ihrem Netzwerk, und es kann losgehen. losgehen. Sie sollten zudem eine ausreichend große externe USB-Festplatte mit eigener Stromversorgung Stromversorgung vorhalten, auf der Sie Videos, Musik und Fotos Fotos für die UnterUnterhaltungszentrale haltungszentrale speichern. Positiv: Hatte der Vorgänger Raspberry Pi B nur zwei USB-Ports zu bieten, verfügt das Modell Modell B+ über vier dieser Anschlüsse. Anschlüsse. Für das Verständnis Verständnis des des Workshops Workshops benötigen Sie grundlegende Linux-Kenntnisse. Aber keine Angst: Die meisten Einstellungen Einstellungen nehmen Sie über die schicke Oberfläche des XBMC-Systems vor.
2 Der Raspbmc-Installer Raspbmc-Installer Der Installationsvorgang Installationsvorgang gestaltet sich je nach genutztem Betriebssystem unterschiedlich . Unter Linux laden Sie Raspbmc via Kom-
mandozeile mandozeile (für Windows siehe den Kasten Kasten auf Seite 91). Stecken Sie eine leere microSDKarte in einen Kartenleser. Kartenleser. Um das InstallerInstallerImage zu erhalten und auf microSD -Karte zu installieren, installieren, geben Sie folgende Befehle Befehle ein: wget http://svn.stmlabs.com/s http://svn.stmlabs.com/svn/raspbmc/ vn/raspbmc/ testing/installers/python/install.py chmod +x install.py sudo python install.py
Hat es geklappt, können Sie nun die Karte entfernen entfernen und ins RasPi stecken. stecken.
XBMC-Distribution. Wenn Wenn Sie dann nach einem dritten Neustart di die e Sprachauswahl Sprachauswahl vornehmen, startet das Pi noch ein weiteres weiteres Mal. Spätestens Spätestens jetzt kann es mit der Einstellung der Details losgehen. losgehen.
4 Audio konfigurieren Wenn Raspbmc nun das letzte Mal im Rahmen der grundlegenden grundlegenden Einrichtung bootet, startet sein cleveres cleveres Interface. Nehmen Sie jetzt per Maus, Tastatur oder Smartphone
deln, die Sie bereits mit einem anderen anderen Pi aufgebaut aufgebaut haben. Sie können recht einfach Kontakt aufnehmen: aufnehmen: Aus allen Medienbereichen lassen sich über Quelle hinzufügen Datenträger Datenträger einbinden. Hier wählen Sie das Protokoll Protokoll aus dem Drop-down-Menü aus. Das Raspbmc zeigt Ihnen auch die Servernamen an, die es findet. findet. Wählen Sie dann den gewünschten wünschten Ordner und tragen Sie die Zugangsdaten gangsdaten ein. Wenige Wenige Sekunden später sollte Ihr RasPi auf diese Bestände zugreifen können. Das läuft über eine WLAN-Ve WLAN-Verbinrbindung allerdings nicht gerade flüssig.
7 Codecs Codecs und Erweiter Erweiterung ungen en
(egal (egal ob Android, Android, iPhone iPhone oder Windows Windows Phone) die grundlegenden Einstellungen Ihres Mediencenters vor. Wählen Sie in den Audio-Einstellungen, Audio-Einstellungen, ob der Sound per HDMI oder über den analogen Ausgang Ausgang des Pi ausgegeben ausgegeben werden soll. Natürlich empfängt und streamt Raspbmc auch Fernsehsignale Fernsehsignale.. Beispielsweise lässt sich ein DVB-USB-Stick DVB-USB-Stick betreiben. So wird Raspbmc zum Pantoffelkinokontrolleur und Festplattenrecorder recorder.. Installieren Installieren Sie hierzu das Add-on MythTV. MythTV. Konfigurationsmöglichke Konfigurationsmöglichkeiten iten gibt es eine Menge. Sollten Sie den Durchblick verlieren, bietet es sich an, das Raspbmc-Wiki Raspbmc-Wiki (www.raspbmc.com/wiki) zurate z urate zu ziehen. Updates für Raspbmc werden übrigens regelmäßig regelmäßig veröffentlicht veröffentlicht und können automatisch installiert werden. werden. Dies geschieht zu j edem Systemstart.
3 Boot-Premiere
5 Das Interface
Verbinden Sie alle Kabel der Peripherie mit dem Pi und koppeln Sie den Minirechner per Ethernet mit Ihrem Router, Router, Switch oder Hub. Wenn Wenn Sie nun das Netzteil anschließen, kann es losgehen. losgehen. Erst im Verlauf des ersten ersten Bootvorgangs vorgangs wird das System vollständig installiert, denn bislang befindet sich nur nur das Installationsprogramm stallationsprogramm auf der microSD -Karte. Die nun folgende Online-Installation Online-Installation bringt die neueste Version Version des Raspbmc auf die microSD -Karte. -Karte. Witzig: Mit der Nachricht „Installing root filesystem filesystem …“ erhalten Sie eine Aufforderung Aufforderung zum Kaffeetrinken. Kaffeetrinken. Bei einer schnellen Internetverbindung Internetverbindung kommen Sie nur leider nicht dazu, denn dann gehen DownDownload und Einrichtung recht zügig vonstatten. Danach werden Kernel-Module Kernel-Module aus dem Internet gezogen gezogen und installiert. Es folgen der eigentliche Kernel Kernel und der Bootloader. Nach einem Neustart wird das Setup automatisch fortgesetzt fortgesetzt und der Standard-User „pi“ angelegt. Nach einem weiteren weiteren Reboot konfiguriert das System die Dienste und lädt die neueste
Die grafische grafische Benutzer Benutzeroberflä oberfläche che des Raspbmc ist sehr sehr einfa einfach ch aufge aufgebau bautt und erklär erklärtt sich quasi quasi von selbst selbst.. Allerd Allerding ingss kann kann es sein, sein, dass dass sich sich nach nach einem einem frisch frischen en Update Update etwas etwas veränd verändert ert hat. hat. Meiste Meistens ns werden werden Sie die HauptHauptmenüs menüs für Fotos, otos, Filme Filme und Musik Musik benutz benutzen. en. Hier Hier finden finden Sie die Inhalt Inhalte e aller aller Laufwe Laufwerke rke.. Dabe Dabeii hand handelt elt es sich sich erst erst einm einmal al nur nur um AufAuflistungen listungen von Verzeichn erzeichnissen issen und DatenträDatenträgern. gern. Ein weiter weiteres es Hauptme Hauptmenü nü bietet bietet einen einen Zugang Zug ang zu den gespeicher gespeicherten ten TV-Inha TV-Inhalten, lten, wenn wenn Ihr Raspber Raspberry ry Pi als Festplat estplatten tenre recor cor-der (PVR) (PVR) einge eingeric richte htett ist.Mit Ihrer Ihrer VideoVideosammlun sammlung g und MythTV MythTV erstel erstellen len Sie Ihr eigene eigeness TV-Pr TV-Progr ogramm amm – ganz ganz nach nach Lust Lust und Laune Laune und recht recht unk unkompl omplizie iziert. rt.
6 Netzlaufwerke Natürlich können Sie auch Netzlaufwerke Netzlaufwerke einbinden. Dabei spielt es es keine Rolle, ob Sie ein Verzeichnis erzeichnis Ihres PCs, Mac oder der LinuxBox über das smb- oder nfs-Protokoll nfs-Protokoll freigeben. Es kann sich sogar um eine NAS hanhan-
Wie bereits angedeutet, angedeutet, ist das RaspbmcSystem flexibel und erweiterbar erweiterbar.. Er gibt seine Inhalte von Haus aus an Multimedia-Player wie den Windows Media Media Player weiter weiter.. Sollten Sie offene Formate Formate wie Flac oder Ogg verwenden, benötigen Sie für den Player Player Plugins, sonst bleibt er stumm. Um MPEG-basierte MPEG-basierte Inhalte zu betrachten, betrachten, müssen Sie den Decoder des Pi mit seiner Seriennummer Seriennummer freischalten, die Sie auf dem Terminal wie folgt folgt in Erfahrung bringen: cat /proc/cpuinfo /proc/cpuinfo
Notieren Sie Sie sich die letzte Zeile der Ausgabe. Ausgabe. Sie beziehen mit der Hexadezimalzahl Hexadezimalzahl den Schlüssel über den Shop der Raspberry-PiHomepage (www.raspberrypi.com/mpegHomepage (www.raspberrypi.com/mpeg2-license-key). 2-license-key). Derzeit kostet die Lizenz 2,40 englische Pfund. Wenn Wenn Ihnen der FreischaltFreischaltcode zugeschickt zugeschickt worden ist, übertragen übertragen Sie diesen in eine neue neue Zeile in die Datei Datei /boot/ Datei. Aktuelle config.txt. Sichern Sie nun die Datei.
Raspbmc-Distributionen Raspbmc-Distributionen erlauben den Eintrag auch auf einer grafischen Oberfläche. Oberfläche. Starten Sie das Pi neu – nun bleiben MPEG-2-Videos nicht mehr schwarz.
8 Oberflächendesign Ihr Raspbmc ist von Anfang an ein regelrechregelrechtes Chamäleon. Über das Einstellungsmenü Einstellungsmenü können Sie bequem aus einem reichhaltigen reichhaltigen Vorrat unterschiedlicher Skins das Ihren Vorstellungen entsprechende Design laden und installieren. installieren. Wählen Sie auf der obersten Menüebene System | Einstellungen | Darwarstellung | Skin | Skin | mehr ... aus und warten Sie ein wenig. Nach einer Weile hat hat Ihr Pi eine Liste mit alphabetisch geordneten geordneten Skins geladen. Über Thumbnails bekommen Sie einen ersten Eindruck vom Design und können es dann sofort 89
Praxis installieren. Nach dem Download bestätigen Sie einfach, dass Sie den Skin aktivieren möchten, und schon sieht Ihr Pi komplett anders aus. In unserem Fall haben wir einmal die Metropolis-Oberfläche ausprobiert. Sie
len, was gerade über den Fernsehschirm im Wohnzimmer flimmert. Hierzu eignet sich Virtual Network Computing, kurz VNC. Damit erhalten Sie die Bildschirmausgabe Ihres Pi übers Netz serviert, egal welches Betriebssystem Sie verwenden. Um VNCzu aktivieren, starten Sie das Programm Raspbmc Settings aus dem Hauptmenü Programme. Gehen Sie ins Untermenü System Configuration. Im Abschnitt Service Management, wo Sie FTP, SSH oder Samba starten oder beenden, finden Sie den VNCServer. Haben Sie diesen aktiviert, lauscht er in der Standardeinstellung am Port 5900.
erinnert stark an die Zeit des Vorkriegskinos mit Art-déco-Elementen.
9 Teilen und kontrollieren Es gibt eine ganze Reihe von Möglichkeiten, um das RasPi aus der Ferne zu bedienen. Abgesehen von Datei- und Systemoperationen, die bequem per SSH auf der Konsole vorgenommen werden können, taucht sicher
irgendwann der Wunsch auf, aus der Distanz ein Bild zu sehen – etwa wenn Sie vom Rechner im Arbeitszimmer aus nachschauen wol-
Beachten Sie, dass die Verbindung nicht verschlüsselt ist. Außerdem ist die Oberfläche noch nicht ganz ausgereift. Selbst wenn Sie Tastatur- und Maussteuerung aktiviert haben, lässt sich auf dem Pi nichts damit bewegen. Sie sehen lediglich einen mikroskopisch kleinen Cursor des X-Windows-Systems, doch die Inhalte lassen sich damit weder aktivieren noch anklicken. Dasselbe gilt auch für die Tastatur des Clients, von dem aus man sich den Bildschirm des Pi anschaut. Doch für den Wohnzimmerbetrieb benötigt man beides nicht unbedingt. Dennoch wäre es schön,
wenn die Programmierer das Problem in den Griff bekämen. Um dennoch über VNC arbeiten zu können, bräuchten Sie einen anderen Zugriff. Hierzu eignet sich allerdings weniger der spärliche Webserver, der am Standard-Port 80 lauscht.
10 Telefon-Fernbedienung Ist Ihre Medienzentrale erst einmal konfiguriert, steuern Sie das Pi am einfachsten über Ihr Smartphone. Das hilft Ihnen auch beim VNC-Problem weiter. Dabei spielt es keine Rolle, ob Sie ein iPhone, ein Android-Gerät oder ein Windows Phone benutzen. Denn es gibt für alle mobilen Systeme entsprechende Apps. Das XBMC/Kodi-Projektteam bietet Fernbedienungen in Versionen für die gängigsten Smartphone-Systeme an. Wir verwenden hier die Android-App. Im Play Store finden Sie diese kostenlos unter der Bezeichnung Official XBMC Remote. Die Konfiguration nach der Installation ist denkbar simpel: Es öffnet sich ein Dialog, mit dem Sie aufgefordert werden, den Namen der Installation sowie IP-Adresse, Port und Passwort einzugeben. Ist das geschehen, nehmen Sie umgehend Kontakt auf. Um Zugriff auf die Inhalte über das WebInterface oder die XBMC-Smartphone-App zu bekommen, müssen Sie als Erstes die Datenbank des Raspbmc befüllen. Das macht das System leider nicht automatisch, wenn Sie etwa einen USB-Stick anschließen. Sie könnten sich dann zwar über das Interface durch den Dateibaum hangeln, es werden jedoch noch keine Cover oder anderen Metadaten angezeigt.
So geht’s: Die Raspbmc-App einrichten
Die App Official XBMC Remote vom Team der Projektentwickler gibt es u. a. im Play Store. Sie ist für Android, aber auch fürs iPhone erhältlich, ziemlich ressourcensparend und blitzschnell installiert. 90
Nach der Installation passiert erst einmal nicht mehr, als dass sich ein Pop-up-Fenster öffnet. Klicken Sie auf Settings und Sie erhalten Zugang zur Maske der Netzwerkkonfiguration.
Die Maske für das Einrichten der Verbindung über das lokale Netzwerk: Hier geben Sie den Namen Ihres Raspbmc ein sowie die IP-Adresse, den Port, den Benutzernamen und das Passwort.
Die erste Ansicht nach der erfolgreichen Kontaktaufnahme mit dem Raspberry Pi zeigt Ihnen übersichtlich die Inhalte. Der Power-off-Knopf funktioniert allerdings nicht ohne Weiteres.
Im Fernbedienungsmodus können Sie das RasPi bequem vom Sofa aus mit dem Handy steuern und konfigurieren. Die Oberfläche sieht dabei beinahe so aus wie die einer klassischen Fernbedienung.
Praxis
11 Datenbank befüllen Ihr Raspberry Pi hängt jetzt ohne Tastatur und Maus am TV-Gerät im Wohnzimmer. Es ist per Ethernet im lokalen Netz verfügbar. Sie könnten nun etwa per FTP ein paar Ordner mit Musikalben übers Netz aufspielen. Diese wollen Sie natürlich auch mit ihren Covern ordentlich angezeigt bekommen. Kein Problem: Nutzen Sie Ihr Smartphone mit XBMC Remote, um den Raspbmc mit seinen neuen Dateien vertraut zu machen. Öffnen Sie als Erstes das Menü Musik auf der ersten Ebene. Danach wählen Sie das Untermenü Dateien und legen den Pfad zum frisch kopierten Ordner fest. Bislang klappt das alles über die Pfeiltasten und den EnterButton in deren Mitte. Jetzt drücken Sie die Title-Taste, um ein Kontextmenü zu öffnen. Wählen Sie In Datenbank aufnehmen. Nun erzeugt das System Einträge in der lokalen Datenbank und kontaktiert Onlinedatenbanken, um Cover und Metadaten einzuspielen – wie unten im Beispiel der kanadischen Folksängerin Helen Austin. Suchen Sie anschließend – ebenfalls über das XBMC-Interface – nach einem Interpreten, gibt das System die Alben aus und zeigt ein Bild der Band – in unserem oben rechts abgebildeten Beispiel etwa aus dem Proberaum von Joy Division. Das Befüllen der Datenbank funktioniert im Prinzip ebenso mit Bildern und Videos. Nur heißt der Vorgang hier Quelle hinzufügen.
Während Sie in Sachen Musik auf den PlayButton drücken, steuern Sie im Fall von Bildern aus der Ordneransicht per Linkspfeil in ein Schnellzugriffmodul, das Ihnen
das Abspielen von Diashows erlaubt. Wenn Sie diesen Schritt für die Medien auslassen, beschwert sich XBMC Remote mit der Fehlermeldung „NullPointerException“. Klar: Es gibt keine Inhalte, also kann das Programm auch nichts ausgeben.
12 Zugri per Samba Haben Sie den Samba-Fileserver aktiviert, was bei Standardinstallationen bereits der Fall ist, sollten Sie sich die Zeit nehmen und die Konfiguration und die Shares gemäß Ihrem Netzwerk anpassen. Haben Sie etwa den Standardnamen der Arbeitsgruppe (WORKGROUP) geändert, müssen Sie diesen in /etc/samba/smb.conf anpassen.Verwenden Sie dazu SSH und einen Editor auf der Shell (etwa Nano). Bei Samba-Verbindungen über LinuxClients und einen Windows-Host fiel uns unangenehm auf, dass der Upload deutlich langsamer als über scp aus der SSH-Suite vonstatten ging. Im Rahmen der Tests konnte diese seltsam asynchrone Situation nicht abgestellt werden.
13 Mehr experimentieren Jetzt haben Sie Ihr Raspberry Pi mit einer externen Festplatte und einer NAS erweitert, um Medien darüber wiederzugeben. Zusätzlich können Sie Plugins für Flickr,YouTube, Vimeo oder andere Webservices nutzen. Mit dem Freischalten des MPEG-2-Codecs haben Sie Ihr System zudem softwareseitig für die Filmwiedergabe komplettiert (und hoffentlich auch das angeschlossene Soundsystem konfiguriert). Sie können jetzt Dateien per Samba oder SSH hochladen und über Ihr Smartphone in die Datenbank einlesen. Kurzum: Sie haben ein tolles Mediacenter. Doch damit ist das Raspbmc längst nicht am Ende seiner Möglichkeiten angekommen. Besitzer eines iOS-Geräts können etwa via AirPlay die Inhalte eines Apple-Mediennetzes aufs Pi strea-
INFO Raspbmc unter Windows
Auch für Windows existiert ein praktischer Raspbmc-Installer (download.raspbmc.com/downloads/bin/installers/raspbmc-win32.zip). Extrahieren Sie ihn in ein eigenes Verzeichnis. Öffnen Siedie setup.exeper Rechtsklick und führen Sie diese als Administrator aus.Die SD-Karte im Kartenlesersollte daraufhin in der Liste des Installationsprogramms zu sehen sein.Wählen Siedieseaus und klicken Sieauf Install.Sie brauchen nicht lange zu warten, bis Sie aufgefordert werden,die Kartezu entfernen. Hat alles geklappt, könnenSie nun dasRasPi mit der Karte bestücken.
men. Zudem können Sie mit Raspbmc Settings verschiedene Performance-Modelle ausprobieren und damit das Raspberry Pi – auf eigene Gefahr – sogar übertakten. Jetzt können Sie sich noch überlegen, wie Sie das Mini-System und die Kabel verstecken. Experimentieren Sie ein wenig mit einem WLAN-Stick. Wenn die Streams auch per Wi-Fi ruckelfrei laufen, können Sie aufs Ethernet getrost verzichten und ersparen sich somit störende Kabel. Bei all diesen Vorteilen sollten Sie sich dennoch nicht wundern, wenn das Video einmal ruckelt oder gar hängen bleibt. Einerseits wurde das Raspberry Pi schließlich vorrangig dafür konstruiert, Bastler zu motivieren und Einsteiger für das Programmieren zu begeistern. Andererseits wird an der RaspbmcDistribution stetig gearbeitet. Überdies ist die ARM-Architektur des Pi etwas schwachbrüstig – aktuelle Smartphones rechnen schneller. Dennoch ist es immer wieder erstaunlich, was das kleine Gerät trotz seiner Beschränkungen alles leistet. Die nächste Version von Raspbmc wird übrigens (analog zur Umbenennung von XBMC in Kodi) den Namen OSMC tragen. //jr, mk 91
Praxis
Mit Lychee zum eigenen Fotoserver Vergessen Sie Flickr & Co. und teilen Sie Ihre Fotos mit einem eigenen, schnellen Webserver. Wir zeigen Ihnen, wie Sie ein Raspberry Pi als günstigen Fotoserver einrichten TIPP Mit Lychee richten Sie sich auch auf Ihrem vorhandenen Server oder Webspace ein zentrales Fotoalbum ein.
s gibt viele Onlinedienste, über die Sie Ihre Fotos – zumindest in beschränktem Umfang – kostenlos teilen können. Die meisten davon sind aber speziell für die Nutzung mit sozialen Netzwerken optimiert. Eine eigene Hosting-Lösung bietet Ihnen mehrere Vorteile: Sie behalten die volle Kontrolle über Ihre Bilder und brauchen sich keine Gedanken über irgendwelche Geschäftsbedingungen zu machen. Das bedarf zwar am Anfang einiger Vorbereitung, aber ist das System erst eingerichtet, nutzen Sie den gleichen Komfort und (fast) die gleichen Funktionen, die Sie von Fotosharing-Diensten wie Flickr kennen. Als Ausgangsbasis für Ihr eigenes Webalbum benötigen Sie einen Webserver. Hierfür greifen wir auf das Raspberry Pi zurück. Obwohl darauf auch der beliebte Apache-Server laufen kann, haben wir uns in diesem Fall bewusst für den Nginx-Webserver entschieden, um die begrenzten Ressourcen des RasPi optimal ausnutzen zu können. Das Programm Lychee benötigen Sie, um die Fotos online zu speichern und mit anderen zu teilen. Es ist einfach zu installieren, verbraucht wenig Ressourcen und besitzt eine intuitive Benutzeroberfläche. Schalten Sie das Raspberry Pi ein und aktualisieren Sie es: sudo apt-get update Sie können Lychee über den Fernzugriff auf dem RasPi installieren und konfigurieren. Dazu loggen Sie sich über das Netz mittels SSH mit einem anderen Computer auf dem Pi ein. Angenommen, das Raspberry Pi trägt die IP-
E
Adresse 192.168.2.100, dann loggen Sie sich von der anderen Maschine mit diesem Kommando ein: sudo ssh
[email protected] Nach der Eingabe des Kommandos fragt Sie das Pi nach dem Nutzerpasswort. Erst damit bekommen Sie Zugriff. Haben Sie die Liste der Paketquellen aktualisiert, installieren Sie PHP und alle notwendigen Bibliotheken wie folgt: sudo apt-get install php5-fpm php5-gd libgd2-xpm libpcrecpp0 libxpm4 Als Nächstes installieren Sie die Software des Webservers: sudo apt-get install nginx Schließlich installieren Sie den Datenbankserver MySQL sowie dessen Verbindung zu PHP: sudo apt-get install mysql-server php5-mysql Während der Installation werden Sie nach dem Passwort für den Root-User des MySQL-Servers gefragt. Achtung: Dieses Passwort benötigen Sie später während der Einrichtung der Datenbank für Lychee. Nun folgen noch ein paar Anpassungsarbeiten. Dazu bearbeiten Sie nun die Konfigurationsdatei von PHP, um Lychee optimal einsetzen zu können. Öffnen Sie dafür die Datei mit dem Texteditor nano mittels sudo nano /etc/php5/fpm/php.ini Mit [Strg]+[W] suchen Sie in der Datei nach den folgenden Parametern und ändern deren Werte entsprechend ab: max_execution_time = 200 post_max_size = 200M upload_max_size = 200M
Lychee mit Onlinespeichern verbinden Sie können Lychee so erweitern, dass das Tool automatisch die Daten mit einem Cloudanbieter wie Google Drive oder Dropbox abgleicht. Da die Dienste keinen offiziellen Client für das Raspberry Pi anbieten, verwenden wir benutzerdefinierte Skripte. Unter http://tinyurl.com/Raspi-Sync finden Sie eine ganze Reihe unterschiedliche Skripte, um Verzeichnisse mit einem Online-Datenspeicher zu synchronisieren. Wollen Sie Ihre Bilder mit Google Drive verknüpfen, müssen Sie das Grive-Skript verwenden. Die Seite erklärt Ihnen, wie Sie das Skript aus dem Quellcode kompilieren, da es leider für das RasPi nicht zur Verfügung steht. Nach der Installation rufen Sie es aus dem Verzeichnis heraus auf, in dem Ihre Bilder liegen. Sie erhalten dann eine URL, über die Sie den Autorisierungscode generieren, der zur Synchronisierung gebraucht wird. Ähnlich verfahren Sie mit dropfuse, um Ihre Bilder mit einem bestimmten Dropbox-Ordner zu synchronisieren. Das Skript teilt dabei nicht Ihre gesamte Dropbox und kann sich nur verbinden, um Dateien zu transferieren.
92
Lychee besitzt nur wenige Sync-Optionen. Aber es gibt ein Tool für die Kommandozeile, um neue Fotos hinzuzufügen
Praxis upload_max_filesize = 20M max_file_uploads = 100 Legen Sie für jede Variable, die noch nicht enthalten ist, einen neuen Eintrag an. Wenn Sie alle Werte geändert haben, scrollen Sie ans Ende der Datei und fügen Sie hinzu: extension = php_mbstring.dll extension = php_exif.dll extension = php_gd2.dll Speichern Sie die Änderungen und verlassen Sie die Software mit [Strg] +[X]. Anschließend starten Sie PHP neu: sudo service php5-fpm restart Damit sind die vorbereitenden Arbeiten abgeschlossen. Legen Sie jetzt ein neues Verzeichnis für Lychee an, in dem die Dateien des Programms abgelegt werden. Etwa so: sudo mkdir /var/www Wechseln Sie in dieses Verzeichnis und installieren Sie die Git-Software mit sudo apt-get install git Das Programm benötigen Sie, um die neueste Version von Lychee zu installieren: git clone https://github.com/electerious/Lychee.git. Damit laden Sie die Dateien in den Ordner /var/www/ Lychee herunter. Ist der Download erfolgreich abgeschlossen, machen Sie den Webserver-Nutzer zum Eigentümer des Verzeichnisses. Geben Sie Folgendes ein: sudo chown -R www-data:www-data /var/www/ Lychee Mit chmod -R 777 uploads/php/machen Sie das Uploadund PHP-Verzeichnis darin global beschreibbar. Damit der Webserver später die Anfragen auch verarbeiten kann, müssen Sie jedoch noch die Konfigurationsdatei von Nginx bearbeiten. Dazu nutzen Sie erneut den Editor nano: sudo nano /etc/nginx/sites-available/default Fügen Sie diesen Abschnitt ein, um auf die Installation von Lychee zu verweisen: Server { root /var/www/Lychee; index index.php index.html index.htm; location ~ \.php$ { fastcgi_pass unix:/var/run/PHP5-fpm.sock; fastcgi_index index.php; include fastcgi_params; } } Damit die neue Konfiguration wirksam wird, starten Sie den Webserver neu mittels sudo service nginx restart Öffnen Sie mit einem Browser das Verzeichnis von Lychee unter der IP-Adresse des Raspberry Pi. Bei der Erstinstallation begleitet Sie Lychee durch die wenigen Schritte der Einrichtung. Im folgenden Dialog geben Sie die Details der Datenbankverbindung ein. Verwenden Sie localhost für den Server und root als Nutzernamen. Das Passwort ist dasjenige, das Sie weiter oben für den MySQL-Server vergeben haben. Sie können auch eine bereits existierende Datenbank verwenden. Es ist aber besser, die Generierung der Datenbank Lychee zu überlassen. Als Nächstes müssen Sie noch einen Nutzer und ein Passwort für die Verwaltung von Lychee einrichten. Danach loggen Sie sich mit diesen Zugangsdaten ein. Nach der Anmeldung befinden Sie sich bereits auf dem Hauptbildschirm von Lychee. Von dort können Sie neue Alben anlegen, Fotos hochladen oder teilen und die Installation verwalten. //sla
Fotos in Lychee importieren
1
Fotos unsortiert hochladen
Um Ihre Fotos auf den Server zu laden, klicken Sie auf das [+] in der rechten oberen Ecke der Lychee-Oberfläche. Sofern Sie noch keine Kategorien angelegt haben, können Sie die Bilder auch erst mittels Upload Photo hochladen, um sie dann später zu sortieren. Alle Fotos, die Sie nicht sofort in ein bestimmtes Album übertragen, landen im Album Unsorted (Unsortiert).
2
Der Downloadmanager
Nutzen Sie die Upload-Funktion, wird der Dateimanager gestartet. Navigieren Sie zu den gewünschten Fotos. Sie können einzelne Aufnahmen auswählen oder mit den Tasten [Umschalt]+ [Ctrl] mehrere Einträge markieren. Lychee lädt die Aufnahmen und verarbeitet sie. Sie können auch die Funktion New Album verwenden, wenn Sie ein neues Album anlegen wollen.
3
Importieren
Zusätzlich zum Upload kann Lychee aber auch Bilder aus anderen Quellen importieren: etwa über eine URL (Import from Link ) oder von Ihrer Dropbox (Import from Dropbox ). Sie können, wenn Sie wünschen, auch ein FTPProgramm nutzen, um Bilder in das Upload-Verzeichnis von Lychee zu transferieren. Anschließend nutzen Sie die Option Import from Server .
93
Praxis
Fotos mit Freunden und der Familie teilen
1
Ein Album teilen
Möchten Sie ein Album teilen, klicken Sie im Album auf das -Icon in der rechten oberen Ecke. Sie bekommen eine lange URL zurück. Diese Adresse kann aber nur von Nutzern aufgerufen werden, die sich im gleichen Netzwerk befinden. Um von außen darauf zugreifen zu können, müssen Sie erst in der Firewall des Routers das RasPi extern erreichbar machen.
3
Einfacher öentlich teilen
Sie können Ihre Bilder auch direkt aus Lychee auf Twitter und Facebook veröffentlichen, denn das Icon zum Teilen enthält auch Optionen zum Posten der URL direkt als Tweet oder Update auf Facebook. Nutzen Sie die Option Mail, ruft Lychee das voreingestellte Mailprogramm auf und legt auch gleich eine neue Nachricht an, die die URL zum Bild enthält.
5
Öentliche Alben
Teilen Sie ein Foto, markiert Lychee das Bild mit einem Icon auf dem Vorschaubild, um zu signalisieren, dass das Bild öffentlich ist. Für einen schnelleren Zugriff werden alle geteilten Alben und Fotos in einem Ordner Public gruppiert. Alle Nutzer aus dem gleichen Netzwerk, die die Startseite des Lychee-Servers erreichen, können direkt auf diesen Ordner zugreifen.
94
2
Einzelne Fotos teilen
Genau wie die Alben können Sie auch einzelne Fotos mit anderen teilen. Dazu müssen Sie beim Betrachten von Fotos ebenfalls nur auf das Icon für das Teilen klicken. Sie finden dort die gleichen Optionen vor, nutzen also Twitter, Facebook oder E-Mail. Zusätzlich lässt sich das Bild direkt in die Dropbox laden oder die URL direkt zum Bild in einem neuen Tab ansehen.
4
Mit Passwort schützen
Für alle, die ein stärkeres Sicherheitsbedürfnis haben, kann in Lychee der Zugriff auf ein Album zusätzlich mit einem Passwort geschützt werden. Die Angabe ist optional. Um ein Passwort zu setzen, nutzen Sie ebenfalls die Optionen des Teilen-Dialogs. Beachten Sie, dass sich nur vollständige Alben schützen lassen. Ein Passwortschutz für einzelne Fotos ist nicht möglich.
6
Fotosharing beenden
Die Option Make Private ruft die Einstellungen für ein Album oder einzelnes Foto wieder auf. Lychee entfernt dann das Album oder Bild automatisch aus dem Ordner Public und löscht die sichtbare Markierung. In einem öffentlichen Album können Sie einzelne Bilder nicht auf privat setzen. Dazu müssen Sie die Sichtbarkeit des gesamten Albums bearbeiten.
Praxis
Bilder sortieren und Alben bearbeiten
1
Smarte Alben
2
Zur Vereinfachung der Verwaltung gibt Lychee eine Reihe von sogenannten Smart Albums vor. Darin sind Fotos gespeichert, die physikalisch in unterschiedlichen Verzeichnissen lagern können. Unsorted enthält alle Bilder, die noch zu keinem anderen Album gehören. Starred speichert Bilder, die markiert sind, und in Public sehen Sie die Bilder, die Sie geteilt haben.
3
EXIF-Daten ansehen und bearbeiten
Die meisten Fotos enthalten eine Reihe von zusätzlichen Informationen, die EXIF-Daten genannt werden. Lychee importiert diese Informationen. Klicken Sie auf ein Bild und anschließend auf das -Icon in der rechten oberen Ecke. Einige der Daten (z. B. Name und Beschreibung) lassen sich nach einem Klick auf das Stiftsymbol bearbeiten.
Fotos ordnen
Nach dem Upload eines Fotos haben Sie eine ganze Reihe von Optionen, um die Bilder abzulegen. Auf der Hauptseite finden Sie in der rechten oberen Ecke eine Suchbox, um nach bestimmten Bildern zu suchen. Per Rechtsklick auf ein Foto rufen Sie weitere Optionen für das Umbenennen, Verschieben oder auch das Löschen des Bildes auf.
4
Fotos weitergeben
Mit dem Schalter rechts oben, der einen Pfeil zeigt, laden Sie sich Fotos vom Server in voller Auflösung auf Ihren Rechner.Wählen Sie ein komplettes Album, erhalten Sie ein ZIP-Archiv. Um den Datenaustausch zu erleichtern, können Sie sich auch per FTP auf Ihrem Server einwählen, um etwa größere Mengen an Fotos hochzuladen.
Das Raspberry Pi als digitaler Bilderrahmen Aktualisieren Sie zunächst die Paketquellen Ihrer Raspian-Installation mit sudo apt-get update Sie brauchen dann den Quick Image Viewer: sudo apt-get install qiv Legen Sie ein Verzeichnis /bilder direkt unter dem Homeverzeichnis (/home/pi) an und kopieren Sie alle Bilder dorthin. Erstellen Sie mit einem Texteditor eine Datei bilderrahmen: qiv --fullscreen --slide --random --delay=10 /home/pi/bilder/* Damit werden alle Bilder aus dem Verzeichnis berücksichtigt und per Zufall für 10 Sekunden angezeigt. Speichern Sie. Verlassen Sie den Editor und machen Sie die Datei ausführbar: chmod +x bilderrahmen
Suchen Sie i n Ihrem Homeverzeichnis nach Damit stellen Sie sicher, dass der Stick stets .xinitrc (/home/pi). Wenn nötig, legen Sie die unter /media/usb-images erreichbar ist. DieDatei an und ergänzen Sie diese Zeile: ses Verzeichnis können Sie jetzt alternativ im bilderrahmen-Skript angeben. /home/pi/bilderrahmen Mit dem Kommando startx starten Sie den X-Server, der die Diashow aufruft. Bei vielen Bildern können Sie einen USB-Stick nutzen, der stets unter derselben Adresse zu finden sein muss. Stecken Sie ihn ein und ermitteln Sie den Gerätenamen mit dmesg, dann die UUID mit ls -l /dev/disk/by-uuid/ Legen Sie nun einen Mountpunkt an: sudo mkdir /media/usb-images Fügen Sie dies in die Datei /etc/fstab ein: Genießen Sie eine Diashow Ihrer UUID=IHRE_UUID /media/usb-images vfat Lieblingsfotos auf dem Raspberry Pi default 0 2
95
Praxis
Musik-Streaming mit Ampache Ob Smartphone, Tablet oder PC: Wer keine Lust mehr darauf hat, die Musik auf seinen Geräten andauernd zu synchronisieren, sollte über einen eigenen Server nachdenken
W
er schleppt heute noch Datenträger mit sich herum, um Musik zu hören – in Zeiten von Diensten wie Spotify oder Google Music? Aber was ist mit der Sammlung auf den Festplatten, den gerippten CDs und Downloads? Wollen Sie wirklich in Form eines Abos für Stücke bezahlen, die Sie schon gekauft haben? Natürlich könnten Sie regelmäßig Ihre Geräte mit Ihrer Musiksammlung synchronisieren. Die praktischere Alternative dazu ist ein eigener Streaming-Server. Denn um Musik zu streamen, brauchen Sie keine große Bandbreite. Als Hardware reicht bereits ein Raspberry Pi. Das hat den Vorteil, dass es nur wenig Strom benötigt. Mit der entsprechenden Software und einer Musiksammlung auf Festplatte oder USB-Stick lässt sich das Projekt schnell realisieren. Wir werden dafür im Folgenden Ampache (www.ampache.org) mit Apache einsetzen. Ampache arbeitet allerdings auch mit Servern wie Nginx oder Lighttpd zusammen.
Installation vorbereiten
Access-ControlListen (ACLs) kontrollieren Zugriffsrechte für Remote-Clients zum Steuern von Ampache und überwachen das Transcoding für Web-Verbindungen
96
Bevor es losgeht, muss auf dem Raspberry Pi ein funktionierender LAMP-Stack installiert sein. Das ist die Abkürzung für Linux, Apache, MySQL und PHP, Python oder Perl – je nachdem, welche Skriptsprache man bevorzugt. In der Regel ist es PHP. Die benötigten Komponenten installieren Sie am einfachsten mit dem Paketmanagement von Raspbian. Das System sollte mit den Standardeinstellungen umgehend lauffähig sein. Anschließend installieren Sie Ampache. Leider läuft das aktuelle Stable-Release nicht mit jüngeren PHP-Versionen, daher empfiehlt sich die Entwicklerversion aus dem Git-Repository. Ist Git installiert, öffnen Sie ein Terminal und wechseln per cd ins Root-Verzeichnis des Webservers (etwa /var/www oder /srv). Dann tippen Sie sudo git clone https://github.com/ampache/ampache. git
Als Erstes checkt Ampache, ob sämtliche Software, die für den Betrieb benötigt wird, installiert ist
Damit wird ein Verzeichnis namens ampache erstellt. Alternativ kann der jüngste Tarball vom offiziellen GitHub-Server geladen werden: https://github.com/ampache/ampache/ releases. Danach entpacken Sie ihn, benennen das Verzeichnis um und verschieben es ins Root-Verzeichnis des Webservers mit folgenden Kommandos: tar xf ampache-3.6-alpha6.tar.gz sudo mv ampache-3.6-alpha6 /var/www/html/ampache
Web-Konfiguration einrichten Jetzt browst man nach http://localhost/ampache. Läuft der Server auf einem Headless-Server, das heißt ohne grafisches Ausgabegerät wie einen Bildschirm, ersetzen Sie den localhost durch dessen IP-Adresse. Da noch keine Konfigurationsdatei vorliegt, lädt Ampache die Erstinstallationsseite und durchsucht das System nach allen notwendigen Komponenten. Im Falle von Fehlermeldungen installiert man die angegebenen Pakete nach und lädt die Seite erneut. Eine häufige Fehlermeldung bezieht sich auf die Schreibrechte. Denn der User des Webservers, in der Regel www-data, darf nicht in das Konfigurationsverzeichnis schreiben. Für die Dauer des Installationsvorgangs können nun entweder der Besitzer des Verzeichnisses gewechselt oder die Rechte per chmod auf 777 gesetzt werden. Diese Einstellung wird nur während der Installation benötigt, damit der Installer das Konfigurationsfile erzeugen kann. Danach kehrt man wieder zur Ausgangseinstellung zurück. Als Nächstes wird die MySQL-Datenbank angelegt. Hier wird das Passwort des root-Users von MySQL (nicht des System-root) benötigt. Es
Praxis
Transcodieren Es kann sein, dass die Musikdateien nicht in einem fürs Streaming gebräuchlichen Format vorliegen, etwa wenn man FLAC im Einsatz hat. Ampache transcodiert bei entsprechender Einstellung in der ampache.cfg.php diese Dateien. Standardmäßig sind alle Einstellungen auskommentiert. Wichtig sind der Abschnitt Input type selection, der festlegt, welche
Dateitypen transcodiert werden, und das Default output format. Hier ein Beispiel: transcode_flac = required encode_target = mp3 Damit werden alle FLAC-Dateien nach MP3 transcodiert. Man kann zudem die Qualität der Transcodierung in Abhängigkeit zur Netzwerkverbindung erzwingen. Bei einer ACL des Typs
Local Network Definition mit der Angabe eines IP-Bereichs im LAN und der Einstellung downsample_remote = “true” werden alle Verbindungen, die nicht den festgelegten IP-Bereich im ACL treffen, mit der entsprechenden max_bit_rate transcodiert. Damit genießen Sie dann zu Hause eine höhere Bitrate als unterwegs etwa über das Smartphone.
bietet sich an, einen eigenen User für diese Datenbank anzulegen. Denn den root-User benötigen Sie nur für das erste Setup. Nach dem Klick auf Datenbank einfügen wird die Konfigurationsdatei erzeugt. Ist das Verzeichnis beschreibbar, können Sie einfach auf Schreiben klicken, um die Konfiguration zu installieren. Ansonsten hilft nur Handarbeit. Laden Sie die Datei manuell herunter und nutzen Sie cp oder mv, um sie händisch ins Verzeichnis zu kopieren. Sollten immer noch Fehler auftauchen, klicken Sie auf Konfiguration überprüfen. Sie landen dann auf einer Debugging-Seite, auf der die Fehlerquellen aufgelistet werden. Es kann zum Beispiel vorkommen, dass Ampache den Datenbank-User und sein Passwort nicht in die Datei geschrieben hat. Das lässt sich bequem per Texteditor im Terminal ändern. Außerdem sollte der Parameter web_path_setting überprüft werden, der normalerweise relativ zu /ampache definiert ist. Zuletzt wird dann ein Account zur Verwaltung eingerichtet, mit dem man sich für das Folgende einloggt.
Musiksammlung aufbereiten Der nächste Schritt ist die Auswahl der Musik, die zur Verfügung gestellt werden soll. Mit einem Klick auf das AdminIcon oben links im Menü lässt sich die Funktion Kataloge hinzufügen auswählen. Ampache arbeitet sowohl mit lokalen als auch mit Netzkatalogen. Läuft also im lokalen Netzwerk eine weitere Instanz von Ampache, wird diese kontaktiert. Lokale Sammlungen wiederum müssen in lesbaren Verzeichnissen im Dateisystem liegen, wozu sowohl NFSals auch Samba-Shares im lokalen Netz gehören. Geben Sie dem neuen Katalog einen Namen und definieren Sie den Pfad, über den er erreichbar ist. Optional sucht Ampache auch nach Cover-Dateien. Die Software nutzt ID3-Tags, um die Musik zu katalogisieren. Gibt es keine, werden die Verzeichnis- und Dateinamen verwendet. Details werden im Feld Dateinamen-Muster und Ordnervorlage definiert. Sind alle Dateien korrekt getaggt, braucht man sich um nichts zu kümmern. Wenn Sie ein konsistentes Benamungsschema verwenden, teilen Sie es Ampache an dieser Stelle mit. Für das Abspielen wählen Sie aus den Optionen aus, die im oberen Bereich des Fensters angezeigt werden. Local play spielt direkt vom Server ab. Das bietet sich an, wenn Sie auch auf diesem Rechner arbeiten. Die Fernsteuerung läuft ähnlich wie beim MPD (Music Player Daemon). HTML5 spielt im Browser, während Stream eine M3U-Playlist verteilt. Aus Firefox kann die Playlist direkt an jeden Audioplayer, der M3U-Listen unterstützt, übergeben werden. Chromium hingegen beharrt darauf, die Playlist abzuspeichern. Ampache auf dem lokalen Rechner einzusetzen ist
allerdings eher sinnlos. Das kann jeder normale Musikplayer besser. Ampaches Spezialität ist seine Fähigkeit, Musik an viele unterschiedliche Geräte zu streamen, egal wo diese sich gerade befinden. Es reicht bereits ein Webbrowser aus, jedoch gibt es auch einige mobile Client-Programme. Das vereinfacht das Abspielen auf Smartphones oder Tablets. Suchen Sie einfach nach „Ampache“ im jeweiligen AppStore. Sie werden allerdings beim ersten Einsatz feststellen, dass die Verbindung verweigert wird. Loggen Sie sich stattdessen im Browser ein und gehen Sie zur Admin-Seite. Generieren Sie dort eine ACL (Access Control List). Hier können Sie auch einen API/RPC-Host hinzufügen, entweder mit einem User-Namen oder einem IP-Adressbereich. //mk
Es reicht bereits ein Browser, um Songs abzuspielen oder sich durch die eigene Musiksammlung zu bewegen
Es gibt eine ganze Reihe von Playern für mobile Geräte. Hier läuft Ampache.NET auf einem Nexus 5
97
Praxis
So bauen Sie Ihr eigenes Wiki auf Wikis sind perfekt, um gemeinschaftlich Wissen zusammenzutragen. Mithilfe von MediaWiki ist es gar nicht so schwer, ein Wiki aufzusetzen und sogar auf dem RasPi laufen zu lassen
W
ikipedia ist eines der am stärksten frequentierten Webangebote. Das geniale Programm, das die Plattform antreibt, gehört überdies zu den besten der Gattung. Ein Wiki ist enorm nützlich, um gemeinschaftlich Informationen zu sammeln und Wissen weiterzugeben. Denn zum Ändern von Inhalten braucht man nur einen Editier-Button, anders als etwa Content-Management-Systeme, die einen Login einfordern. Hinter der freien Enzyklopädie verbirgt sich das Open-Source-Paket MediaWiki. Es ist unter der GPL 2+ lizenziert. Sie können die Software also vollkommen frei installieren, modifizieren und in jedem gewünschten Umfang nutzen. Der Start ist einfach, das Wiki bringt einen grafischen Installer mit. Allerdings muss man zu Beginn eine ganze Reihe von Komponenten in den Server integrieren.Wie das geht, zeigen wir in diesem Workshop anhand einer Ubuntu-Installation (Version 14.10). Man kann Wikis jedoch problemlos auch auf einem Raspberry Pi laufen lassen, wenn man nicht gerade Tausende von Usern gleichzeitig erwartet (siehe Kasten unten).
Das System vorbereiten Wir wollen das System erst einmal im lokalen Netz betreiben. Es muss daher immer unter derselben Adresse zu erreichen sein. Allerdings erfolgt die Adressvergabe durch den Router dynamisch, daher verpassen wir dem Rechner als Erstes eine statische IP-Adresse im Netzwerk. Der schnellste Weg führt über den Router. Bei der weit verbreiteten FritzBox etwa funktioniert das so: Wählen Sie in der Benutzeroberfläche die Rubrik Heimnetz | Netzwerk,umin den Bereich Geräte und Benutzer zu gelangen. Beim ge-
wünschten Gerät klicken Sie rechts auf die EditierenSchaltfläche und setzen ein Häkchen bei „Diesem Netzwerkgerät immer die gleiche IPv4-Adresse zuweisen“. Bei Routern anderer Hersteller funktioniert dies ähnlich. Um überhaupt Daten auszuliefern, muss ein Webserver aufgesetzt werden. Wir installieren daher Apacheeinschließlichdes PHP-Moduls, damit die Skriptsprache,in derdas MediaWiki programmiert wird, ausgeführt werden kann: sudo apt-get install apache2 libapache2-mod-php5
Als Nächstes wird PHP5 installiert: sudo apt-get install php5 php-apc
Der Dienst wird hier noch beschleunigt, indem der Alternative PHP Cache (APC) verwendet wird. MediaWiki benötigt eine Datenbank, um Inhalte und UserDaten zu speichern. Klassisch nutzen wir MySQL: sudo apt-get install mysql-server php5-mysql
Sind die MySQL-Pakete installiert, wird ein root-Passwort für den MySQL-Admin verlangt. Das ist nicht der SuperuserAccount Ihres Systems. Vergeben Sie dennoch ein sicheres Passwort, da Sie es zur Verwaltung von MySQL benötigen. Demgemäß sollten Sie root nicht als Verwalter/Nutzer Ihrer zu konfigurierenden MediaWiki-Datenbank nutzen, sondern einen User, etwa wiki, einrichten, der den Job übernimmt. Außerdem benötigen wir eine spezielle Bibliothek für die Bildbearbeitung. MediaWiki verwendet sie, um Thumbnails zu generieren und um Bilder zu manipulieren. Das MediaWiki setzt auf die altbewährte ImageMagick-Library: sudo apt-get install imagemagick
Jetzt starten wir den Apache mit allen Erweiterungen neu: sudo service apache2 restart
Betreiben Sie ein Wiki auf Ihrem Raspberry Pi Das Raspberry Pi ist ein Multitalent und natürlich kann man es auch dazu nutzen, ein MediaWiki laufen zu lassen. Das funktioniert im Prinzip nicht viel anders als im Beitrag oben beschrieben. Läuft der Winzling im Netz, loggt man sich per SSH ein und frischt erst einmal den Software-Bestand per apt-get update auf. Wir gehen davon aus, dass Raspbian läuft. Danach befolgen Sie einfach die Schritte, die oben angegeben sind. Alternativ kann man das MediaWiki natürlich auch aus den Repositorys der Distribution installieren, doch nur dann,
98
wenn die neueste Version geliefert wird. sudo apt-get install mediawiki spielt die komplette Software ein. Wird das MediaWiki aus der Distro installiert, muss in der Apache-Konfiguration (/etc/mediawiki/apache.conf) in der Zeile #Alias /mediawiki /var/lib/mediawiki das #-Symbol entfernt werden. Danach wird Apache per sudo apachectl restart neu geladen. Steuern Sie nun die IP Ihres Raspberry Pi an, und alles läuft danach genau wie im Workshop beschrieben. Flotter ist natürlich ein schmaleres Paket, etwa das DokuWiki oder TiddlyWiki.
Das flotte TiddlyWiki läuft flüssig und sauber auf einem Raspberry Pi
Praxis
Erweiterungen einbauen Die Standardinstallation des MediaWiki wartet mit einer ganzen Reihe von Features auf. Doch lässt sich die Funktionalität durch das Einbinden von Erweiterungen und Plugins erheblich steigern. So können beispielsweise Captchas, eine PDF-Ausgabe oder ein eingebetteter MP3Player nachgerüstet werden. Auf der Projektseite des MediaWiki werden über 2.000 dieser nützlichen Programme gehostet, viele von ihnen unter stetiger Revision und Betreuung. Sämtliche Extensions, die eine Seite auf MediaWiki.org haben, führt die Seite www.mediawiki. org/wiki/Category:Extensions/de auf. Leider sind die Erweiterungen jedoch nicht in Kategorien unterteilt, sondern lediglich alphabetisch aufgelistet – das macht es etwas schwierig. Um eine Erweiterung zu installieren, steuert man deren Page an und folgt dem DownloadLink. Sie müssen die Dateien dann im Unter-
verzeichnis „Extensions“ in die erste Verzeichnisebene Ihrer Installation extrahieren. Sie werden zudem Ihre LocalSettings.php-Datei mit einer entsprechenden Zeile ausstatten müssen, damit das Wiki die Erweiterung erkennt und lädt. Einige Erweiterungen, etwa Disqus, setzt man durch speziellen Code in den Seitentext wie einen HTML-Tag ein, andere wiederum werden über spezielle Seiten gesteuert. Übrigens können über Flash-basierte Player Audio- und Videodateien, etwa aus YouTube, DailyMotion und anderen Diensten, innerhalb der Seiten abgespielt werden. Sollten Sie eine diskussionsfreudige Community betreuen, können Sie über WikiChat nachdenken. Damit bekommt jede Seite einen eigenen Chatroom. Die ArticleComments-Erweiterung erlaubt das Hinzufügen von Kommentaren, ähnlich wie in Blogs.
Testen Sie nun die Installation und steuern Sie mit Ihrem Browser aus dem lokalen Netz auf die IP-Adresse, die Sie Ihrem frischen Server erteilt haben (das funktioniert übrigens auch mit dem Servernamen, in unserem Fall misterchip. Jetzt sollte die Testseite mit der Überschrift „Apache2 Ubuntu Default Page“ und der Unterzeile „It Works!“ erscheinen. Die Installation kann jetzt beginnen.
Während des Setups lassen sich Erweiterungen im MediaWiki aktivieren
Damit landen alle Dateien im Stammverzeichnis des Webservers, Unterverzeichnis mediawiki-1.23.6. Den benennen Sie der Einfachheit halber um in wiki. Jetzt müssen nur noch die Rechte an den Systemnutzer vergeben werden, der den Server betreibt (www-data): sudo chown -R www-data:www-data /var/www/wiki/
Apache muss daraufhin erneut gestartet werden: sudo service apache2 restart
MediaWiki installieren Gehen Sie nun auf die Projekt-Homepage von MediaWiki (www.mediawiki.org) und laden Sie die jüngste Version auf Ihren Rechner. Die komprimierte .tar.gz-Datei entpacken Sie mit folgendem Kommando: sudo tar zxvf mediawiki-1.23.6.tar.gz -C /var/www/html
Jetzt geht es in den Browser. Rufen Sie http://misterchip/ wiki auf. Ist Ihr Server korrekt installiert, sehen Sie eine Seite mit dem MediaWiki-Logo und dem Text „MediaWiki 1.23.6. LocalSettings.php not found. Please set up the wiki first.“ Klicken Sie auf den Setup-Link, der Sie auf die Installer-Seite führt. Wählen Sie dann die Spracheinstellun-
Benutzerkonten einrichten und verwalten
1
Benutzerkonten
Getreu dem ursprünglichen Wiki-Gedanken erlaubt auch das MediaWiki jedem das Anlegen eines Kontos. Bei Wikis geht man davon aus, dass es im Interesse der Gemeinschaft ist, transparent und offen kommunizieren zu können. Damit unterscheidet sich das Modell von anderen CMS, in denen letztlich nur Administratoren berechtigt sind, Nutzer zu verwalten.
2
Editoreinstellungen
Nachdem Sie sich ein Konto zugelegt haben, loggen Sie sich mit dem Nutzernamen ein. Steuern Sie dann die Einstellungsseite an, lassen sich dort etwa die Voreinstellungen des Editors verändern. Jede Kategorie wird über einen entsprechenden Reiter angesteuert. Vorsicht: Manche Funktionen sind noch im Alphazustand und können fehlerhaft sein.
3
Ansichtsparameter
Steuern Sie den Reiter Aussehen an, um das Look & Feel zu verändern. Es gibt eine Reihe von Skins, aus denen Sie sich die für Sie angenehmste aussuchen können. Praktisch ist übrigens auch die Funktion, eine variierende Ortszeit angeben zu können. Damit erhalten andere Nutzer die Info über Ihren Aufenthaltsort, wenn Sie etwa Inhalte ändern.
99
Praxis gen für die Installation und das Wiki und fahren Sie fort. Jetzt prüft der Installer die Umgebung. Fehlen essenzielle Bestandteile, ist der Zeitpunkt gekommen, um sie per aptget nachzuinstallieren. Beherzigen Sie außerdem die Sicherheitshinweise. Nun wird die Datenbank erzeugt. Das geht am einfachsten mit phpMyAdmin. Das webbasierte Tool zur Administration können Sie per apt-get installieren. Geben Sie die IP-Adresse gefolgt von http://192.168.178.41/ phpmyadmin an, loggen Sie sich mit root und Ihrem Passwort ein. Dann klicken Sie auf die Benutzerverwaltung und legen den User wiki inklusive Passwort an. Erzeugen Sie zugleich eine Datenbank desselben Namens und gewähren Sie wiki alle Rechte. Klicken Sie ganz unten auf ok. Nun kehren Sie wieder zurück ins Installationsfenster des MediaWiki. Die folgenden Konfigurationsseiten erklären sich quasi von selbst. Geben Sie die MySQL-Datenbank und den Nutzer an und folgen Sie den Empfehlungen mit Blick auf die Codierung und das Format der Datenbank. In der danach folgenden Seite vergeben Sie einen Site-Namen und Details des Administrator-Accounts. Die darauffolgenden Einstellungen müssen Sie nicht unbedingt vornehmen, um
das Wiki zu betreiben, doch ist es ratsam, den Wizard vollständig durchzuarbeiten. Danach reicht ein Klick, um die Installation abzuschließen. War der Vorgang erfolgreich, bietet das Wiki Ihnen den Download Ihrer LocalSettings. php-Datei an. Als Letztes kopieren Sie diese Datei in den Stammordner des Wikis. Das war’s dann schon. Auf den zusätzlichen Konfigurationsseiten bestimmen Sie die Benutzerrechte. Vier Modelle von Veröffentlichungsstrategien stehen zur Auswahl. Standard ist ein komplett offenes Wiki. Wählen Sie eine Lizenz aus, etwa die Creative Commons, um Verwertungsrechte festzulegen. Diese erscheint im Seitenfuß. Steht Ihr E-Mail-System, können Sie das Wiki dazu bewegen, per Mail etwa auf Änderungen hinzuweisen.Zudem können Sie vorinstallierte Erweiterungen aktivieren. Sicher planen Sie etwa, Dateien hochzuladen. Sie können auch auf die Inhalte der InstantCommons zugreifen, also den Datenbestand der Wikipedia (http://commons. wikimedia.org).Jetzt aktivieren Sie noch das PHP-Caching, um die Performance zu steigern. Damit sollte alles konfiguriert sein. Zum Abschluss folgt wieder der Dialog, um die LocalSettings.php zu laden. //mk
MediaWiki im Alltagseinsatz
1
Spezialseiten
Im linken Bereich jeder Seite befindet sich eine Werkzeugkiste mit einer Sammlung von nützlichen Links. Einer davon führt auf eine Linkliste mit sogenannten Spezialseiten. Von hier aus lässt sich das Wiki bequem administrieren. Hier finden Sie etwa verwaiste Seiten, können jedoch auch neue Benutzer anlegen.
3
Artikel erzeugen
Um individuelle Seiten im MediaWiki anzulegen, bearbeitet man am besten eine existierende Seite und setzt die neue Seite in doppelte eckige Klammern ([[Neuer Artikel]]). Danach klickt man auf Speichern und erhält einen roten Link auf eine noch leere Seite. Klickt man auf diesen, kann man einen neuen Artikel generieren.
100
2
Das Reich des Users
Jeder registrierte Wiki-User hat seine eigene Benutzerseite. Um dorthin zu gelangen, wenn man eingeloggt ist, klickt man einfach auf den Benutzernamen ganz oben auf der Seite. Sollte sie noch nicht existieren, kann man sie per Klick anlegen. Sodann editiert und speichert man die Seite wie einen ganz normalen Artikel.
4
Diskussion und Geschichte
Zu jedem Artikel gibt es eine Diskussionsseite. Dort kann je nach Rechtekonfiguration jeder Kommentare hinterlassen. Man gelangt dorthin per Klick auf den Reiter Diskussion. MediaWiki behält zudem jede Änderung. Der Klick auf Versionsgeschichte zeigt alle Modifikationen an und erlaubt es, diese wieder rückgängig zu machen.
Praxis
So geht’s: Arbeiten mit MediaWiki
1
Suchen und anlegen
Um Artikel anzulegen, kann man auch einfach die Suchmaske des MediaWiki nutzen. Existiert die gesuchte Seite nicht, erscheint unterhalb des Eingabefelds ein Satz, der zum Erstellen ermuntert. Dabei wird der Name der neuen Seite in einem roten Link dargestellt. Klickt man darauf, wird der neue Artikel mit demselben Namen geöffnet.
3
Zusammenfassen
Haben Sie den Inhalt einer Seite angelegt, scrollen Sie nach unten. Dort befindet sich ein Feld, in das Sie eine kurze Zusammenfassung der Änderungen schreiben können. Per Klick auf die Buttons Seite speichern, Vorschau zeigen und Änderungen zeigen lassen sich die wichtigsten Kontrollfunktionen aufrufen.
5
Nachträgliche Änderungen
Um eine existierende Seite zu editieren, klicken Sie auf den BearbeitenReiter rechts auf der Seite. Diese Seite unterscheidet sich ein bisschen von der eines neuen Artikels. Neben Vorschau, Speichern und den Änderungen können Sie in einer kleinen Checkbox anklicken, ob „Nur Kleinigkeiten verändert wurden“.
2
Inhalte generieren
Ob Sie nun eine Seite erzeugen oder einen Artikel editieren: Die Toolbar bringt Ihnen, ohne einen grafischen Editor nachinstallieren zu müssen, genügend Funktionen, um schlichte, aber ansprechende Seiten zu gestalten. In Ihren persönlichen Einstellungen können Sie die erweiterte Funktionalität wie im Screenshot oben aktivieren.
4
Artikel verschieben
Um ein Wiki zu organisieren, muss der Inhalt logisch und intuitiv nachvollziehbar angeordnet sein. Doch Fehler macht man nun einmal, etwa bei der Seitenbenennung. Um dies zu korrigieren, klickt man auf das kleine Sternchen links neben der Suchmaske und wählt den Punkt Verschieben aus der Liste aus.
6
Rückgängig machen
Manchmal ist ein Artikel etwa durch versehentliches Löschen von Absätzen unverständlich geworden. Wie jedes Wiki bietet auch unsere Software die Möglichkeit, zu jeder abgespeicherten Fassung zurückzukehren. Zugang zur Funktion erhalten Sie über die Spezialseite Versionsgeschichte, die zu jedem Artikel automatisch angelegt wird.
101
Praxis
Multi-Pi-Cluster als Passwort-Knacker Mehrere Raspberry Pis können auch zusammenarbeiten. Wir zeigen, wie Sie die geballte Rechenleistung vieler Mini-Computer verwenden, um Passwörter zu knacken Passwörter knacken mit mehreren Pis und einem SpezialTool wie John the Ripper
halten. Beide Algorithmen sind anfällig für sogenannte Kollisionsangriffe (wobei es das Ziel ist, einen Input zu finden, der den gleichen Hash-Wert hat). Solch ein Angriff auf MD5 ist möglich, würde allerdings eine ziemliche Weile dauern. Die Malware Flame hat im Jahr 2012 eine Kollisionsschwachstelle in MD5 ausgenutzt, um Security-Zertifikate von Microsoft zu fälschen. Für SHA1 ist derzeit kein PreImage-Angriff bekannt.
So lange dauert das Knacken
E
s ist nicht ungewöhnlich, dass man Computer in einem Netzwerk gemeinsam an einer einzelnen oder an ähnlichen Aufgaben arbeiten lässt. Beispiele hierfür wären Rendering, Simulationen und so weiter. Die Arbeit verteilt man dann auf verschiedene Knoten oder Nodes. Solche Cluster sind allerdings etwas aus der Mode gekommen. Kein Wunder, denn auf solche Aufgaben spezialisierte Hardware sowie Mehrkernprozessoren erledigen so etwas schneller. Das hindert uns aber nicht daran, dennoch einen solchen Verbund zu basteln – natürlich mit mehreren Raspberry Pis. Unser Ziel dabei: Passwörter knacken. Sie werden sehen, der Lerneffekt bei diesem Projekt ist enorm.
Gemeinsam hacken im „Bramble“ In der Community hat sich für einen Cluster, der ausschließlich aus Raspberry Pis besteht, eine neue Bezeichnung etabliert, nämlich „Bramble“. Übersetzt heißt das „Brombeerstrauch“. Selbst wenn herkömmliche Desktop-Computer einem kleinen Bramble in Sachen Rechenleistung überlegen sind, macht es Spaß, damit zu experimentieren. Für unser Fallbeispiel haben wir zwei Raspberry Pis mit einem Pimoroni-Hub zusammengeschlossen (shop.pimo roni.com/products/pihub). Verbunden werden die beiden Geräte mit einem Fünf-Port-100-MBit-Switch. In diesem Workshop lassen wir unsere Pis mithilfe von Brute Force die beiden bekannten Algorithmen MD5 und SHA1 knacken. Im Speziellen versuchen wir ein Pre-Image eines bestimmten Hash-Wertes zu finden, den wir von einem – zugegeben nicht sehr schwierigen – Passwort er102
Häufig hört man von Einbrüchen in Datenbanken, bei denen sich auch Passwort-Hashes als Schwachstellen erwiesen. Die Verwendung eines Salt (eine zufällig gewählte Zeichenkette) hilft, sich gegen bestimmte Angriffe zu verteidigen. Passwörter bleiben aber gegen Wörterbuchattacken anfällig. Somit sollte man solche Angriffe sehr ernst nehmen. Wörterbuchattacken werden wir in diesem Workshop nicht zeigen, sondern wir konzentrieren uns bei unserem PythonCode auf Zeichenkombinationen. Wenn Sie möchten, können Sie aber Wörterlisten implementieren – entweder bereits existierende oder solche, die Sie selbst generieren. Ein paar Zeilen Code würden die Listen dann aufteilen und die einzelnen Geräte verrichten im Anschluss ihre Arbeit. Die kryptografischen Hash-Funktionen sind alle in einer Standard-Python-Installation verfügbar. Zuständig ist dafür die Bibliothek hashlib. Sie finden den MD5-Hash von „Password1“ folgendermaßen via Python-Eingabeaufforderung: >>> import hashlib >>> h = hashlib.md5(‚password1‘) >>> h.hexdigest() ‚7c6a180b36896a0a8c02787eeafb0e4c‘
Wenn Sie im obigen Code md5 durch sha1 ersetzen, bekommen Sie den entsprechenden SHA-1-Hash angezeigt: ‚db6a4668837a519ccef4616751e41674807d6a8a‘.
In unserem Fall versuchen wir, ein Pre-Image für den nachfolgenden MD5-Hash zu finden: target_hash_md5 = ‚392b2bd9f1571ff02e7dc21adfb2f0b0‘ Nehmen wir an, dass wir lediglich an Passwörtern interessiert sind, die aus Groß- und Kleinbuchstaben plus den Ziffern 0 bis 9 bestehen. Das lässt sich realisieren, indem man die entsprechenden ASCII-Bereiche kombiniert: ascii = range(48,59)+ range(65,91) + range(97,123) chars = [chr(j) for j in ascii] Wir können das Modul itertools verwenden, um alle mögli-
chen Kombinationen einer bestimmten Länge zu erzeugen. Somit müssen wir nicht umständlich Code erschaffen. Die Klasse itertools.product gibt ein Generator-Objekt zurück. Wir müssen das Raspberry Pi oder das Bramble nicht mit
Praxis großen Listen belasten, sondern bekommen eine Kombination nach der anderen serviert. Der Parameter repeat gibt die Länge der ausgegebenen Zeichenketten an. Wir prüfen außerdem immer wieder, ob sich der Output-Hash mit unserem Ziel-Hash deckt. for j in itertools.product(chars,repeat=length): guess = „.join(j) m = hashlib.md5(guess) hash = m.hexdigest() if hash == target_hash_md5: print „Toller Erfolg!“ break return(guess)
Die Funktionen md5cracker() und shacracker() lassen sich mit dem oben beschriebenen length-Argument aufrufen. An dieser Stelle ist eine Modifikation einfach genug, um eine Reihe an Passwortlängen via Brute Force anzugehen. Ein Notebook mit einem Single-Core-2.1GHz-Athlon hat für alle dreistelligen Passwörter aus unserem Satz an Zeichen gerade einmal 0,7 Sekunden gebraucht. Bei vier Zeichen waren es 40 Sekunden; fünf dauerten ungefähr 40 Minuten. Da wir es mit 62 Zeichen zu tun haben und in etwa 380 Kilohash pro Sekunde verarbeiten können, würde das Knacken eines sechsstelligen Passworts wahrscheinlich zwei Tage dauern. Hat das Passwort acht Stellen, würde das System in etwa 18 Jahre brauchen. Bei SHA-1 konnte die gleiche Maschine 314 Kilohash/s liefern. Moderne Hardware würde eine bessere Performance liefern. Ein einzelnes Pi hingegen ist im Vergleich dazu sehr schwach. Bei MD5 liefert der Mini-Rechner gerade einmal 6 Kilohash/s für MD5 und nur 8 Kilohash/s für SHA-1. All das natürlich ohne X-Server und andere laufende Daemons. Warum die Performance auf der ARM-Architektur so schlecht ist, wäre eine Untersuchung wert. Das würde allerdings den Rahmen dieses Artikels sprengen. John the Ripper ist hier wesentlich besser als unser eigener Code, doch dazu später mehr. Am Ende der Python-Datei befindet sich folgender Codeblock: if __name__ == ‚__main__‘: import timeit print(timeit.timeit(stmt = „shacracker(4)“, setup=“from __main__ import shacracker“, number=1))
Dies bedeutet, dass diese Datei über die Eingabeaufforderung ausgeführt und danach automatisch vom Modul timeit bewertet wird. Man könnte via Cython und C-Code versuchen, die Sache zu beschleunigen.Allerdings wäre der Gewinn eher gering. Die Funktionen hashlib und itertools sind
alle in C implementiert. Somit ist es fraglich, ob es überhaupt schneller wäre. Außerdem haben ZeichenkettenManipulationen in C andere Nachteile. Wenn Sie malloc() und free() nicht geschickt einsetzen, wird eine Beschleunigung schwer realisierbar. Einen Versuch ist es aber wert.
Mehr Rechenpower ist gefragt Bruteforcing von Hashes ist ein sehr gutes Beispiel für Parallel Computing. Es ist unglaublich einfach, die Arbeit aufzuteilen. Aus diesem Grund lässt sich die Hash-Rate multiplizieren, indem Sie einfach mehr Raspberry Pis hinzufügen. Die Arbeit lässt sich ganz einfach mithilfe der GeneratorFunktion verteilen. Genauer gesagt könnte man jeder Einheit einen bestimmten Bereich bei den Zeichen zuweisen. Bei zwei Pis könnte der erste die eine Hälfte des Bereichs (0-u) übernehmen und der zweite die andere (v-Z). Auf diese Weise muss man keine weiteren Daten gemeinsam benutzen. Beide Geräte führen die zugewiesene Arbeit durch und verschwenden keine Zeit mit Kommunikation. Wir setzen das Modul dispy ein, um sich um das Parallelisieren zu kümmern. Das bedeutet, dass auf allen Nodes das Programm dispynode laufen muss. Wir teilen den gesamten Bereich in 62 Stücke. Die sogenannten Workers holen sich dann die Stücke nach Bedarf. Somit kann man dem Cluster auch problemlos schnellere oder langsamere Maschinen hinzufügen und das Konstrukt funktioniert weiterhin. Wir erstellen eine äußere Schleife für das erste Zeichen. Die Schleife mit itertools befindet sich darin. def md5cracker(chunk_start,chunk_ end,chars,length,thash): for j in range(chunk_start,chunk_end): for k in itertools.product(chars,repeat = length 1): guess = chars[j] + „.join(k) ghash = hashlib.md5.new(guess).hexdigest() if ghash == target_hash_md5: return guess return False
Sie könnten nun zwischen den Pis springen, um diese Funktion mit den entsprechenden Chunk-Parametern aufzurufen. Verwenden Sie aber das Modul dispy, ist die Sache weniger mühsam. Sie finden es unter http://dispy.source forge.net und installieren es so: tar -xvzf dispy-3.15.tar.gz sudo pip install -e dispy-3.15
Wir haben unseren Pis die IP-Adressen 10.0.1.1 und 10.0.1.2 gegeben. Das erreichen Sie zum Beispiel mit diesem Befehl:
Hintergrund: Verteiltes Rechnen Computing-Architektur lässt sich grob in vier Klassen unterteilen: Single Instruction Single Data (SISD), Single Instruction Multiple Data (SIMD), Multiple Instruction Single Data (MISD) und Multiple Instruction Multiple Data (MIMD). Die Kategorien sind in den 1960er Jahren entstanden und nach dem Erfinder Michael J. Flynn als Flynn’sche Taxonomie benannt. Multiprozessor-Systeme wie wir sie kennen existierten damals nicht. Die Maschinen konnten aber parallele Operationen durchführen. Das ähnelt Intels SSE (Streaming SIMD Extensions), die
mit dem Pentium III eingeführt wurden. Manche modernen Anwendungen gehen über die Grenzen der Flynn-Klassen. Dennoch bieten sie eine gute Übersicht zur heutigen Situation. Die PreImage-Erkennung gehört in die Kategorie SIMD: Wir wenden die gleichen Anweisungen auf mehrere Datensätze an. Der häufigste Anwendungsfall heutzutage ist allerdings MIMD. Am Ende des verteilten Computing-Spektrums befindet sich ein verteiltes Arbeitsspeichermodell. Dort besitzt jede Prozessoreinheit einen individuellen Speicher. Müssen mehrere Prozes-
soren auf die gleichen Daten zugreifen, bemüht man eine Messaging-Schnittstelle. Auf der anderen Seite haben wir Parallel Computing. Dort gibt es gemeinsam genutzten Speicher, auf den alle Prozessoren zugreifen können. Zuweilen verwendet man einen Bus, wenn sich alle Prozessoren auf dem gleichen Board befinden. Auch softwarebasiert ist dies möglich, wobei die Konsistenz durch einen virtuellen Speicher erhalten wird. Bei speicherbasiertem Parallel Computing muss man jedoch mit Busstaus und Zugriffsverzögerungen rechnen.
103
Praxis ifconfig eth0 10.0.1.1/24
Haben Sie viele Pis im Einsatz, müssen Sie eventuell mit Tastatur und Maus jonglieren. Die eigentlichen IP-Adressen sind an dieser Stelle jedoch weniger wichtig, solange sich alle Geräte im gleichen Subnetz befinden. Nur so kann dispy all die Slaves erkennen und adressieren. Einen einfachen Job-Cluster für unsere md5cracker()Funktion erschaffen wir mithilfe von dispy wie folgt: cluster = dispy.JobCluster(md5cracker,callback= callback) Der Callback-Parameter teilt dem Cluster mit, eine Funktion mit Namen callback() aufzurufen, wenn einer der Nodes das Passwort findet oder diesem die Arbeit ausgeht. Eine Callback-Funktion lässt sich außerdem dazu nutzen,Zwischenresultate bei komplexeren Szenarien zu sammeln. Unsere Callback-Funktion muss lediglich das Ergebnis überprüfen. Ist es nicht False, stellt man alle Arbeiten ein. def callback(job): if job.result: print „Toller Erfolg!“, job.result for j in jobs: if j.status in [dispy.DispyJob.Created, dispy. DispyJob.Running]: cluster.cancel(j)
Weil die Funktion md5cracker() die Module itertools und hashlib benötigt, muss man diese von innerhalb der Funktion importieren. Aus Gründen der Synchronisation lässt es dispy nicht zu, In-Scope-Variablen mit den Workern zu teilen. Die Funktion md5cracker() akzeptiert nachfolgende Parameter: chars (Liste an Zeichen), length (Länge des Passworts) und thash (Ziel-Hash). Schlussendlich verwenden wir folgenden Code, um das System nach dem Ausführen von multipi.py anzustoßen. Am Ende werden einige Informationen ausgegeben: if __name__ == ‚__main__‘: cluster = dispy.JobCluster(md5cracker,callback=call back) jobs = [] start = 0 for j in range(nchunks): end = start + chunk_size job = cluster.submit(start,end,chars,length,targ et_hash_md5) job.id = j start = end jobs.append(job) cluster.wait() cluster.stats()
John the Ripper Es gibt viele Alternativen für das Modul dispy (https://wiki. python.org/moin/ParallelProcessing). Wir haben es dennoch ausgewählt, da es sich für einfache Parallel-Aufgaben wie verteiltes Hashing gut eignet. Wollen Sie Parallel-Computing mit einer Multicore-Maschine erkunden, sehen Sie sich Pythons eingebaute Bibliothek dafür an. Damit können Sie zum Beispiel gemeinsam genutzte Variablen einfacher einsetzen, als wenn die Prozesse nicht lokal ablaufen. John the Ripper ist ein beliebter Open-Source-PasswortCracker. Es gibt auch eine von der Community verbesserte Version, die GPU-basiertes Knacken plus einige weitere Hash- und Cipher-Typen unterstützt. Die Quellen für diese Version mit Namen Jumbo finden Sie auf der Projektseite 104
www.openwall.com/john. Auf dem Pi lässt sich dies kompilieren. Raspbian enthält gcc per Standard. Allerdings benötigen wir zusätzlich die libssl- und libcrypto-Header. Mithilfe der nachfolgenden Befehle installieren Sie diese: apt-get update apt-get install libssl-dev
Laden Sie die Quellen von der Seite herunter, entpacken Sie diese und starten Sie den Kompilier-Prozess wie folgt: tar -xvzf john-$VER-jumbo-$REL.tar.gz cd john/src make generic
Auf einem Standard-Pi dauert das zirka 30 Minuten. Sobald alles fertig ist, können Sie die Installation so testen: cd ../run ./john --test
Unsere Binärdatei wird alle verfügbaren Algorithmen benchmarken. RawMD5 konnte auf unserem Gerät mit zirka 330 kH/s punkten und war damit wesentlich schneller als unser Python-Ansatz. Bei SHA-1 (--mode=raw-sha1) erreichte John respektable 190 kH/s. Erstellen Sie nun eine Textdatei mit Namen test.md5 mit einer einzelnen Zeile, die unseren Ziel-MD5-Hash von zuvor enthält (siehe Code auf Seite 102 „target_hash“). Wir können unseren Zeichen- und ZahlenSatz mittels incremental und alnum einsetzen: ./john --incremental=alnum --length=6 --format=rawmd5 target.md5 Auf einem normalen Raspberry Pi würde der Vorgang etwa zwei Tage dauern und das Pre-Image würde dennoch nicht gefunden. Die Herausforderung wird allerdings durch John the Rippers sehr hilfreiche Option --node vereinfacht. Damit können Sie parallelisieren. Würden wir zum Beispiel fünf Raspberry Pis einsetzen, könnten wir die Option --node n/5 zum vorherigen Code hinzufügen. Dabei ersetzen Sie das n mit der Nummer des Pi, auf dem der Befehl läuft. Somit arbeitet John lediglich mit einem Fünftel der möglichen Eingaben. Um alle sechsstelligen Passwörter zu adressieren, dauert alles nur noch zirka zehn Stunden. MD5-Hashes kann man zum Beispiel wie folgt erzeugen: echo -n „test“|md5sum 098f6bcd4621d373cade4e832627b4f6 -
Kopieren Sie das Ergebnis ohne die Leerzeichen und den Gedankenstrich in die Datei test.md5 (md5sum verwendet man häufig, um Dateien mit einem Hash zu versehen; der Dateiname würde hinter diesen Zeichen stehen – mittels |cut -d- f1 werden Sie dies los). Führen Sie nachfolgenden Befehl aus, um sicherzustellen, dass John die Hashes auch wie gewünscht und korrekt verarbeiten kann. ./john --incremental=alnum –length=4 --format=rawmd5 test.md5 Natürlich sollten wir an dieser Stelle auch den intelligenteren Wort-Liste-Modus von John the Ripper erwähnen. Auf der Website des Projekts gibt es viele Wörterlisten. Sie können auch Regeln erstellen, um diese zu vereinen. Sie können sogar einen hybriden Modus mit inkrementellen Zeichen verwenden. So maximieren Sie die Chancen auf schnelleren Erfolg. Ein MD5-Benchmark mit 16 Radeon 7550 hat 2GH/s ausgegeben. Damit können Sie ein achtstelliges Passwort mit unseren 62 Zeichen in ungefähr einer Woche knacken. Bedenken Sie: Es kommen ständig neue und schnellere Technologien auf den Markt. Daher gilt der Grundsatz, dass achtstellige Passwörter nicht mehr sicher sind. Sie sollten daher einen Passwortmanager installieren und nur noch sichere Passwörter verwenden. //jd
Praxis
Andere Bramble-Projekte
1
Oce-Dokumente knacken (10 Raspberry Pis)
www.softwareontheside.info/2013/01/my-raspberry-pi-cluster.html Shanes Projekt verwendet eine gepatchte Version von John the Ripper, um geschützte Dateien in den Formaten MS Office, LibreOffice und PDF zu knacken. MS Office 2007 hat AES-Verschlüsselung mit 128 Bit eingeführt.
3
David Guills 40-Pi-Cluster
http://likemagicappears.com/projects/raspberry-pi-cluster Das Ziel von David war die Erschaffung eines Supercomputer-Modells, das sich quasi wiereal verhält. Es besitzt zwölf TByte-Festplatten und sechs externe Ethernet-Ports. Ein CNC-Laser erschuf das Gehäuse.
2
Turm zu Pi (10 Raspberry Pis)
http://terminus.attitude.net/raspberry-pi Dieses Projekt verwendet neun RPi-Slaves und ein Cubie-Board als Master für MPI-Verarbeitung. Ein 16x2-RGB-Bildschirm zeigt den Status an. Derzeit wird es als Cubical-Monolith-Projekt mit 32 Nodes weitergeführt.
Southampton University Iridis-Pi Lego Supercomputer (64 Pis) 4
http://www.southampton.ac.uk/~sjc/raspberrypi Das Konstrukt kostet zirka 3.200 Euro und liefert laut HPL-Benchmark 1,14 Gflops/s. Hier ist noch dasalte Pi-Modell mit 256 MByte RAM im Einsatz.
105
Praxis Ein SSH-Tunnel erzeugt eine sichere Verbindung zwischen zwei Computern. Damit können Sie Proxies und andere Filtermechanismen umgehen
Notebook Firewall
beispiel.com
SSH-Tunnel Pi
Auf Nummer sicher mit SSH-Tunnel Nutzen Sie öffentliche WLANs sicher und umgehen Sie Online-Spionage mithilfe Ihres Raspberry Pi: Wir zeigen, wie Sie SSH-Tunnel auf Ihrem Mikrocomputer verwenden
V
iele von uns haben schon Erfahrung mit eingeschränkten Internetverbindungen gemacht, die unter Umständen die Ausführung bestimmter Dinge verhindern. Häufig sind dafür Firewalls zuständig, die Dienste wie SMTP für das Senden von E-Mails oder XMPP blocken. Die Zensur bestimmter Webinhalte ist ebenfalls denkbar. Andere Anwender, die ein öffentliches WLAN nutzen möchten, haben zudem Sicherheitsbedenken. Spionage
Clever: Mit einer getunnelten Verbindung schützen Sie sich davor, ausspioniert zu werden oder Datenmanipulation innerhalb eines Netzwerks ist schließlich nicht allzu schwer. Bei öffentlichen Verbindungen wissen Sie nie, wer diese sonst noch benutzt und Daten abgreift. Bei solchen Schwierigkeiten hilft ein Raspberry Pi im Zusammenspiel mit einem SSH-Tunnel. Damit haben es Zensoren und Spione zumindest etwas schwerer. 106
Falls Sie einer der ersten Raspberry-Pi-Besitzer sind, befindet sich möglicherweise immer noch das alte Debian-Image auf Ihrem RasPi. Die Entwickler haben in der Zwischenzeit jedoch nachgebessert: Raspbian ist ein speziell optimiertes Debian für den Gebrauch auf dem Raspberry Pi. Die neueren Images bringen daher wesentlich mehr Geschwindigkeit und es gibt ein komfortables Setup-Tool. Sollten Sie noch eine alte Raspbian-Version einsetzen, empfehlen wir ein Upgrade. Am einfachsten geht das, wenn Sie das neueste Image von www.raspberrypi.org/downloads herunterladen, dieses entpacken und via Noobs auf eine SD-Karte spielen. Formatieren Sie die SD-Karte am besten, etwa mit dem Tool SD Formatter (www.sdcard.org). Danach entpacken Sie das Noobs-Image und kopieren alle Daten auf die SD-Karte. Nun können Sie di e SD-Karte im Pi einsetzen (detaillierte Informationen zu Noobs finden Sie auf Seite 14).
Das Prinzip des Port-Forwardings Sehen wir uns zunächst das Konzept von SSH-Tunneln an. Immer wenn sich zwei Computer unterhalten, muss der sich verbindende Rechner zwei Fakten kennen: Erstens die
Praxis
intern. beispiel.com
Pi
Firewall
Notebook
Ein ReverseTunnel ist nützlich, wenn Sie sich in ein geschütztes Netzwerk einklinken möchten. Holen Sie sich aber eine Genehmigung dafür, denn Sie schießen quasi ein Loch in die Firewall
Reverse SSH-Tunnel
IP-Adresse des anderen Rechners und zweitens die Portnummer des gewünschten Dienstes (also beispielsweise für Web, SSH, NFS und so weiter). Die meisten wissen, was eine IP-Adresse ist: eine Zahlenfolge wie 192.168.133.20, die einen Rechner im Netzwerk identifiziert und in etwa mit einer Post-Adresse vergleichbar ist. Ports hingegen sind meist weniger bekannt. Wie in einem Haus mit mehreren Haushalten, von denen jeder gern seine Post hätte, sieht es auch bei Rechnern aus. Auf Computern gibt es viele Dienste, die darauf warten, dass speziell sie angesprochen werden. Im echten Leben schreiben wir einen Namen auf den Briefumschlag; im Falle von Computern adressieren wir einen speziellen Port. Damit können wir den gewünschten Dienst ansprechen. Jeder Port wird durch eine Zahl zwischen 0 und 65535 identifiziert. Jeder Dienst, den ein Computer zur Verfügung stellt, wie zum Beispiel ein Webserver, horcht auf einem Port. Es gibt eine Liste mit Standard-Ports, auf denen oft genutzte Dienste lauschen. Zuständig für die Liste ist die Internet Assigned Numbers Authority. Dort sind die Ports zwischen 0 und 1023 hinterlegt. Web verwendet normalerweise Port 80, FTP 20 und SSH 22. Sie können dies jedoch auch anders konfigurieren und den Diensten andere Ports zuweisen. Weichen Sie vom Standard ab, müssen Sie jedoch dem Client den neuen Port mit auf die Reise geben.
Verschlüsselte Verbindungen SSH-Tunnel leiten Ports weiter, was man auch Forwarding nennt. Stellen Sie sich vor, dass Sie zwei Rechner besitzen: Notebook befindet sich in einem Café hinter einem Proxy, der Netzwerkverkehr filtern kann. Leider ist dort die Adresse beispiel.com geblockt. Pi ist das Raspberry Pi zu Hause mit uneingeschränktem Zugriff auf das Internet. Notebook hat aber Zugriff auf Pi. Um beispiel.com auf dem Notebook erreichen zu können, müssen Sie Ihre Verbindung durch Pi leiten oder tunneln.
Die Technik der SSH-Tunnel macht es möglich. Für gewöhnlich stellt SSH eine verschlüsselte Verbindung zwischen zwei Computern auf Port 22 her. Ein SSH-Tunnel geht allerdings über das normale Öffnen einer Shell hinaus. Hier leiten Sie Datenverkehr von einem festgelegten Port auf Notebook durch die verschlüsselte Verbindung auf Pi via Port 22 auf jeden anderen festgelegten Host. Damit schlagen wir gleich zwei Fliegen mit einer Klappe. Wie bei einer Standard-SSH-Verbindung ist der Datenverkehr natürlich verschlüsselt. Somit kann niemand im selben Netzwerk mitschneiden, was Sie tun, oder Ihre Anmeldenamen und Passwörter ausspionieren. Das Schöne am SSH-Tunneling ist, dass es sich mit jeglichem Webverkehr nutzen lässt und nicht nur mit der Shell. Weiterhin können Sie damit Zensur in Form von Filtern oder Firewalls umgehen. Sollte der Router des lokalen Netzwerks den Zugriff auf beispiel.com einschränken, können Sie mit einer Weiterleitung der Verbindung auf eine Maschine mit uneingeschränktem Zugriff die Einschränkungen des lokalen Netz-
Was ist SSH? Wenn Sie das Raspberry Pi schon eine Weile benutzen, kennen Sie die Kommandozeile. Startet die grafische Oberfläche per Standard nicht, werden Sie mit einem Schwarz-Weiß-Bildschirm konfrontiert, an dem Sie sich anmelden. Danach können Sie weitere Befehle eingeben und verschiedene Dinge tun, wie zum Beispiel die grafische Oberfläche starten, Textdateien editieren, Daemons konfigurieren und einen Browser wie ELinks benutzen. Eine andere Bezeichnung für die Komman-
dozeile ist Shell. SSH steht für Secure Shell. Damit können Sie sich von außerhalb sicher an Ihrem Rechner anmelden, und zwar über eine verschlüsselte Verbindung. Das bedeutet, dass niemand die Datenübertragung zwischen den beiden verbundenen Rechnern ausspionieren kann – inklusive Login-Daten und Web-Cookies. Anders gesagt ist diese Methode eine moderne und sichere Version von in die Jahre gekommenen Fernwartungstools wie Telnet und rlogin.
107
Praxis Das Tool raspiconfig erleichtert die Konfiguration des Raspberry Pi. Sie müssen es nur mit sudo raspiconfig aufrufen
werks umgehen. Um dies zu realisieren, benötigen Sie SSH sowohl auf dem Notebook als auch auf Pi. Auf Pi ist das mithilfe des raspi-config-Tools sehr einfach. Wählen Sie hier die SSH-Option aus. Das setzt jedoch eine aktuelle Version von Raspbian voraus. Auf dem Notebook kommt es ein bisschen darauf an, welche Distribution Sie einsetzen. Unter Fedora aktivieren und konfigurieren Sie SSH zum Beispiel so: su -c “yum -y install openssh” su -c “systemctl enable sshd.servive” su -c “systemctl start sshd.service”
Haben Sie Debian oder Ubuntu im Einsatz, sieht es so aus: sudo apt-get install openssh-server openssh-client sudo service ssh start sudo insserv ssh
Haben Sie Windows im Einsatz, verwenden Sie am besten ein Tool wie Putty (auf Heft), um eine SSH-Verbindung herzustellen (siehe auch Seite 20). DVD
Einen Tunnel erzeugen Ist das geschafft, können Sie mithilfe des nachfolgenden Befehls einen sicheren SSH-Tunnel aufbauen: ssh -L 1080:beispiel.com:80 pi-user@pi -f sleep 30d
Sehen wir uns im Einzelnen an, was diese Zeile bedeutet. Der Schalter -L teilt SSH mit, dass Sie die Verbindung benutzen wollen, um einen Port weiterzuleiten. Der anschließende Text enthält drei Sektionen, die durch einen Doppelpunkt getrennt sind. Die erste Zahl ist der Port auf der lokalen Maschine ( Notebook), den wir weiterleiten
Um die Firewall von außen zu umgehen, können Sie vom Pi einen Reverse-Tunnel aufbauen wollen. Bei allen Zahlen über 1.024 ist eine Weiterleitung ohne root-Rechte möglich. Sämtlicher Netzwerkverkehr, den wir an diesen Port senden, wird weitergeleitet. Der mittlere Text ist der Host, an den wir den Verkehr senden wollen. Die abschließende Zahl ist der Port auf dem Host, zu dem wir uns verbinden möchten. Es ist natürlich jegliche Kombination von Host und Port denkbar. Wenn Pi darauf Zugriff hat, funktioniert diese Methode. Da wir eine Webseite auf beispiel.com aufrufen wollen, haben wir Port 80 spezifiziert. Das ist der Standard-Port für Webverkehr, der am häufigsten verwendet wird. 108
Abschließend legen wir Anmeldenamen und die Rechner fest, womit wir den Tunnel aufbauen wollen. In diesem Fall nehmen wir den Rechner Pi mit dem Anwender pi-user. Dieser Abschnitt gleicht dem normalen sshBefehl. Hier können Sie die üblichen Kniffe anwenden, wie zu Beispiel verschiedene Ports festlegen, IP-Adressen statt Hostnamen benutzen und so weiter. Vergessen Sie nicht, dass Notebook in der Lage sein muss, das Raspberry Pi zu erreichen. Somit sollten Sie sicherstellen, dass Sie die IP-Adresse oder den öffentlichen DNS-Namen kennen. Wir gehen darauf im Kasten auf der Seite gegenüber genauer ein. Der Schalter -f weist ssh an, sich in den Hintergrund zu begeben, und öffnet keine aktive Shell auf Pi. Damit dieser Schalter funktioniert, müssen wir bei OpenSSH einen weiteren Parameter verwenden. sleep 30d bedeutet, dass die Verbindung 30 Tage offen bleibt. Es wäre auch eine Angabe in Sekunden möglich. Das würde für eine Stunde zum Beispiel so aussehen: sleep 3600. OpenSSH möchte einen Befehl, den die Software im Hintergrund ausführen kann. Verwenden Sie SSH2 anstelle von OpenSSH, können Sie die sleep-Anweisung weglassen. Um beispiel.com von Notebook aus erreichen zu können, müssen Sie in Ihrem Browser lediglich die Adresse http:// localhost:1080 eingeben – es sollte funktionieren. Ein Doppelpunkt am Ende einer Webadresse weist den Browser an, einen speziellen Port und nicht Standardport 80 zu verwenden. Weiterhin steht localhost für die Maschine, auf der der Browser läuft. Das ist sozusagen die Webadresse Ihres Computers auf Port 1080. Sie können diese Befehle auch ganz einfach anpassen, damit sie mit anderen Diensten außer Webdatenverkehr laufen. Wenn Sie etwa einen eigenen SMTP-Server für E-Mail-Versand per Pi benutzen, könnten Sie beispiel.com in localhost und 80 in 25 abändern. Danach müssten Sie diverse Änderungen im E-Mail-Client vornehmen und nicht eine spezielle Adresse im Browser angeben.
Reverse-Tunnel über das Pi SSH kann verschiedene Arten von Tunneln erzeugen. Sehen wir uns diese genauer an. Das Beispiel zuvor mit der Option -L nennen wir Weiterleiten eines lokalen Ports. Im nächsten Beispiel leiten wir einen entfernten Port weiter. Dafür stellen wir uns ein etwas anderes Szenario vor. Sie haben wiederum zwei Rechner – Notebook und Pi. Das Notebook ist zu Hause, allerdings wollen Sie auf eine interne Webseite zugreifen: intern.beispiel.com. Diese ist von außen aber wegen einer Firewall nicht erreichbar, für Pi im internen Netzwerk jedoch schon. Um diese Firewall von außen zu umgehen, können Sie einen soge nannten ReverseTunnel von Pi zu Notebook nutzen. Das Notebook kann diesen Tunnel dann verwenden, um in das durch die Firewall geschützte Netzwerk zu gelangen und sich via Pi mit der Seite intern.beispiel.com dennoch verbinden. Dafür führen Sie nachfolgenden Befehl auf Pi aus: ssh -R 1080:intern.beispiel.com:80 notebook-user@ notebook -f sleep 30d Der Schalter -R steht für Remote- oder Reverse-Tunnel. Hier
Praxis spezifizieren Sie nicht einen Port auf Pi, um Verbindungen dorthin zu leiten, sondern definieren einen Port auf Notebook, um ein Forwarding von dort zu realisieren. Damit dieser Kniff funktioniert, müssen Sie den SSHTunnel bereits im Vorfeld aufbauen, weil Sie Pi sonst von Ihrem Notebook aus nicht erreichen können. Weiterhin muss die SSH-Verbindung aktiv bleiben. Das realisieren Sie, indem Sie autossh anstelle von reinem SSH verwenden und die Verbindung aktiv halten. Der Befehl für autossh hat eine etwas andere Syntax: autossh -M 20000 -f 1080:intern.beispiel.com:80 notebook-user@notebook Der wichtige Schalter hier ist -M. Sie benötigen einen Port,
der von keinem anderen Dienst in Anspruch genommen wird. Ein Port mit einer hohen Nummer ist in der Regel die beste Wahl für diese Aufgabe. Das Tool autossh überwacht über diesen Port die Verbindung und startet diese selbstständig wieder, falls sie abbricht. Der Trick ist nützlich, Sie könnten sich aber Ärger mit den Netzwerkadministratoren einhandeln. Firewalls sind schließlich nicht umsonst da und Administratoren werden oft sauer, wenn User Löcher in den Schutzwall schießen! Einige Sicherheitsexperten verwenden sogar genau diese Technik, um Penetrationstests in Firmennetzwerken durchzuführen. Sie schmuggeln ein kleines „Paket“ in Firmengebäude und schließen dieses an unbeobachtete Netzwerksteckplätze an. Ein RasPi eignet sich dafür perfekt. Der kleine Spion wird dann so konfiguriert, dass er automatisch einen Reverse-Tunnel (etwa mithilfe von /etc/network/ if-up.d) aufbaut. Diesen können Sie später nutzen, um in das Netzwerk einzudringen. Dann sind Passwortklau oder Datenmanipulation möglich.
Dynamische Tunnel Die dritte hier besprochene SSH-Tunnel-Methode ist wahrscheinlich die nützlichste von allen. Anstatt einen spezifischen Port oder Dienst definieren zu müssen, können Sie über dynamische Tunnel sämtliche Daten für alle Dienste weiterleiten. Der dazugehörige Befehl ist außerdem wesentlich einfacher: ssh -D 1080 pi-user@pi -f sleep 30d
Der Schalter -D teilt SSH mit, dass wir einen dynamischen
Tunnel erzeugen wollen. Die Zahl ist der lokale Port, den wir verwenden möchten. pi-user@pi spezifiziert Anwender und Rechner, über die wir den Tunnel routen möchten. Nachdem Sie den Befehl ausgeführt haben, können Sie jede Anwendung mit Unterstützung für Socks-Proxies auf dem lokalen Rechner so konfigurieren, dass sie den Netzwerkverkehr durch den erzeugten SSH-Tunnel leitet. Nehmen wir als Beispiel Firefox. Öffnen Sie die Einstellungen und anschließend Erweitert | Netzwerk. In der Rubrik Verbindung finden Sie die Schaltfläche Einstellun gen. Hier wählen Sie Manuelle Proxy-Konfiguration. Geben Sie nun 127.0.0.1 in der Zeile von Socks-Host ein. Als Port dient derjenige, den Sie im ssh-Befehl verwendet haben. Klicken Sie nun auf OK, und es sollte funktionieren. Ist das der Fall, können Sie Firefox wie gewohnt nutzen. Der gesamte Datenverkehr wird transparent durch den SSHTunnel und Pi geleitet. Sie überprüfen dies, indem Sie die SSH-Verbindung beenden und nun einen Versuch starten, eine Webseite zu öffnen. Hat Ihr System den Tunnel verwendet, können Sie mit Firefox keine Webseiten mehr besuchen. Bei anderen Anwendungen, die sich mit dem Internet verbinden (etwa Mailclients und Instant Messenger) finden Sie in der Regel ähnliche Konfigurationsmöglichkeiten wie bei Firefox. Hier müssen Sie lediglich die korrekten Details in die Socks-Option eintragen und das war es. Die vorgestellten Techniken sind sehr nützlich, wenn Sie eine sichere Verbindung benötigen oder damit eventuelle Einschränkungen umgehen wollen. Praktisch anwenden lässt sich dies zum Beispiel, wenn Sie auf Reisen sind. Natürlich muss hierfür der Server die ganze Zeit aktiv sein. Das kostet Geld, da sich dies in Ihrer Stromrechnung widerspiegelt. Wenn Sie für diesen Zweck ein Raspberry Pi verwenden, halten sich die Kosten jedoch in Grenzen. Falls Sie Anwendern außerhalb des eigenen Netzwerks auf sichere Weise Dienste zur Verfügung stellen möchten, ist vielleicht ein VPN – ein Virtual Private Network – die richtige Wahl. SSH ist einfacher zu konfigurieren, aber auch unflexibler. Raspbian basiert auf Debian und bietet OpenVPN an. Sie können die VPN-Lösung bequem über den Software-Manager installieren, sollten sich allerdings vorher gründlich mit dem Thema vertraut machen. //jd
Per DynDNS zur eigenen Domain Die meisten der in diesem Artikel vorgestellten Techniken setzen einen Computer voraus, der öffentlich erreichbar ist. Bei fast allen privaten Internetanschlüssen bekommen Sie auch eine öffentliche IP-Adresse. Diese ist jedoch oft dynamisch und ändert sich daher regelmäßig. Wenn Sie den Tunnel einrichten, funktioniert dieser also nur so lange, bis sich die öffentliche IP-Adresse ändert. Abhilfe schaffen Sie, indem Sie einen Anbieter verwenden, der Ihnen eine statische IP-Adresse zur Verfügung stellt. Nur wenige Provider bieten jedoch so etwas an, zudem ist dafür ein entsprechend hoher (Business-)Tarif notwendig. Daher bi eten sich Dienste wie www.no-ip.com oder selfhost.de an. Sie installieren lediglich eine
Software, die Ihre IP-Adresse überwacht. Sollte sich Ihre Adresse ändern, wird der Dyn-DNS-Anbieter davon informiert. Dieser stellt Ihnen einen Domainnamen wie zum Beispiel mypi.dyn.com zur Verfügung und stellt sicher, dass dieser immer auf die IPAdresse Ihres Rechners zeigt. Sollte sich Ihr RasPi hinter einem Router befinden, müssen Sie außerdem Port 22 auf den Winzling weiterleiten. Das Vorgehen unterscheidet sich je nach Router-Modell, in der Regel finden Sie es aber in der Admin-Schnittstelle. Dort können Sie Port-Weiterleitungen anhand der Mac-Adresse des Rechners einstellen. Somit ist es gut, wenn das Raspberry Pi über eine statische IP-Adresse in Ihrem lokalen Netzwerk verfügt.
No-ip.com vergibt feste Domainnamen. So erreichen Sie das Pi auch bei IP-Adressänderungen
109
Praxis
Mehr Tempo fürs Internet Ein Raspberry Pi lässt sich hervorragend einsetzen, um sich bei lahmer Internetanbindung zu behelfen. Squid und pdnsd machen es möglich
N
Moderne Heimrouter dienen auch als DHCPServer. In der Konfiguration hinterlegen Sie die StandardDNS-Server
icht jeder besitzt eine schnelle Internetverbindung. Möglicherweise haben auch Sie mit einem Bandbreitenlimit zu kämpfen. Das ist besonders ärgerlich, wenn mehrere Nutzer sich die magere Bandbreite teilen müssen. Da Raspbian auf Debian GNU/Linux basiert, gibt es in den Repositorys auch diverse Server-Daemons. In diesem Fall benötigen Sie den Proxyserver Squid und den DNS-Server pdnsd. Durch die Kombination der beiden Komponenten erhöhen Sie nicht nur die Internet-Geschwindigkeit, sondern sparen auch noch wertvolle Bandbreite. Sowohl Squid als auch pdnsd fungieren als sogenannter Cache oder Zwischenspeicher. Laufen Informationen über die beiden Server, sind sie für den Wiedergebrauch zwischengespeichert. Rufen Sie oder eine andere Person aus Ihrem Netzwerk die entsprechenden Daten abermals ab, liefert das Raspberry Pi aus – und Sie sparen wertvolle Bandbreite. Die in diesem Beitrag vorgestellten Konfigurationen von Squid und pdnsd funktionieren übrigens auch mit anderen Linux-Distributionen, wie zum Beispiel Debian GNU/Linux oder Ubuntu.
Sollten Sie eine WLAN-Karte verwenden, raten wir allerdings zunächst zu einem Start in den grafischen Modus. Verbinden Sie sich dort mit dem Wi-Fi-Tool zum gewünschten WLAN. Nun legt das Raspberry Pi automatisch die Datei /etc/wpa_supplicant/wpa_supplicant.conf an. Wir gehen dabei davon aus, dass Ihr WLAN mit dem sichereren WPA und nicht mit WEP ausgestattet ist. Im Anschluss öffnen Sie ein Terminal und führen folgenden Befehl aus: sudo nano /etc/network/interfaces Hiermit bearbeiten Sie die für die Netzwerkkonfiguration zuständige Datei mit dem Editor Nano. Hier hinterlegen Sie nun die fixe IP-Adresse. Im Falle eines WLANs etwa so: auto lo iface lo inet loopback
Das Netzwerk vorbereiten
gateway 192.168.100.1 Die Zeile address ist dabei die feste IP-Adresse des Raspberry Pi. Bei gateway handelt es sich um die IP-Adresse des Routers. Verwenden Sie eine kabelgebundene Konfiguration, könnte Ihre interfaces-Datei wie folgt aussehen:
Sie sollten dem Raspberry Pi eine feste IP-Adresse geben. Schließlich wollen Sie nicht jedes Mal raten, wie der Server zu erreichen ist, und Ihre Clients im Anschluss manuell einstellen. In der Regel haben Sie einen Router im Einsatz, mit dem Sie den Clients fixe IP-Adressen zuweisen könnten. Das wäre die einfachste Methode. Auf Nummer sicher gehen Sie aber, wenn Sie die feste IP-Adresse direkt in den Netzwerkeinstellungen des Raspberry Pi hinterlegen. Dazu ist etwas Handarbeit nötig. Es macht eigentlich keinen Unterschied, ob das Raspberry Pi kabelgebunden oder drahtlos am Netzwerk hängt.
allow-hotplug wlan0 iface wlan0 inet manual wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf iface wlan0 inet static address 192.168.100.50 netmask 255.255.255.0
auto lo face lo inet loopback iface eth0 inet static address 192.168.100.50 netmask 255.255.255.0 gateway 192.168.100.1 Speichern Sie die Datei und verlassen Sie diese. Starten Sie
im Anschluss das Raspberry Pi neu. Es hat von nun an eine feste IP-Adresse. Ist das erledigt, können Sie via raspi-config den grafischen Modus deaktivieren und dadurch wertvolle Ressourcen sparen. Es ist eine gute Idee, den SSH-Server zu aktivieren. Unter raspi-config sind das die Optionen 8 und danach A4. Sie haben nun die Möglichkeit, das Raspberry Pi headless, also ohne Bildschirm, zu betreiben und können trotzdem via SSH-Client darauf zugreifen.
Eine RAM-Disk anlegen Flash-Speicher kann man nur begrenzt beschreiben. Die von Squid angelegten Dateien müssen nicht zwingend auf der SD-Karte landen, sondern können auch im Arbeits110
Praxis Sie können den Proxyserver manuell in den Netzwerkeinstellungen von Firefox hinterlegen
speicher verbleiben. Bei einem Neustart des Raspberry Pi sind diese zwar verloren, aber das ist bei temporären Cache-Dateien nicht weiter schlimm. Darüber hinaus ist RAM immer schneller als ein normaler Datenträger. Um die Daten in den Arbeitsspeicher zu bringen, legen wir eine sogenannte RAM-Disk an. Für diese erzeugen wir zunächst einen Einhängepunkt: sudo mkdir /mnt/ramdisk
Öffnen Sie die Datei /etc/fstab und legen Sie dort fest, dass die RAM-Disk bei Systemstart erzeugt werden soll. Fügen Sie nachfolgende Zeile am Ende der Datei an: tmpfs /mnt/ramdisk tmpfs nodev,nosuid,noexec,nodir atime,size=150M 0 0
Entweder starten Sie das Raspberry Pi nun neu oder Sie weisen das Mounten der Dateisysteme wie folgt an: sudo mount -a
Überprüfen Sie im Anschluss, ob eine RAM-Disk mit 150 MByte erzeugt wurde. Dazu verwenden Sie diesen Befehl: df -h
Sie sollten eine Zeile sehen, die ungefähr so aussieht: tmpfs
150M 4,0K 150M 1% /mnt/ramdisk
führt über alle Zugriffe Protokoll. Sie könnten die Datei mit diesem Befehl überwachen und wären erstaunt, was sich bei einem Zugriff auf eine Webseite alles abspielt: sudo tail -f /var/log/squid3/access.log
Squid installieren und konfigurieren Zunächst einmal sei angemerkt, dass Squid per Standard nur unverschlüsselte Dateien in den Cache legt. Es wird also ausschließlich http- und kein https-Datenverkehr zwischengespeichert. Das ist auch gut so, da anderenfalls die Privatsphäre kompromittiert wäre. Installieren Sie Squid mit dem nachfolgenden Befehl: sudo apt-get install squid3
An dieser Stelle würde Squid bereits funktionieren, allerdings nur lokal auf dem Raspberry Pi selbst. Wir müssen die Einstellungen bearbeiten, damit alle Geräte im selben Netzwerk den Proxyserver verwenden können. Die Konfigurationsdatei von Squid ist sehr umfangreich. Alle möglichen Funktionen von Squid vorzustellen, würde den Rahmen dieses Beitrags bei Weitem sprengen. Wir zeigen Ihnen deswegen gezielt die zu verändernden Optionen. Öffnen Sie die Konfigurationsdatei: sudo /etc/squid3/squid.conf
Suchen Sie in der Datei nach der Zeile Recommended minimum configuration. Knapp darunter befinden sich einige Zeilen, die mit acl localnet src 192 beginnen. Fügen Sie darunter für unser Beispiel diese Zeile ein: acl localnet src 192.168.100.0/24 . Im Anschluss suchen Sie nach der Zeile # http_access allow localnet. Entfernen Sie das Doppelkreuz vor dieser Zeile. Speichern Sie die Datei und starten Sie Squid neu: sudo service squid3 restart
Tritt hier keine Fehlermeldung auf, ist alles in Ordnung. Nun legen wir das Squid-Verzeichnis in die RAM-Disk. Öffnen Sie dazu di e Konfigurationsdatei von Squid erneut. Suchen Sie nach einer Zeile, die wie folgt anfängt: cache_dir ufs /var/spool/. Ändern Sie diese so ab: cache_dir ufs / mnt/ramdisk 140 16 256. „140“ steht für die maximale Größe des Verzeichnisses, die beiden Zahlen dahinter für Verzeichnisse und Unterverzeichnisse des Cache-Servers. Squid hat einen Standard-Cachespeicher von 256 MByte. So viel Spielraum haben wir auf dem Raspberry Pi aber nicht. Beim Neustart von Squid würde es zu einer Warnung kommen. Diese bekommen Sie weg, indem Sie die Zeile cache_mem 256 MB in cache_mem 140 MB ändern. Squid schreibt außerdem eine detaillierte Log-Datei und
Diese Protokolldatei ist in einem Heimnetzwerk wohl eher unnötig. Außerdem werden damit jede Menge Daten auf die SD-Karte des Raspberry Pi geschrieben – das verbraucht natürlich zusätzliche Ressourcen. Suchen Sie deswegen nach einer mit access_log /var/log/squid3 beginnenden Zeile und ändern Sie diese in access_log none. Wenn Sie Squid neu starten, sollte die Warnung verschwunden sein und die Log-Datei nicht mehr geschrieben werden.
Squid mit Browser testen Nun können wir testen, ob Squid richtig konfiguriert ist.Öffnen Sie dazu einen Internetbrowser Ihrer Wahl.Wir haben Mozilla Firefox verwendet. Klicken Sie auf Bearbeiten | Einstellungen und danach auf den Reiter Netzwerk | Einstellungen. Dort können Sie hinterlegen, ob Sieeinen Proxyserver für den Internetzugriff verwenden wollen. Wir modifizieren den letzten Punkt Manuelle Proxy-Konfiguration. Tragen Sie hier unter HTTP-Proxy die Adresse des Raspberry Pi ein. In unserem Fall ist das 192.168.100.50. Da wir den Standard-Port nicht verändert haben, lautet dieser 3128. Im Feld Kein Proxy für: können Sie noch 192.168.100.0/24 hinterlegen. Für interne Zugriffe lässt Firefox den Proxy dann außen vor und geht den direkten Weg. Wenn Sie anschließend auf das Internet zugreifen, sollte der freie Platz in der RAM-Disk etwas schrumpfen. Haben Sie die Log-Datei von Squid nicht deaktiviert, können Sie auch einen Blick in diese werfen.
pdnsd: Permanenter DNS-Cache DNS steht für Domain Name System. Das System wurde in erster Linie geschaffen, um den Nutzern den Umgang
Squid zurücksetzen Es kann passieren, dass Squid „zickt“. Sie müssen dann aber nicht gleich das Raspberry Pi neu starten. Wahrscheinlich genügen auch ein Zurücksetzen des Proxyservers und ein Säubern des Cache-Verzeichnisses. Mithilfe der
nachfolgenden Befehlssequenz erledigen Sie diese Aufgabe und erneuern den Cache: sudo service squid3 stop sudo squid3 -z sudo service squid3 start
111
Praxis Sie sehen hier die Netzwerkkonfiguration mit kabelgebundener und zusätzlich drahtloser Netzwerkschnittstelle
query_method=tcp_only; } server { label = „resolvconf“; proxy_only = on; } server { label=OpenDNS; ip=208.67.220.220; ip=208.67.222.222; timeout=30; uptest=ping; interval=30; ping_timeout=300;
mit dem Internet zu erleichtern: Hinter jeder Website steht eine IP-Adresse. Allerdings können Sie sich beispielsweise www.chip.de mit Sicherheit wesentlich leichter merken als
proxy_only=on; purge_cache=off; caching=on;
216.146.46.11. Das DNS-System erledigt für uns die Auflösung zwischen Namen und den dazugehörigen IP-Adressen.
Der Daemon pdnsd ist vor allem deswegen interessant, weil die gespeicherten DNS-Informationen auch bei einem Neustart nicht verloren gehen. Verwenden wir diese Software als Cache, muss sie für die Auflösung nur bei der ersten Anfrage das Internet konsultieren. Bei einer weiteren Anfrage kommt die Information aus unserem lokalen Netzwerk und ist somit wesentlich schneller. Vor allem bei Internetverbindungen mit hoher Latenz ist der Geschwindigkeitszuwachs deutlich spürbar. In unserer Testumgebung braucht eine DNS-Auflösung zwischen 200 und 500 Millisekunden. Setzen wir allerdings auf pdnsd, lässt sich die Zeit für eine Auflösung auf zirka zehn Millisekunden reduzieren. Bei ein paar Hundert Anfragen pro Tag macht das schon etwas aus. Installieren Sie den Daemon mithilfe dieses Befehls: sudo apt-get install pdnsd
Sobald die Software heruntergeladen ist, erscheint ein Konfigurationsfenster. Verwenden Sie hier am besten die erste Option Resolvconf verwenden. Je nach eingesetzter LinuxDistribution kann es vorkommen, dass die Konfigurationsdatei an anderer Stelle liegt (siehe auch Tipp rechts auf der nächsten Seite). In unserem Fall befindet sich die Konfiguration in der Datei /etc/pdnsd.conf. Direkt nach der Installation kümmern wir uns zunächst aber darum, dass der pdnsd-Daemon beim Systemstart automatisch läuft. Editieren Sie hierfür die Datei /etc/default/pdnsd und setzen Sie den Parameter START_ DAEMON von no auf yes. Manuell starten Sie pdnsd so: sudo /etc/init.d/pdnsd start
Nun bearbeiten Sie die Konfigurationsdatei selbst: sudo nano /etc/pdnsd.conf
Unsere Konfigurationsdatei sieht wie folgt aus: global { neg_rrs_pol=on; par_queries=1; perm_cache=8192; // Cache-Größe cache_dir = „/var/cache/pdnsd“; run_as = „pdnsd“; server_ip = 192.168.100.50; status_ctl = on; paranoid = on; min_ttl = 23h; // Cache mindestens 23 Stunden behalten max_ttl = 1w; // maximal eine Woche timeout = 10; // Globaler Timeout zehn Sekunden 112
preset=off; } source { owner = localhost; file = „/etc/hosts“; } rr { name = localhost; reverse = on; a = 127.0.0.1; owner = localhost;
soa = localhost,root.localhost,42,86400,900,86400,86400; }
Lassen Sie uns einen Blick auf die wichtigsten Parameter werfen und diese kurz erklären. Sehr wichtig in diesem Zusammenhang ist, dass Sie den Paramater server_ip mit der IP-Adresse gleichsetzen, die Sie dem Raspberry Pi gegeben haben. In unserem Fall ist das 192.168.100.50. Sollten Sie das nicht tun, können Sie pdnsd zwar lokal auf dem Raspberry Pi nutzen, aber nicht global aus dem Heimnetzwerk ansprechen. Für den Browser würde das reichen, da sich Squid auf dem RasPi befindet. Es führen aber auch andere Programme DNS-Anfragen durch. Dazu gehören unter anderem Clouddienste oder E-Mail-Software. Deswegen können wir pdnsd auch für das gesamte Netzwerk nutzen und so für etwas mehr Geschwindigkeit sorgen. Der Parameter perm_ cache bestimmt die Cache-Größe.Weiterhin sollten Sie min_ ttl von 15 Minuten auf ein wesentlich höheres Limit stellen. Wir haben 23 Stunden gewählt. In der Sektion „Server“ können Sie hinterlegen, welche DNS-Server Sie für eine Auflösung aus dem Internet verwenden wollen. In unserem Beispiel verwenden wir OpenDNS. Mit der von uns gezeigten Konfiguration sollten Sie für den Anfang gut bedient sein. Sie können pdnsd auch verwenden, um unerwünschte Websites zu blockieren. Dafür wären die neg-Sektionen zuständig. Detaillierte Informationen zu pdnsd finden Sie auf der Projektseite ( http://mem bers.home.nl/p.a.rombouts/pdnsd). Haben Sie einen Linux-Rechner zur Hand, können Sie pdnsd nun testen. Das funktioniert auch mit dem Raspberry Pi selbst. Allerdings müssen Sie dazu vorher erst noch das
Praxis Paket dnsutils installieren: sudo apt-get install dnsutils
Führen Sie im Anschluss diesen Befehl zweimal aus: dig www.chip.de
Beim ersten Mal wird die Auflösung übers Internet durchgeführt. Die zweite DNS-Auflösung erfolgt über pdnsd, das die Kombination IP-Adresse und Name zwischengespeichert hat. In unserem Fall ging das fast 20-mal schneller.
Zurück zu Squid An dieser Stelle verwendet der Proxyserver Squid den DNSCache noch nicht. Wir haben den entsprechenden Parameter noch nicht konfiguriert, da der Test mit Firefox sonst nicht funktioniert hätte. Editieren Sie abermals die Konfigurationsdatei des Proxyservers und suchen Sie nach dem Eintrag dns_nameservers. Fügen Sie entsprechend eine solche Zeile ein: dns_nameservers 192.168.100.50. Starten Sie Squid nun neu, verwendet auch der Proxyserver
pdnsd. Öffnen Sie eine Internetadresse mit Firefox, geht die Anfrage erst an Squid. Der Proxyserver fragt bei pdnsd nach. Sollte die Namensauflösung noch nicht vorhanden sein,
konsultiert pdnsd einen DNS-Server im Internet. Schließen Sie den Browser nun, leeren Sie gegebenenfalls noch den Firefox-Cache und rufen Sie den Browser wieder auf. Wenn Sie die Seite erneut besuchen, sehen Sie einen wunderbaren Effekt: Zunächst einmal bekommt Squid die DNS-Auflösung von pdnsd. Die Anfrage muss also nicht ins Internet. Dann hat Squid zumindest große Teile der gewünschten Seite bereits gespeichert und liefert diese aus dem lokalen Cache aus. Sie haben nicht nur Bandbreite gespart, sondern die Seite sollte sich auch deutlich schneller geöffnet haben.
Clients automatisch versorgen Da wir pdnsd so konfiguriert haben, dass nicht nur das Raspberry Pi darauf Zugriff hat, können Sie potenzielle Clients automatisch versorgen. Mit hoher Wahrscheinlichkeit verwenden Sie einen Router, um auf das Internet zuzugreifen. Dort läuft in der Regel ein DHCP-Server. Auf der Konfigurationsseite dieser Komponente lässt sich normalerweise einstellen, welcher DNS-Server an die Clients vermittelt wird. Hier hinterlegen Sie nun die IP-Adresse des
Raspberry Pi. Somit verwendet jeder Client, auch Smartphones und Tablets, den eigenen DNS-Server. Bei Squid ist die Sache etwas komplexer. Man nennt das „transparenter Proxyserver“. Der Anwender bekommt gar nicht mit, dass sich zwischen ihm und dem Internet ein Caching-System befindet. Wollen Sie dies umsetzen, müssen Sie den Linux-Rechner als Router verwenden. Die Stichwörter an dieser Stelle sind IP-Forwarding und NAT (Network Address Translation). Sie finden im Internet zahlreiche Anleitungen und Tutorials, wie Sie IP-Forwarding und NAT via Linux realisieren. Die komplette Prozedur zu erklären, wäre an dieser Stelle zu aufwendig. Aber das Prinzip wollen wir Ihnen nicht vorenthalten. Es sind in der Regel zwei Netzwerkkarten notwendig. Haben Sie nur eine, könnten Sie auch eine Pseudo-Netzwerkkarte anlegen. Eine Netzwerkkarte wäre mit dem internen Netzwerk verbunden und die andere mit dem Internet. Sämtlicher Netzwerk-Datenverkehr würde von der internen auf die externe Netzwerkkarte geleitet, die den Traffic wiederum an das Internet weitergibt. Die Firewall des LinuxSystems konfigurieren Sie dann so, dass sämtlicher interner Datenverkehr auf Port 80 an die zweite Netzwerkkarte und Port 3128 weitergeleitet wird. Genau auf diesem Port lauscht per Standard Squid. Die Reihenfolge ist in so einem Szenario: Client -> interne Netzwerkkarte Port 80 -> Squid auf Port 3128 -> externe Netzwerkkarte -> Internet.
TIPP pdnsd: Die richtige Konfiguration Wir haben bereits erwähnt, dass die Konfigurationsdatei von pdnsd bei unterschiedlichen Linux-Systemen an anderer Stelle liegen kann. Sie können sehr schnell verifizieren, ob Sie auch die richtige Konfigurationsdatei editiert haben. Dazu dient der nachfolgende Befehl: ps -aef | grep pdnsd Verwendet ein laufender pdnsd nicht den Standard, würden Sie dies nun sehen.
Allgemeine Tipps Ob Sie zuerst Squid und anschließend pdnsd einrichten, ist nicht relevant. Sie können die beiden Caching-Server auch unabhängig voneinander und einzeln betreiben. Das Aufsetzen von Squid und pdnsd ist im Übrigen keine triviale Aufgabe. Verzetteln Sie sich daher nicht: Erst wenn eine Sache funktioniert, gehen Sie die nächste an. Darüber hinaus ist es ratsam, Zeilen einzeln zu ändern und die neue Konfiguration Schritt für Schritt zu testen. Modifizieren Sie an zu vielen Stellen und es geht etwas schief, verkompliziert das die Fehlersuche deutlich. Sollten Sie im Laufe der Zeit etwas an der Konfiguration ändern, machen Sie am besten immer eine Sicherheitskopie der funktionierenden Konfigurationsdateien. Dann besitzen Sie zumindest ein Backup, wenn etwas schiefgeht. //jd
Die Grenzen eines Raspberry Pi Ein Raspberry Pi ist bekanntlich kein Supercomputer. Als Internet-Turbo mit Squid und pdnsd eignet sich der Winzling, wenn man ihn nicht überfordert und nicht zu viele Clients dranhängt. Erwarten Sie an dieser Stelle keine Wunder. Mit einem Heimnetzwerk mit bis zu fünf Clients sollte ein Raspberry Pi aber im Großen und Ganzen gut zurechtkommen. Voraussetzung ist natürlich, dass alle Anwender lediglich Standardjobs durchführen, wie zum Beispiel Surfen im Internet. Squid verbraucht übrigens wesentlich mehr Ressourcen als pdnsd. Wenn Sie das Raspberry Pi ausschließlich als DNS-Cache einsetzen möchten, können Sie natürlich wesentlich mehr Geräte damit versorgen, ohne dass die Geschwindigkeit merklich einbricht.
Zu Testzwecken haben wir pdnsd auch auf einer ZBOX mit Intel-Atom-Technologie installiert. Die Netbook-Prozessoren sind ebenfalls keine Hochleistungsrechner. Die Anfragezeit mithilfe
eines dig-Befehls ist allerdings von elf Millisekunden (Raspberry Pi) auf eine Millisekunde (ZBOX) geschrumpft. Das zeigt schon deutlich, dass man an dieser Stelle mit einem etwas schnelleren Rechner noch spürbar mehr herausholen kann. Natürlich geht das jedoch zulasten des Stromverbrauchs. Ein Raspberry Pi benötigt bei voller Last bekanntlich gerade einmal 4 Watt. Hinweis: Je schneller Ihre Internetverbindung ist, desto kleiner ist sicherlich der durch die Caching-Systeme hervorgerufene Aha-Effekt.
pdnsd auf einer ZBOX ist deutlich schneller als auf einem Raspberry Pi
113
Raspberry Pi Zubehör Das RasPi alleine bietet schon tausend Möglichkeiten – doch mit dem passenden Zubehör lassen sich noch viel mehr interessante Projekte auf dem Winzling umsetzen
116 Jenseits der Grundausstattung Clevere Erweiterungen und Zubehör machen viele RasPi-Projekte erst möglich
124 RasPi-Alternativen Was bieten die Wettbewerber des RasPi? Der China-Rivale Banana Pi etwa hat beider Performance die Nase vorn
128 Raspberry Pi Compute Module Sie planen kommerzielle Raspberry-Pi-Projekte? Diese Weiterentwicklung des winzigen Rechners könnte genau das sein, wonach Sie gesucht haben
130 Cool und günstig: Robotik-Kit Pi2Go Mit dem Raspberry Pi auf Erkundungsfahrt – das RobotikKit Pi2Go Lite gibt’s zum Taschengeldpreis
131 Mehr Klangqualität Als Soundmaschine tritt das Raspberry normalerweise nicht in Erscheinung. Was fehlt, ist ein hochwertiges AudioInterface. Nun betritt die Cirrus Logic Audio Card die Bühne
132 Funk für Raspberry Pi und Arduino Für Bastler und Entwickler ein Traum: RasPi und Arduino tauschen sich jetzt ganz elegant per Funk miteinander aus. Zwei neue RF-Boards von Ciseco machen es möglich
133 Alarmanlage ruck, zuck selbst gebaut Eine Alarmanlage für 16 Euro verspricht das PIR-AlarmGPIO-Kit. Und in derTat: Wer bereits einRaspberry Pi und eine Kamera hat, kann mit dem Bastelsatz sofort loslegen
114
Jenseits der Grundausstattung Machen Sie mehr aus Ihrem Pi – wir stellen interessante ErweiterungsBoards und praktisches Zubehör vor
Seite 116
RasPi-Alternativen
Auch wenn sich in diesem Heft alles ums Raspberry Pi dreht, lohnt ein Blick auf andere SoC-Boards
Seite 124
Robotik-Kit Pi2Go
Für wenig Geld gibt es das RobotikKit Pi2Go Lite. Wir zeigen, was sich damit alles realisieren lässt
Seite 130
115
Zubehör
Jenseits der Grundausstattung Clevere Erweiterungen und Zubehör machen viele RasPi-Projekte erst möglich
W
ahnsinn, hnsinn, was das d Raspberry Pi für eine Lawine losgetreten hat. Seit das erste Modell im Februar 2012 auf den Markt kam, wurden unzählige Projekte mit dem kleinen Einplatinen-Rechner verwirklicht. Eine Auswahl dieser faszinierenden Projekte haben Sie in diesem Heft bereits kennengelernt. Dabei ist Ihnen sicher aufgefallen, dass viele Projekte nur mit entsprechendem Zubehör
Man kann so viel aus dem Raspberry Pi herausholen – probieren Sie es aus oder mit speziellen Erweiterungsplatinen realisiert werden können. Ein Blick ins Angebot der einschägigen Elektronikhändler zeigt, dass die Auswahl mittlerweile reichhaltig ist. Um den Überblick nicht zu verlieren, stellen wir Ihnen hier ein paar empfehlenswerte Extras vor. 116
Das Pi alleine ist zwar bereits prima zum Experimentieren geeignet, doch um das Beste aus dem Rechner zu holen, sollte man eine Portion Bastelfreude mitbringen und auch keine Scheu vor Elektronik haben. In den vergangenen drei Jahren kam eine ganze Reihe von Platinen und Erweiterungen auf den Markt. Viele dieser Geräte bringen Features mit, die nicht über die GPIO (die Pins des Pis) realisert werden können. Dazu gehört etwa MotorPitx, eine Schnittstelle für die Kommunikation mit Motoren und Servos. Denn einen Motor verbindet man eher nicht direkt über GPIO. Im Folgenden schauen wir auf ein paar dieser wunderbaren Boards. Einige heben die Beschränkungen der GPIOSchnittstelle auf, andere sind angefüllt mit Sensoren sowie integrierten Funktionen. Außerdem möchten wir auf ein paar essenzielle Geräte hinweisen, wie etwa einen WLAN-Stick im Miniaturformat (Seite 121) oder eine Notstromversorgung (Seite 122). Und wer bereits einmal mit Lego Mindstorms experimentiert hat, sollte sich den Brick Pi ansehen (Seite 120). //jr, mk
t a m r o F x u n i L : s o t o F
Zubehör
Adafruit Pi T-Cobbler Das GPIO-Interface des Raspberry Pi ist empfindlich – diese Steckplatine nicht Das GPIO-Interface mit seinen Kontakt-Pins auf dem Board des Pi bietet einen perfekten Zugang an, um mit elektronischen Bauteilen und Schaltkreisen zu experimentieren. Aber diese sind im praktischen Alltagsbetrieb leider ein bisschen zu fragil, wenn man nicht vorsichtig genug ist. Wie aber steht es damit, diese Pins auf eine Steckplatine gemappt zu bekommen? Der T-Cobbler, der im Internetfachhandel erhältlich ist, macht genau das und legt die 26 GPIO-Pins der Modelle A und B für sicheres Hacken und Lernen auf eine Steckplatine. Damit ist der T-Cobbler außergewöhnlich praktisch, um Schaltkreise auf jeder Größe eines Protoboards zu realisieren. Allerdings ist der Cobbler inkompatibel zu den Plus-Modellen – es sei denn, man verwendet ein Downgrade-Kabel. Der Bausatz benötigt ein gewisses Maß an Montageaufwand. Ein bisschen müssen Sie verllöten. Das ist jedoch nicht schwierig und sollte in maximal 30 Minuten erledigt sein. Dankenswerterweise e benötigt der T-Cobbler keine speziellen Treiber r oder eine besondere Konfiguration. Er arbeitet rb quasi sofort. Um allerdings die GPIO-
Pins überhaupt auf dem Raspberry Pi nutzen zu können, müssen die entsprechenden Pakete, python-dev und python-rpi.gpio, mittels apt-get im Terminal installiert werden. Der T-Cobbler ist recht nützlich, wenn es um die Herstellung eines Prototyps im Rahmen eines neuen Projekts geht. Sämtliche Pin-Belegungen sind deutlich erkennbar auf die Platine gedruckt und machen Funktionen wie GND, 5V, I2C und SPI sofort sichtbar. Wir haben den T-Cobbler mit einem „Hello World“-ähnlichen Skript fürs GPIO, sprich das An- und Ausschalten einer LED, verbunden über eine Steckplatine, getestet. Es hat sich herausgestellt, dass der T-Cobbler ein ganz besonderes Stück Hardware ist, mit dem sich sehr schnell und bequem Projekte entwerfen und testen lassen. Adafruit stellt zusätzlich eine kleinere Fassung her, doch da sind die Belegungen weniger gut sichtbar. Unserer Einschätzung nach könnte das Bauteil eine große Zukunft in Hackspace und Schule bekommen.
Der T-Cobbler ist besonders hilfreich, um die GPIOSchnittstelle kennenzulernen
Kurz-Check Adafruit Pi T-Cobbler Hersteller: Adafruit Web: www.adafruit.com
(Hersteller) Preis: ca. 7,50 €
Fazit: Diese kleine Erweiterungsplatine ist wesentlich stabiler als das GPIO-Interface des Raspberry Pi.
Motor PiTX
Dieses pfiffige kleine Board steuert Servos und Motoren Dies Roboter erobern den Planeten! Selbst Google investiert stark in diesen Sektor. Roboter sind zudem längst in die heimischen vier Wände eingezogen. Großartig ist etwa ein Staubsaugerroboter. Das Raspberry Pi hat sehr schnell eine ganze Reihe von Roboter-Projekten assimiliert. Doch ist das ohne Boards wie MotorPiTX recht schwierig. Diese vertreibt der englische Entwickler Jason Barnett noch selbst. Mit der MotorPiTX-Platine, die perfekt auf das Pi-Board passt, lassen sich zwei Motoren oder Servos kontrollieren. Außerdem bietet sie zwei Anschlüsse für externe Stromquellen: Der eine nutzt MicroUSB, mit dem anderen lassen sich normale Akku-Packs verbinden. Damit wird das Raspberry Pi mobil. Barnett hat darüber hinaus eine Stromversorgungsfunktion mit An-/AusSchalter implementiert, der sehr nah am ATXSystem entlang modelliert wurde. Er beseitigt auf diese Weise einen wesentlichen Mangel des „nackten“ Raspberry Pi. Damit ist die kleine Platine genauso zu steuern wie ein PC. Man muss also keinen Stecker mehr ziehen. Wenn man beispielsweise einen Roboter oder einen Schwenk-
neigekopf für eine Kamera bauen möchte, verbindet man den MotorPiTX mit dem Raspberry Pi und schließt die entsprechenden Motoren oder Sensoren an die Erweiterungsplatine an. Folgt man der Dokumentation von Barnett, erhält man einen guten Überblick über das Board. Darüber hinaus gibt es eine Github-Seite (github.com/ Boeeerb/MotorPiTX) mit dem passenden Modul. Ein Installationsskript fehlt allerdings leider noch. Installiert werden zwei Dateien: der Dämon servod von Richard Hirst und das Python-Modul motorpitx.py. Ist das erledigt, klemmt man einen einfachen Servo an die Platine und schreibt am besten ein einfaches Skript zum Testen. Die Funktionen des Moduls werden in einer hilfreichen Reame-Datei erklärt. MotorPiTX lässt sich mit einer ganzen Reihe von Motoren und Servos nutzen. Damit werden ferngesteuerte Maschinen Wirklichkeit. Aber auch alle durch Servos gesteuerten Apparate lassen sich schnell zusammenbauen. Knappe 10.000 Euro bekam das Kickstarter-Projekt zusammen; man kann nur hoffen, dass dies ein Ansporn für weitere Updates 2015 ist.
Der Bau eines Roboters mit dem MotorPitX und Pi ist leicht geworden
Kurz-Check MotorPiTX Hersteller: Jason Barnett Web: www.boeeerb.co.uk/motorpitx Preis: ca. 33 € (zusammengebaut) Fazit: Mit dieser Erweiterung ist der Bau eines Robots keine unüberwindliche Hürde mehr.
117
Zubehör
PiFace 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 (siehe auch Seite 76). 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 € Fazit: Wer professionelle Projekte mit dem Pi realisieren will, kommt am PiFace nicht vorbei.
XLoBorg Widerstand zwecklos, dieses Board macht einen zum PiBorg! 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 118
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 Plus-Modellen. Auf www.piborg. 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 GPIOPins 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 € Fazit: Trekkies können die Sensorkarte benutzen, um ihren Pi-gesteuerten Tricorder zu bauen
t a m r o F x u n i L : s o t o F
Zubehör
PiFace Control So steu steuer ern n Sie Sie das das RasP RasPii oh ohne ne Maus Maus,, Moni Monittor un und d Tasta astatu turr Das Raspberry Pi avanciert zur primären Plattform für Projekte, Projekte, die das Internet der Dinge lebendig werden werden lassen. Doch ein Problem ist damit stets verbunden: Man bleibt mit Blick auf die Kontrolle von Ein- und Ausgabe im laufenden laufenden Zustand abhängig von Keyboards, Keyboards, Maus und Monitor. Monitor. Was aber, aber, wenn man ein Internetradio 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 PiFace Control & Display ins Spiel kommt. PiFace PiFace Control & Display ist eine Erweiterungsplatine Erweiterungsplatine,, die über eine Reihe von Mikroschaltern Mikroschaltern und ein Jog-Rad Systemeingaben Systemeingaben ermöglicht, deren Output über einen einen kleinen LC-Bildschirm LC-Bildschirm ausgegeben ausgegeben werden. Ein weiteres spannendes Feature ist der eingebaute InfrarotEmpfänger, Empfänger, der zur Zusammenarbeit Zusammenarbeit mit FernbeFernbedienungen programmiert werden kann. PiFace PiFace Control & Display passt nahtlos auf alle GPIO-Pins und ist ungefähr so groß wie das Raspberry Pi selbst. Die Softwareinstallation Softwareinstallation ist unkompliziert. Es wird nur ein schnelles schnelles Update der Repositories benötigt. Abschließend Abschließend erfolgt
die Installation von python3-pifacecad python3-pifacecad (Python 2-Nutzer lassen die 3 einfach weg). Um das Board zu prüfen, ließen wir das mitgelieferte Testprogramm estprogramm laufen, das die IP-AddresIP-Addresse, die Temperatur und und die CPU-Last des Pi über den LC-Screen LC-Screen ausgibt. Die Tests bestehen bestehen aus 60 Zeilen Python-Code Python-Code und es ist herrlich zu sehen, dass die Library eine unglaubliche unglaubliche Fülle an Funktionen Funktionen implementiert. Ganz besonders machte es Spaß, die Abfahrtszeiten Abfahrtszeiten von Zügen abzurufen abzurufen (leider nur für Großbritannien), und auch die Beispielskripte eines Internetradios sind nützlich. Allein diese vorgefertigte vorgefertigten n Programme zeigten uns, uns, wie extrem vielseitig die Platine ist. PiFace PiFace Control & Display erleichtert erleichtert selbstständige Projekte ungemein. ungemein. Die Infraroteingabe Infraroteingabe ist außerdem außerdem eine willkommene Erweiterung, Erweiterung, die neue Einsatzbereiche Einsatzbereiche erschließt. erschließt. Im Vergleich zu anderen Produkten ist diese Platine konkurrenzlos mit Blick auf die Vielfalt der Funktionen. Funktionen.Wer Wer Maschinen auf Augenhöhe Augenhöhe mit der Industrie oder künstlerische künstlerische Installationen verwirklichen möchte, sollte hier zugreifen. zugreifen.
Diese schicke Platine stemmt vom Internetradio bis zur Zeitrafferkamera Zeitrafferkamera ganz unterschied unterschiedliche liche Anwendunge Anwendungen n
Kurz-Check PiFace Control & Display Hersteller: Element 14 Web: www.piface.org.uk Preis: ca.27 € Fazit: Mit diesem Board haben Sie eine Menge Spaß und kontrollieren kontrollieren Ihr Pi auf einfachste Weise
Ab in die Matrix mit PiFace Control & Display Seit PiFace PiFace Control & Display auf den Markt gekommen gekommen ist, wird fleißig experimentiert. Ein Projekt, das der Hersteller selbst realisiert realisiert hat, greift Kinogeschichte Kinogeschichte auf. Als 1999 sensationelle 360-Grad-Aufnahmen 360-Grad-Aufnahmen den Kultstatus des Cyberpunk-Klassikers Cyberpunk-Klassikers „Matrix“ begründeten, waren extrem extrem teure Digitalkamera Digitalkamerass nötig, um den „Bullet-Time-Effekt“ „Bullet-Time-Effekt“ zu verwirklichen. Heute reicht dafür ein Ring aus Raspberry Pis mit aufgesteckten PiFace Control & Display-Boards und Pi-Kameras. Das PiFace-T PiFace-Team vernetzte mit 500 Metern Kabel 48 solcher Geräte und pro-
duzierte eine Zeitraffersequenz Zeitraffersequenz aus simultan aufgenommenen aufgenommenen Fotos aus 48 verschiedenen Blickwinkeln. Dahinter steckt einfacher einfacher Code, der allerdings auf einigem Netzwerkwissen Netzwerkwissen basiert. Doch es muss ja nicht gleich diese Dimensionen annehmen. Auch Privatanwender Privatanwender können mit Zeitrafferkamera Zeitrafferkamerass viele interessante Aufnahmen etwa im Garten realisieren. Denken Sie an den kommenden Frühling Frühling und filmen Sie, wie die Krokusse erblühen. erblühen. Oder wie wäre es mit einem Fotoautomaten für die nächste Party? Den Code zur Steuerung des PiFace PiFace Control
& Display-Boards ist über die Webseite Webseite zu beziehen. Die Python-Library für das das Raspberry Pi-Kameramodul Pi-Kameramodul in Version 1.9 bietet enorme Steuerungsmöglichkeiten, Steuerungsmöglichkeiten, etwa die Modifikation der Helligkeit, und bringt ZeitrafferfunktioZeitrafferfunktionen gleich mit (https://pypi.python.org/pypi/ (https://pypi.python.org/pypi/ picamera picamera). ). Die Kombination unterschiedlicher Input-Hardware Input-Hardware wie Knöpfe, Schalter oder der Infrarot-Receiver komplettieren manches Projekt. Der kleine LC-Bildschirm ersetzt ersetzt außerdem vorzüglich das Anschließen eines großen großen Monitors.
Bullet-Time-Bilder wie aus „Matrix“ mit insgesamt 48 Kleinstrechnern!
119
Zubehör
Farnell GertDuino So verb verbin inde den n Sie Sie die die Welte elten n von von Rasp Raspbe berry rry Pi un und d Ardu Arduin ino o Hobbyelektronike Hobbyelektronikerr haben nicht nur mit dem Raspberry Pi viel Spaß – auch das Arduino-Board Arduino-Board erfreut sich großer Beliebtheit. Und genauso genauso wie das RasPi RasPi lässt sich das Arduino beliebig erweitern. erweitern. Genau an dieser Stelle kommt der neue „GertDuino“ „GertDuino“ ins Spiel: Die Erweiterungsplatine Erweiterungsplatine ist kompatibel zum Arduino – ersetzt es also – und wird direkt direkt auf das Raspberry Pi aufgesteckt. aufgesteckt. GertDuino bietet wesentwesentlich mehr Funktionen Funktionen als das klassische Arduino-Board Arduino-Board und ist damit die ideale Grundlage für Experimente. Experimente. Zudem können Sie mit dem GertDuino fast alle bekannten bekannten ArduinoShields nutzen – ein weiterer Vorteil dieser Lösung.
Vielseitig: Mit dem GertDuino bringen Sie die Welt des Raspi und die des Arduino zusammen
INFO
Gute Ausstat Ausstattung tung Zum Leistungsumfang Leistungsumfang des GertDuino-Boards: GertDuino-Boards: Die Platine ist mit zwei Atmel-Atmega-MC Atmel-Atmega-MCUs Us (AT328, (AT328, AT48) bestückt. Sie lassen sich beide über über das Raspberry Pi per ArduinoGUI oder mit dem GCC-Atmel-Compiler GCC-Atmel-Compiler programmieren. programmieren. Zu den weiteren Leistungsmerkmalen gehören ein Echtzeittakt (RTC), (RT C), eine IrDA-Schnittstelle, IrDA-Schnittstelle, ein RS232-Pegelumsetz RS232-Pegelumsetzer er sowie eine Batterie-Backup-Stromversor Batterie-Backup-Stromversorgung gung für den Atmega-48. Interessant Interessant zu wissen: Sie können den GertDuino auch als Standalone-Komponente in Ihren Projekten einsetzen. Die genaue Pin-Belegung Pin-Belegung und ein Blockschaltbild hält die technische Dokumentation Dokumentation zum GertDuino bereit. bereit. Sie finden die Beschreibung Beschreibung unter folgender Adresse: Adresse: www.
farnell.com/datasheets/1778121 .pdf. Wenn Sie das Board farnell.com/datasheets/1778121.pdf. programmieren programmieren möchten, benötigen Sie diverse Programme (sudo apt-get install arduino), Bibliotheken und Skripte. Näheres Näheres dazu steht im Handbuch. Was die mechanische Kompatibilität zum neuesten neuesten Raspberry-Modell („B+“) angeht: Mit einem Extended Header (eine Buchsenleiste Buchsenleiste mit besonders langen Pins) sorgen Sie für genügend genügend Abstand zur Raspberry-Pi-Platine. Raspberry-Pi-Platine. Ein solcher Extended Header kostet zwischen 1 und 2 Euro.
Fazit: Ein gutes Erweiterungsboard für erfahrene Elektronikbastler. bastler. Einer der Vorteile des Boards Boards ist, dass es den Zugriff Zugriff auf das ArduinoArduinoZubehör ermöglicht. Preis:
ca. 28 Euro Euro Web:
www.exptech.de
BrickPi Klas Klasse se,, das das RasP RasPii sorgt sorgt für für mehr mehr Rech Rechen enpo powe werr bei bei Proj Projekt ekten en mit mit Lego Lego Mind Mindst stor orms ms Aus einem einem bunten Klötzchenspiel hat sich eine ernsthafte ernsthafte Beschäftigung Beschäftigung für Jugendliche Jugendliche und Erwachsene Erwachsene entwickelt. Die Rede ist von den weltbekannten Lego-Steinen, Lego-Steinen, die als „Lego „Lego Mindstorms“ ein intelligentes intelligentes Eigenleben als programmierbare grammierbare Roboter führen. führen. Dexter Industries, Industries, eine Firma, die sich mit Robotertechnik in der Bildung beschäftigt, beschäftigt, bringt nun das das RasPi mit ins Spiel. „BrickPi“ ist ein Arduinobasiertes Zusatzboard, Zusatzboard, das sich mit Lego Lego Mindstorms Mindstorms kombinieren lässt und die Daten der Mindstorms-Roboter an das Raspberry weiterleitet. weiterleitet. Das Pi sorgt so für eine Extraportion Maschinenintelligenz Maschinenintelligenz – auf diese Weise Weise entsteht aus Lego Lego eine hochinteressante hochinteressante Experimental- und Technikplattform – vom gesteigerten Spielspaß ganz abgesehen.
Die Steuerung des BrickPi basiert auf Python. Für Mindstorms gibt es mit EV3 eine eigene Software für junge Programmierer
INFO
Zugri auf Mindstorms-Daten Mindstorms-Daten Zur Technik: BrickPi ist sozusagen der Dolmetscher beziehungsweise hungsweise die Schnittstelle Schnittstelle zwischen dem Raspberry Pi und den Lego-Mindstorms-NXT-Motoren sowie den dazugehörigen Sensoren Sensoren und Aktoren. Aktoren. Zum Lego-System Lego-System gehören beispielsweise Farb-, Farb-, KontaktKontakt- und Lage-Sensoren. Lage-Sensoren. Diese Daten versetzen versetzen das Raspberry Pi in die Lage, die Gerätschaften des Mindstorms-Systems Mindstorms-Systems zu steuern und interaktiv auf Änderungen in der Umgebung zu reagieren. reagieren. Sie können bis zu drei Lego-Mindstorms-NXT-Motoren und vier Sensoren Sensoren am BrickPi anschließen. Wer bereits bereits mit dem 120
Arduino Uno gearbeitet gearbeitet hat, wird auf der Platine des BrickPi einen alten Bekannten wiederentdecke wiederentdecken: n: nämlich den Atmel-Mikrocontroller mel-Mikrocontroller Atmega328. Atmega328. Getaktet ist er mit 16 16 MHz. Um die Motoren kümmert sich der Texas Instruments SN754410. SN754410. Als Kraftwerk dienen dem BrickPi acht externe AA-Batterien, AA-Batterien, die auch gleich di e Stromversorgung Stromversorgung der Motoren, der Sensoren und des Raspberry Pi übernehmen. Wichtiger Hinweis Hinweis für alle Besitzer eines Plus-Modells: Das BrickPi ist dazu kompatibel.
Fazit: Jetzt bekommt das Lego-Mindstorms-System ein digitales Gehirn. Gehirn. Das bringt die bunten Klötzchen wieder auf Trab. Preis:
ca. 110 Euro Euro Web:
www.experimen tiershop.de
t a m r o F x u n i L : s o t o F
Zubehör
Pi-Kamera
Edimax
Kame Kamera ramo modu dull mach machtt mehr mehr aus aus Ihre Ihrem m Pi
WLANWLAN-Ad Adap apte terr fürs fürs Raspb Raspberry erry Pi
Langweilig Langweilig wird es Ihnen mit dem Raspberry Pi sicherlich nie. So lässt sich der MiniComputer nachträglich mit einem digitalen Kameramodul ausrüsten – ideal für Experimente, Experimente, etwa im Bereich der Naturbeobachtung, Naturbeobachtung, der Hausüberwachung oder um Physik- oder ChemieProjekte zu dokumentieren. Das kompakte Kameramodul ist überall im Versandhand sandhandel, el, etwa etwa bei Amazon, Amazon, Conrad, Conrad, ELV ELV oder Reichelt Elektronik für rund 25 Euro zu bekommen. Seine technischen technischen Daten können sich sehen lassen: Das digitale Auge arbeitet arbeitet mit einem 5-Megapixel-Sensor, 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 Framerate von 30 fps auf. Sobald die Kamera per Flachbandkabel Flachbandkabel mit dem RasPi verbunden ist, ist, muss sie noch mittels sudo raspi-config aktiviert werden. Anschließend wählen Sie im Menü Enable Camera.
Auf der Platine des Raspberry Pi befindet sich kein WLAN-Modul – das gilt leider auch für das allerneueste Modell. Also muss man man sich anderweitig behelfen: Per WLAN-Adapter WLAN-Adapter bringen Sie Ihr Raspi drahtlos ins Netz – der Anschluss erfolgt erfolgt über die USB-Buchse. USB-Buchse. Wenn Sie das aktuelle aktuelle Modell Modell A+ oder B+ besitzen, besitzen, sollte der WLAN-Adapter einwandfrei arbeiten, ohne dass die Spannung zusammenzusammenbricht. Für die beiden älteren Raspberry-PiRaspberry-PiModelle empfiehlt sich ein aktiver USB-Hub, USB-Hub, um die Stromversorgung Stromversorgung zu stabilisieren. Sie könnten natürlich mehrere WLAN-Adapter WLAN-Adapter ausprobieren, ausprobieren, da nicht jeder funktioniert. funktioniert. Oder Sie greifen einfach zum Edimax EW-7811Un Wireless Wireless USB Adapter. Adapter. Dieser WLAN-Adapter WLAN-Adapter ist wirklich winzig und wird vom RasPi voll unterstützt. unterstützt. Falls Falls die Reichweite Reichweite zu gering ist, können Sie den Adapter auch mit einem exterexternen USB-Kabel am RasPi anschließen.
INFO Fazit: Wenn Sie sich nur eine einzige Erweiterung zulegen wollen, wollen, kommt kommt die Kamera sicherlich in die engere Wahl. Preis:
ca. 25 Euro Euro Web:
www.amazon.de
INFO Fazit: Nicht jeder jeder WLANWLANAdapter arbeitet mit dem RasPi zusammen. zusammen. Der Edimax EW7811UN aber ganz bestimmt. Preis:
ca. 9 Euro Euro Web:
www.amazon.de
Ada daffru ruiit Pi PiTF TFT T Mi Min ni Ki Kitt Ein Ein schö schöne ness Tou ouch chdi disp spla layy in Farbe arbe zum zum gü güns nsti tige gen n Prei Preiss – was was will will man man mehr mehr? ? Ein Touchscreen ouchscreen für das Raspberry Raspberry Pi? Ja, so etwas gibt es. Das entsprechende entsprechende Produkt nennt sich kurz und bündig „PiTFT“. Ebenso kompakt kompakt sind seine Maße. Maße. Es handelt sich sich dabei um einen 2,8-Zoll kleinen Farb-Touchscreen mit 320 x 240 Pixeln Auflösung (16 (16 Bit). Mit einem modernen modernen Computermonitor will und kann dieser digitale Bildschirm sicherlich nicht konkurrieren. Aber er ist eine perfekte Ergänzung Ergänzung zum Raspberry Pi – und nur darum geht es schließlich. Seine Abmessungen Abmessungen korrespondieren korrespondieren in etwa mit der Größe der Raspberry-Platine, Raspberry-Platine, der PiTFT passt übrigens übrigens auch auf auf die aktuellen Plus-Modelle. Bei dieser Gelegenheit Gelegenheit ein Hinweis für Bastler: Sie müssen die Unterseite der Platine gegen die USB- und LAN-Buchsen isolieren isolieren (Klebeband).
Moderne Zeiten: Auch ein RasPi lässt sich per Touchscreen bedienen. Das PiTFT macht es möglich
INFO
Ein TFT für erfahr erfahrene ene Bastler Bastler Zusammen ergeben ergeben PiTFT und RasPi eine kompakte Einheit. Dazu trägt bei, bei, dass das Display direkt direkt auf das das RasPi gesteckt gesteckt wird. Sie können also beide Baugruppen in einem Gehäuse unterbringen unterbringen – falls gewünscht. Die Bedienung erfolgt wahlweise wahlweise mit dem Finger oder einem Stift – je nachdem, was Ihnen Ihnen lieber lieber ist. Was den PiTFT auch für für Projekte Projekte interessant interessant macht, ist der Umstand, dass nur weniwenige Pins der GPIO-Leiste GPIO-Leiste für die Steuerung Steuerung des Displays verwendet verwendet werden. Die übrigen Pins bleiben für Basteleien frei. Apropos Basteleien: Basteleien: Mit dem PiTFT erwerben Sie Sie kein
schlüsselfertiges schlüsselfertiges Produkt, Produkt, sondern einen Bausatz, Bausatz, bei dem Sie noch einige Lötarbeiten verrichten verrichten müssen. Auch die Knöpfe, die Sie als Zubehör kaufen können, müssen eingelötet werden. Falls Sie nur wenig Erfahrung mit dem Lötkolben haben, haben, ist das PiTFT also mit Vorsicht zu genießen. genießen. Damit der Bildschirm nicht dunkel bleibt, müssen Sie einen angepassten angepassten Linux-Kernel auf dem Raspberry installieren. Weiterführe Weiterführende nde Infos (inklusive Download) dazu finden Sie unter http://goo.gl/jHuocN. unter http://goo.gl/jHuocN.
Fazit: Für alle, die das RasPi zum Beispiel mobil einsetzen wollen. wollen. Auch sinnvoll, sinnvoll, wenn kein Fernzugriff über einen PC etwa etwa per VNC möglich ist. Preis:
ca. 45 Euro Euro Web:
www.exptech.de
121
Zubehör
Pi USV
Kompakt: Die kleine Pi USV nimmt nur wenig Raum auf der Platine des Raspberry ein
So bleibt die Stromversorgung gesichert 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 – keine Frage, das ist mehr als ärgerlich. Gegen solche Ausfälle kann man sich absichern, zum Beispiel durch eine kleine USV-Anlage, also eine unterbrechungsfreie Stromversorgung. Vor allem dann, wenn Sie Entwickler sind und das Raspberry Pi in kommerziellen Projekten einsetzen, ist eine solche Anschaffung sicherlich empfehlenswert.
INFO Fazit: Lohnens-
Einfache Handhabung Unter der Bezeichnung „Pi USV“ bietet die CW2 GmbH (http://piusv.de) eine Lösung für alle Raspberry-Pi-Versionen an, inklusive der Plus-Variante des RasPi. Es ist bereits ein Nachfolger in Planung, nämlich das Modell „Pi USV +“. Es soll auch die Stromversorgung anderer Kleinstcomputer, sprich Arduino, Beaglebone sowie Banana Pi übernehmen. Dafür wird dann eine zusätzliche Adapterplatine benötigt. Doch zurück zum Grundmodell: Die Spannungsversorgung des Raspberry erfolgt über die GPIO-Leiste. Das Pi USV wird dabei direkt auf den GPIO-Port gesteckt. Die Kommunikation zwischen Raspberry und der Mini-USV erfolgt über den
I2C-Bus. Sobald die Primärversorgung ausfällt, schaltet die USV auf Batteriebetrieb (6 x AA) um. Wichtig zu wissen: Das Pi USV ist nicht für den Dauerbetrieb des RasPi gedacht, sondern dient nur dazu, den Minicomputer kontrolliert herunterzufahren, sodass keine Daten verloren gehen. Das bisherige USV-Modell besitzt keine Akkuladefunktion, diese Option ist für den Nachfolger Pi USV + vorgesehen. Das zukünftige Plus-Modell soll mit Solarzellen zusammenarbeiten, so der Hersteller.
wert für alle ernsthaften Projekte, bei denen es auf Datensicherheit ankommt. Gut: Per Software lässt sich der Batteriestatus abfragen. Preis:
ca. 30 Euro Web:
www.pollin.de
RaspiComm Schnittstellenkarte für Motoren, PCs und mehr Falls Sie für Ihre Raspberry-Pi-Projekte eine spezielle I/OPlatine für die serielle Kommunikation benötigen, sind Sie beim „RaspiComm“ an der richtigen Adresse. Das Erweiterungsboard kommt zum Beispiel für alle Vorhaben in Betracht, bei denen komplexere Steuerungsaufgaben anfallen. Das kompakte Erweiterungsboard der Firma Amescon wird oben auf das Raspberry Pi gesteckt – was sowohl bei den „alten“ Raspberry-Pi-Modellen als auch dem Nachfolger, sprich der Plus-Variante, problemlos funktioniert.
Spezialist: Wenn es auf serielle Kommunikation ankommt, sorgt RaspiComm für den Datentransfer
Bereichert jedes Projekt Doch zurück zur Platine: Sie verbinden das RaspiComm mit dem GPIO-Header des Raspberry Pi, wobei Sie darauf achten sollten, dass keine Spannung anliegt. Ziehen Sie vor der Montage den Stecker des Netzteils ab. Das RaspiComm bietet Ihnen unter anderem eine RS-485-Schnittstelle (für Schrittmotorensteuerungen), eine RS-232-Schnittstelle (Kommunikation mit Computer oder Modem), eine Echtzeituhr mit Batterie, einen I2C-Steckverbinder (für Sensoren und Displays), zwei 5-Volt-Ausgänge sowie einen 5-Wege-Joystick. Dadurch, dass die Echtzeituhr batteriegepuffert ist (Laufzeit bis zu zehn Jahre), können Sie sich bei Projekten darauf verlassen, dass kritische Steuerungsprozesse immer zur vorgesehenen Uhrzeit gestartet beziehungsweise beendet werden. Ein Setup-Skript konfiguriert 122
INFO Fazit: Kein
die Echtzeituhr und synchronisiert die Systemzeit automatisch beim Neustart des RasPi. Damit ist keine EthernetVerbindung mehr notwendig, um die Systemzeit aktuell zu halten. Das Board ist komplett vormontiert und direkt einsatzbereit. Für den Betrieb wird eine Distribution mit I2CSupport und SPI-Bus-Unterstützung benötigt. Weitere Infos dazu und zur Konfiguration finden Sie im deutschsprachigen Handbuch unter http://goo.gl/EOCS24. Hinweis: Ein Nachfolger ist derzeit in Planung.
Produkt für Einsteiger. Setzt gute Elektronikkenntnisse voraus. Ideal, wenn Signale über weite Strecken geleitet werden müssen. Preis:
ca. 50 Euro Web:
www.pollin.de
t a m r o F x u n i L : s o t o F
Zubehör
Quick2Wire GrovePi Schnittstellen-Board mit vielen Vorteilen
Sensoren-Vielfalt fürs Raspberry Pi
Mit den empfindlichen Anschlüssen des Raspberry Pi herumzuhantieren ist nicht jedermanns Sache. Abhilfe schafft das „Quick2Wire Interface Board“, mit dem Sie leichter an die Anschlüsse des RasPi herankommen. Das Board bietet Ihnen acht Ein- und Ausgänge, eine serielle UART- und eine I2CSchnittstelle sowie zwei SPI-Verbindungen. Ein weiterer Pluspunkt dieser Lösung: Die Karte schützt die empfindliche 3,3-Volt-Elektronik des Raspberry vor einem typischen Bastlermissgeschick: nämlich dem direkten Anschluss von 5-Volt-Komponenten. Schon alleine deshalb lohnt sich die Anschaffung für alle, die häufig selbst entwickelte Schaltungen aufbauen und testen. Die Verbindung zwischen dem Quick2Wire-Interface-Board und dem Raspberry stellt ein Flachbandkabel her. Wenn Sie das Board an einem neuen Plus-Modell betreiben wollen, benötigen Sie einen Extended Header.
Braucht man das GrovePi? Ja, unbedingt! Der Grund: Hierbei handelt es sich nicht um eine der üblichen Erweiterungskarten, sondern um ein durchdachtes Modulsystem. Damit erweitern Sie Ihr RasPi um über hundert verschiedene Sensoren, Taster, LEDs, Relais und viele andere interessante Komponenten. Entwickelt wurden das Konzept und die darauf basierenden Produkte von Seeedstudio. Die Firma beschäftigt sich unter anderem mit Erweiterungen für den Arduino. Dexter Industries macht diese Komponenten nun mit dem GrovePi auch fürs RasPi zugänglich. Einen kleinen Eindruck, was es alles gibt, vermittelt die Seite: www.seeedstudio.com/wiki/GROVE_ System. Die Platine ist zu den Plus-Modellen kompatibel.
INFO
INFO
Fazit: Sorgt für
Fazit: GrovePi
mehr Sicherheit und Bequemlichkeit beim Umgang mit dem RasPi. Top für Einsteiger. Preis:
erschließt dem RasPi ganz neue Dimensionen. Die Auswahl an Modulen für das GrovePi ist gigantisch.
ca. 35 Euro
Preis:
Web:
ca. 24 Euro
www.amazon. com
Web:
www.pi-shop.ch
USB-Soundkarte Werten Sie den Klang des RasPi mit geringem Aufwand deutlich auf 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. Eine Variante, um den dünnen Klang deutlich zu verbessern, sind spezielle Soundkarten wie etwa die „Wolfson Audio Card“ oder der Nachfolger „Cirrus Logic Audio Card“ für die neuen Plus-Modelle des Raspberry Pi. Sind Ihnen diese Lösungen zu teuer, bleibt immer noch eine USB-Soundkarte als Alternative zum analogen Ausgang mit der 3,5-mm-Klinke.
Sparlösung: Für die ersten Klangexperimente mit dem Raspi genügt eine preiswerte USB-Soundkarte
INFO
Guter Sound für wenig Geld Wie wäre es zum Beispiel mit der preisgünstigen „USB 3D Sound Model 68878“, die Sie bereits für unter zehn Euro bekommen? Die Soundkarte basiert auf dem Chipsatz „Tenx Technology tp 6911“. Sie bietet USB-2.0-Unterstützung, zudem stellt sie jeweils einen Ein- und Ausgang für Mikrofon und Kopfhörer bereit – in Stereo. Die technischen Daten des Chipsatzes finden Sie unter folgender Adresse: www.iamnota.net/hw:tp6911. Allerdings kann bei USB-Soundkarten ein generelles Problem im Zusammenspiel mit dem RasPi auftauchen: Die Karte bleibt stumm, im Kopfhörer kommt kein Ton an. Eine kleine Änderung in der ALSA-Konfigurationsdatei schafft hier Abhilfe. Schließen Sie die Soundkarte an und booten
Fazit: Mit einer
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 RasPi neu. Jetzt sollte die Musik über den Kopfhörer ausgegeben werden.
kleinen USBSoundkarte sorgen Sie beim RasPi für besseren Sound. Zu viel darf man allerdings angesichts des niedrigen Preises nicht erwarten. Preis:
ca. 10 Euro Web:
www.amazon.de
123
Zubehör
RasPi-Alternativen Einplatinen-Computer werden immer beliebter. Viele neue Geräte bereichern den Markt. Wir haben die Kleinstcomputer verglichen und sagen, welche Boards sich für welche Zwecke eignen
Arduino Uno
Ursprünglich als Studentenprojekt gestartet, avancierte der Arduino schnell zum begehrten Objekt von Elektronikbastlern INFO Der Arduino Uno ist weit verbreitet und gut dokumentiert – Letzteres macht ihn auch für Einsteiger sehr attraktiv.
124
Eigene elektronische Schaltungen und Projekte zu entwickeln ist seit einiger Zeit äußerst angesagt. Vor allem die verschiedenen Arduino-Platinen und das weltweit beliebte Raspberry Pi sorgten für einen ordentlichen Schub in Sachen elektronische Basteleien. Ausgangspunkt für die rasante Entwicklung war das Jahr 2005. Damals stellten Studenten des Instituts für Interaktives Design den kreditkartengroßen Arduino vor. Ziel war es, eine preiswerte Lösung zu finden, die von Studenten und Künstlern für multimediale Projekte genutzt werden konnte. Ähnliche Produkte kosteten zu dieser Zeit weit über 100 Euro. Der Arduino wurde von einem Team entwickelt, unter dessen Mitgliedern sich besonders Massimo Banzi hervortat, der als treibende Kraft des Projekts gilt. Das erste Board, das einfach Arduino getauft wurde, fand schnell eine Ni-
sche in einer kleinen Gemeinde von Studenten. Im Laufe der Zeit wuchs der Markt für das Gerät, was letztlich daran lag, dass nicht nur Studenten, sondern auch immer mehr Elektronikbastler das Board für sich entdeckten. Der Arduino öffnete Künstlern und Kreativen die Welt des Programmierens, weil er verhältnismäßig einfach zu beherrschen ist. Der Arduino Uno Revision 3 basiert auf dem ATmega328. Er bietet 14 digitale I/O-Pins, von denen sechs PWMSignale ausgeben können. Zusätzlich gibt es sechs analoge Eingänge und einen USB-Anschluss. Für die Erweiterung werden vorbestückte oder teilweise unbestückte Platinen – sogenannte „Shields“ – angeboten, die auf das Arduino-Board aufsteckbar sind. Es können aber beispielsweise auch Steckplatinen für den Aufbau von Schaltungen verwendet werden.
Der Arduino Uno gilt als ultimative Plattform für die MikrocontrollerProgrammierung
Kurz-Check Arduino Uno rev 3 Hersteller: Arduino Web: www.arduino.cc Preis: circa 20 Euro Fazit: Von der Wetterstation bis zum Sprachcomputer: Mit dem Arduino lassen sich unzählige Projekte umsetzen.
) i P a n a n a B ( m o c . g 3 i P , t a m r o F x u n i L : s o t o F
Zubehör
Intel Galileo Diese Platine setzt als einzige auf den hauseigenen IntelProzessor – und nimmt dafür Nachteile in Kauf INFO Ein mit dem Arduino kompatibles Board, das aber auf Intel basiert.
Arduino-Boards basieren historisch auf ATMEL ATMega Chips wie etwa dem ATMega328p. Daher entwickelte Intel den Galileo mit Blick auf den wachsenden Markt an Komponenten für Hardware-Basteleien. Intel nutzt die Spezifikationen des Arduino, verwendet aber die eigene Quark-X1000CPU mit einer Taktung von 400 MHz. Verbaut wurden 256 MByte RAM. Der Galileo besitzt das gleiche Pin-Layout wie die bekannten Arduino-Boards. Zusätzlich gibt es auch microSD- und Ethernet-Schnittstellen, was den Kauf separater Erweiterungen spart. Eine Neuerung ist die Mini-PCI-ExpressSchnittstelle auf der Unterseite. Damit kann das Board mit WiFi, Bluetooth, GSM oder SSD interagieren. Das Betriebssystem basiert auf einem LinuxKernel und ist ähnlich flexibel wie ein Raspberry Pi. Der Galileo ist in Sachen Programmierung und Erweiterungen
kompatibel mit dem Arduino Uno Revision 3. Damit haben seine Nutzer auch Zugriff auf Tausende Projekte und Ideen, die mit dem Arduino bereits umgesetzt worden sind. Um auf dem Galileo Projekte zu entwickeln, muss jedoch eine Spezialversion der Arduino-Entwicklungsumgebung eingesetzt werden, die auf der Seite des ArduinoProjekts heruntergeladen werden kann (http://arduino.cc). Der Galileo ist ein Board für das Prototyping mit viel Potenzial, gerade wegen der Kompatibilität zum Arduino. Denn auf diese Weise kann die Platine einfach in jedes Arduino-Projekt integriert werden. Der größte Nachteil des Intel-Boards ist die Wärmeentwicklung des Quark-Prozessors. Seien Sie vorsichtig, denn das Teil kann im Betrieb rasch sehr heiß werden. Das sollten Sie bei der Integration in Ihre Projekte unbedingt berücksichtigen.
Die Erweiterungsmöglichkeiten sind top und durch die ringsum angeordneten Schnittstellen gut umgesetzt
Kurz-Check Intel Galileo
Hersteller: Intel Web: http://maker.intel.com Preis: circa 60 Euro Fazit: Das Board ist etwas fragil und wird schnell recht heiß, sodass es den Arduino derzeit nicht vollständig ersetzen kann.
mbed NXP LPC1768 Ein Prototyping-Board, das über ein Webinterface programmiert wird – ist das wirklich eine gute Idee? INFO Angetrieben von einer ARMCPU und einer Online-Entwicklungsumgebung: Das mbedBoard nutzt eine zu Arduino kompatible Sprache.
Das mbed NXP LPC1768 nutzt einen Cortex-M3-Mikrocontroller, der mit einer Geschwindigkeit von bis zu 100 MHz betrieben werden kann. Eingebaut sind 512 KByte Speicher. 40 Pins für die Verbindung mit der Außenwelt sind vorhanden, aber nur 32 davon können für eigene Projekte genutzt werden. Das Board verfügt außerdem über sechs analoge Eingabemöglicheiten und sechs Pins für PWM (Pulse Width Modulation) zur Kontrolle von Motoren. Natürlich unterstützt das mbed auch I2C and SPI. Das Besondere: Programmiert wird das Board über die mbed-Website (http://mbed.org). Nachdem Sie dort einen Account angelegt haben, können Sie den Online-Compiler nutzen, um Programme zu entwickeln. Der Code wird dann auf Bugs geprüft und kann als Binärdatei heruntergeladen werden. Diese übertragen Sie anschlie-
ßend auf das Board. Das mbed NXP LPC1768 nutzt C/C++. Da die Arduino Processing Language in vereinfachter Form darauf aufbaut, lassen sich bereits vorhandene Arduino-Projekte recht gut adaptieren. Was den guten Eindruck trübt, ist die Abhängigkeit vom Online-Compiler. Haben Sie keine Internetverbindung, können Sie nicht entwickeln. Glücklicherweise gibt es Alternativen wie Code Red LPCXpresso. NXP, die Firma hinter dem mbed, hat die Umgebung inzwischen übernommen. Die Software arbeitet offline – genau wie die Arduino-Umgebung. Das mbed ist durchaus eine gute Alternative zur Arduino-Plattform. Es konnte bereits viele Entwickler für sich gewinnen. Allerdings kostet das Board mehr als etwa der Arduino oder das Raspberry Pi. Das wird die Verbreitung vermutlich etwas bremsen.
Das Board kann mit Ethernet, USB, LCD-Bildschirm und Temperatur-Sensor erweitert werden
Kurz-Check mbed NXP LPC1768 Hersteller: mbed Web: http://mbed.org Preis: circa 60 Euro
Fazit: Eine gute Alternative zum Arduino mit logischem Pin-Layout, aber abhängig von einem Onlinecompiler.
125
Zubehör
Freescale FRDM KL25Z Eine sehr preiswerte Alternative zu Raspberry Pi und Arduino. Aber führt der geringe Preis zu spürbaren technischen Kompromissen? INFO Ein preiswertes Board, das mit ArduinoErweiterungen arbeitet und bereits zwei Sensoren an Bord hat.
Das Freescale FRDM (FRDM wird „Freedom“ ausgesprochen) KL25Z ist ein sehr preiswertes Board. Es ist als noch günstigere Alternative zum Arduino gedacht. Angetrieben wird es von einem ARM Cortex M0 mit 48 MHz und 128 KByte Speicher. Im KL25Z sind 32 GPIO-Pins eingebaut, die mit dem Arduino Uno Rev 3 kompatibel sind. Ein zusätzlicher Kostenvorteil sind die bereits vorhandenen Bauteile: ein Accelerometer und ein kapazitiver Berührungssensor, die für den Arduino separat gekauft werden müssten. Die Kompatibilität zum Arduino ist ein geschickter Zug. Dazu zählt auch die Nutzung des mbed Online-Compilers. Damit ein Projekt umzusetzen, ist verhältnismäßig leicht, da am Ende des Kompilierens der Download der binären Datei steht. Die Programmiersprache des KL25Z ist C/C++. Wer Kenntnisse in der Arduino-Welt ge-
sammelt hat, kann bestehende Projekte also leicht zwischen beiden Systemen portieren und so gleich mehrere Plattformen nutzen. Abgesehen von der reinen OnlineEntwicklungsumgebung wird der gute Eindruck des KL25Z nur durch seine eher schlechte Kompatibilität zu Linux getrübt. Für den Test wurden Linux Mint 17 sowie die USB-Treiber von der Projektseite genutzt. Leider konnte damit aber die Platine nicht als Speicher eingebunden werden. Dies ist erst nach einem Update der Firmware möglich. Dieses FirmwareUpdate kann übrigens nur aus einer Windows-Umgebung heraus erfolgen. Allerdings wurde nach diesem Update die Platine ohne Probleme erkannt und sie ließ sich direkt unter Linux nutzen. Der kompilierte Code kann dann problemlos auf das System übertragen werden.
Zum Freescale FRDM KL25Z gehören ein integrierter Beschleunigungssensor und ein kapazitiver Touchsensor
Kurz-Check Freescale FRDM KL25Z Hersteller: Freescale Web: www.freescale.com Preis: circa 12 Euro Fazit: Ein toller Ersatz für den Arduino. Wünschenswert wäre eine direkte Linux-Unterstützung.
Matrix ARM Mini
Ein größeres Board in einer Welt der kleinen und kleinsten Platinen: Das hat einige Vorteile, zum Beispiel für einen Media-PC INFO Ein Mittelding zwischen Raspberry Pi und einem DesktopRechner: Der Matrix läuft mit Ubuntu 11.10 oder wahlweise Android 4.2.2 und einer Spezialausgabe von XBMC.
126
Der Einsatz als Mediacenter ist nicht das, was bei der Entwicklung des Raspberry Pi im Fokus stand. Dank der Arbeit der Entwickler von Kodi (ehemals XBMC) und OpenELEC ist es dennoch attraktiv, den Mini-Rechner als Mediacenter zu betreiben. Der Matrix-ARM-Mini-PC ist verglichen mit dem RasPi ein Mediencenter mit mehr Biss. Er wird von einem 1-GHz-Quad-Core-Cortex-A9-Prozessor angetrieben, der 2 GByte DDR3Speicher verwaltet. Damit ist der Computer aus dem Stand viel leistungsfähiger als das Raspberry Pi. Zur Verbindung mit der Außenwelt stehen Gigabit-Ethernet, drei USB-2.0Ports, HDMI, SATA 3 und ein optischer S/PDIF-Ausgang zur Verfügung.Als Betriebssystem wird der Matrix mit dem inzwischen nicht mehr von der Community gepflegten Ubuntu 11.10 angetrieben, das auf dem internen
16 GByte großen Flash-Speicher installiert ist. Als Betriebssystem kommen aber auch Android 4.2.2 oder eine angepasste Version von XBMC mit dem Namen Matrix TV zum Einsatz. Wir haben den Matrix mit dem vorinstallierten Ubuntu getestet. Der Rechner arbeitet flott und kann dabei sogar recht passabel einen DesktopPC ersetzen. Surfen im Internet oder Videowiedergabe verliefen problemlos und schnell. Der Matrix ist dank seiner vielen Anschlussmöglichkeiten und der Rechenleistung eine gute Grundlage für ein Mediacenter. Der kleine Rechner übernimmt so die zentralen Aufgaben bei der Verwaltung Ihrer digitalen Schätze. Im direkten Vergleich zum RasPi fällt die LinuxUnterstützung dennoch merklich schlechter aus. Tüftler werden deshalb auch mit dem deutlich preiswerteren Kleinstcomputer mehr Freude haben.
Der Matrix ist ein gut gestaltetes Board mit zahlreichen ringsum angebrachten Verbindungsmöglichkeiten
Kurz-Check Matrix ARM Mini PC Hersteller: Tenow International Ltd. Web: http://tbsdtv.com Preis: circa 120 Euro
Fazit: Ein solides Board für alle, die ein Mediacenter bauen wollen. Es stören jedoch der laute Lüfter und der geringe Linux-Support.
Zubehör
Banana Pi
RasPi-Konkurrenz made in China: Das Banana Pi hat in Sachen Performance die Nase vorn. Das Pro-Modell bringt sogar ein WLAN-Modul mit INFO Dank seiner Performance ist das Banana Pi eine interessante Alternative zum RasPi.
Entwickelt wurde das Banana Pi von der chinesischen Bildungsinitiative Lemaker.org. Das Board aus Fernost ist eine interessante Alternative zum Raspberry Pi, da es über einen leistungsfähigeren Prozessor, mehr Arbeitsspeicher und eine schnellere Ethernet-Schnittstelle verfügt.Auf dem Board arbeitet der Allwinner-SoC A20, ein Cortex-A7-Chip mit zwei Kernen und einer Taktfrequenz von 1 GHz. Dem CPU-Part steht eine Mali-400GPU zur Seite, die mit der OpenGLES-Bibliothek in den Versionen 1.1 und 2.0 kompatibel ist. Weiterhin ist 1 GByte DDR3-Arbeitsspeicher verbaut, von dem sich bei Bedarf auch die GPU bedienen kann. Ein SD-Kartenslot (bis zu 64 GByte Speicher), ein Gigabit-LAN-Adapter mit bis zu 1.000 MBit pro Sekunde Geschwindigkeit, zwei USB-2.0-Ports und ein SATA-Anschluss komplettieren die wichtigsten
Features. An den Fernseher oder Monitor bringen Sie das Banana Pi per integriertem HDMI-Anschluss. Da die Platine etwas größer als das RasPi ausfällt, ist sie mit gängigen Raspberry-Pi-Gehäusen nicht kompatibel. Auch softwareseitig gibt es noch Probleme. Durch den unterschiedlichen SoC sind die gängigen Raspberry-Pi-Betriebssysteme wie OpenELEC nicht kompatibel.Allerdings gibt es bereits eine vom Hersteller angepasste Version von Raspbian. Kurzum: Das Banana Pi ist zwar schneller als das Original, besitzt aber (noch) keine große Community, die sich um Unterstützung bemüht. Das im März 2014 erschienene Banana Pi wurde mittlerweile von LeMaker überarbeitet: Das modifizierte Board namens Banana Pro bringt einige interessante neue Features mit, darunter ein WLAN-Modul.
Der Winzling aus Fernost punktet mit schneller CPU, GBit-Ethernet und einem SATA-Anschluss
Kurz-Check Banana Pi Entwickler: Lemaker.org Web: www.bananapi.org Preis: circa 40 Euro Fazit: Etwas teurer als das Raspberry Pi, aber die Performance überzeugt. Dank schnellem Ethernet besonders gut als Server einsetzbar.
MIPS Creator CI20 Deutlich mehr Grafik-Power als RasPi & Co. verspricht das Entwicklerboard CI20. Und das wahlweise unter Linux oder Android INFO Herzstück des CI20 ist der Low-PowerSoC JZ4780. Selbst unter Volllast steigt die Leistungsaufnahme nicht über 2,5 Watt.
Ganz frisch auf dem europäischen Markt ist das MIPS Creator CI20 von Imagination Technologies, einem der großen Lizenzgeber in der Halbleiterindustrie. Das CI20 positioniert sich als direkte Konkurrenz zum Raspberry Pi und anderen SoC-Boards. Im Gegensatz zu diesen setzt es jedoch auf mehr (Grafik-)Leistung. So arbeitet das Single-Chip-System mit einem MIPS-basierten Doppelkernprozessor mit 1,2 GHz. Highlight ist aber die performante Grafik mit Imaginations PowerVR SGX-540. Zudem bietet das Board neben vielen anderen Schnittstellen – etwa für Kamera und Erweiterungen – bereits ein integriertes Bluetooth- und WLAN-Modul (b, g, n). Im Gegensatz zu anderen Boards bootet das CI20 nicht von SD-Karte, sondern vom internen, acht GByte großen NAND-Speicher. Man muss also ein Image zunächst auf SD-Karte
speichern, einen Jumper umsetzen und das Board flashen. Dieser Vorgang dauert zirka zehn Minuten – ein schneller Wechsel des Betriebssystems ist somit nicht möglich. Das CI20 arbeitet wahlweise mit Android 4.4 Kitkat oder Linux. Im Test gefiel uns Debian 7 mit XFCE am besten. Android hingegen spielt erst in Verbindung mit einem Touchdisplay seine Stärke voll aus. Die Leistung der PowerVR-Grafik ist dabei wirklich beeindruckend. Einige OpenGL-Demos von Imagination geben davon einen Eindruck: So laufen Animationen mit 25.000 Würfeln absolut flüssig. Auch bekannte Linux-Spiele wie Chromium B.S.U., Open Arena oder Maryo bringen die Prozessorlast nicht auf 100 Prozent. Theoretisch könnte man das CI20 sogar als PC-Ersatz verwenden – allerdings macht dann das Surfen auf vielen Webseiten wenig Spaß.
Das CI20 bietet nicht nur ordentlich (Grafik-)Leistung, sondern hat auch WLAN und Bluetooth mit an Bord
Kurz-Check MIPS Creator CI20 Hersteller: Imagination Technologies Web: imgtec.com Preis: circa 65 Euro Fazit: Dank stärkerem SoC und guter Ausstattung ist das CI20 eine ernst zu nehmende Alternative.
127
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 TIPP 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 Enthusiasten realisieren Projekte mithilfe des Rechners in Kreditkartengröße. Das Raspberry Pi gibt es noch gar nicht so lange. 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 neue 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-
Auf einen Blick
system. Denn das Modul verfügt nicht über einen SD-Karten-Speicher, 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 Micro-USB-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.
Jede Menge Ports
Reichlich GPIO Das Compute Module des Raspberry Pi bringt insgesamt 120 GPIO-Pins mit (links). Das reicht
128
selbst für sehr große Projekte. Zum Vergleich: Das Standardmodell des Raspberry Pi hat nur 26 oder 40 GPIO-Pins (Plus-Modelle) 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-
t a m r o F x u n i L : s o t o F
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 gewöhnt 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.
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:
Pins und Python
GPIO.setmode(GPIO.BCM) ... und nicht wie gewohnt: GPIO.setmode(GPIO.BOARD)
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
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 circa 150 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 Hersteller: RasPi Foundation Web: www.raspberrypi.org Preis: ca. 150 € IO-Board: GPIO-Schnittstellen,
MicroUSB, 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. 45 der 120 GPIO-Pins lassen sich mit Software und der Python-Bibliothek RPi.GPIO steuern 129
Zubehör
Pi2Go Lite Mit dem RasPi auf Erkundungsfahrt – ein cooles Robotik-Kit zum Taschengeldpreis
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 – soweit bekannt ist – nur Python. Und mit seinen sechs Batterien im AA-Format bleiben auch längere Weltraumausflüge reine 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 45 Euro liegen. Das ist ziemlich wenig, wenn man andere programmierbare Roboterbaukästen zum Vergleich heranzieht, beispielsweise die „MindStorm“-Serie von LEGO. Hier zahlen Sie für das „Education EV3Basis-Set“ fast 400 Euro. Doch zurück zum Pi2Go Lite: Hierbei handelt es sich um eine abgespeckte Variante des Pi2Go, der bereits letztes Jahr sein Debüt hatte. 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 wie sein großer Bruder mit einer Reihe von Sensoren bestückt: Da wäre zum Beispiel der
Kompaktes Design: Die Platinen sind direkt miteinander verbunden. Das vermeidet Kabelsalat
Pi2Go Lite Hersteller: 4tronix Web: http://pi2go.co.uk Preis: circa 45 Euro Fazit: Ein Robotik-Kit, das sich durch seinen niedrigen Preis und die gute Grundausstattung auszeichnet
Ultraschallsensor 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 cm – 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
130
Kurz-Check
Sensorik
Stromversorgung
Ultraschall-, Infrarot- und Reifensensoren sind an Bord – der Pi2Go Lite ist für Erkundungsfahrten gut gerüstet
Handelsübliche Batterien oder Akkus reichen, 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 neuen Modellen A+ und B+. 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 benötigt 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.
t a m r o F x u n i L : s o t o F
Zubehör
Das Platinendesign der Cirrus Logic Audio Card passt sich an das neue RasPi B+ an
Mehr Klangqualität Als Soundmaschine tritt das Raspberry Pi normalerweise nicht in Erscheinung. Was fehlt, ist ein hochwertiges Audio-Interface. Nun erobert die Cirrus Logic Audio Card die Bühne
V
iele musikbegeisterte Anhänger des Raspberry Pi haben schon daran gezweifelt: Nämlich ob es einen Nachfolger der beliebten „Wolfson Audio Card“ geben wird. Doch jetzt hat das Warten endlich ein Ende – die „Cirrus Logic Audio Card“ ist da. Der neue Name kommt sicherlich für viele überraschend, lässt sich aber schnell erklären. Der texanische Chip-Hersteller Cirrus Logic hat im vorigen Jahr Wolfson Microelectronics übernommen, also denjenigen Hersteller, der die Wolfson Audio Card für das Raspberry entwickelte. Die entscheidende Neuerung der Cirrus Logic Audio Card: Damit die Audiokarte steckerkompatibel mit dem neuen Modell „Raspberry Pi B+“ ist, wurde das Layout der Platine modifiziert. Die 36 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 beim RasPi B+ einen neuen Platz gefunden haben oder entfernt wurden.
dem Vorgänger nichts Entscheidendes geändert. Mit der neuen 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 MontageSet mit zwei Schrauben aus Kunststoff und einem Abstandshalter bei. In ein normales Standard-Gehä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
Das Innenleben
maximal 1,4 Watt pro Kanal anschließen. Die nötige Leistung liefert der „On Board Class D Power Amplifier“. Das 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 müssen Sie die mitgelieferten Skripte im LXTerminal starten und ein wenig damit experimentieren. //jr
Im Prinzip hat sich am Innenleben und den technischen Spezifikationen bei der Cirrus Logic Audio Card gegenüber
Das Herzstück der Audiokarte ist der WM5102-Chip. Er sorgt für den Sound
DATEN WM5102Audio-Codec 24-Bit-HiFiAudio-Hub Sechs ADSc, 96 dB SNR, Mic Input Sieben DACs, 113 dB SNR, Kopfhöreranschluss Zwei separate WM7220Wolfson-DigitalMEMS-Mikrofone on Board Bis zu 24 Bit/192 KHz Samplingrate
HINWEIS Die Cirrus Logic Audio Card ist nicht mit älteren RaspberryModellen kompatibel. Grund ist die veränderte GPIO-Leiste (40 Pins).
c i g o L s u r r i
C
: o t o F
131
Zubehör
Funk fürs RasPi Für Bastler und Entwickler ein Traum: Raspberry Pi und Arduino tauschen sich jetzt ganz elegant per Funk miteinander aus. Zwei neue RF-Boards von Ciseco machen es möglich
R
aspberry Pi und Arduino konnten theoretisch schon lange drahtlos miteinander kommunizieren – mit Geräten auf „Xbee“Basis. Das ist eine Spezifikation für Funknetze mit geringem Datenaufkommen. Nun stellt Ciseco, eine Firma, die Funkmodule für PCs entwickelt, eine maßgeschneiderte Lösung für Raspberry Pi und Arduino vor. „Slice of Radio“ (SoR) ist ein kleines Add-on-Board (3,4 cm x 3 cm), das auf sämtliche Raspberry-Modelle passt. SoR hat eine Reichweite von 100 Metern, besitzt eine integrierte ChipAntenne und lässt sich mit einer externen Antenne auf Distanzen von bis zu 500 Metern betreiben. Die Datentransferrate liegt bei rund 250 KBit/s, die Übertragung wird mit 128-Bit-AES verschlüsselt. SoR arbeitet als Transceiver, das heißt, das Mo-
Kurz-Check Ciseco Slice of Radio/SRF Shield Hersteller: Ciseco Web: shop.ciseco.co.uk Preis: ca.13 € (jeweilsfür SoR
beziehungsweise SRF Shield) Fazit: Funkboards für versierte Bastler, die ungewöhnliche Projekte mit dem Raspberry Pi und/oder Arduino realisieren wollen
DATEN
Slice of Radio wird auf den GPIO-Port des Raspberry gesteckt. Das SRF-Shield für den Arduino nutzt für die Verschlüsselung des Datenstroms 128-Bit-AES
dul ist sowohl Sender als auch Empfänger. Ciseco liefert das Modul mit einer angepassten Raspbian-Version, sprich „RasWIK“. Das Betriebssystem ist ab Werk vorkonfiguriert. Falls Sie alternativ ein bereits installiertes Raspbian an SoR anpassen wollen, finden Sie dazu eine ausführliche Schritt-für-Schritt-Anleitung unter der Adresse http://bit.ly/SliceGuide (englischsprachig).
Große Reichweite Als Gegenstück zum SoR hat Ciseco einen weiteren Radio-Transceiver entwickelt, sprich das „SRF Shield“. Es ist für den Arduino gedacht und verträgt sich auch mit anderen Ciseco-RFErweiterungsboards. Das SRF Shield lässt sich per Funkschnittstelle pro-
Auf einen Blick
t a m r o F x u n i L : s o t o F
132
100–500 m Reichweite Kompatibel zu allen CisecoRF-Boards 128-Bit-AESVerschlüsselung Serielle Datenverbindung zwischen den Funkmodulen Over-the-AirProgramming (OTA) von Arduino-Geräten
Große Reichweite
Shield für Arduino
Slice of Radio (SoR) überbrückt eine Strecke von bis zu 100 Metern, wenn eine Sichtverbindung besteht.
Die Gegenstelle für den Arduino lässt sich per Funk frei programmieren beziehungsweise neu konfigurieren.
grammieren, der Upload des Programmcodes ist bis zu einer Entfernung von 100 Metern möglich – wenn man die im Chip integrierte Antenne verwendet. Mit einer externen Antenne sollen sogar bis zu 1.000 Meter möglich sein – so der Hersteller. Beide Boards unterstützen das Lightweight Logical Application Protocol (LLAP) von Ciseco – ein offenes und lizenzfreies Protokoll, das sehr simpel aufgebaut ist. Es dient dem ressourcenschonenden Datenaustausch per Funk. Die Funktionsweise ist ähnlich wie bei SMS. Wir haben beide Boards einem kurzen Praxistest unterzogen – mit guten Resultaten. Kleinere Konfigurationsprobleme ließen sich mit Minicom beheben, einem Kommunikationsprogramm für die serielle Schnittstelle. Eine neu entwickelte Firmware soll diese Probleme beseitigen, so Ciseco. Unser Fazit: Beide Boards geben Ihnen neue Möglichkeiten, spannende Projekte in die Tat umzusetzen. So können Sie zum Beispiel einen Temperatursensor am Arduino anschließen und die Daten per SRF Shield an das Raspberry Pi senden. Das RasPi könnte dann die Heizung steuern – Stichwort „Hausautomation“. Auf jeden Fall erfüllen beide Funkmodule die ihnen zugedachten Aufgaben, die einzige Hürde ist die umfangreiche technische Dokumentation. Sie richtet sich an erfahrene Bastler mit guten Vorkenntnissen. //jr
TIPP Mit „RasWIK“ gelingt der Einstieg am leichtesten. Infos dazu finden Sie hier: http://goo.gl /zeRXte. Das Image für den RasPi B +: http://goo.gl /Q4iwSv
Zubehör
PIR Alarm GPIO Kit 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
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-
Kurz-Check PIR Alarm GPIO Project Kit Hersteller: TR Computers Web: http://tri.co.uk Preis: circa 16 Euro Fazit: Ein einfaches Kit, das sich speziell an Einsteiger wendet. Das Projekt ist gut dokumentiert.
t a m r o F x u n i L : s o t o F
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 etc.). Dem Kit liegt zudem eine DVD bei. Dort 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
Sofort loslegen
Das BISS0001-PIR-Modul ist bei Projekten dieserArt häufig im Einsatz.Sie finden deshalb viele Infos im Web dazu.
Siekönnen mitdem 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.
INFO Die mitgelieferte DVD enthält nicht nur detaillierte Anleitungen, sondern auch weitere Projekte, die sich mit den Themen Sicherheit und Überwachung beschäftigen.
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 133
Raspberry Pi Tipps & Tricks Hier finden Sie hilfreiche Tipps für den RasPi-Alltag und Lösungen für häufige Probleme. Plus: Was Ihnen der Tonido-Server bringt und wie die Lernumgebung Sonic Pi funktioniert
136 Tonido: Dateiserver für Einsteiger Behalten Sie Ihre Daten unter Kontrolle – auch in derCloud. Der ServerTonido macht das Teilen und Verwalten einfach
137 Programmieren lernen mit Sonic Pi Das didaktische Konzept ist genial: Sonic Pi bringt Musik und Programmierung unter einen Hut. Heraus kommt eine interaktive Lernumgebung für Einsteiger mit hohem Spaßfaktor
138 Troubleshooting 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
142 Tipps & Tricks Manchmal sind es Kleinigkeiten, die Ihnen als Pi-Nutzer das Leben entscheidend erleichtern. Wir haben eine Reihe hilfreicher Tipps für den RasPi-Alltag zusammengestellt
134
Programmieren lernen mit Sonic Pi Sonic Pi sollten Sie unbedingt einmal ausprobieren. Hier ein paarTipps zur musikalischen Programmiersprache
Seite 137
Troubleshooting Bei der Fehlersuche sollten Sie systematisch vorgehen. Hier sind die häufigsten Probleme und Lösungen
Seite 138
Tipps & Tricks Auch wer mit dem RasPi schon gut vertraut ist, kennt nicht jeden Kniff. Wir stellen ein paar wichtige vor
Seite 142
135
Tipps & Tricks
Tonido für Raspberry Behalten Sie Ihre Daten unter Kontrolle – auch in der Cloud. Der Server Tonido macht das Teilen und Verwalten einfach
W
ohin mit den Daten? Auf diese Frage geben Clouddienste eine simple Antwort: „Speichere sie im Internet!“ Mit diesem Slogan fahren kommerzielle Dienste wie „Dropbox“, „OneDrive“, „Telekom Cloud“, „Strato HiDrive“, „Apple iCloud“ oder „Google Drive“ nicht schlecht. Daran ändern auch die Bedenken von Datenschützern wenig – im Gegenteil. Eine denkbare Alternative sind private Server, die zu Hause stehen, und dazu passende Applikationen, um den Server zu administrieren – etwa die Zugriffsrechte. Diesen Weg schlägt zum Beispiel neben „OwnCloud“ auch „Tonido for Linux“ ein, das nun in einer Version für das Raspberry Pi vorliegt. Die Freeware der Firma CodeLathe (www.tonido. com) läuft sowohl unter Raspbian als auch unter Raspbmc. Wer bereits grundlegende Erfahrungen mit dem RasPi gesammelt hat, dürfte mit der Konfiguration von Tonido kaum Probleme haben. Um den Server aufsetzen und konfigurieren zu können, benötigen Sie natürlich zuerst die Software. Sie liegt als Archiv im Format „tar.gz“ vor und wird direkt auf das Raspberry Pi geladen, dort entpackt und dann gestartet. Der Server lässt sich remote per Browser konfigurieren – wichtig für alle, die ihr Raspberry Pi ohne Monitor und Tastatur betreiben. Zusätzlich benötigen Sie allerdings eine sogenannte „Tonido ID“, um Ihr Raspberry Pi später übers Internet finden zu können. Die ID wird für den „Tonido Relay Dienst“ verwendet – er dient dem Fernzugriff auf Dateien und Ordner, unabhängig vom Standort des Computers. Das erspart es Ihnen, sich in die Feinheiten der Firewall-Konfiguration und der Dynamic Domain Name Services (DDNS) einarbeiten zu müssen. Mit der Tonido-ID und der Unterstützung
Auf einen Blick
Neben der leichten Bedienung überzeugt Tonido mit seinem integrierten Mediaplayer
durch den Setup-Assistenten richten Sie dann den Fernzugriff nach Ihren Wünschen ein. Für den Zugriff auf die freigegebenen Dateien und Ordner wird nur ein Browser und nicht die Tonido-Software selbst benötigt. Die individuelle Konfiguration ist auch deshalb sehr wichtig, weil in der Standardeinstellung – die Sie natürlich theoretisch so belassen könnten – alle Ordner freigegeben sind. Ferner legen Sie in den Einstellungen fest, in welchen Verzeichnissen Sie zum Beispiel Ihre Videos, Fotos und Musik speichern. Apropos: Eine der interessantesten Optionen von Tonido ist seine Streaming-Unterstützung. Kennt Tonido erst einmal Ihre Medienordner, richtet es virtuelle Bibliotheken für den Schnellzugriff auf diese Dateien ein. Dank des integrierten Mediaplayers lassen sich zum Beispiel Songs im MP3Format abspielen. Unterstützt werden zudem MP4-Dateien. Bei Dateien im OGG- und AVI-Format geriet der Player in unserem Kurztest hingegen häufig ins Schleudern.
Dateien und Ordner teilen Wenn Sie von einem Rechner per Internetverbindung auf einzelne Verzeichnisse oder Dateien zugreifen oder diese für andere User freigeben möchten, müssen Sie erst einmal die dafür nötigen Rechte zuweisen. Diese Freigabe erfolgt über den integrierten Dateimanager. Bei dieser Gelegenheit spezifizieren Sie, ob zum Beispiel sowohl ein Schreib- als auch Lesezugriff gewährt wird. Gleiches gilt für den Upload von Dateien – auch hier legen Sie fest, was die User dürfen und was nicht. Sehr nützlich: Die Freigaben lassen sich mit Ablaufterminen verknüpfen – danach sperrt Tonido automatisch den Zugang zum Server. Das erhöht die Sicherheit, denn wer hat schon alle Freigaben im Kopf und weiß, welche Ordner wie lange genutzt werden sollen? Sehr nützlich ist die Protokollfunktion von Tonido: Das System notiert sich, wer zu welchem Zeitpunkt auf welche Dateien zugegriffen hat. Das gilt auch für unautorisierte Zugriffe. Die einzige Limitierung der Freeware-Version ist, dass Sie maximal fünf User einladen können. Sehr gut: Sie bekommen Tonido auch für Windows und Mac. //jr
Kurz-Check Tonido for Linux
136
Globaler Zugang
Dateien teilen
Mithilfe des Tonido-ID-Relay-Service greifen Sievon überall aufder Weltper Internet aufIhr Raspberry Pi zu.
Sie können Daten mit anderen Usern teilen. Die Zugriffsrechte lassen sich bequem per Browser zuweisen.
Entwickler: CodeLathe LLC Web: www.tonido.com Lizenz: proprietär
Ein Dateiserver, der sich schnell aufsetzen und administrieren lässt. Empfehlenswert für Einsteiger.
t a m r o F x u n i L
: o t o F
Tipps & Tricks
Sonic Pi Das didaktische Konzept ist genial: Sonic Pi bringt Musik und Programmierung unter einen Hut. Heraus kommt eine interaktive Lernumgebung für Einsteiger mit hohem Spaßfaktor
S
ie wollten schon immer mal eine Programmiersprache lernen? Doch beim Anblick der 1.000 Seiten starken Wälzer zu C++, Java oder Python kommen Ihnen Zweifel, ob Sie sich das wirklich antun sollten? Verständlich, denn das sind alles dicke Brocken, die man nicht ohne Weiteres bewältigt – schon rein zeitlich.Wie wäre es denn mit einem Einstieg ganz anderer Art, einem kurzen Schnupperkurs sozusagen, der auch didaktisch andere Wege geht? Er basiert natürlich auf dem Raspberry Pi, alternativ können Sie aber auch auf einem Windows-PC oder dem Mac trainieren – ganz wie Sie möchten. Die Raspberry Pi Foundation (www.raspberrypi.org) hat ein neues Projekt gestartet mit dem Ziel, Schülern und Erwachsenen den Einstieg in die faszinierende Welt der Programmiersprachen so leicht wie möglich zu gestalten. Und – das ist das Wichtigste – der Spaß soll dabei im Vordergrund stehen. „Sonic Pi“ nennt sich das neue Projekt. Es basiert auf der Programmiersprache „Ruby“ und kombiniert das Ganze mit Musik. Für Ruby hat man sich deshalb entschieden, weil diese Sprache sich durch ihren klaren Aufbau auszeichnet und sehr leicht zu verstehen ist. Sonic Pi ist unter Raspbian bereits vorinstalliert; Sie finden es unter Entwicklung.
Einsteigerfreundlich Das Interface von Sonic Pi besteht im Prinzip aus drei Programmbereichen. Im großen Hauptfenster auf der linken Seite läuft die Programmsequenz beziehungsweise hier bearbeiten Sie den Code. Das Hauptfenster enthält acht Arbeitsbereiche, die „Workspaces“. Zwischen den Workspaces wechseln Sie per Register, auch „Tabbed Browsing“ genannt. Unterhalb des Hauptfensters befinden sich die Hilfe und das Code-Archiv, das mit diversen Soundbeispielen gefüllt ist. Mit Copy & Paste übernehmen Sie den Code ins Hauptfenster und können ihn anschließend bearbeiten. Im Prinzip programmieren Sie so ganz nebenbei Ihren eigenen Synthesizer-Sound, fügen Spezialeffekte hinzu, legen die Länge von Klangeinheiten fest oder bestimmen,
Auf einen Blick
Ruby ist eine Sprache, die sich durch ihre klare Syntax auszeichnet. Gerade für Einsteiger ist sie sehr geeignet
dass eine bestimmte Sequenz wiederholt werden soll. Die Vorgehensweise, die Sie dabei lernen, entspricht genau dem gleichen Ablauf wie beim Schreiben eines Programms. Dazu ein Beispiel: Soll ein bestimmte Note gespielt werden, könnten Sie folgenden Befehl eingeben: play 60 Nach der Eingabe im Workspace-Fenster klicken Sie auf Run, schon hören Sie den Ton. Er entspricht der Note C. Ihre erste kleine Melodie könnte etwa so „klingen“: play_pattern [60,60,67,67,69,69,67] Wie wir bereits anfangs erwähnt haben, basiert Sonic Pi auf der Sprache Ruby, die eine ähnliche Syntax wie Python hat. Deshalb funktionieren auch die typischen Befehle und grundlegenden Konzepte dieser Programmiersprachen. Dazu folgendes Beispiel: for i in (60..80) use_synth „pretty_bell“ play i sleep 1 end Damit haben Sie zwar noch keinen Hit für den Eurovision Song Contest am Start, aber wenn Sie mit den Variablen und Befehlen spielen, Zeilen umstellen und sich ein wenig in der Hilfe umsehen, werden Sie die Grundprinzipien des Programmierens schnell erfassen. Das ist nämlich der Clou von Sonic Pi: Man konzentriert sich zunächst auf die Musik und hat jede Menge Spaß beim Komponieren seines Songs. Der Lerneffekt ist gigantisch, denn je intensiver Sie sich mit den Kommandos und Strukturen der Programmiersprache beschäftigen, desto besser klingen die Resultate. //jr
Kurz-Check Sonic Pi Entwickler: Sam Aaron
Aufgeräumt
Gute Vorlagen
Bei Sonic Pi wissenSie immer, woran Sie sind.Das aufgeräumte Interface lenkt den Blick auf das Wesentliche.
Eine gut bestückte Sound-Bibliothek sorgt zusammen mit den Effekten für abwechslungsreiche Kompositionen.
Web: www.raspberrypi.org Lizenz: MIT
Sonic Pi ist ein simpler, aber ungewöhnlich effektiver Weg, um das Programmieren von Grund auf zu lernen.
137
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
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 RasPi-spezifische 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.
1 Keine Anzeige, leuchtende LED Fangen wir gleich mit dem Worst Case an: Wenn beim Einstecken die rote LED dauerhaft leuchtet, 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+ reicht ein unsachgemäßes Anfassen der Platine und schon wird der kleine Federmechanismus der microSD-Karte ausgelöst. Dies erscheint trivial, kommt in der Praxis aber oft vor – und wird Ihnen garantiert früher oder später auch passieren. Bei den Modellen A und B kommt es vor, dass die Karte nicht richtig sitzt. In beiden Fällen gilt: Ziehen Sie die Karte einmal heraus und stecken 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
Eine Hauptursache für viele Probleme mit der Stromversor gung: das Netzteil. Verwenden Sie ein Gerät mit 1.000 mA wie etwa dieses Handy-Netzteil von HTC 138
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 rechts.
3 Mauszeiger verschwindet Ärgerlich: Sie haben OpenELEC auf dem RasPi 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 700 Milliampere (Modell B; 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. Ausnahmen bieten nur die Modelle A und A+, die mit nur einem USB-Port auskommen und lediglich 500 beziehungsweise 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 diese nicht erkannt werden.
C T H , a m a H : s o t o F
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 o hne Stromversorgung problemlos am PC laufen, streikt aber am RasPi. Dies liegt daran, dass Desktop-PCs am USB-Port 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 zehn Euro. Es muss kein teurer USB-3.0-Hub sein, denn das RasPi 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
ü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.
Falls Sie eine externe Festplatte am RasPi betreiben wollen, empfiehlt sich ein aktiver Hub mit eigener Strom versorgung wie dieses preiswerte Modell von Hama
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 aufseiten des RasPi 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 [Strtg] +[X] und starten Sie das RasPi mit dem
LED-Fehlercodes 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.
Fünf LEDs: Das RasPi-Modell B besitzt insgesamt fünf LEDs in der Nähe des USB-Anschlusses. Von besonderer Bedeutung sind dabei ACT und PWR; die übrigen drei visualisieren die Netzwerkverbindung. Sie wurden daher beim Modell B+ konsequenterweise durch LEDs direkt am Netzwerkanschluss ersetzt, wie dies bei allen anderen Computern üblich ist. Beim Modell A und A+ fehlen diese, da es hier keinen Netzwerkanschluss gibt.
Keine LED leuchtet: Leuchtet die rote LED bei PWR nicht, liegt ein Problem mit der Stromversorgung vor. Oder das RasPi ist schwer beschädigt, was bei unseren Tests allerdings noch nie vorkam. Während bei den Modellen A und B alles aus bleibt, wenn gar nichts mehr geht, signalisieren die Modelle A+ und B+ über die rote PWR-LED zusätzlich, wenn die Stromversorgung nicht ausreichend ist. 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 RasPi konnte also kein gültiges Image auf der SD-Karte finden. Dies liegt entweder an der Karte selbst, oder ein Fehler trat beim Beschreiben auf (z.B. wegen fehlender Admin-Rechte).
Grüne LED blinkt: Wie in Tipp 2 beschrieben gibt es Probleme mit fehlenden Dateien. 3x blinken: start.elf nicht gefunden. 4x: start.elf nicht gestartet. 7x: kernel.img nicht gefunden. 8x: SDRAM nicht erkannt.
Eine Übersicht über die LED-Statusanzeige liefert das Wiki auf elinux.org
139
Tipps & Tricks dem RasPi selbst durchführen, allerdings nicht mit gemounteten Partitionen. 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
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 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 140
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-Zugri 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 „Das Raspberry Pi als Netzwerkspeicher“ auf Seite 84.
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 | Netzwerk Ihr
C T H , a m a H : s o t o F
Tipps & Tricks
Musikwiedergabe unter Raspbian 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 – eine ideale Voraussetzung für das Alsa-Mixer: Prüfen Sie zunächst, ob der Alsa- RasPi. Sie installieren das Tool über sudo apt get install mpg123 . Die Wiedergabe erfolgt Soundtreiber installiert ist. Geben Sie dazu in der Konsole alsamixer ein. Es sollte der Lauteinfach über den Befehl mpg123 Dateiname. mp3. Die Soundqualität ist überraschend gut, stärkepegel erscheinen, den Sie über die Pfeiltasten erhöhen oder verringern können. Der die Systemlast erfreulich niedrig. Grafische Mediaplayer: Audio- und VideoPegel sollte über der Mitte liegen. Falls nichts zu sehen ist, installieren Sie den Mixer mittels player mit grafischer Oberfläche gibt es wie sudo apt-get alsa-utils nach. Sand am Meer. Sie können theoretisch jeden Wenn Sie ein Mediacenter wie XBMC/Kodi oder OpenELEC installiert haben, steht der Film- und Musikwiedergabe nichts im Wege. Anders sieht es jedoch aus, wenn Sie mit einem frisch installierten Raspbian arbeiten. Dort passiert, sobald Sie doppelt auf eine MP3-Datei klicken, erst einmal: nichts. WAV-Dateien werden zwar wiedergegeben, aber wer nutzt die schon?
verwenden, müssen aber immer die Systemlast im Auge behalten. Banshee, Rhythmbox & Co. erfordern ziemlich 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: Zum Schluss sei noch darauf hingewiesen, dass sich das Raspberry Pi hervorragend als Musikserver zum Streamen im eigenen Heimnetz eignet. Auch hierfür gibt es verschiedene Lösungsansätze. Wir haben dies ab Seite 96 am Beispiel von Ampache vorgestellt.
RasPi aus. Klicken Sie auf Bearbeiten und aktivieren Sie Diesem 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 d ie 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 TV-
Sie wollen nicht jedesmal nachschauen, unter welcher Adresse Sie das Pi per SSH erreichen? Dann weisen Sie ihm über den Router immer die gleiche Adresse zu
Lautsprecher hören, sondern erst, wenn Sie einen Lautsprecher per Klinke angesteckt haben, sollten Sie die Sound-Ausgabe ü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 A8 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 Audio-Ausgang festlegen.
13 Regenbogenfarbenes Quadrat Erscheint ab und an ein kleines regenbogenfarbenes Quadrat auf dem Bildschirm rechts oben? Insbesondere, wenn Sie das RasPi als Mediacenter verwenden? Dies ist ein zusätzliches Feature bei den Plus-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 141
Tipps & Tricks
Kleine Kniffe, die Sie kennen sollten Manchmal 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 dem RasPi-Sound auf die Sprünge helfen möchten, Ihren Lieblingsbrowser installieren 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 und effizienter gestalten. //re
Tipp 1 Wahl der SD-Karte Das Raspberry Pi nutzt als Speichermedium SD-Karten beziehungsweise microSD-Karten (Plus-Modelle). Es gibt keine speziellen Anforderungen an die Speicherkarten, ein paar Dinge sollten Sie dennoch beachten:Wählen Sie eine Kartemit mindestens 6 GByte. Bessersind 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 Schreibund Lesegeschwindigkeit. Mit SD-Karten der Geschwindigkeitsklasse 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 Sound regeln per Alsamixer Mit dem Alsamixer greifen Sie auf alle Einstellmöglichkeiten zu, die für die Soundkarte zur Verfügung stehen. Aufgerufen wird der Alsamixer schlicht über alsamixer
Der Alsamixer präsentiert Ihnen nun – optisch recht ansprechend – eine Anzahl von Reglern, über die Sie die Soundeinstellungen Ihren Wünschen gemäß anpassen können. Um die Kanäle anzusteuern, benutzen Sie die [Pfeil links] - und [Pfeil rechts]-Tasten Ihrer Tastatur, zur Lautstärkeregelung jeweils die [Pfeil auf] - und [Pfeil ab]-Tasten. Beendet wird Alsamixer mit der Taste [Esc]. Der Alsamixer speichert Ihre Änderungen als Grundeinstellung ab.
01
Am Anfang steht die Wahl der richtigen SD-Karte. Beachten Sie: Die PlusModelle verwenden die kleinformatigen microSD-Karten
142
Hinweis: Falls Ihr RasPi beim nächsten Start Ihre Soundeinstellungen „vergessen“ hat, versuchen Sie, diese mit alsactl restore wiederherzustellen.
Tipp 3 Audio-Optionen des RasPi Das Raspberry Pi hat zwei verschiedene Audioausgänge: 3,5 Millimeter Klinke und HDMI. Damit lässt sich fast jedes Ausgabegerät anschließen. Bei einfachen PC-Lautsprechern und Kopfhörern reicht der Klinkenstecker, hochwertige Stereoanlagen werden jedoch besser mit digitalem Audiosignal via HDMI versorgt. Möchten Sie zwischen den beiden Audio-Ausgängen hin- und herswitchen, lässt sich das über den Alsamixer (siehe Tipp 2) regeln. Geben Sie dazu jeweils folgenden Befehl im Terminal ein: amixer cset numid=3
Ersetzen Sie n mit dem gewünschten Audioausgang: 0 = auto 1 = Klinkenstecker 2 = HDMI
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 und
02
Um den Sound anzupassen, öffnen Sie den Alsamixer. Die Einstellungen nehmen Sie über Ihre Tastatur vor
Tipps & Tricks
03
Soundaus gabe via Klinkenstecker (links) oder HDMI (rechts)? Per Audiomixer stellen Sie die passende Option ein
konfigurieren, entnehmen Sie der Projektseite pimusic box.com. Hinweis: Für die Nutzung von Spotify ist ein Premium-Account 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
04
Mit dem cleveren Tool Pi Musicbox bringen Sie Spotify und Co. auf Ihr Raspberry Pi
elinux.org/RPi_USB_Wi-Fi_Adapters. Falls Sie bereits einen WLAN-Adapter besitzen und wissen möchten, ob Sie ihn am RasPi nutzen können, finden Sie das so heraus: Stecken Sie den Adapter an einem der USB-Ports an, 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, finden Sie hier per Desktop-Verknüpfung WiFi Config ein hilfreiches Tool. 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
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 B/B+ ins LAN zu bringen, ist dank Ethernet-Port 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-7811 UN (Preis: ca. 9 Euro, siehe Seite 121) erwerben. Eine ausführliche Übersicht über RasPi-kompatible WLAN-Adapter erhalten Sie unter http://
05
allow-hotplug wlan0 iface wlan0 inet dhcp wpa-ssid “” wpa-psk “< WLAN-Schlüssel>”
Mit diesen Eingaben ist das WLAN 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 Raspberry-Pi-Konfigurator, den Sie per sudo raspi-config
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
143
Tipps & Tricks
07
Unter welcher IP-Adresse Sie das Raspberry Pi erreichen, erfahren Sie über die Ein gabe von „ifconfig“
ö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 Raspberry Pi per Ethernetkabel mit dem Netzwerk und geben Sie per Tastatur ifconfig in die Kommandozeile ein. Beim Abschnitt eth0 in der Ausgabe finden Sie die aktuelle IP-Adresse. Unter Windows nutzen Sie am besten das Tool putty, um eine SSH-Verbindung zum Pi herzustellen. Laden Sie es unter http://www.chiark.greenend.org.uk/~sgtatham/putty herunter und starten Sie putty.exe. Nun geben Sie bei Host Name (or IP adress) 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 hierfü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: Die Einrichtung erfolgt über das Kommando sudo apt-get install scrot
Nun genügt der einfache Aufruf von scrot, um einen
09
Scrot ist das Tool der Wahl, wenn Sie Ihren Bildschirm abfotografieren möchten – auf Wunsch erhalten Sie auch Screenshots von einzelnen Fenstern
144
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
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 zum Beispiel den Inhalt des Verzeichnisses „Python-Games“ ansehen, genügt es, auf der Kommandozeile lediglich 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 : VOR und ZURÜCK dienen dem VeränPfeiltasten dern der Cursorposition An den Beginn/an das Ende der Zeile [Pos1]/[Ende] bewegen [ALT]+[B] , Je ein Wort rückwärts („backward“) oder vorwärts („forward“) bewegen [ALT]+[F] Bis zum Ende der Zeile löschen [STRG]+[K]
10
Die Bash hat einiges zu bieten, um Ihnen die Arbeit auf der Kommandozeile zu erleichtern – etwa die Auto-Ergänzung
Tipps & Tricks
11
Fernsehsignal und das gewünschte Seitenverhältnis werden über sdtv definiert
Die beiden vorangehenden Wörter tauschen [STRG]+[L] Löscht den Bildschirm [Backspace] oder Zeichen rückwärts oder Zeichen vorwärts löschen [Entf] [ALT]+[T]
Tipp 11 Video-Optionen
12
Das unscheinbare Kommando dd ist äußerst hilfreich, etwa wenn Sie Ihre SD-Karte klonen möchten
binden Sie dazu die Karte mittels Kartenleser mit Ihrem Linux-Rechner und lassen Sie sich mit dem Befehl lsblk die angeschlossenen Datenträger ausgeben. Über die angegebene Speichergröße lässt sich die SD-Karte erkennen. Die Gerätekennung (etwa sdb) setzen Sie nun in das eingangs erwähnte Kommando ein sudo dd if=/dev/sdb of=~/mein_raspi.img
Das Kommando sdtv_mode sorgt dafür, dass das Fernsehsignal korrekt ausgegeben wird. Möchten Sie das StandardPAL-Signal ausgeben, geben Sie sdtv_mode=2 ein. Mit sdtv_aspect hingegen stellen Sie das gewünschte Bildformat auf einfache Weise ein: sdtv_aspect=1 Seitenverhältnis 4:3 sdtv_aspect=3 Seitenverhältnis 16:9
Wenn Sie auf ein Gerät zurückschreiben wollen, drehen Sie „In“ und „Out“ einfach um:
Tipp 12 Umgang mit dd
Tipp 13 Standardpasswörter
Das Programm dd ist unter Linux-basierten Systemen ein sehr vielseitiges Tool. Man kann damit beispielsweise Images erstellen, Datenträger komplett löschen oder Partitionen bitgenau kopieren. Bitgenaues Kopieren bedeutet, dass der Datenträger Bit für Bit ausgelesen und beschrieben wird, unabhängig von Inhalt und Belegung. Beim Einsatz von dd sollte man allerdings sehr umsichtig sein: Das Tool führt Befehle ohne weitere Rückfragen oder Sicherheitsabfragen aus. Schlimmstenfalls kann ein Tippfehler zu einem kompletten Datenverlust führen. Dies ist die Syntax für den Aufruf von dd:
Die Raspberry-Pi-Betriebssysteme sind standardmäßig mit Standard-Benutzern und -Passwörtern ausgestattet. Diese unterscheiden sich, je nachdem, welches System Sie nutzen. Nachfolgend eine Übersicht über die Standardzugangsdaten der geläufigsten Raspi-Systeme : Raspbian: Nutzer pi, Kennwort raspberry OpenElec: Nutzer root, Kennwort openelec Raspbmc: Nutzer pi , Kennwort raspberry Arch Linux: Nutzer root, Kennwort root
dd if=Quelle of=Ziel
if steht für „Input File“, es kann sich dabei um ein komplet-
tes 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. Hilfreich ist dd für Linux-User, die ein Image ihrer RasPiSD-Karte erstellen möchten. Dazu müssen Sie jedoch erst einmal die Gerätekennung der SD-Karte herausfinden. Ver-
13
dd if=~/mein_raspi.img of=/dev/sdb
Als Backup-Tool ist dd relativ ineffizient. Es sichert die komplette Festplatte, inklusive redundanter Daten. Allerdings ist das Tool nützlich, wenn Sie verloren gegangene Dateien von einem Datenträger wiederherstellen möchten.
Tipp 14 Browser nachrüsten Standardmäßig bringen die RasPi-Betriebssysteme meist Midori als Browser mit. Midori ist speziell an die Anforderungen des Raspberry Pi angepasst. Für Standardaufgaben ist er durchaus akzeptabel, versagt aber mitunter bei modernen HTML-Seiten oder der Wiedergabe von Videos. Die aktuellen OS-Versionen haben häufig den neuen, ebenfalls fürs Pi angepassten Browser Epiphany an Bord, eine Alternative, die aber auch noch nicht durchweg fehlerlos arbeitet.
Standardnutzer unter Raspbian ist „pi“. Das entsprechendene Verzeichnis /home/pi ist nach der Installation schon eingerichtet
14
Die aktuellen RaspbianVersionen bringen den neuen Browser Epiphany mit. Er ermöglicht unter anderem „inkognito“ zu surfen
145
Tipps & Tricks
14
15
Sie sind nicht auf den Standardbrowser fürs RasPi festgelegt. Installieren Sie ganz einfach Ihr Lieblingstool, etwa Chromium, zum Surfen im Internet
Haben Sie Ihr RasPi optimal eingerichtet, ist eine Sicherheitskopie der SD-Karte ratsam, um Datenverlust zu vermeiden
Tipp 15 Windows: SD-Karte kopieren
Sie können aber jederzeit einen Browser Ihrer Wahl, wie zum Beispiel Chromium, den leichtgewichtigen Luakit oder den besonders schnellen Textbrowser Lynx installieren. Im Falle von Chromium funktioniert das ganz einfach über das Kommando sudo apt-get install chromium
Nach dem Herunterladen der Paketinformationen möchte der Installer von Ihnen wissen, ob das Paket wirklich heruntergeladen werden soll und informiert Sie, wie viel Platz das Paket auf dem Raspberry Pi beanspruchen wird. Nachdem auf der SD-Kartenicht beliebig viel Platz zurVerfügung steht,sollten Sie natürlich nur die Pakete auswählen, die Sie wirklich benötigen.
Wie Sie auf dem Linux-Rechner die SD-Karte mit dem Kommandozeilentool dd klonen, haben wir in Tipp 12 erklärt. Unter Windows ist es sinnvoller, ein externes Tool einzusetzen. Wir empfehlen den Win32 Disk Imager. Sie finden das Programm auf der beiliegenden Heft- DVD . Installieren Sie dieses und richten Sie es auf Ihrem Rechner ein. Rechts oben (siehe Abbildung) stellen Sie den Laufwerksbuchstaben der SD-Karte ein. Über das Ordner-Symbol wählen Sie aus, wo die Imagedatei auf Ihrem Rechner gespeichert werden soll. Um das Backup zu starten, klicken Sie auf Read. Das angelegte Backup können Sie mittels Write jederzeit auf eine andere SD-Karte übertragen.
Impressum Redaktionsleitung Thorsten Franke-Haverkamp
(verantw.für den redaktionellen Inhalt) Chefin vom Dienst Julia Schmidt Redaktion Thorsten Franke-Haverkamp(tfh), AngelikaReinhard (re),Julia Schmidt (jas) Text-/Schlussredaktion Birgit Lachmann,Angelika Reinhard Autoren und Mitarbeiter Patrick Dörfel (pd),Jürgen Donauer(jd),
MatthiasKampmann (mk),JörgReichertz (jr), Thomas Rieske (tr), StephanLamprecht(sla) Art Director Stephanie Schönberger Titel Antje Küther Grafik VeronikaZangl (Ltg.),Janine Auer, Andreia Margarida da Silva Granada, DoreenHeimann,AntjeKüther, IsabellaSchillert Bildredaktion JenniferHeintzschel DVD Karsten Bunz, PatrickDö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: AlleinigeGesellschafterinistdie CHIP Holding GmbH mitSitz in der St.-Martin-Straße 66,81541 München Geschäftsführer ThomasKoelzer(CEO), MarkusScheuermann (COO) Verleger Prof.Dr.HubertBurda Executive Director FlorianSchuster Director Sales ErikWicha,Tel.(089) 7 46 42-326,
Fax-325, [email protected],chip.de/media
146
KeyAccount Manager KatharinaLutz, Tel. -116,[email protected] KeyAccount Manager ElinaAuch, 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 AndreasHummel,Frank Schormüller, Medienmanagement, Vogel Business Media GmbH& Co.KG,97064Würzburg Druck Vogel Druck & MedienserviceGmbH, Leibnizstr. 5,97204Höchberg Director Distribution Andreas Laube Vertrieb MZV GmbH& Co. KG 85716Unterschleißheim Internet: www.mzv.de Kontakt Leserservice [email protected] Kontakt DVD [email protected] © 2015by CHIPCommunicationsGmbH. Nachdruck nurmitschriftlicher Genehmigung desVerlags. Nachdruck PetraUmlauf,
[email protected], Tel.(089) 7 46 42-243 Bezugspreise/Abonnement Einzelheft: 9,95 Euro; Ausland:Österreich11,50 Euro; Schweiz 19,50 SFr; BeNeLux11,50 Euro Nachbestellung (zzgl.Versand)chip-kiosk.de
Schont den Geldbeutel! Jetzt mit CHIP über 20% sparen. 1.ExklusiveMehrwerte: • 3 Hefte zum Vorzugspreis: Sie sparen über 20% • Hochwertiges Geschenk dazu • Top-Vollversionen, Multimedia-Programme + CHIP Tool Editionen auf DVD • Pünktliche, kostenlose und bequeme Lieferung • Eine Ausgabe gratis bei Bankeinzug
+
2 . Vorteilswelt:
N u A bo n n r f ü r en t e n
INSIDER
Brennenstuhl Funkschalter-Set • Sichere und komfortable Lösung zum Schalten elektrischer Geräte • Ein- und Ausschalten per Funk (einzeln oder gesammelt) • Schaltleistung max. 1.000 Watt / Empfänger • Inkl. 12 V Batterie (Typ A27) für den Handsender • Reichweite bis zu 25 m
Werden Sie CHIP Insider und profitieren Sie Monat für Monat von weiteren Specials. Rabattaktionen, Gutscheine, tolle Verlosungen, Ihr direkter Draht zur CHIP-Redaktion u.v.m. warten auf Sie: www.chip-insider.de
Gleich Coupon ausfüllen und abschicken oder unter www.abo.chip.de/raspberrypi bestellen w
Soeinfachkönnen Siebestellen: (Telefon) 0781-639 45 26 (Fax) 0781-846 191 (E-Mail) [email protected] (URL) www.abo.chip.de/raspberrypi
Ja,ichbestelle:
3xCHIPmit DVDfürnur 11,90€ (inkl.MwSt. + Porto) 315SA02Z1
Straße,Haus-Nr.
D E IBAN
Telefon/Handy
Ihre BLZ
Ihre Konto-Nr.
Zahlungsempfänger:
PLZ,Ort
WeitereAngebotefinden Sieunter www.chip-kiosk.de
3xCHIPPremiumfür nur16,90 € (inkl.MwSt.+ Porto)915SA02Z1
DasGeschenk erhalteich umgehend nach Zahlungseingang.Nachdem ichdie dritte Ausgabe derCHIP erhalten habe, kann ich8 Tage prüfen,ob ich dasMagazin weiter beziehen will. Lasse ichin dieserZeit nichts vonmir hören,erhalte ichCHIP mitDVD bzw. CHIP Premiumzum regulären Abopreis (12Ausgaben fürzur Zeit 59,88 € bzw. 79,90 € inkl. MwSt. undPorto) DasAbo kann ichnach Ablauf der12 Monatejederzeitwiederschriftlich kündigen. Es genügteine kurze Nachrichtvon miran denCHIP Aboservice, Postfach 225,77649 Offenburgoder perE-mailan [email protected]. DieseAngebot giltnur in Deutschland (Konditionenfür dasAusland bitte aufAnfrage unter [email protected]) und nursolange derVorrat reicht. Ichbezahle bequemdurchBankeinzug,erhalte eineAusgabegratisvorab undmein Geschenk sofort SEPA-Lastschriftmandat:Ich ermächtige die CHIP Communications GmbH, wiederkehrende Zahlungen von meinemKonto mittels Lastschrift einzuziehen. Zugleich weise ichmein Kreditinstitut an,die vomVerlag auf mein Konto gezogenen Lastschrifteneinzulösen. Name,Vorname Hinweis: Ichkann innerhalb vonacht Wochen, beginnendmit demBelastungsdatum, die Erstattung des belasteten Betrags verlangen. Es geltendabei die mit meinemKreditinstitut vereinbartenBedingungen.
CHIP Communications GmbH, St.-Martin-Straße 66, 81541 München Gläubiger-ID: DE11ZZZ00000186884 Mandatsreferenz wird separat mitgeteilt.
Geburtsdatum
Mit folgender Kreditkarte:
VISA
Kreditkarten-Nr. E-Mail Sie haben ein gesetzliches Widerrufsrecht, die Belehrung könnenSie unter www.chip-kiosk.de/widerrufsrecht abrufen.
CHIPerscheint im Verlag:CHIP Communications GmbH, St.-Martin-Straße 66, 81541 München. Geschäftsführung: ThomasKoelzer (CEO), Markus Scheuermann (COO) Handelsregister: AG München, HRB 136615. Die Betreuung der Abonnenten erfolgt durch: Abonnenten Service Center GmbH, CHIP Aboservice, Marlener Str. 4, 77656 Offenburg. DerVerlag behält sichvor, Bestellungen ohne Angabe von Gründenabzulehnen.
IcherhaltemeinGeschenk Brennenstuhl Funkschalter-Set (C808)
Prüfnr.
/ Gültigbis: Ja,ich bineinverstanden, dass dieCHIP Communications GmbHmich per E-Mail über interessante Vorteilsangeboteinformiert.Meine Datenwerden nicht an Dritteweitergegeben. DiesesEinverständnis kann ich selbstverständlich jederzeitwiderrufen.
Datum
Couponausschneiden undschickenan:CHIPAboservice,Postfach225, 77649Offenburg oderim Internetbestellenunter:www.abo.chip.de/raspberrypi
Eurocard/Mastercard
Unterschrift
315SA02Z1/915SA02Z1