Sie sind auf Seite 1von 116

PLUS

DVD Das offizielle Raspberry Pi Magazin


05 • 2019 • September/Oktober

RASPBERRY PI

www.magpi.de
Das offizielle

Magazin

10 Projekte
für Pi Zero
Winzige Flugmaschine &
9 wei
weitere Projekte
05 • 2019 SEPTEMBER/OKTOBER

Raspberry Pi
Programmieren
PROGRAMMIEREN MIT SCRATCH & PYTHON

mit Scratch & Python schnell fach!


& ein
Quickstart für den neuen Pi
Setup für Noobs 2019
Schritt für Schritt

Modelleisenbahn 8 SEITEN SPECIAL


Loks und Züge mit
dem Pi steuern
RasPi 4
im CHIP-Härtetest

Selbstheilender Pi
Wiederherstellungspartition
für Raspbian

AUF DVD
2 E-Books DT-Control
iten
fast 500 Se geprüft:
05 • 2019 • € 9,95
Beiliegender Datenträger
ÖSTERREICH: 11,50 EUR BENELUX: 11,50 EUR
ist nicht jugend- SCHWEIZ: 19,50 CHF
beeinträchtigend

Projekt: ExoMars-Rover nachbauen


Editorial
DIE NÄ
AUSGA CHSTE
BE VON

Programmieren ERSCH
13. NOVEINT AM

ist keine Hexerei!


EMB
2019 ER

J
eder Mensch kann programmieren als auch Thonny Python IDE sind im kompletten
lernen, wirklich jeder“ – das ist die feste Raspian-Betriebssystem enthalten.
Überzeugung von Sean McManus, dem Kurz vor Redaktionsschluss der letzten MagPi
Autor unserer Titelgeschichte ab Seite 12. feierte der neue Raspberry Pi 4 Premiere.
Dort zeigen wir Ihnen, dass Coden wesentlich Inzwischen hatten wir Gelegenheit, den bis
einfacher ist, als viele Menschen es sich dato schnellsten Pi im CHIP Testcenter auf den
Andreas
REDAKTIONSLEITER

Vogelsang vorstellen. Schon Kinder können mit Scratch Prüfstand zu stellen: Bis auf kleinere Probleme
loslegen. Wer Geschmack am Programmieren bei der Videowiedergabe bestätigten unsere
verantwortet neben
gefunden hat, macht früher oder später mit Messungen die Ergebnisse der Benchmark-
der deutschen
Ausgabe der MagPi Python weiter – der Programmiersprache für Tests im letzten Heft (mehr dazu ab Seite 86).
auch das junge den Raspberry Pi schlechthin. Sowohl Scratch Viel Spaß mit dieser Ausgabe!
Science-Magazin
CHIP WISSEN und
weitere Specials

Auf der Heft-DVD


+ Komplettes E-Book: Maxi-
Power-Projekte mit RasPi (257 S.))
+ Komplettes E-Book: 3D-
Drucken für Einsteiger (240 S.)
+ OS und Tools für den Pi
+ Code zu den Workshops

Projekte gesucht MagPi-Abo mit toller Prämie


en
»
Schicsk Ihre
Gefällt Ihnen die aktuelle Ausgabe von MagPi, dem
Sie haben selbst ein tolles Projekt mit
offiziellen Raspberry-Pi-Magazin? Das Heft gibt es
dem Raspberry Pi umgesetzt? Oder Sie

Sie unjekte!
haben in Ihrem Projekt einige Hürden auch im Abonnement. So verpassen Sie keine Ausgabe
überwunden und wollen nun anderen mehr und bekommen das Magazin alle zwei Monate

Pro spe
chip.d
cials@ MagPi
e oder
die Arbeit erleichtern? Dann stellen Sie
es doch der Öffentlichkeit vor. Schreiben
bequem frei Haus geliefert. Damit sparen Sie nicht nur
Geld, sondern sichern sich beispielsweise mit dem
:
E-Mail Redaktion tions GmbH
nica ße 66 Sie uns einfach – wir setzen uns dann RFID-Rucksack Safe für
ommu a
CHIP C -Martin-Strchen mit Ihnen in Verbindung. Und wer weiß, nur 1 Euro Zuzahlung
St. Mün
81541

«
vielleicht erscheint Ihr Projekt dann schon eine attraktive Prämie.
in der nächsten Ausgabe von MagPi.
Mehr dazu lesen Sie ab
Seite 64.

magpi.de 05 • 2019 3
Service

11 Ausgabe 5 September/Oktober 2019 magpi.de

Trends Projekte
>Staus vermeiden mit dem RasPi 6 >Webradio basteln 24
Autonome Fahrzeuge kommunizieren mit Pi-Support Ein Internetradio mit Pi-Support und vielen Features

>Coral Environmental Sensor Board 8 >ExoMars-Rover nachbauen 26


Das Pi-Board von Google ist mit Sensoren ausgestattet Der Yuri 3 Mini Mars Rover sieht dem Original sehr ähnlich

>Astronauten gesucht 9 >PiNG, die Retro-Türklingel 30


Eine smarte Türklingel im Retro-Design der Achtziger
Beim Technoseum Mannheim eine USA-Reise gewinnen

>Sind E-Roller ökologisch? 11


>Smartes Palmengewächshaus 32
Sensoren und ein Bewässerungssystem für Honigpalmen
Eine erste Bilanz knapp drei Monate nach der Zulassung
>Eine Dusche für die Katze 34
Nachts hinterlassen Katzen gerne mal Stinkbomben
in fremden Gärten. Aber es gibt eine Lösung dafür

Titel Schwerpunkt: Programmieren >Hologramm-Maschine


Ein alter 17-Zoll-TV, ein IKEA-Tisch, eine Acrylpyramide
36
>Coden lernen mit Scratch & Python 12 und ein RasPi – fertig ist die Hologramm-Maschine
Programmieren ist viel einfacher als viele glauben
>Rasensprenger für das ganze Dorf 38
>Erste Schritte mit Scratch 14 Ein Sprinklersystem, das jede Menge Wasser spart
Entwickeln Sie Ihr erstes Skript mit Scratch 2
>Viel Applaus für den RasPi 40
>Coden Sie ein Quiz mit Python 17 Wie man den Pi durch Händeklatschen steuert
Mit Thonny Python IDE ein Quiz zusammenstellen
>Behindertengerechte
echte Gitarre 42
>LED-Memory-Spiel programmieren 20 Dank eines intelligenten
lligenten Sprachassistenten
Sprachas kann fast
Lernen Sie elektronische Schaltungen kennen jeder Mensch mit Chord Assist Gitarre
Git spielen lernen

Mars-Rover 26 Quickstart-Guide
Quickstar 44
Ein Raspberry Pi steuert den Yuri 3 Mini Die Konfiguration
ion eines Raspberry Pi
Mars Rover – einen Nachbau des Exo ist unkompliziert.
t. Machen Sie mit uns
Rovers, der 2020 zum Mars fliegen soll die ersten Schrittee mit Ihrem neuen Pi

Special: RasPi 4 86
So hat sich der RasPi 4 im CHIP Testcenter
geschlagen. Außerdem: Hintergrundinfos
von Eben Upton und Simon Long

4 05 • 2019 magpi.de
mag
magpi.
INHALT Service
Seite 14
CODING-GRUND-
LAGEN MIT SCRATCH

Seite 17 QUIZSPIEL
MIT PYTHON
PROGRAMMIEREN

Seite 20
MEMORY-GAME
ENTWICKELN

Praxis Modelleisenbahn
>Mit PICO-8 in die Spielewelt 50
Hunderte 8-Bit-Games spielen, teilen und neue erfinden:
PICO-8 verwandelt Ihren Pi in eine virtuelle Konsole 94
Digital statt
>Der selbstheilende Raspberry Pi 54 analog: Loks
Setzen Sie Ihr System stressfrei neu auf, indem Sie
und Züge mit
Raspbian eine Wiederherstellungspartition spendieren
dem Raspberry
>Ein Pi für den Schlüsselbund 60 Pi steuern
Wer unterwegs einen tragbaren RasPi zur Hand haben
will, sollte diesen Workshop lesen
>Lego Boost und der RasPi (Teil 2) 68
Wir erweitern die Kontrolle und entwickeln Spaßprojekte
>NeoPixel-LEDs zur Beleuchtung 74
Bringen Sie Glanz in Ihre Hütte – mit steuerbaren Super- Zubehör
lichtern, einem Raspberry Pi und eingen Zeilen Python
>Spiele programmieren (Teil 10) 78 >PiBug 2WD Roboter 102
Ohne Mathematik geht es nicht – und das ist auch gut so! >Enviro+ 104
>Beacons basteln 82 >LibreELEC 9.0 Leia 106
Beobachten Sie Ihre Familie, Haustiere und Freunde
mit Bluetooth-Modulen (Beacons) >Die 10 besten Pi-Zero-Projekte 108
Zum Schluss
>Buchempfehlungen 110
>Veranstaltungskalender 112
>Leserbriefe 114

Service
>Editorial 3
>Heft-DVD 66
>Impressum 93

2 E-Books mit fast 500 Seiten


Plus: Raspbian, Scratch Desktop,
NOOBS, SDFormatter ...
magpi.de
de 05 • 2019 5
Trends

Staus vermeiden mit


dem Raspberry Pi
An der Universität Cambridge entwickelt man mit Raspberry Pis autonome Fahrzeuge mit
exzellenten Selbstverwaltungsfähigkeiten. Effizienz und Unfallvermeidung profitieren

V
ersuche mit autonomen Fahrzeugen in WLAN. Ziel der Forscher war es, das Verhalten
Cambridge zeigen, dass Stauprobleme autonomer Fahrzeuge nachzubilden, etwa
lösbar sein können. beim Umgang mit Hindernissen wie einem
Die Ergebnisse der Tests der Universität liegengebliebenen Fahrzeug.
Cambridge mit einer kleinen Flotte von mit Wurden die Fahrzeuge ganz unabhängig
Raspberry Pis gesteuerten Fahrzeugen wurden im voneinander betrieben, mussten Autos, die sich
Juni anläßlich der International Conference on hinter Pannenfahrzeugen befanden, das Tempo
Robotics and Automation in Montreal vorgestellt. drosseln oder anhalten und auf eine Lücke im
Verkehr warten, bevor sie die Spur wechseln
Autobahnchaos nachstellen und daran vorbeiziehen konnten. Das kennt jeder
Verkleinerte Automodelle wurden mit aus dem normalen Verkehr.
Bewgungssensoren und Controllern auf RasPi- Konnten die Fahrzeuge jedoch miteinander
Basis ausgestattet und kommunizierten per kommunizieren, konnten sie sich auch kooperativ
verhalten. Fuhr eines langsamer oder stoppte es,
wurde ein Signal an alle anderen gesendet. Die
Fahrzeuge auf der anderen Spur fuhren dann
etwas langsamer, damit die vom Problem direkt
betroffenen Fahrzeuge die Spur wechseln und
Kollisionen vermeiden konnten – so lief der
Verkehr dann auf beiden Spuren flüssig weiter.
Dank der verbesserten Straßensicherheit war es
möglich, die Fahrzeuge mit geringeren Abständen

Die Minifahrzeuge basieren auf dem Raspberry Pi

6 05 • 2019 magpi.de
Trends

Die Fahrzeuge
kommunizieren
miteinander, um
sicher und effizient
voranzukommen

Dank verbesserter Sicherheit


konnten die Autos mit
weniger Abstand fahren

fahren zu lassen und damit die Effizienz um 35


bis 45 Prozent zu erhöhen.

Fahrzeugübergreifende Kommunikation
„Autonome Fahrzeuge könnten viele Problem
mit dem Autofahren in der Stadt lösen, aber sie
benötigen eine Möglichkeit, um zusammen-
zuarbeiten“, meint dazu Michael He, Mitautor
des Berichts und Bachelor-Student am St. John’s
College. Er entwarf die Spurwechselalgorithmen Jedes Fahrzeug
enthält einen
für die Versuchsreihe. Der Algorithmus berechnet, Raspberry Pi Zero
W, mit dem der
ob es sicher ist, die Spur zu wechseln und ob Micro-Servo-Arm
der Vorgang einen echten Vorteil verschafft – und die Motoren
gesteuert werden
menschliche Fahrer tun dies bekanntlich nicht
immer. Die Forscher wollen nun Tests mit größeren Wenn die
Autos nicht
Fahrzeugflotten sowie komplexeren Szenarien kommunizierten
wie Abzweigungen und unterschiedlicheren und kooperierten,
kam es bei
Fahrzeugtypen durchführen. Ausfällen zum Stau
Weitere Informationen zu den Versuchen
können Sie auf der Webseite der University of
Cambridge nachlesen: magpi.cc/QGnWCY.

magpi.de 05 • 2019 7
Trends

Das Board hat Sensoren


zur Datenerfassung
und einen Chip für die
Verbindung zu Google
Cloud IoT Core und die
Analyse von Daten

Coral Environmental
Sensor Board
Google bringt ein neues Board für den Pi auf den Markt, das mit Sensoren und
Google-Cloud-Integration aufwarten kann

G
oogle hat unter seiner Marke Coral
(bislang AIY Projects) ein neues Produkt
für den Raspberry Pi herausgebracht.
Das Environmental Sensor Board bringt einige
Sensoren und ein OLED mit 128 × 32 Pixeln mit.
Darüber hinaus kann das Board eine sichere
Verbindung mit Googles Cloud IoT Core-Dienst
(cloud.google.com/iot-core) herstellen und
erlaubt so, Daten sicher zu übertragen und mit den
Das Environmental
ML-Tools von Google ausführlich zu analysieren. können, um Prototypen ohne Steckbrücken Sensor Board besitzt
Das Environmental Sensor Board verbindet oder Lötkolben zu bauen. Google stellt die Doku- vier Grove-Anschlüsse,
die das Bauen von
sich per Krypto-Chip vom Typ ECC608 mit der mentation für einige Python-Klassen bereit, die Prototypen erleichtern
Google IoT Cloud. An Messtechnik bietet das wir derzeit auf ihr Potenzial für MagPi-Tutorials
Board einen Feuchtigkeitssensor vom Typ hin prüfen. Die erste ist coral.enviro.board, eine
HDC2010, einen OPT3002-Helligkeitssensor Schnittstelle für alle Ein- und Ausgabemodule;
sowie einen BMP280 und einen barometrischen die zweite ist coral.cloudiot.core, die eine
Drucksensor, zudem UART, I2C und PWM- Verbindung zu Google Cloud IoT Core über MQTT
Anschlüsse. Ein vollständiges Datenblatt finden herstellt und dabei ein JWT zur Geräteauthenti-
Sie unter magpi.cc/uxHKEE. fizierung verwendet. Beide sind zu finden unter
Das neue Board besitzt außerdem vier Grove- coral.withgoogle.com/docs. Das Environmental
Anschlüsse (magpi.cc/eCbZbF), über die Sie Sensor Board kostet rund 25 Euro, ist hierzulande
zusätzliche Komponenten schnell anschließen bislang aber noch nicht verfügbar.

8 05 • 2019 magpi.de
'   //
  
2  >  8

FOTO: TECHNOSEUM
Astronauten gesucht
Zum 50. Jahrestag der ersten bemannten Astronautentraining, Mittagessen samt
Mondlandung sucht das Technoseum Erfahrungsaustausch mit einem echten
Mannheim einen Astronauten und eine Astronauten und einem Zero-Gravity-
Astronautin. Interessenten brauchen Flug. Nach der Landung gibt es noch eine
lediglich ein maximal einminütiges Video After-Flight-Party. Teilnehmen kann
einzureichen, in dem sie erklären, warum jeder Mensch ab 18 Jahren, der gesund
sie in die Schwerelosigkeit eintauchen ist und die körperlichen Voraussetzungen
möchten. Den Gewinnern winkt eine für das Training mitbringt (mehr Infos
sechstägige Reise in die USA mit unter bit.ly/2Xw3M6U).

Thunderbolt-3-Docking
Wer schon einmal ein Gerät mit Thunder- Festplattenvollverschlüsselung
bolt-Anschluss genutzt hat, will diese
Darüber hinaus stattet Tuxedo die von ihm
praktische Schnittstelle nicht mehr missen.
Geräte lassen sich per schnellem Gigybit- vertriebenen Systeme mit einer Festplatten-
Ethernet anschließen, zudem ist es möglich, vollverschlüsselung aus. Die Kunden haben
über ein einziges Kabel verschiedenste die Wahl, ob sie die Einrichtung bereits ab
Schnittstellen zu bedienen. Das hat der Werk fertig eingerichtet übernehmen oder
Augsburger Linux-Spezialist Tuxedo diesen Job lieber selbst erledigen wollen.
Computers zum Anlass genommen, eine Letzteres soll über Tuxedos hauseigene
Dockingstation speziell für diesen Zweck Installationshilfe WebFAI auch weniger
herauszubringen. Die Ausstattung fällt versierten Usern leichtfallen. Bei der
reichhaltig aus: Über ein einziges Thunder- Verschlüsselung setzt das Unternehmen
bolt-3-Kabel angeschlossen, lassen sich auf LUKS-LVM (Linux Unified Key Setup und
über die Dockingstation satte drei USB- Logical Volume Manager). Bei der Einrichtung
Ports nach 3.1-Standard Gen 1 nutzen sowie wird der Datenträger in zwei Partitionen
zwei Ports nach USB 3.1 Gen 2. Dazu kommen aufgeteilt: Eine kleine unverschlüsselte
zwei USB-C-Buchsen, die Thunderbolt 3 mit
Partition enthält nur die zum Start nötigen
40 GBit/s unterstützen sowie ein Gigabit-
Dateien, während auf der zweiten Partition
LAN-Port. Auch an einen DisplayPort-
Anschluss hat man gedacht, der sogar
per LVM eine Art Container eingerichtet wird, '      
der die gesamten Daten enthält. Dieser
4K-Monitore unterstützt. Per Daisy-Chaining 0  ,(    " / % :2    
Container wird beim Einrichten vollständig  9 1 !
soll auch der Anschluss von zwei Full-HD-
Bildschirmen möglich sein. Aufgrund verschlüsselt. Da derartige Operationen
3  8 2 $..# &# # ;# >#
des keilförmigen Gehäuses soll sich die nicht ganz unkompliziert sind und auch 8# "=  ))    8   
Dockingstation gut als Notebookstütze Datenverluste nach sich ziehen können,
;    2 *+$,     
eignen und die Belüftung verbessern helfen. empfiehlt der Hersteller ein vorheriges // #   // 8  
Der Preis ist allerdings ebenso exquisit wie Daten-Backup und stellt darüber hinaus 8 # 82 %   4 
die Feature-Liste: Rund 250 Euro sind kein eine ausführliche Anleitung zur Verfügung ? //     ?      5
Pappenstiel (mehr unter bit.ly/2MEqZlJ). (mehr unter bit.ly/2EZWpx7).      ' 9
8     /    % / 9
        

-  ? < %  ?7 # "  ; 

   
 #  //# ! '  ! 
36 
  //  8
2  

magpi.de
   
Trends

Prototypen
auf Basis des
Die beiden
HATs von
Raspberry Pi
Tinkerforge
unterscheiden Der deutsche Hersteller Tinkerforge
sich vor allem in
der Zahl der bietet seit Neuestem zwei HATs für
Anschlüsse
Raspberry Pi, die Anschluss an die
Welt der Bricks bieten

N ahe Bielefeld residiert der


deutsche Hersteller Tinkerforge,
dessen über 70 Produkte sich vor
Tinkerforge bringt zwei HATs heraus,
die auf Raspberry Pi und Raspberry Pi
Zero abgestimmt sind: Der größere
bringt der HAT ebenfalls mit, sodass
sich der Raspberry Pi timergesteuert
ein- und ausschalten lässt, etwa um
allem an Entwickler richten, die mit HAT Brick bringt acht Anschlüsse stündlich eine bestimmte Aufgabe
den in 17 Sprachen zu programmie- für sogenannte Bricklets mit, die abzuarbeiten und anschließend
renden Komponenten Prototypen Funktionen wie Sensoren, aber auch wieder komplett abzuschalten. Der
gestalten oder Kleinserien realisieren. Ein- und Ausgänge implementieren. kleinere HAT Zero Brick bietet eine
Das Besondere dabei: Sämtliche Daneben lässt sich der HAT Brick deutlich reduzierte Ausstattung,
Entwicklungen des Herstellers mit sehr toleranten fünf bis 28 Volt etwa nur vier Anschlüsse, kostet
stehen unter Open-Source-Lizenz. DC versorgen und kann nebenbei aber auch nur 15 Euro, während
Nun findet auch der Raspberry Pi auch noch den Pi antreiben. Eine der HAT Brick rund 50 Euro kostet
Anschluss an diese Welt, denn Echtzeituhr samt Batteriebackup (mehr unter www.tinkerforge.com).

Autonome E-Busse in Hamburg und Berlin


Die Zeit der autonomen Fahrzeuge bricht Deutlich gemütlicher geht es in Berlin
langsam aber sicher auch in Deutschland zu: Dort testet die BVG seit August einen
an. In Hamburg läuft seit August der elektrischen Shuttle-Bus, der mit einer
Probebetrieb eines Elektrobusses in Höchstgeschwindigkeit von 15 km/h
der Hafencity. Das Fahrzeug soll in die Linie „Seemeile“ zwischen dem
Zukunft bis zu zehn Fahrgästen Platz für U-Bahnhof Alt-Tegel und dem Tegeler
eine Tour entlang der Elbe bieten und See bedient. Vorgesehen sind zunächst
dabei unter realen Bedingungen im Testfahrten ohne Passagiere, dafür aber
öffentlichen Raum getestet werden. mit einem menschlichen Aufpasser.
Dabei darf es dann mit bis zu 50 km/h Später sollen dann neben dem Aufseher
autonom unterwegs sein. Nach einem auch bis zu sechs Fahrgäste befördert
Testbetrieb ohne Passagiere sollen Mitte werden. Interessant ist, dass so ein
2020 dann auch Fahrgäste befördert E-Bus nun im öffentlichen Raum fährt;
werden. Ein menschlicher Aufpasser auf dem verkehrsarmen Privatgelände
wird aber in jedem Fall dabei sein, um des Krankenhauses Charité gibt es das
im Notfall sofort eingreifen zu können. schon länger.

FOTO: HAMBURGER HOCHBAHN AG


HEAT HAFENCITY/30.07.2019
© MARC-OLIVER SCHULZ

10 05 • 2019 magpi.de
Trends

FOTO: HERSTELLER/TIER
Antworten vom Team
Wer schon immer mal das erklären Hintergründe und
Team hinter dem Raspberry Pi erläutern, warum diverse
kennenlernen wollte, hat nun Entscheidungen so und nicht Sind E-Roller ökologisch?
die Gelegenheit dazu – ganz anders getroffen wurden. Unter
bequem vom heimischen Sofa anderem verraten sie, wieso das Seit knapp drei Monaten aufwendig und mit vielen
aus. Das Team um Eben Upton neue Board zwei HDMI-Ports in sind E-Roller in Deutsch- Fahrten verbunden.
hat nämlich ein YouTube-Video Mikrogröße besitzt, warum die land zugelassen – und Berücksichtigt man auch
damit wird es Zeit für eine die Herstellung, steigt
zum Raspberry Pi 4 produziert, USB- und Netzwerkschnitt-
erste Zwischenbilanz. In der CO2-Ausstoß auf bis
in dem neben dem Gründer und stellen nicht mehr am üblichen
den Städten schießen zu 12,5 Kilogramm je
Chef selbst auch der COO und Platz sitzen und vieles mehr. die Kleinstfahrzeuge seit gefahrene 100 Kilometer.
Hardware-Lead James Adams Wer das – durchaus gepflegte - Kurzem wie Pilze aus Dafür ersetzen die E-Roller
sowie Software Engineering Englisch der drei Herren dem Boden. Selbst im ja das Auto beziehungs-
Director Gordon Hollingworth trotzdem nicht so gut versteht, beschaulichen Augsburg weise Fahrten damit –
wurden sie mittlerweile gerade im Innenstadt-
Rede und Antwort stehen. Im kann das Video auch mit
gesichtet. bereich – und sorgen
Verlauf des gut 50-minütigen englischen Untertiteln
Doch die vorläufige somit für bessere Luft. So
Videos streifen sie viele Themen, ansehen. bit.ly/31tLnZV Bilanz ist durchwachsen. argumentieren jedenfalls
Auf der einen Seite steht die Hersteller. Laut dem
der recht günstige CO2- Rollerverleih Voi haben

Top-Tipp Kakerlaken Ausstoß, der bei einem


E-Roller nur rund 0,5
Kilogramm je gefahrene
sich Autofahrten in mit
E-Rollern versorgten
Städten mit einer Fahr-
Firmware-
Update für den und Roboter 100 Kilometer ausmacht,
während ein Kleinwagen
mit Verbrennungsmotor
strecke von zwei bis fünf
Kilometern um 40 Prozent
verringert. Das habe
Raspberry Pi 4
Roboter betrachten viele Menschen ja rund elf Kilogramm eine Umfrage unter 1.400
Luc Aufranc von schon seit jeher mit gemischten Gefühlen. ausstößt. Doch auf der Nutzern in Deutschland,
CNX Software hat Doch angesichts einer Roboterkakerlake, anderen Seite bestehen Österreich und der
den Raspberry Pi 4 die E-Roller zum Großteil Schweiz ergeben. Ob
wie sie von einem amerikanisch-chine-
getestet und dabei aus Aluminium, das in der diese Umfrage repräsen-
sischen Forscherteam entwickelt wurde,
festgestellt, dass Produktion sehr energie- tativ war, lässt der
dürfte sich das Unbehagen noch deutlich intensiv ist. Außerdem Hersteller offen. Beim
das System-on-
verstärken. Das drei Zentimeter lange und ist die Herstellung der Bundesumweltamt
Chip aufgrund der
hohen Abwärme 1,5 Zentimeter breite Roboterungeziefer Akkus nicht besonderlich verweist man indes auf
die Taktraten dros- bewegt sich nämlich sehr flott: Es erreicht umweltfreundlich. Die eine andere Umfrage
selt. Die Raspberry eine Geschwindigkeit von 60 cm/s, schafft Akkus enthalten Lithium, unter 4.000 Nutzern
JENNINGS. COURTESY OF POLYPEDAL LAB UC BERKELEY

Pi Foundation hat dessen Abbau ziemlich in Paris (bit.ly/2QNCHJO).


Steigungen bis zu 15,6 Grad und wiegt fast
FOTO: TOM LIBBY, KAUSHIK JAYARAM AND PAULINE

ihm daraufhin eine umweltschädlich ist. Die zeichnet ein deutlich


nichts (0,064 Gramm). Der Clou aber ist Und schließlich ist in anderes Bild: Laut dieser
neue Firmware-
die Robustheit der Kakerlake. Selbst den Akkus eine giftige, Umfrage wäre fast die
Version zur Ver-
fügung gestellt, der Tritt eines 60 Kilogramm schweren fluorhaltige Flüssigkeit Hälfte der Nutzer ohne
die die Probleme Menschen stoppt sie nur kurzzeitig, enthalten. Sollte diese E-Roller schlicht zu Fuß
lindert und den dann läuft sie weiter. etwa in Folge eines gegangen, während rund
Prozessor rund Unfalls oder Risses in der 30 Prozent den öffentlichen
fünf Grad kühler Batterie austreten, könnte Nahverkehr oder das
laufen lässt. Mit es zum Brand kommen. Fahrrad genutzt hätten.
etwas Glück wird Sind die E-Roller dann im Lediglich acht Prozent der
die neue Version Einsatz, müssen sie immer befragten Nutzer wären
schon bald für wieder eingesammelt, ohne E-Roller tatsächlich
alle Anwender aufgeladen, gewartet und mit dem Auto oder Taxi
bereitgestellt. repariert werden. Das ist gefahren.

magpi.de 05 • 2019 11
Schwerpunkt PROGRAMMIEREN

CODEN
LERNEN
MIT SCRATCH & PYTHON
Jeder kann coden lernen! Wir zeigen Ihnen,
dass Programmieren wesentlich einfacher ist,
als Sie es sich vorstellen

Sean
McManus
AUTOR

Autor und Co-Autor


beliebter Coding-
Bücher, darunter
„Mission Python“,
„Cool Scratch Pro-
jects in Easy Steps“
und „Raspberry Pi
For Dummies“. Ein
Gratiskapitel gibt es
auf seiner Web-
seite.

sean.co.uk

12 05 • 2019
PROGRAMMIEREN Schwerpunkt

Seite 14
CODING-GRUND-
LAGEN MIT SCRATCH

Seite 17 QUIZSPIEL
MIT PYTHON
PROGRAMMIEREN

Seite 20
MEMORY-GAME

W
er sich dazu entschlossen hat, in die Welt des
ENTWICKELN
Codings einzusteigen, erleichtert sich das Leben.
Zum einen kann man auf diese Weise Computer
und andere Gadgets dazu bringen, sich so zu verhalten, wie
es der Programmierer will. Das ist ziemlich cool.
Nicht minder wichtig ist, dass Menschen, die program-
mieren können, wesentlich besser verstehen, wie Computer
im Allgemeinen und moderne Technologien im Speziellen
funktionieren, was ihnen den Umgang damit erleichtert.
Und sie schärfen ihren Verstand, indem sie ein Problem
erkennen, es in einzelne Komponenten zerlegen und suk-
zessive lösen. Im Berufsleben spielt diese Fähigkeit auch
eine Rolle. Wer ein bisschen coden kann, hebt sich von sei-
nen Kollegen ab. Darüber hinaus veredelt die Erwähnung
dieser Fähigkeit nahezu jeden Lebenslauf. Und das Beste:
Jeder Mensch kann Programmieren lernen. Wirklich jeder!
Coden ist einfacher, als man denkt. Das gilt besonders
dann, wenn man sich vom Raspberry Pi unter die Arme
greifen lässt. Welche Vielfalt Sie erwartet, erfahren Sie
auf den weiteren Seiten unserer Titelgeschichte.

Jeder Mensch kann


programmieren lernen.
Wirklich jeder!

magpi.de 05 • 2019 13
Schwerpunkt PROGRAMMIEREN

Erste Schritte
mit Scratch
Einsteiger, aufgepasst! Es ist an der Zeit, in die wunderbare Welt des Codings
einzusteigen, sich mit Scratch und Python auseinanderzusetzen und einen
Blick auf die LED-Programmierung zu werfen

W
Scratch 2 starten
er Programme schreiben kann, verfügt über
eine Art Superkraft: Er kann Computern befeh-
01 Öffnen Sie Scratch, indem Sie im RasPi-
len, die Dinge zu tun, die der Entwickler will. Hauptmenü auf »Entwicklung« klicken und
Wir nehmen Sie mit auf eine spannende Reise und zei- »Scratch 2« wählen. Im folgenden Programm-
gen Ihnen, wie Sie mithilfe von Scratch und Python fenster klicken Sie auf das Globus-Symbol und
erste Programme entwickeln. Zudem erfahren Sie, wie wählen »Deutsch«, um die deutschsprachige
einfach es ist, elektronische Projekte auf die Beine zu Bedienoberfläche zu aktivieren. Um ein Programm
stellen. Ein Programm ist im Grunde genommen zu entwickeln, ziehen Sie Blöcke aus dem Bereich
nichts anderes als eine Liste von Befehlen. In »Skripte« in das rechts daneben platzierte Skript-
Scratch werden diese Befehle in Form von Blöcken fenster und fügen sie zusammen.
zu einer als Skript bezeichneten Sequenz zusam- Klicken Sie zunächst auf »Ereignisse« und zie-
mengefasst. Die einzelnen Blöcke sind farbig hen Sie den Block Wenn angeklickt in das
codiert und in Rubriken unterteilt, was die Skriptfenster. Wählen Sie dann »Bewegung«,
Übersicht wesentlich erhöht. Dieses Prinzip ziehen Sie den Block setze Richtung auf 90 nach
hat aber noch einen weiteren Vorteil: Sie rechts und verbinden Sie ihn mit dem ersten Block.
müssen sich keinerlei Gedanken um die Klicken Sie den zweiten Block an und ersetzen Sie
Syntax machen. den vorgegebenen Wert „90“ durch „0“.
Dieses sehr einfach gehaltene Skript bewirkt,
dass die als Scratch Cat bekannte Katze in der
oberen linken Ecke des Vorschaufensters positio-
niert wird und sich anschließend in Zehnerschrit-
ten nach unten bewegt. Unten angekommen, geht
es wieder nach oben. Um sich selbst ein Bild
Scratch: Schritte als davon zu machen, klicken Sie im Vorschaufenster
Koordinaten auf die grüne Fahne. Um die Animation zu been-
den, klicken Sie auf das rote Symbol.
Das Scratch-Vorschaufenster, das oben links
platziert ist und sich per Klick auf das kleine blaue
Symbol vergrößern lässt, setzt auf die Einheit
Schritte. Bewegt sich die Katze in diesem Work-
Sie benötigen shop zehn Schritte, stellt das laut unserem Skript
nur eine einzige Bewegung dar. Der Mittelpunkt
> Scratch 2 des Vorschaufensters hat die Koordinaten x=0 und
y=0. Die x-Achse, also die horizontale Achse
> Raspbian Desktop beginnt bei -240 und reicht bis +240, die y-Achse
> Spaß am Coden! (vertikale Achse) beginnt bei -180 und endet bei
+180. Die Standardrichtungen, in die sich eine
Figur bewegen kann, sind festgelegt: 0 (nach
oben), 90 (nach rechts), -180 sowie 180 (nach
unten) und -90 (nach links). Zwischenwerte sind
natürlich ebenfalls möglich. Wir empfehlen
Ihnen, einfach ein paar Werte auszuprobieren,
um sich mit der Definition von Koordinaten
vertraut zu machen.
14 05 • 2019
PROGRAMMIEREN Schwerpunkt

03

02

01 Befehlsblöcke: Dort stehen die


Befehle zur Auswahl

02 Skriptfenster: Ziehen Sie


01 Befehle in diesen Bereich, um
ein Skript zu programmieren
04
03 Rubriken: Die Befehle sind in
zehn Rubriken eingeteilt, was
die Übersicht verbessert

04 Figuren: Dort verwalten Sie die


verwendeten Figuren

Eine Nachricht senden


02 In Scratch werden Objekte, die sich bewe-
Danach klicken Sie auf die Figur »Bananas« und
drücken »OK«, um sie auszuwählen. Aktivieren
gen, als Figuren bezeichnet. Eine Figur kann mit Sie anschließend die Banane im Bereich »Figu-
anderen mithilfe von Nachrichten kommunizieren. ren«, um zwei neues Skripte zu coden. Das erste
Das ermöglicht es ihnen, miteinander zu interagie- passt die Größe der Banane an und macht sie nach
ren. Wir verwenden diese Funktion, um der Katze einem Druck auf die Leertaste unsichtbar. Das
zu befehlen, Bananen zu werfen. Klicken Sie auf zweite startet, wenn die Katze die Nachricht „los“
»Ereignisse« und fügen Sie die beiden in der
unteren Abbildung gezeigten Blöcke in das Skript-
fenster ein. Dieses neue Skript ist unabhängig vom
ersten, sodass keine Verbindung besteht. Sie müs- Top-Tipp
sen noch den Platzhalter „message 1“ durch „los“
ersetzen, indem Sie das Ausklappmenü öffnen, Ist das die
»neue Nachricht« wählen, „los“ eintippen und richtige Figur?
mit »OK« bestätigen. Lassen Sie das fertige Pro-
gramm laufen. Sobald Sie die Leertaste drücken, Überzeugen Sie
wird die Nachricht im Hintergrund übergeben. sich davon, dass
Sie vor dem
Zusammenstellen
eines Skripts die
richtige Figur
gewählt haben.

sendet. Fügen Sie die folgenden Blöcke in das


Skriptfenster ein.
Nach dem Einfügen des Blocks gleite ziehen Sie
den Block y-Position in das runde Feld »y«, um
Bananen hinzufügen
03 Ein Grund für die große Beliebtheit von
den vorgegebenen Wert „10“ zu ersetzen. Nun
sorgt die Nachricht „los“ dafür, dass die Katze
Scratch ist, dass zahlreiche Objekte, unterschied- Bananen wirft, die nach rechts über den Bildschirm
liche Hintergrundgrafiken und diverse Sounds mit- fliegen. Sobald die Bananen den rechten Bild-
geliefert werden. Klicken Sie im Fenster »Figu- schirmrand erreichen, werden sie unsichtbar. Um
ren« auf das erste Symbol neben »Neue Figur«, sich selbst ein Bild davon zu machen, starten Sie
um die integrierte »Figurenbibliothek« zu öffnen. das Skript und drücken die Leertaste.

magpi.de 05 • 2019 15
Schwerpunkt PROGRAMMIEREN

Top-Tipp
Verschach-
Mehr lernen über
telte Blöcke Scratch
Wir alle sind riesengroße Fans von Scratch. Aus
Blöcke lassen diesem Grund sind wir in den vergangenen Mona-
sich in andere ten auch immer wieder auf diese einfach gehal-
Blöcke integrie- tene und dennoch vielfältige Entwicklungsumge-
ren. In Schritt 3 bung eingegangen. So haben wir zum Beispiel ein
legen wir etwa einfaches Memory-Spiel programmiert oder ein
fest, dass die Multiple-Choice-Quiz entwickelt. Zudem gibt es
y-Position der das Code Club Book of Scratch (magpi.cc/
Figur stets gleich ccbook1).
sein soll.

Bühne frei für den Affen!


04 Bei Variablen handelt es sich um Informa-
tionen, die sich ändern, etwa Spielstände. Klicken
Sie auf »Daten | Neue Variable«, tippen Sie die
Bezeichnung „Punkte“ ein, markieren Sie »Für
alle Figuren« und bestätigen Sie mit »OK«. Fügen
wir nun ein bewegliches Ziel ein, das die Katze
treffen soll. Klicken Sie auf »Figur aus der Biblio-
thek wählen« und wählen Sie »Monkey2«. Mar-
kieren Sie den Affen im Bereich »Figuren« und
weisen Sie ihm das obige Skript zu, das den Punk-
testand auf 0 und den Affen in Bewegung setzt.
Praktisch: Der Block »nächstes Kostüm« sorgt
zudem für eine Animation. zen wir einen falls/dann-Block, der überprüft, ob
ein Ereignis eingetreten ist, also ob der Affe von
den Bananen getroffen wurde. Trifft das zu, wird
das Skript, das innerhalb dieses Blocks integriert
Kollisionsabfrage einbauen
05
Diese Skripte ist, gestartet: Der Affe wird unsichtbar, der Punk-
fügen einen
Timer hinzu und Damit unser Affe überhaupt merkt, testand um 1 erhöht, und der Affe taucht nach
sorgen dafür,
dass er getroffen wurde, müssen wir eine einer Sekunde wieder auf. Das komplette Skript
dass der Affe
beim Anblick Kollisionsabfrage integrieren. Dazu nut- wird in die »wiederhole fortlaufend«-Schleife
der Bananen
aufschreit nach dem Befehl »nächstes Kostüm« eingefügt.

Der letzte Schliff


06 Damit das Game nicht zu langweilig wird,
fügen wir noch eine Zeitbegrenzung von 30 Sekun-
den ein. Darüber hinaus wollen wir, dass der Affe
beim Anblick der Bananen „Autsch!“ schreit. Dazu
fügen Sie den links abgebildeten Code in das
Skriptfenster des Affen ein. Sie können dieses Bei-
spiel nach Belieben überarbeiten und optimieren.
Experimentieren Sie einfach damit herum, um die
vielfältigen Möglichkeiten, die Scratch bietet, zu
erkunden. Es macht riesigen Spaß!

16 05 • 2019 magpi.de
PROGRAMMIEREN Schwerpunkt

Coden Sie ein


Quiz mit Python
Mit der Programmiersprache Python stellen Sie im
Handumdrehen ein Quiz zusammen

V
iele Menschen, die mit Scratch begonnen
haben, landen früher oder später bei Python
– der Programmiersprache, die gar nicht so
schwer zu erlernen ist. In diesem Workshop zeigen
wir Ihnen, wie einfach sich mit Python ein text-
basiertes Quiz realisieren lässt. Wir verwenden
Thonny, ein Werkzeug, das das Entwickeln und 01
Testen von Python-Code vereinfacht. Wie Scratch
ist auch Thonny Python IDE (Integrated Develop-
ment Environment) vorinstalliert, sofern Sie sich
für das vollständige Raspbian-Betriebssystem
entschieden haben.

03

Fragenliste zusammenstellen
01 Python kennt nicht nur Variablen, sondern
unterstützt auch Listen, in denen Informationen 02
abgelegt sind: Im Beispiel ist das eine Liste namens
questions. Jeder Listeneintrag (=String) ist der
Name eines Shakespeare-Werks. In Python werden
Listeneinträge durch Anführungszeichen gekenn-
zeichnet, einzelne Strings durch Kommas ge- 01 Dort tippen Sie
Ihren Programm-
trennt. Die Gesamtliste wird wiederum von eckigen code ein
Klammern eingeschlossen. Geben Sie in Thonny
02 In die »Shell«
die folgende Liste ein, speichern Sie die Datei und eingegebene

Einrückungen ver- klicken Sie auf »Run«. Haben Sie alles korrekt
eingegeben, sind im unteren Fenster keine Fehler-
Befehle werden
sofort ausge-

bessern die Übersicht meldungen zu sehen.


führt

03 Im Bereich
Python gestattet Einrückungen, was den Über- »Variables«
blick deutlich verbessert, da Sie auf einen Blick import random haben Sie die
Daten im Blick
erkennen, welcher Befehl zu einer Funktion, einer
if-Aussage oder einer Schleife gehört. Was das in questions = ["Wie es euch gefällt",
der Praxis bedeutet, sehen Sie in Schritt 3. Die
"Der Sturm", "Maß für Maß", "Viel Lärm
letzte Zeile gehört zur if-Anweisung, die wiede-
um nichts", "Die Komödie der Irrungen",
rum Bestandteil der for-Schleife ist. Mit den Sie benötigen
Einrückungen können Sie Ihren Code strukturie- "König Lear", "Cymbeline", "Hamlet",
ren und die Lesbarkeit erhöhen. Super: Thonny "Coriolanus", "Othello", "Verlorene > Raspbian mit
fügt automatisch eine Einrückung ein, wenn Sie Liebesmüh", "King John", "Julius Desktop
nach einem Doppelpunkt die Eingabetaste drü- Caesar", "Eduard der Dritte"]
cken. Um eigene Einrückungen einzufügen, drü- > Thonny
cken Sie die Leertaste viermal.

magpi.de 05 • 2019 17
Schwerpunkt PROGRAMMIEREN

Mehr lernen über


Python
In nahezu allen Ausgaben von „The MagPi” finden
Sie Python-Listings. In Ausgabe 53 (magpi.cc/53)
erwartet Sie etwa ein ausführlicher Einsteiger-
Guide, in dem wir unter anderem auf Variablen,

Top-Tipp 02 Zufällige Frage auswählen Schleifen mit while und for, Funktionen sowie
den if-Befehl eingehen. In Ausgabe 54 (magpi.
Python umfasst zahlreiche vorgefertigte cc/54) steht die objektorientierte Programmierung
Die Punkte Module, die Sie verwenden können, darunter mit Scratch und Python auf dem Programm. Und in
sind wichtig! einen Zufallsgenerator (random), den wir in Schritt Ausgabe 73 (magpi.cc/73) stellen wir Ihnen inter-
1 importiert haben. Der nächste Befehl erzeugt essante Bücher und Webseiten zum Thema
Denken Sie eine neue Variable namens chosen_phrase und Python vor. In unserer Essentials-Buchreihe gibt es
daran, dass am den beliebten Titel Make Games with Python
weist ihr einen zufälligen Eintrag aus der Liste
Ende von if- (magpi.cc/gameswithpython).
und else-
questions zu. In der zweiten Zeile wird diese Frage
Befehlen stets in Großbuchstaben konvertiert. Lassen Sie das
ein Doppelpunkt Programm ein paarmal laufen und werfen Sie im
stehen muss. Bereich »Variables« einen Blick auf die Werte von das Programm ein paarmal laufen. Hat alles ge-
chosen_phrase. Fügen Sie nach dem Code aus klappt, sollte im Bereich »Variables« kein einzi-
Schritt 1 eine Leerzeile ein und tippen Sie folgende ges der ausgeschlossenen Zeichen zu sehen sein.
Befehle ein:
vowels = ["A", "E", "I", "O", "U", "Ä", "Ö",
chosen_phrase = random.choice(questions) "Ü", "ß", " "]
chosen_phrase = chosen_phrase.upper() puzzle = ""

Vokale und Umlaute entfernen


03 Nun legen wir die neue Liste namens
for letter in chosen_phrase:
if not letter in vowels:
vowels an, in der alle Zeichen enthalten sind, die puzzle += letter
ignoriert werden sollen. In diesem Beispiel gehö-
ren dazu alle Vokale und Umlaute, Leerzeichen
Zufällige Leerzeichen einbauen
sowie das „ß“. Anschließend erzeugen wir die leere
String-Variable puzzle. Die nach dieser Variable
04 Jeder Buchstabe eines Strings verfügt über
folgende Schleife, die mit for eingeleitet wird, eine Positionsnummer, die bei 0 beginnt. Diese
überprüft zunächst, ob in einer Frage Zeichen aus Positionsnummer wird als Index bezeichnet und
unserer Ignorierliste enthalten sind. Dazu wird lässt sich in eckigen Klammern hinter dem String
jeder einzelne Buchstabe mit den Einträgen von angeben. Probieren Sie es einfach aus, indem Sie
vowels verglichen. Buchstaben, die nicht in den folgenden Befehl in die »Shell« eintippen und
dieser Liste enthalten sind, werden an das Ende mit der Eingabetaste bestätigen:
von puzzle hinzugefügt, was Sie an der Angabe
+= erkennen. Geben Sie den im folgenden print("Hello"[1])
Kasten gezeigten Code ein und lassen Sie
Als Ausgabe erhalten Sie den Buchstaben „e“, da
das „H“ auf Position 0 steht. Sie können aber auch
eine Sequenz abfragen. Und zwar so:

print("Hello"[1:4])

Debugging in Thonny Die Ausgabe lautet „ell“, da die letzte Indexposi-


Sie können Programme Schritt für Schritt laufen tion weggelassen wird. Legen wir nun die neue
lassen, um eventuellen Fehlern auf die Spur zu Liste puzzle_with_spaces an, indem wir Sequen-
kommen. Klicken Sie zunächst auf die Schaltfläche
zen aus dem String puzzle abfragen und Leerzei-
»Debug« und wählen Sie danach »Over«, um das
chen hinzufügen. Die while-Schleife wiederholt
Programm Zeile für Zeile abzuarbeiten. Werfen Sie
bei jedem Schritt einen Blick auf den Bereich »Va- die nachfolgenden Befehle – sofern die Länge von
riables«, um Ungereimtheiten zu ermitteln. Sehr puzzle größer als 0 ist. Der Variablen group_
hilfreich: Thonny markiert eckige Klammern und length wird eine ganze Zahl zwischen 1 und 5
Anführungszeichen, die nicht geschlossen wurden. zugewiesen. Diese Zahl legt fest, wie viele Buch-
staben von puzzle zu puzzle_with_spaces
hinzugefügt werden; ein Leerzeichen wird
ebenfalls eingefügt. Diese Buchstaben wer-

18 05 • 2019 magpi.de
PROGRAMMIEREN Schwerpunkt

Die gute Nachricht: Die Program-


miersprache Python ist gar nicht
so schwer zu erlernen

den wiederum aus puzzle übernommen. Die ver-


wendete Sequenz nutzt nur eine Zahl. Bei der zwei-
ten wird angenommen, dass sie am Anfang oder
quiz_game.py D
Programmcode
Ende des Strings steht. Fügen Sie diese Zeilen ein:
> Sprache: Python auf Heft-DVD

puzzle_with_spaces = ""
001. import random
while len(puzzle) > 0: 002.
group_length = random.randint(1,5) 003. questions = ["Wie es euch gefällt", "Der Sturm",
puzzle_with_spaces += "Maß für Maß", "Viel Lärm um nichts",
puzzle[:group_length] + " " "Die Komödie der Irrungen", "König Lear", "Cymbeline",
puzzle = puzzle[group_length:] "Hamlet", "Coriolanus", "Othello","Verlorene Liebesmüh",
"King John", "Julius Caesar", "Eduard der Dritte"]
004.
Mit dem User interagieren
05 Im letzten Schritt steht die Interaktion auf
005. chosen_phrase = random.choice(questions)
006. chosen_phrase = chosen_phrase.upper()
dem Programm. Nach der Eingabe von puzzle_ 007.
with_spaces sorgt input dafür, dass die Frage 008. vowels = ["A", "E", "I", "O", "U", "Ä", "Ö", "Ü", "ß", " ",]
gestellt wird. Die von Ihnen eingetippte Antwort 009. puzzle = ""
wird in die guess-Variable übertragen, wo sie in 010.
Großbuchstaben umgewandelt wird, um die Rich- 011.
tigkeit zu überprüfen. Die if-Angabe checkt, ob 012. for letter in chosen_phrase:
Ihre Antwort mit chosen_phrase übereinstimmt. 013. if not letter in vowels:
Ist das so, wird die Erfolgsmeldung ausgegeben. 014. puzzle += letter
Ansonsten erscheint eine Fehlermeldung zusam- 015.
men mit der richtigen Antwort. In Python wird mit 016.
= einer Variable ein Wert zugewiesen; == dient 017. puzzle_with_spaces = ""
dagegen zum Vergleich in if-Befehlen. 018.
019.
print(puzzle_with_spaces) 020. while len(puzzle) > 0:
guess = input("Wie lautet deine Antwort?") 021. group_length = random.randint(1,5)
guess = guess.upper() 022. puzzle_with_spaces += puzzle[:group_length] + " "
023. puzzle = puzzle[group_length:]
if guess == chosen_phrase: 024.
print("Das ist richtig!") 025.
else: 026. print(puzzle_with_spaces)
print("Falsch. Die richtige Antwort 027. guess = input("Wie lautet deine Antwort?")
lautet ", chosen_phrase) 028. guess = guess.upper()
029.
Speichern Sie das Programm und klicken Sie auf 030.
»Run«, um das Quiz zu starten. Wir drücken 031. if guess == chosen_phrase:
Ihnen die Daumen und wünschen Ihnen viel Spaß! 032. print("Das ist richtig!")
Im Kasten rechts finden Sie noch einmal das kom- 033. else:
plette Listing. 034. print("Die richtige Antwort lautet", chosen_phrase)

magpi.de 05 • 2019 19
Schwerpunkt PROGRAMMIEREN

Entwickeln Sie ein


LED-Memory-Spiel!
Ein paar Bauteile, eine Steckplatine und Python-Kenntnisse – mehr ist nicht
nötig, um ein LED-Memory-Spiel zu programmieren. Wir zeigen, wie es geht

E
ines der herausragenden Merkmale von Raspberry Pi leiste der Steckplatine mit dem GPIO-Masse-
ist, dass sich elektronische Projekte relativ einfach auf anschluss (Pin 39).
die Beine stellen lassen, etwa ein LED-Memory-Spiel.
Sie benötigen lediglich eine Handvoll Komponenten und
die Bibliothek GPIO Zero, um ein solches Spiel, das wir
Erste LED einbauen
„LED-Memory“ nennen, zu realisieren. In „The MagPi“
(magpi.cc/77) haben wir Ihnen gezeigt, wie Sie dieses
02 Bei der LED-Nutzung müssen stets Wider-
Spiel auf einem Bildschirm entwickeln, diesmal steht stände verwendet werden, um die Stromaufnahme
die Hardware-Variante auf dem Programm. Dabei zu begrenzen. Stecken Sie die LED und den Wider-
greifen Sie auf Ihr neu gewonnenes Python-Wissen stand in die Platine. Der Strom fließt vom GPIO-
zurück. Pin 18 durch den Widerstand und die LED, die dar-
aufhin leuchtet, zur Masseleiste der Steckplatine
(graue Verkabelung). LEDs haben unterschiedlich
lange Anschlüsse, der kürzere ist der negative
Ersten Button verkabeln
01 Der Schaltplan (Abbildung 1) zeigt einen
Anschluss, der mit Masse verbunden werden muss.
Hinweis: Die LED leuchtet noch nicht.
Schalter, der mithilfe einer – auch als Bread-
board bezeichneten – Steckplatine mit den
GPIO-Pins eines Raspberry Pi verbunden
Es werde Licht!
Sie benötigen
wurde. Stecken Sie den Button in die
Platine und verbinden Sie das Zubehör
03 Nun wird die Verkabelung getestet. Dazu
mit dem Pi: Der erste Button ist mit verwenden Sie den Code licht.py (siehe nächste
> 4 × LEDs (in ver-
dem GPIO-Pin 2 und der Masseleiste Seite). Zunächst werden die erforderlichen Kom-
schiedenen Farben)
der Steckplatine verbunden (gelbe ponenten aus der Bibliothek GPIO Zero importiert,
> 4 × 330-Ohm- Verkabelung). In einem späteren dann wird der LED, die mit dem GPIO-Pin 18 ver-
Widerstände
Schritt verbinden wir die Masse- bunden ist, die Bezeichnung light zugewiesen.
> 4 × 6-mm-Buttons Der Schalter (button) ist dagegen mit dem GPIO-
> 400-Punkt- Pin 2 verbunden. Die folgende Schleife überprüft,
Steckplatine ob der Schalter gedrückt wird. Ist das der Fall,
leuchtet die LED. Achten Sie unbedingt auf die
> 9 × Jumperkabel
Groß- und Kleinschreibung.
(Stecker-auf-
Stecker) Mehr lernen über
> 8 × Jumperkabel Elektronik
(Buchse-auf-
In der ausführlichen Online-Dokumentation zu
Weitere Schalter und LEDs
Buchse)
GPIO Zero (magpi.cc/DPyuYc) finden Sie weitere
interessante Do-it-yourself-Beispiele, darunter
04 Werfen Sie einen Blick auf die Abbildung 2
eine Kamera, die per Button aktiviert wird, einen auf Seite 22. Dort sind nun alle vier Schalter und
LED-Graphen und einen Bewegungsmelder. In LEDs eingebaut. Dabei gehen Sie genauso vor
Ausgabe 77 haben wir interessantes Zubehör für
Elektronikfans vorgestellt, und in unserer Essen-
tials-Serie steht das Buch Simple Electronics with
GPIO Zero (magpi.cc/gpio-zero) zur Verfügung.

20 05 • 2019 magpi.de
PROGRAMMIEREN Schwerpunkt

Abbildung 1

So sieht das fertige LED-Memory-Game aus


01

wie bei den beiden ersten Komponenten. Lediglich


die Nummern der Pins unterscheiden sich. Alle
Schalter (gelbe Verkabelung) sind mit der oberen
Pin-Leiste verbunden, die LEDs mit der unteren
(blaue Verkabelung).

Der erste Funktionstest 03


05 Nun steht die Funktionsprüfung der Schal-
ter und LEDs an. Erweitern Sie den Code licht.py
um die LED(23) und den Button(3). Lassen Sie das 02
Programm laufen und überprüfen Sie, ob die LEDs
nach dem Drücken des Schalters leuchten. An-
schließend fügen Sie die LED(24) und den But-
ton(4) sowie die LED(25) und den Button(17) ein.
01 Über diese Pins werden Steckplatine und
Raspberry Pi verbunden

02 Die Bauteile müssen nicht auf die Steck-


Elektronisches Spiel coden platine gelötet werden
06 Nachdem die Vorarbeiten erledigt sind, geht 03 Eine einfache Schaltung umfasst einen
Button und eine LED
es ans Spiel. Das Listing (senso.py) finden Sie auf

D
Seite 23. Zunächst werden zwei Listen angelegt: In

licht.py
der einen sind die LEDs aufgeführt, in der anderen
die zugehörigen Buttons. Die dritte Liste (sequence)
bleibt leer. Dort wird später die Lichtsequenz, die
Programmcode
sich der Spieler merken muss, eingetragen. > Sprache: Python auf Heft-DVD

001. # LED-Demo
002. from gpiozero import Button, LED
Funktionen hinzufügen
07 Funktionen ermöglichen es, mehrere Befehle
003.
004. light = LED(18)
zu kombinieren und sie beliebig oft zu verwenden. 005. button = Button(2)
Bevor Sie eine Funktion nutzen können, müssen Sie 006.
sie definieren. Das erledigen Sie mithilfe des Befehls 007. while True:
def, gefolgt vom Namen der Funktion () und einem 008. if button.is_pressed:
Doppelpunkt. Die Klammern dienen zum Speichern 009. light.on()
von Informationen, die an die Funktion gesendet 010. else:
werden. Da das in diesem Beispiel keine Rolle spielt, 011. light.off()
bleiben sie leer. Die Funktionen lights_on() und

magpi.de 05 • 2019 21
Schwerpunkt PROGRAMMIEREN

lights_off() verwenden Schleifen, die sicherstel-


len, dass die in der Liste leds aufgeführten Elemente
in die Liste led übernommen werden. Anschließend
Abbildung 2 wird led ein- oder ausgeschaltet. Die Funktion
flash_all() zeigt, wie ein Vorgang wiederholt wird,
im Beispiel drei Mal. Die Schleife schaltet die LEDs
ein und aus, die Pause dazwischen beträgt 0,25
Sekunden (sleep(0.25)).
03

Letzter LED-Funktionscheck
08 Nach Eingabe des Codes bis Zeile 23 können
Sie das Programm testen. Fügen Sie am Ende flash_
all() ein und lassen Sie das Programm laufen. Alle
LEDs sollten nun drei Mal simultan aufleuchten.
Löschen Sie die zuletzt hinzugefügte Zeile wieder,
bevor Sie fortfahren. Die Funktion lights_off() in
Zeile 25 soll sicherstellen, dass alle LEDs zu Beginn
des Spiels aus sind.

01

Füllen der Liste „sequence“


02 09 Nun steht die Schleife an, die das Herzstück
des Spiels darstellt: Sie beginnt in Zeile 27. Alle in
dieser Schleife enthaltenen Befehle werden unun-
terbrochen wiederholt. Das Spiel startet mit einer
leeren Liste, sodass wir zunächst eine LED hinzu-
fügen müssen. Die Auswahl überlassen wir mit
random.choice() dem Zufall. Die ausgewählte LED
wird dann mit append() an das Ende der Liste
01 Wie im bekannten Achtziger-Jahre-Spiel „Senso“
müssen Sie sich merken, in welcher Reihenfolge sequence angefügt.
die vier verschiedenfarbigen LEDs leuchten

02 Der Schaltkreis enthält auch vier Buttons. Mit


denen schalten Sie die jeweiligen LEDs ein, um
das vorgegebene Muster nachzumachen
Liste „sequence“ abarbeiten
03 Herzstück dieses unterhaltsamen Projekts
ist der Raspberry Pi, der mit einem Python-
10 Bevor die Liste abgearbeitet wird, leuchten
Programm die LED-Anzeige steuert und die alle LEDs dreimal auf (flash_all()). Danach sorgt
Eingaben auswertet
die Schleife dafür, dass jede LED aus der Liste
sequence der Reihe nach in lights übernommen
wird. Die LED wird ein- und nach kurzer Zeit ausge-
schaltet. In der ersten Runde des Spiels umfasst die
Liste sequence nur einen Eintrag, jede weitere
Runde kommt ein neuer dazu, sodass die Heraus-
forderung immer größer wird. Sie können das Pro-
gramm testen, um zu überprüfen, ob die Anzahl der
leuchtenden LEDs ansteigt.

Interaktion mit dem Spieler


Auf Standard-Steckplatinen sind die
11 Bei der Eingabe des Spielers kommt eine
Anschlüsse im oberen und unteren ähnliche Schleife zum Einsatz. Sie arbeitet die Liste
Bereich miteinander verbunden
(waagrechte Verbindungen) sequence ab, gestattet die Eingabe und überprüft

22 05 • 2019 magpi.de
PROGRAMMIEREN Schwerpunkt

senso.py D
Programmcode
> Sprache: Python auf Heft-DVD

001. from gpiozero import Button, LED 034.


002. from time import sleep 035. # LED-Sequenz wird abgespielt
003. import random 036. for light in sequence:
004. 037. light.on()
005. buttons = [Button(2), Button(3), Button(4), 038. sleep(0.5)
Button(17)] 039. light.off()
006. leds = [LED(18), LED(23), LED(24), LED(25)] 040. sleep(0.25)
007. 041.
008. sequence = [] 042. # Eingabe des Spielers
009. 043. for light in sequence:
010. def lights_on(): 044. guess = None
011. for led in leds: 045. while guess == None:
012. led.on() 046. for button in buttons:
013. 047. if button.is_pressed:
014. def lights_off(): 048. # Tastendruck wird in
015. for led in leds: Indexnummer umgewandelt
016. led.off() 049. guess = buttons.index(button)
017. 050.
018. def flash_all(): 051. if leds[guess] == light:
019. for _ in range(3): 052. light.on()
020. lights_on() 053. sleep(0.5)
021. sleep(0.25) 054. light.off()
022. lights_off() 055. sleep(0.25)
023. sleep(0.25) 056. else:
024. 057. print("Falsch! Sie sind in Level ",
025. lights_off() len(sequence))
026. 058. for _ in range(10):
027. while True: 059. light.on()
028. # Weitere LED an das Ende von sequence hinzufügen 060. sleep(0.15)
029. new_light = random.choice(leds) 061. light.off()
030. sequence.append(new_light) 062. sleep(0.15)
031. 063. sequence = []
032. # Alle LEDs leuchten vor dem Playback auf 064. break
033. flash_all()

dann, ob sie mit den in der Liste sequence gespei-


12 Eingabe des Spielers checken Top-Tipp
cherten Informationen übereinstimmt. Dazu wer- In Zeile 51 wird überprüft, ob der Spieler die
den drei Schleifen ineinander verschachtelt. richtige LED ausgewählt hat (leds[guess]). Lag er Wiederholung
Zunächst setzt das Programm die Variable guess richtig, geht die LED an und wieder aus. Hat er den unterstreichen
auf den Wert None. Anschließend läuft eine while- falschen Button gedrückt, ist das Spiel vorbei. Mit-
Mit for _ in
Schleife so lange, bis sich die Variable guess hilfe des Befehls len(Name der Liste) lässt sich die
range(3) werden
ändert. Innerhalb dieser Schleife überprüft eine Länge einer Liste ermitteln. Indem wir also die Liste die nächsten
weitere Schleife die Liste buttons, um zu ermit- sequence auslesen, können wir dem Spieler mittei- Befehle dreimal
teln, welche Schalter gedrückt wurden. Daraufhin len, welches Level er erreicht hat. Daraufhin blinkt wiederholt. Das
wird die Variable guess verändert und die while- die korrekte LED zehnmal. Die Liste sequence wird _-Zeichen fungiert
Schleife beendet. Das Programm wandelt den vom geleert, und der Befehl break beendet die Schleife, dabei als Platz-
halter, sodass die
Spieler gedrückten Schalter in die entsprechende die die Eingaben des Spielers überprüft. Ob der Spie-
Angabe der Varia-
Indexnummer um und fügt diesen Wert in die Vari- ler nun richtig lag oder einen Fehler gemacht hat
blen nicht erfor-
able guess ein. So lässt sich überprüfen, ob der zur – das Spiel fährt ab Zeile 28 fort, indem eine neue derlich ist.
LED passende Schalter gedrückt wurde. LED in die Liste sequence eingefügt wird.

magpi.de 05 • 2019 23
Projekte GALERIE

Webradio
Mit Unterstützung eines Raspberry
Pi Zero bastelte sich Alexander
Marx ein Internetradio mit zahlreichen
Features
Alexander
MAKER

Marx

W
as macht man, wenn man den Raspberry Elektronik hatte, war das ein eher schwieriges
Der Linux- und
Pi schon als Mediacenter und Retro- Unterfangen. Die Grundlagen brachte er sich
Opern-Source-Fan
entdeckte mit dem konsole eingesetzt hat und sich im mit Büchern und Zeitschriften selbst bei. Erfolge
RasPi wieder die Laufe der Zeit noch weitere RasPis zu Hause stellten sich dennoch bald ein, und er konnte
Leidenschaft am angesammelt haben? Richtig: Etwas basteln mit das erste Mal seinen Lieblingssender über den
Programmieren,
die er zuletzt bei dem Rechner und diese ominösen GPIO-Pins analogen Ausgang des RasPis hören. Sämtliche
seinem Atari ST auch mal einsetzen. Ein Projekt muss also her. Taster, LEDs und das Display steckten noch im
hatte. Da Alexander Marx noch einen Raspberry Pi 1 Breadboard. Aber es funktionierte!
https://github. Modell B übrig hatte, stellte er sich die Frage,
com/42Swampy/
webradio
wie dieser eine Aufgabe erhalten könnte. Da er Ein Freund zimmerte das Gehäuse
gerne seinen Lieblingssender FM4 hörte und der Als Nächstes erweiterte Alexander das Projekt
Empfang über UKW teilweise sehr schwach war, um eine Senderwechselfunktion sowie um
überlegte er sich, aus dem Pi ein Internetradio zu eine Anzeige von Zusatzinformationen der
Sendeanstalten per Laufschrift.
Beim Programmieren weiterer neuer Features
Der Raspberry Pi weckte das stellte er sich die Frage, wie er das Radio in einem

Programmierfieber in mir, und ich wollte Gehäuse unterbringen könnte. Der provisorische
Aufbau bestand aus einer Menge Kabelsalat.

mir ein Internetradio bauen Zum Glück ist ein Freund von ihm Schreiner,
der ihm dann ein Holzgehäuse nach seinen
Vorstellungen anfertigte.
entwickeln. Ziel war es, ein eigenständiges Gerät
zu bauen. Die Lösungen mit dem Bedienen über Störgeräusche eliminieren
ein Smartphone oder per Webinterface kamen Zu diesem Zeitpunkt kaufte sich Alexander
daher nicht für ihn in Frage. den damals recht neuen Raspberry Pi Zero,
Die ersten Versuche unternahm er mit einem der sich als sehr platzsparend und trotzdem
Breadboard, ein paar Elektronikbauteilen und leistungsfähiger herausstellte. Jetzt war er an
Die Schaltung
des Steckbretts einem 4 x 20-Zeilen-Display. Da er noch keine dem Punkt angelangt, den Prototyp mit den
hat Alexander Marx Kenntnisse in Python und beim Aufbau der fertig verkabelten Bauteilen zu testen.
in dieser Form
übernommen Für die Stromversorgung benutzte er ein
Schaltnetzteil mit Ausgängen für fünf Volt und
12 Volt. Die 12 Volt speisen die Verstärkerplatine,
die fünf Volt den RasPi und den externen aktiven
USB-Hub. Für die Audioausgabe besorgte er
sich eine USB-Soundkarte und schloss deren
Audioausgang an die Verstärkerplatine an.
Darüber hinaus war noch ein passiver USB-Hub
erforderlich, da der Raspberry Pi Zero lediglich
einen USB-Ausgang aufweist. Nur der aktive
USB-Hub sollte am Ende am Radio zu sehen sein.
„Mir ist wichtig, daß der WLAN-Stick die Form
einer Antenne hat, um die Optik eines klassischen

24 05 • 2019 magpi.de
4 x 20-Zeilen-Display
INTERNETRADIO Projekte

Passiver USB-Hub

Selbst gelötete
Steuerplatine

Verstärkerplatine

USB-Soundkarte

Entstörfilter

Raspberry Pi Zero

Aktiver USB-Hub

Schaltnetzteil

Radios so gut wie möglich wiederzugeben“, sagt Über SSH konnte er die Übertragung des ständig
Bastler Alexander. weiterentwickelten Programmcodes vernehmen.
Nachdem alle Komponenten verkabelt waren, Durch ständige Erweiterung verfügt das
versuchte er es mit einem Testlauf. Doch da stellte Raspberry-Radio heute unter anderem über
sich der Super-GAU ein. Die an die Verstärker- folgenden Funktionsumfang: RSS-Reader,
platine angeschlossenen Breitbandlautsprecher Wettervorhersage, Bluetooth-Audio, USB-
produzierten Störgeräusche, die besonders beim Stick-Unterstützung mit Programm/Shuffle/
intensiven Arbeiten des RasPis unüberhörbar Repeat, Anzeige von Datum und Uhrzeit, Timer
waren. Es kostete viel Zeit und Nerven, bis sich zum Herunterfahren, Nachtmodus, Selbsttest,
das Problem mit einem Massetrennfilter zwischen Debug-Modus und Anzeige der Betriebsmodi
USB-Soundkarte und Verstärkerplatine lösen ließ. mit einer RGB-LED.
Jetzt war es an der Zeit, die Schaltung vom „Mir macht es außerordentlich Freude,
Breadboard in eine fertige Platine zu überführen. Features ins Radio zu integrieren, die nicht
Da Alexander wenig Erfahrung mit Löten und unbedingt nötig, aber möglich sind.“
auch keine besonders ruhige Hand hat, wollte er es
sich einfacher machen. Als Grundlage diente eine Das Webradio-Projekt geht weiter
3er-Streifenraster-Platine. Das hatte den Vorteil, Im Herbst und auch im Winter will sich Alexander
daß sich auf der Oberseite flexible Drahtbrücken wieder mehr der Weiterentwicklung seines
verwenden ließen und man lediglich die Lötpunkte Webradios widmen. Derzeit denkt er über eine
setzen musste.„Als der Augenblick kam, an dem programmierbare Aufnahmefunktion nach.
ich die Platine fertig verlötet hatte, wuchs die „Dies ist das bisherige Ergebnis, und es
Spannung. Erleichterung stellte sich ein, als der funktioniert tatsächlich . Da ich aber kaum
Funktionstest positiv verlief“, so Alexander. Grundwissen in der Elektronik habe, ist der
Schaltplan sicherlich nicht optimal. Auch
Zahlreiche Features der Programmcode ist noch sehr verbesserungs-
Die nächste große Herausforderung bestand darin, würdig. Trotzdem bin ich stolz, dass ich es bis
die Komponenten im Gehäuse zu verbauen. Nun zum bisherigen Zustand geschafft habe. Ich werde
sah das Ganze endlich wie ein richtiges Radio auch in Zukunft versuchen, das Radio weiter
in Retro-Optik aus. Damit fiel Alexander die zu optimieren und eigene Ideen umzusetzen“,
Programmierung neuer Funktionen leichter, da so Alexander Marx’ vorläufige Bilanz seines
das Radio nur noch eingeschaltet werden musste. spannenden Radioprojekts.

magpi.de 05 • 2019 25
Projekte GALERIE

Yuri 3 kann seine


Erkundungsfahrten
live streamen und

Mars-Rover
ins Netz stellen.
Die Steuerung des
Rovers erfolgt bei
Bedarf remote –
etwa per WLAN

Landet der Raspberry eines Tages auf dem Mars?


Wer weiß – im Yuri 3 Mars Rover erfüllt er seine
Mission bereits mit Bravour

E
xistierte vor Jahrmillionen Leben auf dem
John
MAKER

Mars? Wir wissen es nicht mit Bestimmtheit


Chinner – doch deuten Indizien und Spuren darauf
John ist Ingenieur
hin, dass der Mars einst ein Planet mit Seen
bei Airbus UK. Er und Flüssen war. Noch heute lassen sich geringe
wirkte am Astro-Pi- Mengen an Wasserdampf nachweisen.
Projekt mit und
Genau an dieser Stelle kommt der Yuri 3 Mini
war für die Tests
zuständig. Er hält Mars Rover ins Spiel. Er ist ein Nachbau des
Vorträge in Schulen ExoMars-Rovers, der 2020 zum Mars fliegen soll
und begeistert – vorausgesetzt, alles läuft nach Plan. Dort soll
Menschen für die
Wissenschaft. der ExoMars-Rover prüfen, ob sich noch Spuren
von biologischen Aktivitäten auf dem Roten
magpi.cc/00maUK
Planeten nachweisen lassen.
Der Yuri 3 fährt bei Airbus auf dem gleichen
Testgelände wie die großen Marsroboter
Botschafter für die Wissenschaft
Yuri 3 nahm dieses Der Airbus-Ingenieur John Chinner ist auf vielerlei
Jahr an dem jährlich Weise mit diesem Projekt verbunden: Er arbeitete andere Menschen, insbesondere Schüler und
stattfindenden Wett-
bewerb Pi Wars teil bereits am Astro-Pi-Projekt mit und möchte Studenten, für die technisch-wissenschaftlichen
Foto: Harry Brenton
Fächer begeistern. John hält Fachvorträge, nimmt
an internationalen Kongressen teil und besucht
Schulen im ganzen Land. Im Gepäck hat er seinen
selbstgebauten Yuri 3 Mini Mars Rover. Der mit
sechs Rädern ausgestattete Erkundungsroboter
dient im Unterricht und bei Vorführungen an
Schulen als voll funktionsfähiges Modell.

Raues Gelände ist für den


Rover kein Problem. Das
Fahrwerk hält viel aus
Der Mars-Rover besteht aus mehreren Komponen-
ten – einem Actobotics-Chassis, sechs Rädern mit
Spezialprofil und ebenso vielen Servomotoren,
die mit 12-Volt-Gleichstrom versorgt werden.
Die Steuerung des Mars-Rovers übernimmt ein
Raspberry Pi B+.

26 05 • 2019 magpi.de
MARS-ROVER Projekte

Das Chassis des Rovers


basiert auf einem Entwurf
von Beatty Robotics

Einige Komponenten,
etwa die Antriebsräder
des Mars-Rovers, wurden
komplett neu entwickelt
und danach getestet

Infos
> Parallel zum Bau
von Yuri 3 hat sich
John in Python
eingearbeitet

> Einige Teile des


Rovers, etwa die
Antriebsräder,
stammen aus dem
Yuri 3 bewegt sich dank seines flexiblen Fahrwerks 3D-Drucker

auch in schwierigem Gelände und weicht Hinder-


> John war beim
nissen elegant aus: Seine Räder lassen sich frei
Astro-Pi-Projekt
bewegen, sodass der Rover auf der Stelle drehen unter anderem für
oder sogar seitwärts fahren kann. die Testverfahren
Das eigentliche Problem beim naturgetreuen zuständig
Nachbau des Rovers ist die Wärmeschutzisolierung.
Die goldene Spezialfolie umhüllt die elektronischen > Die goldene
Bauteile und sorgt dafür, dass der Rover seine Schutzfolie schirmt
Arbeitstemperatur unter den extremen Bedingungen den Rover von
auf dem Mars aufrechterhalten kann. Dazu John: den extremen
Yuri 3 hat verschiedene Testverfahren durchlaufen. Dazu Umwelteinflüssen
„Ich hatte das große Glück, dass das Team, das
gehörten lange Fahrten auf steinigem Untergrund auf dem Mars ab

magpi.de 05 • 2019 27
Projekte GALERIE

So funktioniert Yuri 3

Das Chassis von Yuri 3 basiert auf einem


01 Modell von Beatty Robotics. Der modifizierte
Rover auf dem Foto wurde von John entworfen und Auf den ersten Blick
gebaut. Einige Teile stammen von Actobotics, als scheint es, als ob
Yuri 3 über den Mars normalerweise solche Folien für Satelliten
Antrieb dienen Standard-RC-Servos. Die Goldfolie rollt. Doch in Wirklich- produziert, mir ein maßgeschneidertes Exemplar
verleiht dem Rover den letzten Schliff. keit bewegt sich der
Rover über einen für meinen Mars-Rover überlassen hat“.
Sandstrand

Das Design des Rovers


Nicht jeder hat so viel Glück wie John: Als
Airbus-Mitarbeiter durfte er einen Blick auf die
ExoMars-Prototypen werfen, die auf dem Firmen-
gelände des größten europäischen Luft- und
Raumfahrtkonzerns getestet wurden. „Ich hatte
zudem die Gelegenheit, den Mars-Rover in seinem
interplanetaren Bioreinraum zu sehen – ein sehr
beeindruckender Anblick“, erzählt uns John.
Yuri 3 kommt auch mit Und wie kommt es, dass John auf den Raspberry
Sechs kräftige Servomotoren manövrieren Yuri rauem Gelände und
02 3 durchs Gelände – zuständig für die Antriebe
kleineren Steinen klar.
Die Radaufhängung
Pi als Steuereinheit für seinen Rover setzt? John
überlegt und erklärt uns: „Ich habe mich beim
ist ein Python-Programm. John lenkt den Roboter gleicht Unebenheiten
und die Bordkamera per Nintendo Wii Remote und aus: Die Räder mit Astro-Pi-Projekt engagiert. Schüler und Studenten
ihrem Spezialprofil schreiben bei diesem Projekt Code für die beiden
Nunchuk-Controller. sorgen für genügend
Traktion

Im Missionsmodus sendet der Mars-Rover


03 einen Live-Stream. So sehen die Schüler sofort,
wie sich ihr im Unterricht geschriebenes Pythonskript
auswirkt. Denn letztlich dient der kleine Rover einem
didaktischen Zweck – nämlich Schüler für Technik,
Wissenschaft und Raumfahrt zu begeistern.

28 05 • 2019 magpi.de
MARS-ROVER Projekte

Johns Tochter inspiziert die Arbeit ihres Vaters. Die erste


Version des Rovers war noch mit roten Rädern ausgestattet

Die Schüler sind jedes Mal


aufs Neue vom Mars-Rover
und dem RasPi begeistert
Astro-Pi-Computer, die wir dann zur Internationalen
Raumstation hinaufschicken. Ich habe die Schock-,
Vibrations- und EMV-Tests durchgeführt, um
sicherzustellen, dass die RasPis den Anforderungen
gewachsen sind“, erzählt John.

Keine Serienproduktion
„Was sind Deine Pläne für die Zukunft?“, haben
wir John gefragt, der sich auf den Start der Exo-
Mars-Mission im nächsten Jahr freut: „Es wäre
wunderbar, wenn man Yuri 3 irgendwann im Laden
kaufen könnte, am besten in einem Shop, der sich
auf den Raspberry spezialisiert hat“, meint er. Eine
konkrete Planung für die Serienproduktion hat
John allerdings derzeit nicht – dafür ist er viel
zu sehr mit seiner aktuellen Arbeit beschäftigt.
Aber was noch nicht ist, kann ja vielleicht noch
werden. Wer sich für das Mars-Rover-Projekt
interessiert, sollte den Twitterkanal von John Die goldene Folie ist auch für den Nachbau des Mars-Rovers obligatorisch. Aus
abonnieren (@Yuri_3_Rover). den Resten der Folie hat John einige Lesezeichen für die Schüler gebastelt

magpi.de 05 • 2019 29
Projekte GALERIE

Die LifeCam HD 3000 nimmt


Videos in 720p bei 30 Bildern pro
Sekunde auf und enthält ein
Mikro mit Rauschunterdrückung

Per Knopfdruck wird ein Videoanruf


via Google Duo gestartet, das
auf einem Raspberry Pi 3 in einem
separaten Standort im Haus läuft

PiNG, die PiNG nutzt ein entkerntes,


frisch lackiertes Gehäuse
einer Sprechanlage von

Retro-Türklingel
1986, in dem neue Bauteile
wie Lautsprecher, Kamera,
und Klingel Platz finden

Klopf, Klopf. Wer ist da? Martin Mander hat eine bessere Idee, Besuch
an der Haustür zu empfangen – eine smarte Türklingel

S
marte Türklingeln haben das vernetzte einen verstärkten Lautsprecher, was viele Bastler
Zuhause schon vor längerer Zeit eingeläutet, ohnehin herumliegen haben“, sagt Martin. Er habe
Martin inzwischen können sie Video und Audio das Projekt bewusst so simpel angelegt, damit
MAKER

Mander streamen und sich per Knopfdruck mit Mobil- andere es ohne Weiteres nachmachen können.
geräten verbinden. So können Sie mit Besuchern
Martin arbeitet
als Analytiker in
interagieren, selbst wenn Sie nicht zu Hause sind. Google Duo war die Lösung
Norwich, wo er Zwar gibt es das beliebte Produkt ring, aber Lange Zeit suchte Martin nach einer einfachen
mit seiner Frau, Martin Mander entschied sich, ein ganz eigenes Lösung, per RasPi Videoanrufe zu tätigen. Dann
zwei Kindern und Modell zu entwickeln. fiel ihm die Veröffentlichung der browserbasierten
13 Rasperry Pis
lebt, von denen die
„Ich sah es als persönliche Herausforderung, Version von Google Duo auf. „Ich war kurz davor,
meisten in Projekten etwas Ähnliches wie ‚ring‘ für deutlich weniger Android auf dem Raspberry Pi zu installieren, um
rund um sein Haus Geld zu bauen“, sagt er. So könne er alter Technik Duo vielleicht darüber nutzen zu können“, sagt er,
verteilt sind.
in Kombination mit dem Raspberry Pi zu neuem „doch schon der erste Test der neuen Web-App
magpi.cc/jmdDHL Leben verhelfen. Daraus entstand die Idee für die war klasse.“ Danach ging es volle Kraft voraus.
PiNG-Türklingel. „Grob zusammengefasst handelt Er fand heraus, dass Duo auf dem Pi 3 am besten
es sich nur um eine Webcam, einen Knopf und funktionierte, und schloss eine Logitech-Webcam,

30 05 • 2019 magpi.de
RETRO-TÜRKLINGEL Projekte

INFOS
Raspberry Pi und der pHAT BEAT befinden sich in einem alten Kassettendeckgehäuse, das mit der Sprechanlage verbunden > PiNG nutzt Google
ist. Der pHAT BEAT ist auch mit dessen ursprünglichem Lautsprecher verbunden, damit man die Klingel drinnen hören kann
Duo für die
Videanruffunktion

> Ein Mikroschalter,


verbunden am
GPIO, initiiert
die Anrufe

> Raspberry Pi 3B+


schickt Anrufe
binnen 4 Sekunden
aufs Handy
Eingehender Anruf
> Kosten:
Wird der Knopf an der Sprechanlage
gedrückt, kann ein Videoanruf stattfinden
rund 50 Euro

> Die Klingel ist auch

Der erste Test der Web-App – wie üblich – im


Haus hörbar

von Duo war klasse


Monitor, Maus und Keyboard an. Später stieg er auf
die LifeCam HD-3000 mit integriertem Mikrofon
um. Die wahre Herausforderung sei es gewesen,
den Aufbau mit einem kopflosen Pi und Knöpfen Sobald die
Elemente im
zum Laufen zu bringen. Zu diesem Zweck musste Gehäuse der
Tüftler Martin mithilfe des Pythonmoduls Sprechanlage fixiert
waren, montierte
PyUserInput Mausbewegungen, Klicks und Martin die Box mit
starkem Klettband
Tastatureingaben coden. direkt neben
„Drückt jemand den Knopf am PiNG (übrigens der Haustür
eine Standardklingel von eBay), nutzt das Skript
das PyUserInput-Modul, um den Cursor auf dem
Bildschirm zu bewegen. So werden auch Klicks Konstruktion. Das Außengehäuse enthält nur den
und Tastatur zur Steuerung der Duo-Web-App Knopf, den Lautsprecher sowie die Webcam. Der
emuliert, die die ganze Zeit im Hintergrund läuft“, zugehörige Raspberry Pi befindet sich im Vorbau
erklärt Martin. Sobald ein Anruf endet, wartet das und ist mit einem sechsadrigen Alarmkabel mit
System auf den nächsten Knopfdruck. der Anlage verknüpft. Läuft das System und ein
Besucher klingelt, kann Martin ihn auf seinem
Zweiteilige Konstruktion Handy sehen und hören.
Vor einigen Jahren kaufte Martin drei Sprechanlagen „Es kam ein Anruf von einem Postboten rein,
aus dem Jahr 1986 und entschied, diese als Gehäuse während ich einen Mittagsspaziergang machte –
zu nutzen. „Ziemlich ungewöhnlich, aber immer ein großer Moment für mich“, erinnert er sich
noch offensichtlich als Türklingel erkennbar“, an die Feuertaufe. „Zum Glück zeigte er sich
sagt er. Aus Sicherheitsgründen wollte er den Pi unbeeindruckt von der Sprechanlage, und wir
oder andere Komponenten nicht außen am Haus hatten eine gute und kurze Absprache, wo er
anbringen. So entschied er sich für eine zweiteilige das Paket am besten abstellen sollte.“

magpi.de 05 • 2019 31
Projekte GALERIE

Smartes Palmen-
gewächshaus
Dieses automatisierte Gewächshaus ist dank zahlreicher Sensoren und eines Bewässerungs-
systems in der Lage, optimale Bedingungen für die chilenische Honigpalme zu erzeugen

T
homas Geers liebt Palmen, wenngleich sie Erde unter einen bestimmten Wert fällt, erhitzt die
hier in Deutschland nicht sehr häufig zu Matte sie wieder“, sagt Thomas.
sehen sind. Um die bedrohte chilenische Das automatische Licht besteht aus zwei
Honigpalme (Jubaea chilensis) zu erhalten, kaufte LED-Pflanzenlichtern, die sich gemäß des Tages-
er im Sommer 2018 einige Samen der Pflanze. Das rhythmus alle zwölf Stunden ein- und abschalten.
Problem: Die Keimzeit der Samen beträgt bis zu Zu guter Letzt gibt es ein automatisches
einem Jahr. Das inspirierte Thomas dazu, ein auto- Kontrollsystem für die Luftfeuchtigkeit: „Im
Thomas
MAKER

matisiertes Gewächshaus mit stabilen Aufzucht- Gehäuse gibt es zwei kleine Lüfter, die entweder
Geers bedingungen für schnelles Wachstum zu bauen. zeitgesteuert oder abhängig von der Luftfeuchtig-
Zunächst kaufte er ein normales Gewächshaus keit im Gewächshaus anspringen, Luftaustausch
Thomas arbeitete
15 Jahre lang als im Baumarkt und modifizierte es mit einem ermöglichen und Schimmel vermeiden“, erklärt
CNC-Techniker bei selbstgebauten Gehäuse. „Es besteht aus einem Thomas Geers weiter.
einem deutschen soliden Holzrahmen und einem zentimeterdicken Obendrein installierte der Palmenfan vier
Reifenhersteller.
Inzwischen ist er
Sperrholz und ist komplett mit wetterfester Lasur Schalter, damit er alle diese Systeme individuell
freischaffender versiegelt“, erzählt er. (de)aktivieren kann. Der kleine LCD-Bildschirm
Fotograf. Er stattete das System anschließend mit zeigt die aktuellen Feuchtigkeitswerte für Luft und
thomas-geers.de verschiedenen Sensoren für automatisches Licht, Boden an. Pfeile deuten an, welche Werte gerade
Temperatur, Bewässerung und Luftfeuchtigkeit angepasst werden.
aus, die alle mit einem Python-Skript auf einem
Raspberry Pi 3B+ in Verbindung mit einem
Relayboard kontrolliert werden.
Vier der gekeimten
Honigpalmensamen
– bisher haben von
den 18 im Gewächs-
haus gepflanzten elf
Wird die Erde zu trocken,
Stück ausgetrieben
werden zwölf Düsen
aktiviert und sprühen
Wasser auf die Pflanzen
Automatik für die Pflanzen
„Zum automatischen Gießen dienen zwölf Sprüh-
düsen im Gehäuse, die bei trockener Erde aktiviert
werden“, sagt Thomas. Dabei helfe der kapazitive
Bodenfeuchtesensor (Giesomat) in der Erde.
Ein weiterer wichtiger Faktor ist die ideale
Temperatur für die Samen. Dazu platzierte Thomas
einen DS18B20-Sensor im Boden und eine Heizmatte
unter dem Behälter. „Sobald die Temperatur der

32 05 • 2019 magpi.de
SMARTES PALMENGEWÄCHSHAUS Projekte

Das Gehäuse
besteht aus
Sperrholz. Im
hinteren Teil ist
ein Fach mit dem Das automatische
RasPi und weiterer Bewässerungssystem
Elektronik erkennt trockene Erde
und versprüht Wasser
aus einem Messbecher

INFOS
> Die Elektronik ist
hinten im Gehäuse
untergebracht

> Deckel und


Blenden lassen sich
schnell entfernen
Sensoren in Luft und
Erde messen Temperatur > Sensoren kann
und Feuchtigkeit man von außen
hinzufügen

> Thomas hat auch


einen Brutkasten
Insgesamt brauchte Thomas zwei Monate für das gebastelt, der per
Projekt. „Am schwersten fiel das Programmieren, PiNoiR-Kamera
da das mein erstes Raspberry-Pi-Projekt war und gefilmt wird
ich keine Erfahrung mit Python hatte“, bekennt er.
Allerdings habe er viel freundlichen Support in den > Darin wohnen zwei
deutschen RasPi-Foren erhalten. Meisen – Videos
dazu gibt es hier:
Beeindruckende Ergebnisse magpi.cc/DsAMqp

Da die Honigpalmen in Chile heimisch sind, hat


Thomas die Durchschnittstemperatur des Landes
als Spanne für das Gewächshaus eingestellt, die
Erd- und Luftfeuchtigkeit nach Bauchgefühl.
Die Ergebnisse sind beeindruckend, die
Keimungsrate wurde verbessert. In den sechs
Vier Schalter erlauben die manuelle Monaten vor dem Bau des automatischen
Steuerung von Wärme, Belüftung,
Bewässerung und Licht. Der LCD- Gewächshauses haben nur sechs von 24 Samen
Screen zeigt die jeweils aktuellen
Werte in Echtzeit an
gekeimt. „Im achten Monat habe ich die restlichen Warnung!
18 Samen im smarten Gewächshaus platziert, von Netzstrom
Entfernt man die hintere Blende,
sieht man den Raspberry Pi 3B+, das
denen allein diesen Monat elf Stück keimten“, sagt
Die Lampen im Projekt
Relayboard und andere Komponenten. Thomas. Eines Tages will er die ausgewachsenen
An der Decke befinden sich zwei LEDs nutzen Netzstrom.
zur Beleuchtung der Pflanzen Palmen in seinem Garten einpflanzen. Vorsicht ist geboten!

magpi.de 05 • 2019 33
Projekte GALERIE

Die Software OpenSprinkler


Pi muss auf dem Raspberry
Pi installiert werden

Der OpenSprinkler Pi HAT


nutzt die GPIO-Pins, um die
Ventile der Sprinkleranlage
zu aktivieren und zu steuern

Dank des RasPi im Sprink-


lersystem lässt es sich
bequem über das Internet

Katzenwäsche
erreichen und kontrollieren

Nachts sind alle Katzen grau – und hinterlassen gern mal eine
Stinkbombe im Garten. Davide Magni hat die Lösung dafür

D
as Internet liebt Katzen. Klar, sie sind ja in den Sinn kam: „Ich platzierte die Sprinkler
auch verdammt niedlich. Aber wenn sie ihre strategisch, um den ganzen Garten gleichmäßig
großen Geschäfte im Garten hinterlassen, abzudecken. Dazu musste ich diese mit der Hand
können einem auch die anmutigsten Leisetreter aktivieren und viel herumprobieren“, sagt Davide.
die Stimmung vermiesen.
Genau das passierte der Cousine von Davide Ein spritziger RasPi
Magni, als sie in das Nachbarhaus einzog. „Sie Der erste wichtige Schritt war die Automatisierung
Davide brauchte eine Woche, um den Rasen vom Kot des Systems, damit es auch bei Abwesenheit
MAKER

Magni zu befreien“, erinnert er sich. Denn alle Katzen funktioniert. Er entschied sich für den Raspberry
aus dieser Gegend im schönen Italien hatten sich Pi, da er eine Plattform mit APIs wollte, die er
Davide ist Tele-
ihren Garten als Toilette auserkoren, und er fragte auch mit anderen IoT-Geräten in seinem Zuhause
kommunikations-
ingenieur und sich, wie er ihnen das wieder abgewöhnen könne verknüpfen konnte. „Ich wollte kein geschlossenes
süchtig nach Kunst – auch im Interesse seines eigenen Gartens. System, das nicht mit anderen Komponenten
und Design. Seit 15 Zufällig arbeitete Davide gerade an einem interagieren kann“, sagt Davide.
Jahren arbeitet er
als Programmierer Bewässerungssystem für seinen Rasen, als ihm Zu seinem Glück gibt es bereits eine offene
der mögliche doppelte Nutzen als Katzenschreck Plattform für Bewässerungssysteme mit dem
tidal.it

34 05 • 2019 magpi.de
KATZENDUSCHE Projekte

Feuer frei: Die


Kamera hält
den Moment
fest, in dem
die Katze
nassgespritzt
wird und
davonläuft

INFOS
> OpenSprinkler Pi
(ca. 120 Euro) ist
das Herzstück

> Es bietet ein


umfangreiches
Sprinklersystem

> Katzen werden


von einer smarten
Kamera erkannt ...

> ... nassgespritzt


und verscheucht

> Die Katzen bleiben


dabei unversehrt

Namen OpenSprinkler. Sie unterstützt den RasPi,


verfügt über ein eigenes Erweiterungsboard und
kann sich mit dem Internet verbinden. „Es bietet
alles, was ich für die Bewässerungssteuerung
brauche“, führt Davide fort. Nun konnte er sich
den Problemkatzen im Hinterhof zuwenden.

Meine Cousine brauchte


eine Woche zum Säubern eine selbstgehostete Webseite mit einem Skript
Kräftezehrendster
Teil des Projekts

ihres Rasens schickt. Das entscheidet, ob die Katzendusche


war das Ausheben
der Kanäle für die
Wasserleitungen
aktiviert werden muss und sendet die Information
und Stromkabel des
Ein Auge für Katzen an OpenSprinkler. Sprinklersystems
zur Ventilsteuerung
Davides Frau schenkte ihm eine Presence „Ich habe einen Callback per PHP eingerichtet,
Smartkamera von Netatmo zu Weihnachten. der direkt von der Kamera ausgelöst wird, sobald
Sie erkennt Bewegungen, hat ein starkes Licht, eine Bewegung erkannt wird“, sagt Davide.
zeichnet die Ereignisse auf und kann zudem Das Skript verifiziert den Callback, schickt das
zwischen Menschen, Tieren und Fahrzeugen Aktivierungssignal an OpenSprinkler und schreibt
unterscheiden – das perfekte Eingabegerät. das Ereignis in eine kleine Logdatei.
Anfangs nutzte Davide IFTTT, um die Meldung Wann immer nun eine Katze den Garten betritt,
von der Netatmo an die Sprinkler zu schicken, doch springen sofort die Sprinkler an und vertreiben
das war so langsam, dass die Katzen ihr Geschäft sie. Doch noch gibt es Probleme: „Zur Weiterent-
noch in Ruhe verrichten konnten. Um die wicklung des Systems möchte ich versehentliche
Performance zu verbessern, entwickelte er eine Duschen vermeiden, zum Beispiel wenn meine
eigene Anwendung mit Netatmo Connect, die das Mutter mit ihrem Hund durch den Garten läuft“,
Auslösesignal von der Kamera empfängt und an meint Davide.

magpi.de 05 • 2019 35
Projekte GALERIE

Hologramm-
Maschine mit
dem RasPi
Die vier projizierten Bilder ver-
schmelzen zu einem und befinden
scheinbar innerhalb der Pyramide

Was fängt man mit einem alten 17-Zoll-Fernseher an?


Dan Aldred kombinierte ihn mit einem IKEA-Tisch und
einer Acrylpyramide, in der sich richtige Hologramme
darstellen lassen

D
an ist Realschullehrer. Seine Schüler
erzählten ihm von einem Hologrammhack,
den sie entdeckten, indem sie ein Handy Dan baute die Pyramide aus
und eine alte CD-Hülle kombinierten. Wie geht lasergeschnittenem Acryl
das? „Das Telefon liegt flach auf dem Tisch und
eine kleine, maximal fünf Zentimeter große,
umgekehrte Pyramide steht auf dem Display.
Ich fragte meine Schüler, ob der gleiche Effekt
möglich sei, wenn man die Pyramide umdrehe.
Dan
MAKER

Aldred Sie sagten: ‚Ja, wenn das Handy oben statt unten
ist‘“, erklärt Dan. vierseitigen Pyramide angebracht wird. Ein Rasp-
RasPi-Enthusiast, Ganz begeistert davon entschied er, ein eigenes berry Pi A+ startet ein Programm, das Videos aus
Vermittler für die Modell dieser Art zu bauen. „Ich wollte ein großes, einem Ordner abspielt. „Das sind Hologramm-
NCCE, Lehrer und
Programmierer. Er
freistehendes Gerät, das Hologramme darstellen Videos, die dasselbe Bild aus vier Winkeln zeigen:
arbeitet gern an kann, die der Nutzer mit Knöpfen aussucht. Das vorn, hinten, links und rechts“. Das ausgestrahlte
neuen Projekten könnte eine Attraktion für Events sein“. Licht wird an der Pyramide gebrochen und trifft im
und Hacks und
Inneren aufeinander, sodass dort die Illusion eines
inspiriert damit
andere zum Lernen. Die Pyramide bauen einzelnen, soliden Objekts entsteht. Betrachtet
Dan versucht, Kinect Das Design ist einfach und so stand der Plan man die Pyramide von einer anderen Seite, ergibt
360, Pi und Python schnell fest. Zunächst stellte sich die Frage nach sich auch eine andere Perspektive auf das Objekt.
zu kombinieren
den Abmessungen der Pyramide, die Dan per Laser Dan fügte außerdem drei Knöpfe hinzu, mit denen
magpi.cc/JJSohM aus Acryl geschnitten hat. „Der Hauptfokus des man das Video pausieren, zum nächsten springen
Aufbaus waren die Berechnungen der Pyramide, oder den Raspberry Pi abschalten kann.
damit sie die richtige Größe für den Bildschirm
hat“, sagt Dan. Er hatte noch einen alten Fernseher Dreidimensionaler Spaß
und musste keinen neuen anschaffen. Außerdem Wie bei vielen Projekten brauchte es Feintuning,
hat er einen alten IKEA-Tisch als Gehäuse und bis alles passte. So musste Dan bei der Auswahl
Stativ verwendet. „Die Tischbeine habe ich der Videos für das Hologramm aufpassen: „Ich
halbiert, sodass die eine Hälfte als Stativ für musste nach invertierten Videos suchen, da die
den Fernseher, die andere als Ständer für das beliebtesten Clips für die Handyversion gemacht
Konstrukt selbst diente“, sagt Dan. waren, bei der die Pyramide auf dem Kopf steht.
Aber wie genau funktioniert die Maschine? Dadurch waren die Hologramme in meinem
Dan erklärt, dass der Bildschirm oben auf einer Projekt kopfüber“, sagt Dan.

36 05 • 2019 magpi.de
HOLOGRAMM-MASCHINE Projekte

Spezielle Videos werden auf


einem auf dem Kopf stehenden
Monitor abgespielt

INFOS
> Dans beliebtestes
Hologramm ist der
äußerst realistische
Blitzschlag

> Videos müssen


invertiert werden,
um in der Pyramide
korrekt auszusehen

> Der Videoplayer


basiert auf Code
von Les Pounder

> Die abgesägten


Tischbeine füllte
Dan mit Bauschaum

Der Monitor liegt auf den Beinen > Dan arbeitet an


Ich wollte ein großes, eines umgedrehten IKEA-Tischs
einer Echtzeit-
Nachtsichtkamera
freistehendes Gerät bauen,
das Hologramme anzeigt
Kann man nun aber diese Hologrammmaschine
beliebig groß skalieren, solange der Bildschirm
groß genug ist? Als Dan das fertige Projekt auf
Twitter postete, waren die ersten Reaktionen
voller Vorschläge, einen Beamer zu nutzen und
so ein meterhohes Hologramm zu erzeugen.
„Solange der Bildschirm groß genug ist, kann man
die Darstellungen auch vergrößern“, bejaht Dan.
Für die Zukunft würde Dan Aldred gern eine
Hologrammmaschine mit einem HDMI-Monitor
entwickeln – für eine bessere Videoqualität.
Darüber hinaus will er sich nach einer Alternative
zu Acryl für die Pyramide umsehen, da das Material
nur sehr schwer sauberzuhalten sei. „Man muss
das Ding nur schräg anschauen, und schon wird
es dreckig. Vielleicht versuche ich es mit Glas“,
überlegt Dan.

magpi.de 05 • 2019 37
Projekte GALERIE

Rasensprenger für
das ganze Dorf
Dieses preisgekrönte IoT-Sprinklersystem spart einer Gemeinde
bei jedem Gießvorgang Tausende Liter Wasser

B
ei jedem Coolest-Project-Event, das entwickelte Adarsh ein Bewässerungssystem, das
Adarsh CoderDojo organisiert, gibt es unglaubliche mit den Wasserregularien konform ist und dabei
MAKER

Ambati Ideen von jungen Tüftlern zu sehen. In der für ganze Stadtviertel kosteneffizient Wasser
US-Ausgabe des großen Wettbewerbs präsentierte spart. Dazu kommen ein Raspberry Pi, Feuchtig-
Der Neuntklässler Adarsh Ambati seine clevere Sprinkleranlage für keitssensoren, die Wetterdatenbank PyOWN und
aus San José in
ein ganzes Dorf. soziale Netzwerke wie Twitter zum Einsatz.
Kalifornien bastelt
gerne, engagiert „Die extreme Rekorddürre in Kalifornien
sich für Umwelt- veranlasste mich, nach einer Lösung zum Wasser- Effizient bewässern
programme an der sparen zu suchen“, sagt Adarsh. „Als ich eines Da es in Kalifornien das ganze Jahr über heiß ist,
Mitty High School
und ist Mitglied
Tages zur Schule ging, sah ich bei einem Nachbarn muss man kräftig gießen, will man einen schönen
des Jugendrats eine eingeschaltete Sprinkleranlage, bei der eine grünen Rasen haben. Das Problem: Wenn man
in San José. Menge Wasser einfach so abfloss.“ Er forschte kein sehr teures Bewässerungssystem besitzt,
magpi.cc/xieeLD nach und fand heraus, dass in den USA jeden Tag verschwendet man Wasser, wenn das Gras gerade
in einem durchschnittlichen Haushalt 25 Prozent gar keines benötigt.
des Wassers verschwendet werden, etwa durch „Das Ziel meines Projekts ist es, bei der
Dieses Diagramm zeigt
Überwässerung oder ineffiziente Methodik. So Mehrzweckbewässerung ganzer Nachbarschaften
die Funktionsweise Wasser einzusparen. Dazu kommt ein smartes
Sprinklersystem mit Feuchtigkeitssensor und
Echtzeit-Wettervorhersage zum Einsatz, um nur
die wirklich benötigte Wassermenge zu nutzen“,
erklärt Adarsh. Außerdem sollte es mit Twitter
verbunden sein, sodass Informationen über
Einschaltzeit und -dauer veröffentlicht werden
können. Die Anwohner des Viertels können
diesen Feed abonnieren und so mithelfen,
Wasserverschwendung zu verhindern – alles
in Einklang mit den örtlichen Vorschriften.
Dank des Raspberry Pi konnte Adarsh für
nur 50 US-Dollar einen Prototyp bauen. Das ist
wesentlich günstiger als andere smarte Sprinkler,
die es momentan auf dem Markt gibt.
„Der Pilotversuch erstreckte sich auf zehn
Haushalte, die jeweils nur fünf US-Dollar zahlen
mussten“, eröffnet er. „Aber weil das System das
Potenzial hat, ganze Ortschaften zu versorgen,
könnten die Kosten pro Kopf auch auf wenige Cent
fallen. In meinem Heimatort Almaden Valley, San
José, leben zum Beispiel 37.000 Menschen. Bei

38 05 • 2019 magpi.de
ÖFFENTLICHER RASENSPRENGER Projekte

durchschnittlich zwei Personen pro Haushalt gibt


es zwischen 9.250 und 18.500 Häuser. Würde ich
zehn solcher Prototypen verbauen, betrügen die
Kosten nur je fünf Cent oder weniger“, so Adarsh.

Viel Geld sparen


So habe er auf Basis der Daten der zweimonatigen
Testphase herausgefunden, dass „83 Prozent des
Wassers für Landschaftsbewässerung eingespart
werden könnten“, sagt Adarsh. Er rechnet weiter:
„Durchschnittlich braucht ein Haushalt täglich
378 Liter. Die zehn Häuser im Pilotprojekt hatten
das Potenzial, fast 190.000 Liter in zwei Monaten,
also 9.500 pro Haushalt pro Monat zu sparen. Bei
0,0018 US-Dollar pro Liter lassen sich so grob 209
Das System kann eine
US-Dollar pro Jahr und Haushalt sparen. Für ganz Menge Wasser einsparen
Almaden Valley ergeben sich somit zwischen zwei
und vier Millionen US-Dollar Einsparpotenzial!“
Die Ergebnisse aus Adarshs Test wurden dem
Stadtrat von San José vorgelegt. Der war so INFOS
beeindruckt, dass er ein ähnliches System für
> Es dauerte etwa
die öffentlichen Grünflächen in Erwägung zieht.
fünf Monate, das
Und: Adarsh belegte den 1. Platz in der
System zu bauen
Hardware-Kategorie von Coolest Projects.
Adarsh siegte bei „Coolest Projects USA 2019“
> Das Experiment
umfasste zwei

Auf der Basis unserer Daten der zweimonatigen Testphase Monate

könnten wir 83 Prozent bei der Bewässerung einsparen


> Noch müssen
Menschen die
Programme der
Sprinkler manuell
einstellen

> Adarsh setzt sich für


den Kampf gegen
Das System schreibt den Klimawandel ein
detaillierte Logfiles
> Das Projekt wird
mit drahtlosen
Sensoren und einer
App optimiert

Das Projekt wurde dem Stadtrat


von San José präsentiert

magpi.de 05 • 2019 39
Projekte GALERIE

Viel Applaus für den


Raspberry Pi
In die Hände klatschen statt zu klicken – Ash Puckett löst so manche Probleme eigenhändig

A
ls Ash Puckett beschloss, ihr Leben zu wiedergeben und spezielle Skripts laufen lassen.
vereinfachen, kam sie auf eine grandiose Idee: Darauf aufbauend kann jeder Nutzer seine eigenen,
„Als ich eines Morgens aufwachte und mich maßgeschneiderten Lösungen realisieren“, freut
aus dem Bett schälte, klatschte ich in die Hände, um sich Ash. „Was sich mit dem Pi steuern lässt, kann
das Licht einzuschalten. Eine Millisekunde später fiel auch durch das Klatschen initialisiert werden. Dazu
mir ein, dass ich gar keine geräuschempfindlichen gehören nicht nur Lichtschalter, sondern auch
Schalter verbaut hatte. Dieses Problem wollte Smart-Home-Equipment.“
ich mit meinem Raspberry Pi lösen.“ Ash schloss Ash vertraute auf den Raspberry Pi als Basis,
Ash kurzerhand ein USB-Mikrofon an ihren Raspberry da sie aus eigener Erfahrung wusste, dass der Pi
Puckett
MAKER

Pi an und entwickelte eine einfach gehaltene, aber für solche Aufgabe wie gemacht ist. „Dank der
nichtsdestotrotz elegante Lösung. Sie benötigte Möglichkeit, GPIO-Erweiterungen zu verwenden,
Ash verdient ihr
Geld mit Content
gerade mal einen Tag, um das Projekt zu konzipieren lassen sich selbst aufwendige Projekte realisieren“,
Marketing und und zu realisieren. Anschließend verfasste sie ein erklärt Ash. „Der eigenen Fantasie sind so gut wie
Schreiben. Ihre Online-Tutorial (magpi.cc/CcMzdP). keine Grenzen gesetzt.“ Dementsprechend positiv
Freizeit investiert sie
„Die große Herausforderung bestand im Grunde ist das Feedback, das Ash aus der Pi-Community
in coole Raspberry-
Pi-Projekte, die sie genommen darin, eine flexible Anleitung zu erhalten hat. „Immer mehr Tüftler kontaktieren
der ganzen Welt zur verfassen“, erinnert sich Ash. „Ich wollte, dass mich, um mir mitzuteilen, welche Lösungen sie
Verfügung stellt auch Tüftler, die nicht nur eine Lichtquelle mit inzwischen realisiert haben“, sagt Ash. „Darüber
ashpuckett.com Händeklatschen einschalten wollen, von meinem hinaus erhielt ich viele Hinweise sowie Tipps zu
Tutorial profitieren.“ bestimmter Hardware und Anregungen.“
„Viele Menschen sind von der Geräusch-
Klatschen ist das neue Klicken erkennung angetan. Dies ist aber kein Wunder,
Und wie funktioniert das? „Der Raspberry Pi wurde schließlich nutzt fast jeder ein Smartphone,
so programmiert, dass er auf Geräusche, die mit das die Sprachsteuerung unterstützt“, führt
dem USB-Mikro eingefangen werden, reagiert“, Ash aus. „Je mehr Anwender erkennen, dass
erläutert Ash. „Basierend auf diesem Input lassen sich auch Pi-Projekte per Geräuscherkennung
sich benutzerdefinierte Aktionen auslösen. Fast alles, realisieren lassen, desto größer wird die Anzahl der
Möglichkeiten. Ich bin stolz darauf, dass all diese
Projekte auf meiner Grundidee basieren.“
Ash vertraut auf den Raspberry Pi
Künftig wird mehr geklatscht
als Basis. Dank der Möglichkeit, GPIO- Doch Ash bleibt nicht untätig – im Gegenteil:

Erweiterungen zu verwenden, lassen sich „Angefangen bei Sicherheitssystemen für


die eigenen vier Wände bis hin zu einem

selbst aufwendige Projekte realisieren automatisierten Gewächshaus, das sich aus der
Ferne überwachen lässt – ich habe eine lange
Liste mit Projekten, die ich mit dem Raspberry Pi
was sich mit Python realisieren lässt, kann durch ein realisieren möchte.“ Wer mehr darüber wissen
Klatschen ausgelöst werden.“ will, sollte Ash auf howchoo (magpi.cc/Demoez)
Die Möglichkeiten sind nahezu unendlich groß. folgen oder uns per Twitter (@TheMagPi) oder
„Ich kann eine LED steuern, meine Lieblingssongs E-Mail (magpi@raspberrypi.org) kontaktieren.

40 05 • 2019 magpi.de
ALTERNATIVE STEUERUNG Projekte

Das Klatschgeräusch stellt


den Auslöser dar

INFOS
> Für die Erkennung
ist Nikz Jons Skript
pi-clap zuständig –
magpi.cc/GDpKhv

> Ashs Tutorial finden


Sie auf howchoo
magpi.cc/CcMzdP

> Die PyAudio-


Bibliothek und
ein USB-Mikro
ermöglichen die
Sounderkennung

> Zahlreiche Aktionen


lassen sich durch
Klatschen auslösen

> Ashs andere


Pi-Projekte sind ein
smarter Wecker
und ein Gerät
zum Streamen
von Musik

Ein Pi 3B+ mit USB-Mikro Die blaue LED signalisiert


erkennt das Geräusch die Aktivität

magpi.de 05 • 2019 41
Projekte GALERIE

Chord Assist
Dank intelligentem Sprachassistenten kann fast
jeder mit diesem behindertengerechten Instrument
Joe das Gitarrespielen lernen
MAKER

Birch

G
Joe arbeitet als
itarrenunterricht kann für Menschen ohne
Android-Entwickler
für Buffer im Augenlicht oder Gehör eine echte Heraus-
englischen forderung sein. Die behindertengerechte
Brighton. Zudem Gitarre Chord Assist erleichtert diesen Prozess
ist er Google
Developer Expert für taube, blinde oder stumme Personen.
für Android, Google Joes Familie leidet unter einer Erbkrankheit
Pay und Flutter namens Retinitis Pigmentosa, die zu einem
chordassist.com Tunnelblick führt. Auch Joes Mutter ist aus diesem

Das Ausschneiden der Öffnungen und


Integrieren aller Einzelteile war eine
ziemlich knifflige Angelegenheit
Das Display zeigt Akkorde an,
während sich auf der gegen- Grund sehbehindert. „Die Nähe zu Betroffenen
überliegenden Seite ein machte mir klar, wie sehr das Leben von dieser
Braille-Generator befindet Krankheit beeinträchtigt wird“, erklärt Joe. „Das
Musizieren ist nicht für jeden so leicht zugänglich
wie es eigentlich sein sollte – also dachte ich über
eine Lösung nach, was die Idee zu Chord Assist
begründete.“
Neben Display, vierstelliger Anzeige und Tasten
zur Auswahl und zur Anzeige von Akkorden
enthält Joes umgebaute Akustikgitarre auch
einen Braille-Generator, der auf seinem früheren
News-Reader-Projekt BrailleBox basiert
(magpi.cc/LpjrGF). Ein Vibrationselement neben
der Braille-Einheit weist den User auf anstehende
Aktionen hin. Über den auf Google-Technologie
basierenden Sprachassistenten werden die
Ein Sprachassistent
gesprochenen Befehle verarbeitet und Antworten
mit Mikrofon und
über den eingebauten Lautsprecher wiedergegeben.
Lautsprecher für
gesprochene Befehle Mit Joes App Chord Assist lassen sich Noten zum
Stimmen und Üben ausgeben
Der Raspberry Pi (https://www.raspberry.org/magpi/chord-assist).
findet zusammen
mit den anderen Versteckte Komponenten
Elementen Platz im Das Projekt hat rund sechs Monate in Anspruch
Klangkörper, was genommen. „Am schwierigsten waren die letzten
sich kaum auf die Konstruktionsschritte: Das Ausschneiden der
Akustik auswirkt Öffnungen und Integrieren aller Einzelteile war

42 05 • 2019 magpi.de
SMARTE GITARRE Projekte

Der Braille-Generator
ermöglicht sehbehinderten
eine ziemlich knifflige Angelegenheit“, erinnert Menschen das Erfassen
der Instruktionen für das
sich Joe. „Zunächst befand sich die gesamte Spielen von Akkorden
Elektronik auf Prototyp-Platinen. Die musste ich
dann ordentlich auf PCB-Platinen löten, um dem
System die nötige Stabilität zu verleihen.“
Alle elektronischen Komponenten inklusive
eines Raspberry Pi befinden sich im Klangkörper Der Pi und andere
Komponenten wie
der Gitarre. „Da steckt jede Menge Zeug drin, die acht Magneten
doch bis auf das portable Akkupaket sind alle für den Braille-
Generator befinden
Elemente sehr leicht.“ All die Einzelteile scheinen sich im Inneren des
sich nicht auf die Klangqualität auszuwirken: Instruments

„Zunächst habe ich mit großen Akustikproblemen Jede Menge


Bedienelemente und
gerechnet. Doch im Vergleich zu meiner anderen Komponenten wie
Gitarre kann ich kaum klangliche Unterschiede Tasten, Mikrofon,
Lautsprecher, Seg-
feststellen.“ mentanzeigen und
LC-Display finden
Platz auf der Gitarre
Zukunftsmusik
Obwohl Joe grundsätzlich mit seinem Projekt
zufrieden ist, plant er dennoch einige Verbesse-
rungen. „Ich würde gerne die Funktionalität des INFOS
Lautsprechers mit einem Verstärker und einem
Lautstärkeregler erweitern. Auch eine echte > Chord Assist wurde
Stimmfunktion würde meiner Gitarre gut zu für den Webby
Gesicht stehen – eine Routine, die gespielte Noten Award nominiert
analysiert und den Spieler wissen lässt, welche
Saite höher oder tiefer gestimmt werden sollte. > Display, Braille-
Einheit und
Das ist mit dem Google Assistant leider nicht
Lautsprecher
möglich, wäre aber doch ein tolles Features für
lassen sich
Menschen, die wenig Erfahrung mit dem Stimmen
einzeln aktivieren
von Instrumenten haben. Das Display könnte ich
für weiterführende Instruktionen verwenden.“ > Die letzte
Wenn Sie ein ähnliches Projekt verfolgen, Anweisung lässt
können Sie sich Anregungen bei Joe holen, denn sich per Tasten-
er stellt einen Großteil seines Projekts – bis auf druck wiederholen
die Pi-Software für die Bedienoberfläche und die
Integration der Komponenten über GPIO – als > Eine vierstellige
Anzeige präsentiert
Open Source zur Verfügung. „Die Schaltpläne
die Akkorde
und der Konversationsbot sind Open Source,
sodass alle Interessierten meine smarte Gitarre
> Tasten unter
nachbauen können.“ der Anzeige
Aufgrund des positiven User-Feedbacks plant ermöglichen die
Joe weitere smarte Gitarren – das ist Musik in Auswahl gezeigter
unseren Ohren! Akkorde

magpi.de 05 • 2019 43
Praxis MIT DEM RASPBERRY PI STARTEN

Raspberry Pi – so
legen Sie los
Neuer, stolzer RasPi-Besitzer? Die Konfiguration jedes Raspberry Pi ist
ein Kinderspiel. In diesem Beitrag erfahren Sie alles Nötige dazu

E
ines versprechen wir allen Neueinsteigern Sie brauchen
schon jetzt: Der Raspberry Pi öffnet Ihnen > Hardwarekomponenten und Zubehörteile, die für
das Tor zur gesamten Welt der Elektronik, den Betrieb des Raspberry Pi nötig sind
Robotik, Programmierung und Spiele! Sie können
mit dem Minicomputer aber auch ganz profane
Dinge erledigen, etwa Texte mit OpenOffice schrei-
ben oder im Internet surfen. Und weil er so preis- Raspberry Pi
wert ist, eignet sich der Linux-Zwerg als idealer Ganz egal
gal ob Sie sich für Raspberry Pi 4, 3B+, 3B,
Einstiegsrechner für Kinder und Schüler – was beim Pi Zero, Zero W oder Zero WH entscheiden, die
chtigt war.
Entwurf dieses Computers auch beabsichtigt Grundkonfiguration bleibt stets gleich. Alle RasPis
Deshalb lässt sich der Ras
aspberry im wahrsten
Raspberry benötigen eine microSD-Karte für das Betriebs-
Betriebs
Sinne des Wortes kinderleicht
kind handhaben und in system, ein USB-Netzteil, eine Maus, eine Tastatur
wenige Minuten in einen betriebsbereiten Zustand
wenigen und einen Monitor.
versetzen. Tastatur, Maus, Monitor und Netzteil
sind schnell angeschlossen – fehlt nur noch das
Betriebssystem. Dank NOOBS geht auch das flott,
wie Sie gleich sehen werden. Viel Spaß!

44 05 • 2019 magpi.de
HARDWARE & BETRIEBSSYSTEM Praxis

USB-Maus
Eine preiswerte kabelgebundene Maus bekommt
man ab fünf Euro – die meisten Computerbesitzer
werden vermutlich noch ein älteres Exemplar in der
Bastelkiste liegen haben. Sie können sich auch für
ein Bluetooth-Modell entscheiden oder greifen zur
Raspberry-Maus, siehe hier und magpi.cc/mouse).

microSD-Karte
Wir empfehlen eine microSD-Karte mit 16 oder
32 GByte Kapazität. Darauf ist genügend Platz für Passendes Netzteil
das Betriebssystem, die Programme und Daten. Man kann ältere Raspberry-Modelle
Falls Ihr PC oder Mac kein Lesegerät besitzt, mit einem Netzteil betreiben, das
brauchen Sie einen microSD-Card-Adapter. Er 5V/2A liefert und für Micro-USB-
kostet je nach Modell zwischen 10 und 20 Euro. Buchsen geeignet ist. Aber Vorsicht:
Für den neuen Raspberry 4 brauchen
Sie stattdessen ein Netzteil mit
einem USB-C-Stecker. Empfehlens-
Desktop-Rechner oder Notebook wert ist das offizielle Netzteil der
Sie benötigen einen Desktop-Rechner (Windows, Raspberry Pi Foundation, das den Pi 4
Linux, Mac) oder ein entsprechendes Notebook, mit 5 Volt bei 3 Ampere versorgt.
um das Betriebssystem zu laden und die
microSD-Karte einzurich-
ten. Die dazu nötigen
Tools stellen wir Ihnen Monitor und HDMI-Kabel
noch vor. Die übrigen Sie können jeden modernen
Schritte erledigen Sie Standard-PC-Monitor mit HDMI-
dann später auf dem Anschluss verwenden. Für den
Raspberry. RasPi 3B und 3B+ brauchen Sie
ein Standard-HDMI-Kabel.
Aber: Der Raspberry Pi 4 erfordert
das weniger verbreitete Micro-
HDMI-zu-HDMI-Kabel (oder
einen Adapter). Und der Pi Zero
W benötigt ein Mini-HDMI-zu-
HDMI-Kabel (oder einen Adapter).
USB-Tastatur
Der RasPi kommt mit jeder USB-Tastatur klar,
selbst mit Bluetooth-Modellen. Für die Grund-
konfiguration empfehlen wir Ihnen allerdings eine USB-Hub
kabelgebundene Variante. Einfache Tastaturen Beim Raspberry Pi Zero gibt es eine Besonderheit:
sind schon für zehn Euro zu haben. Oder Sie neh- Weil dessen kleine Platine kaum
men das offizielle Modell: magpi.cc/keyboard. Platz bietet, ist die USB-Buchse
geschrumpft. Man benötigt des-
halb einen Micro-USB-zu-USB-
Adapter sowie einen USB-Hub,
falls man eine kabelgebundene
Tastatur und Maus anschließen
möchte. Das gilt natürlich auch
für andere externe USB-Geräte.

magpi.de 05 • 2019 45
Praxis MIT DEM RASPBERRY PI STARTEN

Setup: 02 Maus verbinden


Verbinden Sie die Maus mit einer der beiden

RasPi 3 bis 4 USB-2.0-Buchsen (schwarze Markierung bzw. Steg


im Inneren der Buchse). Bei den älteren Modellen
spielt die Wahl der Buchse keine Rolle, da die alten
RasPis nur USB-2.0-Anschlüsse besitzen.
Die neueren Modelle lassen sich in nur
wenigen Minuten einrichten
Tastatur anschließen HDMI-Stecker und Monitor
01 Der neue Raspberry Pi 4 ist ebenso wie seine
03 Beim neuen Raspberry Pi 4 schließen Sie
beiden Vorgängermodelle (3B+ und 3B) mit vier den Bildschirm an eine der beiden Micro-HDMI-
normal großen USB-A-Buchsen ausgestattet. Ihre Buchsen (Typ D) an. Sie brauchen also entweder
kabelgebundene Tastatur schließen Sie an einer der einen Adapter oder ein entsprechendes Kabel.
beiden schwarz markierten Buchsen an, die beiden Die älteren Modelle lassen sich mit einem norma-
blauen Ports sind für USB-3.0-Geräte vorgesehen. len HDMI-Kabel mit dem Monitor verbinden.

Wenn RasPi-Fans ganz genau hinsehen,


erkennen sie, dass sich beim Raspberry Pi 4
das Layout der Platine geändert hat. Das gilt
sowohl für den Netzanschluss (USB-C)
als auch für die nebeneinanderliegenden
Micro-HDMI-Buchsen für das Monitorkabel.

Der Raspberry Pi 4 zeichnet sich unter


anderem durch seine beiden schnellen
USB-3.0-Ports (hier blau gekennzeichnet)
aus. Dazu kommen zwei USB-2.0-Buch-
sen. Die ältere 3er-Serie besitzt ebenfalls
vier Anschlüsse für externe Geräte, die
aber jeweils nur USB 2.0 unterstützen.

46 05 • 2019 magpi.de
HARDWARE & BETRIEBSSYSTEM Praxis

Dieser Micro-USB-auf-USB-A-
Adapter ist nötig, wenn Sie eine
Tastatur oder Maus an den
Raspberry Pi Zero W anschließen
wollen. Das gilt natürlich ebenso
für externe USB-Geräte.

Auf der Platine des Pi Zero W ist fast


kein Platz, die Entwickler haben sich
deshalb für eine Mini-HDMI-Buchse
entschieden. Man benötigt deshalb

Setup:
einen HDMI-Adapter oder ein HDMI-
Kabel mit beiden Steckertypen.

Raspberry Pi
Zero
Maus und Tastatur nutzen
02 Es gibt drei Möglichkeiten, Maus und Tasta-
tur anzuschließen: Sie verwenden einen Adapter,
Sie schließen die Maus an eine Tastatur mit inte-
Ohne Adapter läuft nichts, wenn man das griertem USB-Hub an, oder Sie greifen direkt zu
kleinste RasPi-Modell einrichten will einem USB-Hub mit vier USB-Buchsen. Dieser Hub
sollte am besten von vornherein für den Anschluss
Nur eine Schnittstelle
01 Der kleinste Raspberry Pi wird gerne bei
an einer Micro-USB-Buchse gedacht sein.

Projekten eingesetzt, bei denen Tastatur und Maus


überflüssig sind – etwa beim Remote-Betrieb oder
Monitor anschließen
als Teil eines komplexeren Hardware-Aufbaus,
beispielsweise bei Robotern. Weil die Platine sehr
03 Um Wackelkontakte grundsätzlich zu
klein ist, ist nur für eine Micro-USB-Schnittstelle vermeiden, raten wir Ihnen zu einem Bildschirm-
Platz. Alternativ kann man bei den aktuellen kabel, das auf der einen Seite einen Mini-HDMI-
RasPi-Zero-Modellen auf Bluetooth ausweichen. Stecker (Typ C) besitzt und auf der anderen Seite
Die erste Generation unterstützt dies nicht. einen Standard-HDMI-Stecker (Typ A).

magpi.de 05 • 2019 47
Praxis MIT DEM RASPBERRY PI STARTEN

Das System
konfigurieren
Mitilfe des Installers NOOBS richten
Sie das Betriebssystem Ihres neuen
RasPis schnell und bequem ein

E
NOOBS vorbereiten
s gibt viele Wege, die zu einem lauffähigen
RasPi-Betriebssystem führen. Der einfachste
02 Laden Sie NOOBS: bit.ly/2Ytq6BD. Wählen
ist NOOBS – wer diese Variante wählt, gelangt Sie die große Version, also „NOOBS Offline and
auch als Einsteiger leicht zum Ziel. network install“. Stecken Sie die microSD-Karte
Bei NOOBS - das Kürzel steht für „New Out Of ein. Starten Sie den „SD Memory Card Formatter“.
the Box Software“ - handelt es sich um einen sehr Wählen Sie die jeweilige microSD-Karte aus, dann
leicht zu handhabenden Installer, mit dem Sie die Option „Quick Format“. Achtung: Alle Daten
verschiedene Betriebssysteme auf dem Raspberry auf der microSD-Karte werden dabei unwiderruf-
einrichten können. Das wichtigste Betriebssystem lich überschrieben! Starten Sie den Vorgang mit
ist natürlich Raspbian, deshalb bietet der Installer „Format“. Bestätigen Sie die Sicherheitsabfrage.
es gleich als erste Wahl an. Legen wir also los: Schließen Sie am Ende das Programmfenster.

Sie brauchen
NOOBS auf die Karte kopieren
> Windows- oder 03 Nun öffnen Sie den NOOBS-Ordner auf
Linux-Rechner oder
Ihrem Rechner. Dort sollten jetzt drei Unterver-
einen Mac (OS X)
zeichnisse erscheinen: Sie heißen im Einzelnen
> microSD-Karte
Tool für die microSD-Karte laden
(16 oder 32 GByte) 01 Als Erstes bereiten Sie die microSD-Karte
„defaults“, „os“ sowie „overlays“. Weiterhin
sehen Sie 22 Dateien im Hauptordner, darunter
> Ein Lesegerät für vor. Dazu benötigen Sie ein Programm wie „SD zum Beispiel „recovery.img“ oder „bootcode.bin“.
microSD-Karten
Memory Card Formatter“. Sie bekommen dieses Markieren Sie alle Unterordner und alle Dateien
oder einen im Com-
puter integrierten Tool kostenlos als Windows- und OS-X-Version innerhalb des Hauptordners. Dann ziehen Sie alle
Steckplatz unter bit.ly/2Uqf8fe. Weiter unten auf dieser Web- markierten Dateien und Unterordner auf die
seite finden Sie die Download-Buttons (jeweils microSD-Karte. Achtung – hier lauert eine leicht
> SD Memory Card
Formatter blau markiert). Installieren Sie das Programm auf zu übersehende Fehlerquelle: Falls Sie von diesem
rpf.io/sdcard Ihrem Rechner. Hinweis: Für die folgenden Schritte Prozedere abweichen und stattdessen den Haupt-
benötigen Sie einen microSD-Karten-Adapter, falls ordner auf die microSD-Karte kopieren, lässt sich
> NOOBS
rpf.io/downloads er nicht ohnehin schon im Rechner integriert ist. NOOBS später nicht auf Ihrem RasPi booten!

48 05 • 2019 magpi.de
HARDWARE & BETRIEBSSYSTEM Praxis

Sobald die microSD-


Karte an ihrem Platz ist,
An der Unterseite der verbinden Sie das Kabel
Platine des Raspberry Pi des Netzteils mit der
befindet sich ein kleiner entsprechenden Buchse
Steckplatz. Dort platzieren auf der Platine. Nun
Sie die microSD-Karte leuchtet eine rote LED
auf – der RasPi hängt
jetzt am Stromnetz

Vorbereitete Hardware starten


04 Die nächsten Schritte erfolgen nun am
Gerät selbst. Wir gehen im Folgenden davon aus,
dass der Raspberry Pi startklar ist. Das bedeutet:
Monitor, Maus und Tastatur sind angeschlossen
und das Gerät ist mit dem Netzwerk verbunden –
es kann sich also während der Konfiguration ins
Internet einwählen. Das Netzteil ist vorbereitet.
Nun nehmen Sie erst Ihre microSD-Karte und ste-
cken sie in den RasPi. Dann schließen Sie das Netz-
teil an und versorgen den RasPi mit Strom. Er bootet
NOOBS von der microSD-Karte und präsentiert
Ihnen gleich den Konfigurationsbildschirm.

Fertig konfigurieren & lossurfen!


06 Nun bootet der Raspberry Pi neu. Der Boot-
Raspbian installieren
05 Als Erstes stellen Sie die Sprache und die
Vorgang dauert längere Zeit – im Anschluss daran
kann Raspbian konfiguriert werden. Dazu gehören
Tastaturbelegung auf „Deutsch“ um. Das erledigen Sprache, Passwort, WLAN-Zugang und andere
Sie im unteren Rand des NOOBS-Bildschirms. Dinge. Sobald dies erledigt ist, kann man sich im
Setzen Sie in der Betriebssystemliste ein Häkchen System umschauen: Probieren Sie Chromium aus
bei „Raspbian Full“. Das ist gleich der oberste Ein- – im Gegensatz zu früher werden Internetseiten
trag in der Liste. Es steht Ihnen aber natürlich frei, jetzt relativ zügig geladen; damit taugt der RasPi
sich für ein anderes Betriebssystem zu entschei- als preisgünstige Surfstation für die ganze Familie.
den. Klicken Sie auf »Installieren« und bestätigen Noch ein Tipp zum Schluss: Hält man vorm Start
Sie die Sicherheitsabfrage in der nächsten Dialog- des Systems die Shift- bzw. Feststelltaste gedrückt,
box. Nun dauert es eine ganze Weile, bis Raspbian gelangt man wieder in den NOOBS-Installer und
eingerichtet ist. Zum Schluss erscheint eine Dia- kann bei Bedarf ein neues Betriebssystem einrich-
logbox, welche die erfolgreiche Installation bestä- ten. Dabei löschen Sie alle vorherigen Einstellun-
tigt. Klicken Sie dort auf »OK«. gen und Daten des Systems unwiederbringlich!

magpi.de 05 • 2019 49
Praxis WORKSHOP

Mit dem Pi und PICO-8


direkt in die Spielewelt
Hunderte 8-Bit-Games spielen, teilen und neue erfinden:
PICO-8 verwandelt Ihren RasPi in eine virtuelle Konsole!

E
s gibt eine neue Welle an „virtuellen“ Konso-
len, und die Fantasy-Konsole PICO-8 erfreut
uns mit 8-Bit-Pixelgrafik. Mit dem eigenen
Dan Lambton-
MAKER

eingebauten Browser haben Sie Zugriff auf Hun-


Howard derte Spiele. Sie finden zudem von Code bis Grafik
Dan ist ein unab- alle Komponenten, um eigene Spiele zu entwi-
hängiger Spiele- ckeln. Die Community um das Projekt ist sehr aktiv
Designer aus und hilfsbereit. Es braucht nur wenige Schritte,
Newcastle. Der
und die Software läuft auch auf Ihrem Pi.
Glückliche darf
dort Spiele für
seine Doktorarbeit
programmieren

@danhowardgames Raspberry Pi vorbereiten


01 Sie brauchen einen einsatzbereiten Pi. Die
folgenden Schritte sind mit einer frischen Installa-
tion von Raspbian Stretch plus Desktop getestet.
Sie können einen USB-Controller (PICO-8 unter-
stützt bis zu zwei) anstöpseln. Anfangs sind aber
Für den Autostart von PICO-8 müssen Sie nach dem Anpassen
eine USB-Tastatur und eine Maus nötig. Nach der von .bashrc in den Einstellungen Boot zum CLI aktivieren
Sie brauchen Ersteinrichtung reichen dann der Controller und
WLAN, um Spiele herunterzuladen und zu spielen.
> USB-Gamepad(s)
(irgendein Con-
Das Lexaloffle-Angebot
troller mit zwei
Knöpfen reicht) 02 Als Erstes laden Sie PICO-8 von der Lexa-
> PICO-8 loffle-Website herunter (magpi.cc/PICO8). Sie
magpi.cc/pico8 müssen dafür ein Konto anlegen und eine Lizenz
kaufen, die derzeit rund 13 € kostet. Dann holen Sie
> Tastatur, Maus und
WLAN (haben Sie sich die Raspberry-Pi-Version von PICO-8 aus
wahrscheinlich) dem Downloadbereich des Projekts. Sie können die
> Raspberry Pi 3 oder
ZIP-Datei direkt via Chromium auf Ihren Pi herun-
Raspberry Pi Zero terladen. Die Lizenz erlaubt erfreulicherweise auch
(oder früher) einen Download der PICO-8-Versionen für Win-
dows, macOS und Linux.

3, 2, 1 … los!
Bei Just One Boss
gibt es niedliche
03 Entpacken Sie die Inhalte der ZIP-Datei
Pixelkunst und im Verzeichnis /home/pi. Öffnen Sie den neuen
mitreißende Musik.
Spielen Sie das Ordner und Sie sehen einige Dateien. Für uns am
zuerst. Vorsicht vor interessantesten sind pico8 (nicht die .DAT) und
dem harten Modus!

50 05 • 2019 magpi.de
PICO-8 Praxis

Retro-Controller
für Retro-Konsole

PICO-8 ist eine virtuelle


Konsole mit mehreren
Hundert Spielen an Bord!

manual.txt. Das erste ist die virtuelle Konsole.


Sie sollten die Kommandozeile und
Das zweite ist das Handbuch mit vielen nützlichen
Informationen, Tipps und Befehlen, um das Maxi-
den blinkenden Cursor von PICO-8 sehen,
mum aus der Konsole herauszuholen. Möchten Sie der um eine Eingabe bittet
eigene Spiele erstellen, finden Sie dort umfassende
Hilfe. Da wir uns hier aber aufs Spielen konzentrie-
ren, ignorieren Sie diesen Punkt und starten PICO-
Der Controller und die Carts
8 mit einem Doppelklick auf die Datei »pico8«.
05 Haben Sie noch keinen USB-Controller ein-
gesteckt, tun Sie das jetzt. PICO-8 bezeichnet seine
Spiele als „Carts“, (von „Cartridges“, erinnern Sie
Top-Tipp
Nun ist SPLORE dran
04 Piep, piep! War das nicht niedlich? Sie soll-
sich noch?). Steuern Sie mit dem D-Pad die diversen
Registerkarten an. Sie finden eine Sektion für neue
Suchen mit
dem Controller
ten nun im Idealfall die Kommandozeile von PICO- Carts, eine Suchfunktion, eine Registerkarte für die
8 und einen blinkenden Cursor sehen. Tippen Sie Lieblingscarts und einen Dateibrowser für Eigen- Sie wollen ohne
HELP ein und Sie erhalten eine Liste mit Befehlen. kreationen. Stöbern wir ein bisschen in der Register- Tastatur nach
Wenn Sie die Kommandozeile schon auf dem RasPi karte „Featured“. Wählen Sie »Update« und drü- Carts suchen?
benutzt haben, ist Ihnen der Punkt vielleicht cken Sie im Anschluss einen Knopf. PICO-8 sollte Benutzen Sie das
bekannt. Alles schön und gut, aber wo sind die Sie nun zur Spielebibliothek verbinden und eine D-Pad Ihres Con-
trollers, um im
Spiele? Zum Glück hat PICO-8 einen eingebauten Liste mit verfügbaren Titeln präsentieren. Finden
Spieleangebot zu
Spielebrowser, der SPLORE heißt. Tippen Sie ein- Sie ein Spiel, das Sie interessiert, und drücken Sie stöbern
fach SPLORE ein und drücken Sie die Eingabetaste. dann einfach einen Knopf, um es zu starten.

magpi.de 05 • 2019 51
Praxis WORKSHOP

Sie dürfen einen


oder zwei USB-
Controller benutzen.
Wie wär’s mit einem
Teil im Retro-Stil?

PICO-8 enthält alles,


um eigene Spiele zu
erfinden, zum Bei-
spiel diesen schicken
8-Bit-Sprite-Editor

Ein Füllhorn an Spielen


06 Glückwunsch! Sie haben nun Zugriff auf das aquatische SWORDFISH mit freundlichen
viele selbst gemachte Werke. Es ist für jeden Grüßen von @danhowardgames. Damit sollten
Geschmack etwas dabei und es gibt auch soge- Sie vorerst beschäftigt sein. Es kommen zudem
nannte Demakes. Dabei werden bekannte Spiele fast täglich neue und interessante Spiele hinzu.
in 8 Bit umgesetzt. Wollen Sie etwas anderes pro-
bieren, drücken Sie auf die »Start«-Schaltfläche
und öffnen Sie damit das Menü. Hier finden Sie
Spezielle Maschine
SPLORE wieder und können weiterstöbern. Über
das Menü markieren Sie auch Ihre Favoriten und
08 Die Sache funktioniert und Sie haben einige
finden sie leichter wieder. Spiele ausprobiert? Dann verwandeln wir den RasPi
nun in eine dedizierte PICO-8-Konsole. Gleich
beim Systemstart wird das Programm geöffnet. Sie
Meine Favoriten
07 Vielleicht sind Sie etwas überwältigt von
können das auf mehrere Arten erreichen, aber die
schnellste - wenn auch nicht eleganteste - Metho-
der Anzahl der Carts und finden keinen Anfang. de ist ein Eintrag in der Datei .BASHRC. Sie finden
Hier sind einige meiner Favoriten. Den Chef mit diverse Befehle in der Datei, die immer ausgeführt
Just One Boss von Ayla Myers (@bridgs_dev) werden, wenn eine interaktive Shell gestartet wird.
besiegen, das Puzzlespiel Tomato Worm von Jose Ein Beispiel wäre das Öffnen eines neuen Termi-
Guerra (@guerragames), der Plattformer Dusk nal-Fensters. Sie beenden PICO-8, öffnen ein Ter-
Child von Sophie Houlden (@S0phieH), Orbiter minal und editieren die Datei durch Eingabe von
Suite von Andrew Anderson (@kittenm4ster) und sudo nano /home/pi/.bashrc.

52 05 • 2019 magpi.de
PICO-8 Praxis

Cart-Browser von Anfang an Alle Tools vorhanden


09 Fügen Sie in der Datei als letzte Zeile ein:
11 Sie blicken nun auf den Code-Editor und Top-Tipp
sudo /home/pi/pico-8/pico8 -splore - damit den Code, der die Grundlage für das geladene Spiel
startet PICO-8 sofort den Cartbrowser. Speichern ist. Rechts oben sehen Sie ein Symbol, mit dem Zwei Spieler,
Sie die Datei und öffnen Sie übers Menü die Ein- Sie zwischen den anderen Editoren umschalten eine Tastatur
stellungen und dort „Raspberry-Pi-Konfigura- können. Von links nach rechts gibt es Editoren für
Sie haben keinen
tion“. Im Reiter „System“ ändern Sie „Boot:“ in Code, Sprites, Karten, Soundeffekte und Musik! Controller? So
„Zum CLI“. Beim nächsten Start öffnet sich PICO- Sehen Sie sich gut an, was die einzelnen Editoren spielen Sie mit
8 sofort und Sie brauchen weder Maus noch Tasta- zu bieten haben. Wir beschäftigen uns in einem der Tastatur: P1
späteren Artikel einmal damit. Für den Anfang nimmt die Pfeil-

Sie sehen nun den könnten Sie ein paar Sprites editieren und das Spiel
mit den Änderungen via [Strg]+[R] neu starten.
tasten + N/M und
P2 SDFE + TAB/Q

Code-Editor und den Code,


der die Grundlage für
Teil der Community
das geladene Spiel ist 12 Ein sehr faszinierender Aspekt von PICO-8
ist die enthusiastische Entwickler-Community.
tur. Speichern Sie die Änderungen und starten Sie Die Leute sind von der Konsole begeistert und
das System neu, um zu prüfen, ob alles funktioniert. unterstützen Sie gerne, sollten Sie Hilfe brauchen.
Wir raten Ihnen wirklich, Teil der Gemeinschaft zu
werden. Es gibt ein offizielles Lexaloffle-Forum
(magpi.cc/hqxiAL), einen Discord-Server von
Hinter den Kulissen
10 Sie haben nun eine fertige PICO-8-Konsole.
PICO-8, den Sie auf Twitter mit #PICO8 suchen.
Wollen Sie eigene Spiele erschaffen, gibt es dafür
Wie geht’s weiter? Sie können mit PICO-8 sehr viele nützliche Quellen. Viel Spaß!
einfach eigene Spiele entwickeln. Wir besprechen
das Thema einmal genauer in einem Folgeartikel.
Packt Sie die Neugier, werfen Sie schon einen Blick
hinter die Kulissen: Sie verbinden Tastatur und
Maus, starten PICO-8 und laden ein Spiel. Gehen
Sie nun zurück zu SPLORE. Drücken Sie die Taste
[ESC], um die PICO-8-Konsole zu beenden. Drü-
cken Sie erneut [ESC], und Sie kommen zum Code.

Schwerkraft und Trägheit sind bei Spaceman 8 real.


Ein Astronaut mit einem Jetpack transportiert Edelsteine Celeste, das Indie-Spiel des Jahres 2018, hat seinen Ursprung auf dem PICO-8

magpi.de 05 • 2019 53
Praxis WORKSHOP

Der selbstheilende
Raspberry Pi
Setzen Sie Ihr System brandneu auf – ohne Stress und ohne die microSD-
Karte zu löschen. Spendieren Sie Raspbian eine Wiederherstellungspartition

V
iele moderne Betriebssysteme verfügen Stellen Sie sicher, dass uuidgen installiert ist.
über eine „Wiederherstellungspartition“. Falls nicht, führen Sie folgenden Befehl aus:
PJ Das ist ein reservierter Bereich auf dem
MAKER

Evans Laufwerk, in dem alles steckt, um Ihre Maschine sudo apt install uuid-runtime
wieder in den Ursprungszustand zu versetzen.
PJ ist Schriftsteller, Geht etwas schief, können Sie so neu anfangen. In Die meisten Befehle müssen als root ausgeführt
Softwareentwickler
und betreibt den der Raspbian-Welt heißt das normalerweise, das werden. Schalten Sie darum am besten „root“ für
Milton Keynes Image auf der microSD-Karte zu überschreiben. dieses Tutorial dauerhaft ein:
Raspberry Jam, ein Daran ist nichts auszusetzen, aber was, wenn es
beliebtes Pi-Event
viel ist, etwa für eine ganze Klasse, oder Sie haben sudo su
@mrpjevans keinen Zugang zu einem anderen Laufwerk zum
Brennen? Wir kreieren eƒine Alternativ-Version Erstellen Sie ein Verzeichnis auf Ihrem Computer
von Raspbian mit Wiederherstellungspartition. und kopieren Sie dorthin die beiden Raspbian-
Raspberry Pi, heile dich selbst! Images Full und Lite (wir verwenden 2019-04-08).
Entpacken Sie diese wie folgt:

unzip 2019-04-08-raspbian-stretch-full.zip
Arbeitsplatz vorbereiten
01 Dieses Tutorial beschreibt, wie Sie ein
unzip 2019-04-08-raspbian-stretch-lite.zip

bootfähiges Image mit Wiederherstellungs-


partition anlegen. Alternativ dazu existiert unter
Image-Größe berechnen
magpi.cc/junkPr ein Skript zur Automatisierung
des Vorgangs. Einige der komplexeren Befehle
02 Unser Image braucht Platz für Raspbian Full
daraus erläutern wir Ihnen im Detail. einschließlich Boot-Partition sowie für eine zweite
Sie brauchen Partition mit Raspbian Lite; diese enthält ein Image
von Raspbian Full. Die nötige Festplattengröße in
> Raspbian Stretch Sektoren zu 512 Bytes ermitteln Sie wie folgt:
Komplettes Image
magpi.cc/raspbian fdisk -lu 2019-04-08-raspbian-stretch-full.img
> Raspbian Stretch fdisk -lu 2019-04-08-raspbian-stretch-lite.img
Lite Image
magpi.cc/raspbian Jeder Befehl gibt aus, wie viele Sektoren nötig sind
> Jumper (oder (siehe Abb. auf S. 56). Die Startpartition beginnt mit
F-F-Jumper-Kabel) Sektor 8192. So berechnen Sie die Gesamtgröße:
> Viel Speicherplatz 8192 + Raspbian Full Boot Partition + Raspbian Lite
Main Partition + (Raspbian Full Main Partition × 2)
> Debian-/Raspbian-
Mit den genannten Raspbian-Versionen benötigen
OS
Erstellen Sie ein individuelles Image für ein ganzes Klassen- Sie 24.426.283 Sektoren.
zimmer. Damit können Sie nach jeder Stunde die Pis neu initialisieren

54 05 • 2019 magpi.de
NEUINSTALLATION IM NU Praxis

Dieser Workshop ergänzt unser


Schlüsselring-Projekt (siehe
Seite 60) – es funktioniert aber
mit jedem Raspberry Pi

Top-Tipp
Individuelle
Images
Bevor Sie
den Snapshot
erstellen,
konfigurieren
Sie WLAN, SSH
Das Boot-Skript startet und installieren
nach dem Kurzschluss die erforderliche
die Wiederherstellung Software. Das
spart nach
der Wieder-
herstellung Zeit

Leeres Image anlegen


03 Legen Sie eine leere Datei für unser Disk-
Im Tutorial lernen Sie, ein bootfähiges
Image an. Ermitteln Sie zunächst die Anzahl der
erforderlichen Sektoren in 4-MB-Blöcken:
Image mit Wiederherstellungspartition
zu erzeugen
24.426.283 × 512 Bytes = 12.506.256.896 Bytes

12.506.256.896 / 4.194.304 = 2.982 4-MB-Blöcke label: dos


(gerundet) label-id: 0x${PARTUUID}
unit: sectors
Generieren Sie anschließend das Ziel-Image:
2019-04-08-raspbian-stretch-full.restore.
dd if=/dev/zero bs=4M count=2982 status=progress img1 : start=8192, size=87851, type=c
> 2019-04-08-raspbian-stretch-full.restore.img 2019-04-08-raspbian-stretch-full.restore.
img2 : start=96043, size=13877248, type=83
Damit haben Sie eine große Datei voller Nullen. 2019-04-08-raspbian-stretch-full.restore.
img3 : start=13973291, size=10452992, type=83
EOL

Image partitionieren
04 Im nächsten Schritt wird aus der leeren
Achtung: Die Partitionsgrößen sind spezifisch
für die hier verwendete Version von Raspbian.
Datei ein Disk-Image. Legen Sie dazu für die Nutzen Sie fdisk, um ihre Größen zu berechnen!
Partitionen eindeutige Bezeichner fest:

UUID_RESTORE=$(uuidgen)
Images mounten
UUID_ROOTFS=$(uuidgen)
PARTUUID=$(tr -dc 'a-f0-9' < /dev/urandom
05 Jetzt ist der Zugriff auf die Datei mit Nullen
2>/dev/null | head -c8) als Datenträger möglich. Dazu verwenden wir
das Loopback-System, genauso wie für die beiden
Erstellen Sie nun die Partitionstabelle: Versionen von Raspbian.

sfdisk 2019-04-08-raspbian-stretch-full. losetup -v -f 2019-04-08-raspbian-stretch-


restore.img <<EOL full.restore.img

magpi.de 05 • 2019 55
Praxis WORKSHOP

Top-Tipp partx -v --add /dev/loop0 Jede Hauptpartition


losetup --show -f -P 2019-04-08-raspbian-
stretch-lite.img
hat eine fstab-Datei mit
Größen
überprüfen
losetup --show -f -P 2019-04-08-raspbian-
stretch-full.img
den Mount-Informationen
Berechnen Sie der Datenträger
alle Sektorgrößen Kopieren Sie nun die Boot- und Root-Partitionen
neu und von unserem Full-Image auf die Partitionen 1 und 3 Der Platz auf der Wiederherstellungspartition
bearbeiten Sie des neuen Images: wurde durch das Kopieren des Full- über das Lite-
die Dateien, wenn Image reduziert. Dies lässt sich jedoch ganz einfach
Sie nicht die
dd if=/dev/loop2p1 of=/dev/loop0p1 wieder beheben:
Raspbian-Version
status=progress bs=4M
vom 8.4.2019
verwenden. dd if=/dev/loop2p2 of=/dev/loop0p3 e2fsck -f /dev/loop0p2
status=progress bs=4M resize2fs /dev/loop0p2

Installieren Sie anschließend Raspbian Lite auf der Damit können Sie die Dateisysteme des neuen
zweiten Partition: Images mounten:

dd if=/dev/loop1p2 of=/dev/loop0p2 mkdir -p mnt/restore_boot


status=progress bs=4M mkdir -p mnt/restore_recovery
mkdir -p mnt/restore_rootfs

mount /dev/loop0p1 mnt/restore_boot


Konfigurieren und mounten
06 Weisen Sie den Partitionen neue eindeutige
mount /dev/loop0p2 mnt/restore_recovery
mount /dev/loop0p3 mnt/restore_rootfs
IDs zu und benennen Sie im Anschluss daran die
Wiederherstellungspartition um.

Boot-Partition setzen
tune2fs /dev/loop0p2 -U ${UUID_RESTORE}
e2label /dev/loop0p2 recoveryfs
07 Das Image bootet nicht, da es nicht weiß,
tune2fs /dev/loop0p3 -U ${UUID_ROOTFS} welche Partition verwendet werden soll. Führen Sie
den nächsten Befehl aus und notieren Sie sich die

Abb. zu
Punkt 02

Mit fdisk sehen


Sie die Partitionen und
berechnen die Größen

56 05 • 2019 magpi.de
NEUINSTALLATION IM NU Praxis

boot_to_recovery D
Programmcode
> Sprache: Bash auf Heft-DVD

001. #!/bin/bash
002. if [ "$EUID" -ne 0 ]
003. then echo "Please run as root"
004. exit
005. fi
006.
007. echo Rebooting to recovery partition in 5 seconds
008.
009. if [ "$1" = "restore" ]; then
010. echo Automatic restore selected
Die Wiederherstellungspartition sitzt zwischen 011. touch /boot/restore
der Boot-Partition und dem Hauptdateisystem
012. fi
013.
folgenden acht Zeichen nach „Disk identifier: 0x“: 014. sleep 5
015. sed -i 's/-03/-02/' /boot/cmdline.txt
fdisk -lu 2019-04-08-raspbian-stretch-full. 016. touch /boot/ssh
restore.img 017. reboot
018.
Öffnen Sie die Datei cmdline.txt zur Bearbeitung: 019. exit 0

nano mnt/restore_boot/cmdline.txt

Ändern Sie die acht Zeichen nach PARTUUID= auf boot_to_root


den zuvor notierten Wert. Ändern Sie das folgende
> Sprache: Bash
-02 in -03, um von der dritten Partition zu booten.

001. #!/bin/bash
002. if [ "$EUID" -ne 0 ]
Skripte zum Rücksetzen anlegen
08 Zur Wiederherstellung muss Ihr Pi von der
003.
004.
then echo "Please run as root"
exit
zweiten Partition mit Raspbian Lite booten und die 005. fi
dritte Partition mit dem Snapshot überschreiben. 006.
Dies lässt sich automatisieren. Legen Sie dazu drei 007. echo Rebooting to root partition in 5 seconds
Skripte im Verzeichnis »mnt/restore_boot« an 008. sleep 5
und machen Sie diese ausführbar: 009. sed -i 's/-02/-03/' /boot/cmdline.txt
010. touch /boot/ssh
chmod +x mnt/restore_boot/boot_to_root 011. reboot
chmod +x mnt/restore_boot/boot_to_recovery 012. exit 0
chmod +x mnt/restore_boot/restore_root

Stellen Sie sicher, dass restore_root beim Booten


der Wiederherstellungspartition ausgeführt wird:
restore_root
> Sprache: Bash
nano mnt/restore_recovery/etc/rc.local

Fügen Sie vor exit 0 die folgende Zeile ein: 001. #!/bin/bash
002. if [ -f "/boot/restore" ]; then
/boot/restore_root 003. echo Restoring rootfs
004. dd if=/rootfs.img of=/dev/mmcblk0p3 conv=fsync
status=progress bs=4M
005. unlink /boot/restore
fstab anpassen
09 Jede Hauptpartition besitzt eine fstab-
006.
007. fi
/boot/boot_to_root

Datei, die Raspbian mitteilt, welche Datenträger 008. exit 0

magpi.de 05 • 2019 57
Praxis WORKSHOP

check_restore_gpio.py
> Sprache: Python 3

001. import os
002. from gpiozero import Button
003.
004. button = Button(21)
005.
006. if button.is_pressed:
007. print("Restore button is pressed")
008. os.system("/boot/boot_to_recovery restore")
009. else: Dieses Projekt ist ein idealer Begleiter für den Schlüsselbund-Pi
(siehe S. 60) – ein Zero to go, der sich selbst heilen kann!
010. print("Restore button is not pressed")

Dieses einfache losetup --detach-all


Skript startet eine
Wiederherstellung,
Brennen und testen
wie gemountet werden sollen. Passen Sie diese
11
wenn der GPIO-21-Pin
mit GND verbunden ist
Informationen auf das neue Layout an: Damit haben Sie ein einsatzbereites Image.
Kopieren Sie es auf eine microSD-Karte ...
UUID_BOOT=$(blkid -o export /dev/loop0p1 |
egrep '^UUID=' | cut -d'=' -f2) dd bs=4M if=2019-04-08-raspbian-stretch-
full.restore.img of=/dev/sda conv=fsync
cat << EOF > mnt/restore_rootfs/etc/fstab status=progress
proc /proc proc
defaults 0 0 ... oder nutzen Sie ein Brennprogramm wie Etcher.
UUID=${UUID_BOOT} /boot vfat defaults Ihre SD-Karte sollte wie gewohnt starten. Zum Test
0 2 geben Sie in ein Terminal Folgendes ein:
UUID=${UUID_ROOTFS} / ext4
defaults,noatime 0 1 sudo ./boot/boot_to_recovery
EOF
Der Raspberry Pi sollte in Raspbian Lite neu
cat << EOF > mnt/restore_recovery/etc/fstab starten. Führen Sie das folgende Skript aus:
proc /proc proc
defaults 0 0 sudo ./boot/boot_to_rootfs
UUID=${UUID_BOOT} /boot vfat
defaults 0 2 Einen vollautomatischen Restore führen Sie so aus:
UUID=${UUID_RESTORE} / ext4
defaults,noatime 0 1 sudo ./boot/boot_to_recovery restore
EOF

Physikalischen Reset starten


Snapshot anlegen 12
10 Da Raspbian Full noch nie gebootet wurde,
Haben Sie keinen Terminalzugriff, hilft ein
Python-Skript. Es prüft den Status eines GPIO-Pins
ist dies der passende Zeitpunkt zum Herstellen der und startet beim Kurzschluss die Wiederherstellung.
Kopie. Der Befehl kopiert die Hauptpartition und Speichern Sie den check_reset_gpio.py-Code unter
legt sie in der Wiederherstellungspartition ab: /boot und stellen Sie die Ausführung sicher:

dd if=/dev/loop0p3 of=mnt/restore_recovery/ nano /etc/rc.local


rootfs.img status=progress bs=4M
Geben Sie vor der exit 0 -Zeile Folgendes ein:
Hängen Sie alle Partitionen aus:
python3 /boot/check_reset_gpio.py
umount -f mnt/restore_boot
umount -f mnt/restore_recovery Starten Sie die Wiederherstellung mit einem Über-
umount -f mnt/restore_rootfs brückungskabel zwischen GND und GPIO-21-Pin.

58 05 • 2019 magpi.de
Ein Angebot für
helle Köpfe. Lenco Bluetooth-
Lautsprecher
• Ausgangsleistung: 2 x 3 Watt (RMS)
• Integrierter 2.000 mA Akku, bis zu 8 Stunden Laufzeit
• Anschlüsse: Micro SD-Kartenleser, AUX Eingang
• Maße: ca. 18,4 x 8,0 x 5,1 cm, Gewicht: 470 g
• Zuzahlung nur 1 € inkl. MwSt. und Porto

Exklusiv

3 x MagPi lesen
+ tolle Prämie sichern!
Ihre Vorteile
Kostenlose Lieferung Kein Heft verpassen Gratisausgabe*

Ausfüllen und Ja, ich bestelle: 3 x MagPi für nur 24,90 € (inkl. MwSt. + Porto) M19MA04Z12

abschicken
Zunächst für 6 Monate (3 Ausgaben). Die Prämie erhalte ich umgehend nach Zahlungseingang. Das Abo kann ich nach Ablauf des Bezugszeitraums jederzeit wieder in Textform
kündigen. Bei Weiterbezug gilt der reguläre Abopreis (6 Ausgaben für z.Zt. nur 54,80 € / 9,13 € pro Ausgabe). Das Angebot gilt nur in Deutschland und solange der Vorrat reicht.
Auslandskonditionen auf Anfrage. Alle Preise inkl. MwSt. und Versand. Bei Fragen hilft unser Aboservice unter 0781/6394526 oder abo@chip.de gerne weiter.

oder unter *Ich bezahle bequem per Bankeinzug, erhalte eine Ausgabe gratis vorab und meine
Prämie sofort. SEPA-Lastschriftmandat: Ich ermächtige die CHIP Communications GmbH,

services.chip.de/ Name, Vorname


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 Belastungs-

abo/magpi4 datum, die Erstattung des belasteten Betrags verlangen. Es gelten dabei die mit meinem
Kreditinstitut vereinbarten Bedingungen.
Straße, Hausnr. D E
bestellen IBAN Ihre BLZ Ihre Konto-Nr.

Oder bestellen Sie hier: PLZ, Ort


Zahlungsempfänger:
CHIP Communications GmbH, St.-Martin-Straße 66, 81541 München
(Telefon) 0781-639 45 26 Gläubiger-ID: DE11ZZZ00000186884
Mandatsreferenz wird separat mitgeteilt.
(E-Mail) abo@chip.de
Telefon/Handy Geburtsdatum Ja, ich bin interessiert am Empfang von interessanten Vorteilsangeboten aus den

Weitere Angebote finden Sie unter Bereichen Medien, Touristik, Telekommunikation, Finanzen, Versandhandel per E-Mail der
CHIP Digital GmbH und CHIP Communications GmbH, beide: St.-Martin-Straße 66, 81541
www.chip-kiosk.de/chip München. Hierzu werden meine Kontaktdaten für Werbezwecke verarbeitet. Teilnahme ab
18 Jahren. Einwilligung jederzeit für die Zukunft widerrufbar. Durch den Widerruf der Ein-
E-Mail willigung wird die Rechtmäßigkeit der aufgrund der Einwilligung bis zum Widerruf erfolgten
Sie haben ein gesetzliches Widerrufsrecht, die Belehrung können
Verarbeitung nicht berührt. Weitere Informationen finden Sie in der Datenschutzerklärung
Sie unter www.chip-kiosk.de/widerrufsrecht abrufen.

CHIP erscheint im Verlag: CHIP Communications GmbH,


und erhalte als Prämie dazu:
St.-Martin-Straße 66, 81541 München.
Geschäftsführung: Philipp Brunner, Andreas Laube.
Lenco Bluetooth-Lautsprecher, zzgl. 1 € (CA75)
Handelsregister: AG München, HRB 136615.
Datum Unterschrift
Die Betreuung der Abonnenten erfolgt durch:
Abonnenten Service Center GmbH, CHIP Aboservice,
Hubert-Burda-Platz 2, 77652 Offenburg. Der Verlag behält
Coupon ausschneiden und schicken an: CHIP Aboservice, Postfach 225, 77649 Offenburg
sich vor, Bestellungen ohne Angabe von Gründen abzulehnen. oder im Internet bestellen unter: services.chip.de/abo/magpi4 M19MA04Z12
Praxis WORKSHOP

Die Größe eines Pi Zero An die microSD-Karte


eignet sich gut für einen gelangen Sie weiterhin
Schlüsselbund sehr bequem

Ein Pi
am Schlüsselbund
Wollen Sie auch unterwegs einen RasPi zur Hand haben? In
diesem Projekt entsteht ein – sogar vernetztes – Exemplar

A
uch wenn unser geliebter Raspberry Pi tallieren wir das komplette „Raspbian Stretch mit
immer für seine winzige Natur gelobt wird, Desktop und empfohlener Software“, das Sie auf
braucht er trotzdem Tastatur, Maus und der Webseite des Projekts (rpf.io/raspbian) fin-
PJ Bildschirm. Deswegen ist seine Tragbarkeit den. Schreiben Sie das Abbild zum Beispiel mit
MAKER

Evans eingeschränkt. Kennen Sie die Situation: „Wenn Etcher (balena.io/etcher) auf die microSD-Karte.
ich jetzt nur einen Pi hätte!“ Das muss kein Damit Sie sehen, dass Sie keinen Monitor
PJ ist Autor, Jammer bloßer Wunschgedanke bleiben. Wir basteln uns brauchen, starten Sie den Pi jetzt noch nicht.
und liebt Oldtimer-
in diesem Beitrag einfach selbst einen komplett
Computing. Er ist
nie weiter als fünf tragbaren Raspberry Pi, der keinerlei Peripherie-
Meter von einem geräte braucht, aber dennoch komplette Desk-
Raspberry Pi weg Headless konfigurieren
@mrpjevans
top-Unterstützung bietet. Er kann sich mit dem
lokalen Netzwerk über den eigenen WLAN-Hot-
02 Stecken Sie die microSD-Karte wieder in
spot verbinden oder nutzt eine eher unbekannte den Computer, und sie wird als »boot« eingebun-
Funktion: Netzwerkzugriff via USB. den. Wir starten den Pi, sodass Netzwerk und USB
gleich aktiv sind. Raspbian bietet eine Funktion,
die den Pi als Netzwerkgerät für Computer fungie-
ren lässt, die via USB verbunden sind. Verbinden Sie
Pi vorbereiten
01Auch wenn Ihr tragbarer Pi weder Tastatur,
den Pi also mit einem USB-Kabel zu Ihrem Com-
puter, und zwischen den beiden Geräten wird ein
noch Maus oder Bildschirm aufweist, wollen Sie privates Netzwerk etabliert. Sie erhalten Zugriff auf
das Maximum aus dem Gerät holen. Darum ins- den Pi, ohne dass er im Netzwerk ist. Die Funktion

60 05 • 2019 magpi.de
PI FÜR UNTERWEGS Praxis

Wir basteln einen transpor- Sie brauchen


tablen Pi mit komplettem > Micro-USB-auf

Desktop, der keine Periphe- USB-Kabel

> LiPo SHIM


riegeräte benötigt (optional)
magpi.cc/zaMZab
> LiPo-Akku
(optional)
magpi.cc/F0uZmb
#framebuffer_width=1280
> Spezielles Gehäuse
#framebuffer_height=720
Der vorinstallierte VNC-Server streamt die Oberfläche des magpi.cc/hqjqdE
Pi-Desktops auf jeden anderen Computer im Netzwerk
Beachten Sie das „#“ am Anfang, weil die Zeile
damit auskommentiert ist. Entfernen Sie das „#“:
ist standardmäßig nicht aktiviert. Wir müssen dazu
erst Dateien im Verzeichnis »boot« anpassen. framebuffer_width=1280
framebuffer_height=720
WLAN und SSH aktivieren
03 Im Verzeichnis »boot« legen Sie eine Datei
„ssh“ ohne Erweiterung und Inhalt an. Mit
USB-Netzwerke aktivieren
UNIX-ähnlichen Systemen funktioniert das so:
05 Blättern Sie ans Ende der Datei „config.txt“
touch ssh und fügen Sie folgende Zeile ein:

Erzeugen Sie nun mit einem Editor im gleichen dtoverlay=dwc2


Verzeichnis eine Datei namens „wpa_supplicant.
conf“. Der Inhalt ist wie folgt: Raspbian wird nun angewiesen, das USB-Netz-
werkmodul zu aktivieren. Speichern und schlie-
country=de ßen Sie die Datei „config.txt“. Damit das Modul
update_config=1 auch sicher verfügbar ist, editieren Sie die Datei
ctrl_interface=/var/run/wpa_supplicant „cmdline.txt“ im Verzeichnis »boot«. Der Inhalt
besteht nur aus einer Zeile. Legen Sie keine neue
network={ Zeile an, sondern fügen Sie am Ende an:
Pimoronis LiPo
scan_ssid=1 SHIM gestattet die
ssid="Ihr Netzwerkname" modules-load=dwc2,g_ether sichere Benutzung
eines LiPo-Akkus,
psk="Passwort des Netzwerks" ohne die GPIO-Ports
} zu blockieren

Ersetzen Sie die Werte von ssid und psk durch die
Anmeldedaten Ihres Netzwerks.

Auf die Größe kommt es an


04 Fährt ein Pi ohne Bildschirm hoch (also
headless), startet der Desktop dennoch – nur mit
einer sehr kleinen Bildschirmauflösung. Für den
Fernzugriff benutzen wir VNC, und darum müssen
wir etwas nachbessern. Öffnen Sie mit einem Edi-
tor im Verzeichnis »boot« die Datei „config.txt“.
Seien Sie vorsichtig dabei, weil der Pi bei einem
Fehler vielleicht nicht mehr startet! Finden Sie in
der Datei die nachfolgenden beiden Zeilen:

magpi.de 05 • 2019 61
Praxis WORKSHOP

Speichern und schließen Sie nun „cmdline.txt“ Der erste Befehl löscht SSH-Schlüssel, die even-
Top-Tipp und entfernen Sie die microSD-Karte sicher. tuell für „raspberrypi.local“ gespeichert sind.
Beim zweiten werden Sie hoffentlich nach einem
WLAN easy Passwort gefragt. Geben Sie „raspberry“ ein, und
Sie sind angemeldet. Sollte eine Verbindung zum Pi
Via USB verbinden
Mit USB Networ-
king konfigurieren 06 Starten Sie den Pi. Setzen Sie die microSD-
nicht möglich sein, überprüfen Sie noch mal alle
Ihre bisherigen Schritte oder starten Sie mit Bild-
Sie das WLAN Karte ein und verbinden Sie anschließend ein Mi- schirm und Tastatur. Vielleicht wollen Sie sich via
des RasPi sehr
cro-USB-Kabel mit dem peripheren USB-Port des WLAN verbinden und nicht per USB. Der Befehl
einfach, wenn Sie
Pi Zero und nicht mit der Stromversorgung. Der ifconfig listet alle verfügbaren Netzwerke auf.
anderen Zugriff
gewähren wollen periphere USB-Port ist dem Mini-HDMI-Stecker
am nächsten. Wir brauchen kompletten USB-Zu-
griff, und der Computer versorgt den Zero mit
Den Pi konfigurieren
ausreichend Strom. Verbinden Sie das Kabel mit
Ihrem Computer und warten Sie einfach ein paar
08 Während Sie angemeldet sind, sind ein paar
Minuten, bis Raspbian die Größe des Dateisystems Arbeiten notwendig. Führen Sie diesen Befehl aus:
und so weiter angepasst hat.
sudo raspi-config

Ändern Sie zunächst das Passwort „raspberry“.


Am Pi anmelden
07 Führen Sie jetzt auf der Kommandozeile
Unter „Network Options“ und „Hostname“
können Sie den Pi umbenennen, damit es keine
(Nutzer von Windows 8 oder früher brauchen viel- möglichen Doppler in Ihrem Netzwerk gibt.
leicht PuTTY) die nachfolgenden Befehle aus: Öffnen Sie anschließend „Interfacing Options“
und aktivieren Sie den VNC-Server. Dann können
ssh-keygen -R raspberrypi.local Sie von einem anderen Gerät aus auf den Desktop
ssh pi@raspberrypi.local zugreifen. Starten Sie den Pi anschließend neu,
Mit einem 3D-Dru-
cker können Sie ein damit er den geänderten Namen annimmt.
Gehäuse individuali-
sieren und herstellen

62 05 • 2019 magpi.de
PI FÜR UNTERWEGS Praxis

Zugriff auf GPIO bietet das offizielle Gehäuse. Sie brauchen


dann nur zwei Löcher für eine Fadenschlinge

Für den Fernzugriff auf den Pi brauchen


Auf den Desktop zugreifen
09 Für einen Fernzugriff auf den Pi-Desktop Sie auf Ihrem Computer einen Client.
brauchen Sie auf Ihrem Computer einen Client.
Sehr beliebt ist der VNC Viewer, den es für viele Beliebt ist der VNC Viewer
Plattformen gibt (magpi.cc/FuGnye). Nach der Bevor Sie Dateien
im Ordner »boot«
Konfiguration geben Sie den neuen Hostnamen des dafür unter magpi.cc/BRdGKK weiter – dort ändern, sollten Sie
Pi, gefolgt von einem .local, als Server an und bekommen Sie eine umfassende Anleitung. Backups machen.
Benutzen Sie reine
drücken die Eingabetaste. Kurz darauf wird der Texteditoren wie
Desktop auf Ihrem Bildschirm erscheinen. etwa nano oder Vim

Sie sollten ein „Welcome to Raspberry Pi“ sehen.


Akku verwenden
Ab sofort können Sie die Menüs wie gewohnt nut-
zen, Software aktualisieren und so weiter. Dafür
11 Richten Sie einen Hotspot ein, könnten Sie
braucht Ihr Pi aber eine Verbindung via WLAN. das Gerät auch gleich komplett autark machen und
via Akku mit Strom versorgen. An einer normalen
Powerbank läuft ein Zero mehrere Stunden. Soll es
etwas ausgefallener sein, dann nehmen Sie einen
Hotspot einrichten
10 Wollen Sie ein komplett eigenständiges
LiPo-Akku als eigenständige Einheit. Bei LiPo-
Akkus gibt es Sicherheitsbedenken, also brauchen
Gerät und die Internetverbindung ist kein Muss, wir einen Schaltkreis, der sich um die Stromquelle
können Sie mit der WLAN-Schnittstelle des Zero kümmert und die korrekte Spannung liefert. Der
auch einen Hotspot einrichten. Dann brauchen Sie
den Pi nur zu starten und jeder Computer kann sich
LiPo SHIM von Pimoroni macht das und benutzt
dafür keine der wertvollen GPIO-Pins. Löten Sie die Top-Tipp
immer via SSH oder VNC damit verbinden. Komponente vorsichtig unten an die GPIO-Pins und
Die Konfiguration eines Hotspots dauert nicht Sie haben Strom. Vergessen Sie den Schalter nicht. Ein extra
lange, es sind aber mehrere Schritte notwendig. NAT-Gateway
Sie müssen mitunter einen DHCP-Server und die
Sie können den
Komponente hostapd konfigurieren. Lesen Sie
verbundenen
Gehäuse drucken
12 Natürlich braucht unser kleiner Pi Zero
Computer so
konfigurieren,
Schutz. Daher drucken wir im letzten Schritt ein dass er Datenver-
hübsches Gehäuse. Wollen Sie GPIO nutzen, kön- kehr durch den
nen Sie das offizielle Gehäuse so anpassen, dass es Pi leitet. Dafür ist
NAT Routing Soft-
sich an einem Schlüsselring anbringen lässt. Sie
ware zuständig
brauchen dafür nur einen kleinen Bohrer und eine
ruhige Hand. Benutzen Sie einen Akku, dann ist
wohl ein 3D-Druck notwendig, damit Sie alles in
einem Paket unterbringen. Wir haben uns für ein Ein Pi Zero ohne
weitere Komponen-
Gehäuse (magpi.cc/hqjqdE) vom Thingiverse- ten bedeutet
Macher HauntFreaks entschieden, das sich einfach ein sehr dünnes
Gehäuse ohne
an einen Schlüsselbund anbringen lässt. Ecken und Kanten

magpi.de 05 • 2019 63
Service HEFT-DVD

Die Highlights der Auf der DVD finden Sie

Heft-DVD
hilfreiche Tools für den
täglichen Umgang mit
dem Raspberry Pi und
jede Menge Know-how

U
nsere Heft-DVD enthält die Scratch Desktop
Codes und Materialien zu zahl- Scratch ist ein multimedialer Pro-
reichen Workshops. grammier-Baukasten, der Jugend-
Sie sind im Heft mit dem DVD-Symbol lichen, aber auch generell Program-
D gekennzeichnet. Den Schwerpunkt mier-Anfängern die Konzepte des
dieser Ausgabe bildet das Thema Codens näherbringen soll. Die Ent-
„Programmieren“. Ergänzend dazu wicklungsumgebung verwendet
haben wir Ihnen zwei E-Books auf die anstelle einer Programmiersprache
Heft-DVD gepackt, die Ihnen Projekte farbige Bausteine, womit man Spiele,
für Arduino und Raspberry Pi vorstel- Videos und Multimedia-Anwendun-
len sowie den Einstieg ins 3D-Drucken gen entwickeln kann. Auf diese
erleichtern. Dazu gibt es aktuelle Tools Weise können selbst Grundschüler
und Betriebssysteme. die Prinzipien des Programmierens
erlernen.

D
CODE, TOOLS & SYSTEME
Artikel, zu denen es Codes
und Materialien auf dem
Datenträger gibt, sind
im Heft mit einem DVD-
Symbol D gekennzeichnet.
So müssen Sie den
Programmcode in Python &
Co. für Ihre Projekte nicht
zeitraubend abtippen.

Raspbian 2019-07-10
Raspbian wird immer mehr zu einem alltags-
tauglichen Betriebssystem, mit dem Sie surfen,
arbeiten und Freizeitaktivitäten nachgehen
können. In der neuen Version dient Debian 10
alias „Buster“ als Grundlage. Außerdem haben
die Entwickler zahlreiche vorinstallierte Anwen-
dungen aktualisiert. Beim Surfen etwa kommt
jetzt Chromium 74 zum Einsatz.

D
Die Bedienoberfläche wurde zwar für die neue
Version des Systems überarbeitet, wirkt aber
dennoch sehr vertraut

66 05 • 2019 magpi.de
DIE HIGHLIGHTS DER HEFT-DVD Service

DVD-HIGHLIGHTS
E-Book: Maxi-Power-Projekte
Wollen Sie mit Ihrem Raspberry Pi oder
Arduino ins nächste Level aufsteigen? Dann
hilft Ihnen dieses umfangreiche E-Book von
Bo Hanus. Sie lernen darin, wie Sie große
elektronische Schaltungen einrichten, sie
mit genügend Strom versorgen und den
Raspberry Pi effektiv einbinden. Anhand
zahlreicher Praxisprojekte bleiben die
beschriebenen Methoden immer leicht
nachvollziehbar. Vor allem mit diversen
LEDs, Elektromotoren und anderen Aktoren
können Sie viel Spaß haben. Die Projekte aus
dem E-Book sind auch auf andere Mikro-
controller übertragbar.

E-Book: 3D-Drucken
In der Maker-Szene kommt es nicht nur auf
die Funktionstüchtigkeit von RasPi-Projekten
an, sondern oft auch auf schickes und pro-
fessionelles Produktdesign. Der 3D-Druck
ist dabei nach wie vor eine günstige und
schnelle Methode zur Fertigung von Proto-
typen. Mit diesem E-Book von Heiner Stiller
lernen Sie die Grundlagen dieser Technik
kennen. Dazu zählen etwa die verschiedenen
Druckverfahren und Materialien, die alle
unterschiedliche Vor- und Nachteile mit sich
bringen. Auch wird erörtert, ob sich ein eige-
nes Gerät im Selbstbau lohnt oder ob Sie
lieber einen Dienstleister mit der Herstellung
Ihrer gestalteten Objekte beauftragen.

AUF DER HEFT-DVD


> 2 E-Books: Fast 500 Seiten mit
Wissen zu RasPi und 3D-Druck
> Aktuelles Raspbian-Image
und NOOBS-Version
> Coden lernen mit Scratch
> Alle Tools und Codes
DVD-Start: Führen Sie die Datei »starter.html« im Stammverzeichnis der
DVD per Doppelklick aus. Sie läuft auf jedem Rechner mit Webbrowser.
DVD kaputt? Sollte diese Heft-DVD defekt sein oder fehlen, senden Sie bitte
eine E-Mail an dvd@chip.de.

Haftungsausschluss: Die Installation von Programmen der Heft-DVD erfolgt auf


eigene Gefahr. Die CHIP Communications GmbH haftet nicht für Schäden, die aus
der Installation von Software entstehen. Trotz aktueller Virenprüfung ist eine Haftung
für Schäden und Beeinträchtigungen durch Computerviren ausgeschlossen.
Schadensersatzansprüche, aus welchem Rechtsgrund auch immer, sind aus-
geschlossen, wenn die CHIP Communications GmbH nicht im Vorsatz oder in grober
Fahrlässigkeit handelt. Dies gilt auch für Ansprüche auf Ersatz von Folgeschäden.

magpi.de 05 • 2019 67
Praxis WORKSHOP

Lego Boost und


Teil 02

der Raspberry Pi
Nach dem Einstieg im vorigen Heft basteln wir weiter mit dem Lego Boost.
Wir erweitern unsere Kontrolle und entwickeln erste Spaßprojekte

I
m ersten Teil haben wir besprochen, wie Sie
den Roboter-Baukasten Lego Boost mit dem
RasPi verbinden und via Python damit kom-
Mike munizieren können. Diesmal sehen wir uns drei
MAKER

Cook Beispielprojekte näher an – und auch feinere


Kontrollmechanismen, die in der Standard-Lego-
Erfahrener
Magazinschreiber
Software nicht auf Anhieb gegeben sind.
und Autor der Lego Boost kommuniziert mit einem Move Hub,
Body-Build-Serie der in Echtzeit und über Bluetooth Anweisungen
sowie Co-Autor
erhält. Es sind keine eigenen Anweisungen gespei-
von Raspberry
Pi for Dummies, chert. Folglich muss das Modell immer in Blue-
Raspberry Pi tooth-Reichweite sein. Wir nehmen uns hier drei
Projects und spezielle Modelle vor, die wir zusammenbauen und
Raspberry Pi Pro- Abbildung 1 Augen nach vorne: Die Software
jects for Dummies programmieren. Den Anfang macht ein einfacher, richtet sie immer so aus
aber spaßiger Neigungssensor. Danach ist ein
magpi.cc/TPaUfT
Farbsensor dran, und abschließend basteln wir ein
Augen nach vorne
Farbfolge-Gedächtnisspiel. Alle Teile dieses Work-
shops können Sie mit den Klötzchen bauen, die im
01 Wir fangen mit einer simplen Lego-Struktur
17101-Set von Lego Boost enthalten sind. aus dem Buch The LEGO BOOST Idea Book von
Yoshihito Isogawa an. Es handelt sich um Augen,
die stets nach vorne gerichtet sind. Die Idee dahin-
ter ist einfach: Messen Sie die Neigung des Hubs
und kompensieren Sie entsprechend mit den Moto-
„Simon“ mit fünf
Farben spielen ren. Die Lego-Struktur ist ganz einfach, wie Sie in
Abbildung 1 sehen. In unserem GitHub Repository
(magpi.cc/dhaAam) finden Sie eine Schritt-für-
Schritt-Anleitung. Der relevante Code ist simpel,
aber vielleicht nicht ganz so simpel wie erhofft.

Software für unsere Augen


02 Der Python-Code für unser Vorhaben steht
unter Eyes_front.py. In Abbildung 2 rechts sehen
Sie den alternativen Code in der Lego-Sprache. Die
unterschiedliche Leistungsfähigkeit beider Versio-
Roter Baustein nen ist interessant. Die Lego-Variante ist langsam
und die Bewegungen sind zögerlich. Der Python-
Code fühlt sich hingegen viel besser an. Eine direkte
Übersetzung von der Grafiksprache nach Python hat

68 05 • 2019 magpi.de
LEGO BOOST Praxis

Eyes_front.py D
Programmcode
> Programmiersprache: Python 3 auf Heft-DVD

001. #!/usr/bin/env python3 035.


002. # coding=utf-8 036. def adjust(movehub):
003. # Eyes Front - Motor A passt den Neigungswinkel an 037. maxA = 88 # maximaler Winkel
004. # Von Mike Cook März 2019 038. targetAngle = tiltAngle # damit es sich während
005. dieser Funktion nicht ändert
006. from time import sleep 039. if targetAngle > maxA: # Zielwinkel auf zirka
007. from pylgbst import * +/- 90 Grad limitieren
008. from pylgbst.movehub import MoveHub 040. targetAngle = maxA
009. from pylgbst.peripherals import TiltSensor 041.
010. 042. if targetAngle < -maxA:
011. motorAngle = 0 043. targetAngle = -maxA
012. tiltAngle = 0 044.
013. shutDown = False 045. requiredMove = int(targetAngle - motorAngle) #
014. für Bewegung benötigte Menge
015. def main(): 046. if abs(requiredMove) > 4: # Jitter reduzieren
016. print("Eyes front - Augen nach vorne bewegen") 047. print("Bewegen",requiredMove)
017. conn=get_connection_auto() 048. movehub.motor_A.angled(requiredMove, 0.02)
018. print("Hub verbunden, mit grünem Knopf beenden") 049. sleep(0.5)
019. try: 050.
020. movehub = MoveHub(conn) 051. def callbackTilt(roll, pitch, yaw):
021. setup(movehub) 052. global tiltAngle
022. while not shutDown: 053. #print("Rollen:%s Neigung:%s Gieren:%s" %
023. adjust(movehub) (roll, pitch, yaw))
024. 054. tiltAngle = pitch * 1.4 # unter der Neigung
025. finally: 055.
026. movehub.tilt_sensor.unsubscribe(callbackTilt) 056. def callback_A_angle(param1):
027. movehub.motor_A.unsubscribe(callback_A_angle) 057. global motorAngle
028. movehub.button.unsubscribe(call_button) 058. motorAngle = param1
029. conn.disconnect() 059.
030. 060. def call_button(is_pressed):
031. def setup(movehub): 061. global shutDown
032. movehub.tilt_sensor.subscribe(callbackTilt, 062. if not is_pressed :
mode=TiltSensor.MODE_3AXIS_FULL, granularity=1) 063. print("Beenden")
033. movehub.motor_A.subscribe(callback_A_angle, gra- 064. shutDown = True
nularity=1) 065.
034. movehub.button.subscribe(call_button) 066. if __name__ == '__main__':
067. main()

sich manchmal außerhalb der gewünschten Para-


meter bewegt. Die Befehle an die Motoren wurden
offenbar zu schnell gesendet, bevor die letzte
Anweisung abgearbeitet wurde. Die einzige Lösung
war, eine kleine Verzögerung zu implementieren.

Der Farbsensor
03 Im Anschluss daran wollten wir ein Simon-
Spiel mit farbigen Bausteinen und dem Farbsensor
Abbildung 2 So sieht „Eyes Front“ in der Lego-Sprache aus

magpi.de 05 • 2019 69
Praxis WORKSHOP

Abbildung 3 Ein
gerendertes Bild
des Sensor-Testers

Fazit zum Farbsensor


Top-Tipp
entwickeln. Doch gab es Probleme mit der Erkennung
aller Farben bei einem festen Abstand. Eine Maschine,
05 Aus nächster Nähe erkennt der Sensor Schwarz
um die Leistung des Farbsensors zu testen, wäre nett, oder gar keine Farbe, also 0 oder 255. Dann gibt es
Anfangs- haben wir uns überlegt. Und da wir mit Lego arbei- einen Bereich, in dem die Farbe falsch bestimmt
position ten, können wir natürlich selbst eine entwickeln! So wird. In einem bestimmten Abstand wird die Farbe
festlegen wurde das nächste Projekt eine Testumgebung für richtig erkannt, bevor die Werte wieder schwanken
den Farbsensor. Das machte Spaß. Das Lego-Modell und schließlich gar keine Farbe ausgegeben wird.
Der Sensor dafür sehen Sie in Abbildung 3. Eine Schritt-für- Wir können sagen, dass die Farben zwischen 6,17
berührt das Schritt-Anleitung finden Sie auch auf GitHub. und 16,18 mm richtig sind. Der Bereich ist 10,01 mm,
Klötzchen, bevor der beste Abstand damit 11,175 mm. Leider lässt sich
Sie den Hub
der Wert mit Lego-Klötzchen schlecht umsetzen.
starten. Fangen
Sie danach an,
Testergebnisse des Farbsensors
den Baustein
mit der Kurbel
04 Jede Farbe wurde getestet. Die Software hat
Simon-Spiel
langsam zu ent-
fernen
dann eine CSV-Datei ausgegeben, die wir weiter-
verarbeiten konnten. Für jeden Baustein gibt es 149
06 Das Umgebungslicht hat ebenfalls Einfluss
Messwerte. Bei sechs Farben macht das 894 Mess- auf den Farbsensor. Deswegen haben wir eine Box
ergebnisse. Die blanke CSV-Datei finden Sie auch mit einer Öffnung um den Sensor gebaut, in die wir
auf GitHub. Die Schlussfolgerung ist klar. Hat der einen 2×4-Baustein legen können. Sie sehen das in
Farbsensor angemessen funktioniert, dann produ- Abbildung 5. Auch hierfür gibt es eine detaillierte
zierte der Sensor für den Abstand Unsinn. In Anleitung auf GitHub. Nur das grüne Klötzchen
Abbildung 4 ist das Leistungsspektrum des Farb- machte Probleme: Zeigte die glatte Fläche zum Sen-
sensors zusammengefasst. Nummer 255 ist „keine sor, konnte der es nicht erkennen, andersherum
Farbe“ und sie ist nicht im Graph aufgeführt. schon. Andere machten keine Schwierigkeiten.
Abbildung 4
Farben im Verhältnis
zum Abstand

70 05 • 2019 magpi.de
LEGO BOOST Praxis

colour_simon.py
> Programmiersprache: Python 3

001. #!/usr/bin/env python3 Farben benutzen


002. # coding=utf-8 039. far = 2
003. # Colour Simon 040. while fail < maxFails and not shutDown: #
004. # Von Mike Cook März 2019 Anzahl der Fehlversuche vor dem Rücksetzen
005. 041. print("eine Längensequenz",far)
006. import time, random, os 042. saySeq(far)
007. from pylgbst import * 043. if getSeq(far) != -1 and not shutDown:#
008. #import pylgbst wenn die Sequenz korrekt ist
009. from pylgbst.movehub import MoveHub 044. far = far + 1
010. from espeak import espeak # sudo apt install 045. if far <= maxLength:
python3-espeak 046. espeak.synth("ja")
011. espeak.set_voice = 'en' 047. print("Ja - versuchen Sie nun
012. eine längere")
013. random.seed() 048. time.sleep(1)
014. shutDown = False 049. espeak.synth("plus ein Schritt")
015. lastColour = 255 ; updateColour = 0 050. time.sleep(1)
016. maxLength = 25 # maximale Sequenz, bevor wir 051. fail = 0 # Fehlversuche rücksetzen
entscheiden, ob Sie schummeln 052. else:
017. sequence = [ random.randint(0,3) for c in 053. if not shutDown:
range(0,maxLength)] 054. fail = fail +1
018. maxFails = 3 # Anzahl der Fehler vor Spielende 055. print("Falsch",fail,"Fehler")
019. playingColours = ["blau","grün","gelb","rot","we 056. if fail < maxFails:
iß","schwarz"] 057. espeak.synth("nein")
020. translateColours = [5,5,5,0,5,1,5,2,5,3,4] 058. print("nochmal probieren")
021. playingToLego = [3,5,7,9,10,0] 059. espeak.synth("versuchen Sie
022. das nochmal")
023. def main(): 060. else :
024. global shutDown, movehub 061. print("maximimale Versuche
025. print("Farb-Simon - zum Verbinden grünen Hub- erreicht")
Knopf drücken") 062. espeak.synth("maximale Versu-
026. conn=get_connection_auto() che erreicht")
027. print("Versuch, mit dem Hub zu verbinden") 063. time.sleep(2)
028. try: 064. espeak.synth("Punktestand")
029. movehub = MoveHub(conn) 065. time.sleep(1)
030. print("Hub verbunden - grünen Knopf zum 066. espeak.synth(str(far- 1))
Beenden drücken") 067. time.sleep(1.5)
031. init() 068. if far > maxLength and not shutDown:
032. espeak.synth("Farb-Simon-Spiel") 069. print("Sehr gut, sehr schlau!")
033. time.sleep(1) 070. espeak.synth("das ist zu einfach für
034. while not shutDown: Sie")
035. fail = 0 # Anzahl der Fehler 071. shutDown = True
036. #neue Sequenz generieren 072. if not shutDown:
037. for c in range(0,maxLength): 073. espeak.synth("Spielende")
038. sequence[c] = random.randint(0,4) #fünf 074. print("Spielende - Ihr Punktestand

magpi.de 05 • 2019 71
Praxis WORKSHOP

Abbildung 6 Ein gerendertes Bild des Simon-Sensors

Virtuelles Lego
09 Die Anleitungen in unserem GitHub Reposi-
tory wurden mit der kostenlosen Software Studio 2.0
Abbildung 5 „Simon“
mit rotem Klötzchen erstellt. Es ist ein 3D-CAD-System, mit dem Sie ein
virtuelles Lego-Modell gestalten können. Sie dürfen
es von allen Seiten betrachten und können realisti-
sche Bilder Ihres Modells erstellen. Abbildung 6
Simon-Software
07 Die Software für das Simon-Spiel finden Sie
zeigt die gerenderte Version der Abbildung 5. Die
Anwendung wurde von BrickLink geschrieben. Sie
in der Auflistung colour_simon.py. Die Farben der können anhand Ihres Modells genau die richtigen
momentanen Sequenz werden akustisch via eSpeak Bausteine bestellen, um das eigentliche Produkt
ausgegeben. Falls eSpeak noch nicht installiert sein damit zu basteln. Das kann aber teuer werden.
sollte, erledigen Sie das einfach mithilfe des Befehls
sudo apt install python3-espeak. Die Sequenz
Studio 2.0
wird außerdem über das LED des Hubs angezeigt.
Führen Sie die Sequenz korrekt aus, dann fügt das
10 Leider gibt es Studio 2.0 nicht für Linux.
Programm am Ende eine weitere Farbe an. Haben Deswegen läuft es auch nicht auf dem Raspberry Pi.
Sie eine Sequenz dreimal hintereinander falsch Es gibt aber Versionen für Windows und macOS. Das

Top-Tipp eingegeben, ist das Spiel zu Ende. Sie können das


Spiel auch jederzeit durch Drücken des grünen
Programm ist im Gegensatz zum älteren, offiziellen
Lego-Werkzeug LDD (Lego Digital Designer) aktiv.
Knopfes am Hub beenden. Die anfänglichen Stufen Sie können ältere Modelle aus dem offiziellen Pro-
Der Boost- sind relativ simpel. Sie haben schließlich physische gramm in Studio 2.0 importieren. Es hat Ecken und
Abstands- Farbklötzchen und können diese einfach in der kor- Kanten und kann zum Beispiel noch nicht mit flexi-
sensor rekten Reihenfolge hinlegen. blen Verbindungen umgehen. In unserem GitHub
Repo finden Sie Tipps zu Studio 2.0 und wie Sie an
Bedenken Sie,
dass der Ab- Boost-spezifische Teile wie den Move Hub kommen.
standssensor Zoll
Software individualisieren
in den Abständen
ein Zoll oder ein 08 Die Anzahl der erlaubten Fehler dürfen Sie
halbes Zoll mithilfe des Parameters maxFails anpassen. Wir So geht es weiter ...
zurückgibt. Ist der
haben manchmal den Eindruck, dass drei Versuche Im abschließenden dritten Teil dieses Workshops
Abstand unter
einem Zoll, sind nicht angemessen sind, wenn die Sequenz zu lang werden wir uns ansehen, wie Sie mithilfe des
die zurückgege- wird. Natürlich könnten Sie die Sequenz einfach Lego-Boost-Systems Musik machen können.
benen Werte nicht aufschreiben, aber das ist eigentlich nicht der Sinn
im gleichen des Spiels. Die Variable maxLength bestimmt, wie
Bereich wie bei lange die Sequenz werden darf, bevor das Programm
größeren Ab-
den Verdacht hat, dass Sie schummeln und sich
ständen. Weiße Rechtlicher Hinweis
Klötzchen eignen
deswegen beendet. Audio dürfen Sie einfach aus-
sich für die Ab- kommentieren und damit ist das Programm stumm. LEGO® ist ein Markenzeichen der Firmengruppe
standsmessung Sie könnten die synthetischen Klänge auch durch LEGO Group. Sie sponsert, genehmigt oder unter-
am besten eigene ersetzen, um die Qualität zu verbessern. stützt diesen Artikel nicht.

72 05 • 2019 magpi.de
LEGO BOOST Praxis

colour_simon.py (Fortsetzung)

ist",far-1) 112. espeak.synth("Sie können es versuchen")


075. print("Nochmal versuchen") 113. print("Sie können es versuchen")
076. time.sleep(2.0) 114. for press in range(0, length):
077. else: 115. if shutDown:
078. espeak.synth("Ende - Wiedersehen") 116. return 1
079. 117. attempt = getTile()
080. finally: 118. movehub.led.set_color(playingToLego[5]) #
081. print("Programm beenden") LED ausschalten
082. movehub.button.unsubscribe(call_button) 119. if attempt != sequence[press]:
083. movehub.color_distance_sensor. 120. time.sleep(0.8)
unsubscribe(callback_colour) 121. return -1
084. conn.disconnect() 122. return 1
085. 123.
086. def init(): 124. def callback_colour(colour, distance):
087. movehub.led.set_color(playingToLego[5]) 125. global lastColour, updateColour
088. movehub.button.subscribe(call_button) 126. if distance <= 1.2:
089. movehub.color_distance_sensor.subscribe( 127. if colour != 255 and lastColour != colour
callback_colour, granularity=0) and colour!= 0: # ignorieren, keine Farbe
090. 128. updateColour += 1
091. def getTile(): 129. #print(colour)
092. global lastColour, updateColour 130. if updateColour > 2 :
093. while updateColour < 3 : 131. lastColour = colour
094. if shutDown: 132. if colour == 255 :
095. return 5 133. lastColour = 255
096. #print("colour",playingColours[correctColour 134. else:
(lastColour)]) 135. lastColour = 255
097. updateColour = 0 136.
098. espeak.synth(playingColours[ 137. def correctColour(colour): # LEGO-Farbe in Spiel-
correctColour (lastColour)]) farbe übersetzen
099. movehub.led.set_color(playingToLego[ 138. if colour == 255:
correctColour(lastColour)]) # LED anschalten 139. correctColour = 5 # black
100. return correctColour(lastColour) 140. else:
101. 141. correctColour = translateColours[colour]
102. def saySeq(length): 142. return correctColour
103. for num in range(0,length): 143.
104. espeak.synth(playingColours[sequence[num]]) 144. def call_button(is_pressed):
105. movehub.led.set_color( 145. global shutDown, updateColour
playingToLego[sequence[num]]) 146. if not is_pressed :
106. time.sleep(0.8) # Wartezeit vor Farbe sagen 147. print("Beenden")
107. movehub.led.set_color(playingToLego[5]) 148. shutDown = True
108. time.sleep(0.5) 149. updateColour = 0
109. 150.
110. def getSeq(length): 151. if __name__ == '__main__':
111. movehub.led.set_color(playingToLego[5]) # LED 152. main()
ausschalten

magpi.de 05 • 2019 73
Praxis WORKSHOP

Neopixel-LEDs
Rob
zur Beleuchtung
MAKER

Zwetsloot
Rob ist unglaublich.
Bringen Sie Glanz in Ihre Hütte – mit steuerbaren Superlichtern,
Er ist auch der
Feature-Editor
einem Raspberry Pi und einigen Programmzeilen Python
von The MagPi, ein
Bastler, Cosplayer,

N
Comicautor und eopixel lassen sich vielfältig einsetzen für und möchten ihn vollständig ausleuchten, könnte
trotzdem äußerst
bescheiden alle Arten von individueller Beleuchtung ein langer, flexibler Neopixel-Streifen eine gute
und hübschen am Jahresende sogar Ihren Alternative darstellen. Im Produkt-Portfolio von
magpi.cc
Weihnachtsbaum auf. Bei der LED-Kontrolle mit Neopixel gibt es noch viele weitere Lichter und
einem Raspberry Pi hat sich in letzter Zeit einiges kleinere Kreise. Für die Auswahl des richtigen
getan. Höchste Zeit, das mal auszuprobieren und Neopixel-Typs müssen Sie vorher nur die Anzahl
eine einfache Vitrine zum Leuchten zu bringen. der LEDs in Ihrem System zählen. Im Folgenden
erfahren Sie den Hintergrund dafür.
Sie brauchen

> Neopixel-Lichter
Neopixel auswählen
> Verbindungskabel 01 Tipps für die Platzwahl
> Druckschalter
Es gibt viele unterschiedliche Neopixel-
Konfigurationen im Handel. Für unseren Work-
02 Was genau möchten Sie beleuchten? Für
shop haben wir zwei viertelkreisförmige Licht- unser Projekt haben wir ein Regal mit Figuren aus-
> 470-Ohm-Wider-
stand streifen ausgewählt, die jeweils 15 LEDs enthalten. gewählt. Wir bringen die Neopixel über diesem
Damit konstruieren wir einen kleinen Halbkreis in Regal an - sozusagen an seiner „Decke“.
> 5-V-Stromquelle
unserer Vitrine und setzen sie damit in Szene. Achten Sie beim Anbringen der LEDs auf jeden
> Lötkolben Besitzen Sie stattdessen einen großen Schrank Fall darauf, dass sie für den Betrachter nicht direkt
sichtbar sind. Einige neuere Möbelstücke und
Vitrinen bieten inzwischen spezielle Vorbereitun-
Schaltskizze gen für die Beleuchtung an. Beispielsweise besitzt
die Vitrine Detolf von IKEA an der Oberseite eine
Vorbohrung für die Kabel.
Vergessen Sie auch nicht die Anschlussmöglich-
keit für den Raspberry Pi zur Steuerung der Lichter.

Schaltung zusammenbauen
03 Wir haben für Sie einen Schaltplan zusam-
mengestellt (Abbildung 1, links). Beim Zusammen-
bau gilt es, ein paar wichtige Dinge zu beachten.
Auf den Neopixel-Streifen befinden sich drei
Anschlüsse: einer für die 5-V-Stromversorgung,
einer für die Erdung und einer für die Daten. Letz-
terer wird an den GPIO-Pin angeschlossen, von
Abbildung 1 Das Diagramm dem aus die Signale gesendet werden. Stellen Sie
zeigt die grobe Schaltung für sicher, dass dieser mit dem Dateneingang (din)
unser Setup. Es dient als Richt-
linie für Ihre eigene Umsetzung verbunden wird. Wenn Sie mehrere LED-Streifen

74 05 • 2019 magpi.de
LICHTINSTALLATION Praxis

Die Neopixel sind


programmierbare LEDs,
die jede beliebige RGB-
Farbe anzeigen können
Top-Tipp
RGB-Farben
Rote, grüne und
blaue Lichter
bilden ein einzel-
nes Neopixel.
Mit einem Wert
für jede Farbe
zwischen 0 und
Mit dem Raspberry Pi können 255 können Sie
Sie einfach einen Streifen mehr- einen ganzen
farbiger Neopixel steuern Regenbogen an
Farben gestalten

verketten, verbinden Sie den Datenausgang (dout)


des ersten Streifens mit dem din-Anschluss des
Sie müssen zwei Komponenten Ihrer
zweiten. Wir empfehlen, den Masseanschluss der
Neopixel mit dem Ihres Raspberry Pi sowie dem
Lichtinstallation mit Strom versorgen:
der Stromquelle zu verbinden. den Raspberry Pi und die Neopixel
Wir haben den Schalter ganz nach unten in die
GPIO-Pins gesteckt. Sie benötigen einen zusätz-
lichen Widerstand für den Schalter, damit dieser über den 5-V-Pin des Raspberry Pi betreiben. In
ordnungsgemäß funktioniert und von Ihrem unserer Schaltung verwenden wir vier wiederauf-
Raspberry Pi erkannt wird. ladbare 1,5-V-AA-Batterien und können rund 5V
aus ihnen herausholen.
Eine bequemere Vorgehensweise ist die Nutzung
eines 5-V-Netzteils, bei dem Sie die beiden Leitun-
Neopixel zusammenlöten
04 Das Anlöten der Drähte an Ihre Neopixel-
gen mittels Schraubanschlüssen verbinden. Ver-
binden Sie in diesem Szenario erst die Drähte und
Streifen verlangt ein wenig Fingerspitzengefühl. achten Sie unbedingt darauf, dass das Netzteil
Stellen Sie sicher, dass Sie Ihren Lötkolben ord- währenddessen vom Strom entfernt ist! Gehen Sie
nungsgemäß vorbereitet haben. Hilfe finden Sie im danach beim Einstecken sehr vorsichtig vor.
Video: magpi.cc/GCUNyL. Wenn Sie zum aller- Sie können einen Pi technisch auch über die
ersten Mal löten, empfehlen wir folgendes Video: GPIO-Pins betreiben. Für unser Projekt nutzen wir
magpi.cc/Ahvxdk. Geben Sie ein wenig Lötzinn auf allerdings ein Micro-USB-Kabel.
den Draht und betupfen Sie die Anschlüsse. Damit
müssen Sie anschließend nur noch den Lötzinn auf
dem Draht und dem Pad erwärmen, damit sie
Programmcode herunterladen
schmelzen und sich miteinander verbinden.
06 Für unser Neopixel-Projekt haben wir den
Code rollcall.py geschrieben. Laden Sie ihn sich
von der Heft-DVD herunter.
System einschalten
05 Sowohl der Raspberry Pi als auch die Neopi-
Als Erstes importieren Sie einige Module:
time, gpiozero sowie die neopixel und die board-
xel müssen mit Strom versorgt werden. Die Neopi- Bibliothek. Die numpy-Bibliothek nutzen wir, um
xel benötigen einen 5-V-Eingang und ziehen viel RGB-Werte für die LEDs zu erstellen, die beim
Strom. Aus Sicherheitsgründen sollten Sie darum Farbübergang zum Einsatz kommen. Unser System
auf keinen Fall mehr als zwei oder drei Neopixel verwendet 30 LEDs und ist mit GPIO 18 auf der Pla-

magpi.de 05 • 2019 75
Praxis WORKSHOP

Abbildung 2 Wir
haben die flexible
Klebemasse Blu Tack
verwendet, um die
Lichter am Schrank
zu befestigen

tine verbunden. Wir haben dann sechs Farben für


Letztes Tuning
die Präsentation unserer Figuren in der Vitrine
ausgewählt. Entsprechend wird der Zugriff auf den
09 Bei unserem Raspberry Pi wird der Python-
Neopixel-Streifen definiert. Code erst nach dem Einschalten geladen. Die
Dann legen wir fest, wie die Werte für die Farb- bevorzugte Methode hierfür ist das Hinzufügen
übergänge berechnet werden, bevor der LED-Strei- einer Zeile zu /etc/profile. Öffnen Sie ein Termi-
fen am Ende reinweiß erstrahlt. Für die Funktion nalfenster und geben Sie Folgendes ein:
rollcall_cycle wird eine Schleife definiert, damit
Sie die LEDs jederzeit per Taste einschalten können. sudo nano /etc/profile

Am Ende der Datei geben Sie folgende Zeile ein:

Programmcode anpassen
07 Die wichtigsten Werte, auf die Sie Ihr
sudo python rollcall.py

Augenmerk legen sollten, sind LED_COUNT, LED_PIN, Falls Sie das Python-Skript in einem anderen Ord-
und button. Ihre LED-Anzahl weicht wahrschein- ner als „home“ gespeichert haben, müssen Sie
lich von unserer ab. Unter Umständen haben Sie noch den Pfad anpassen. Speichern und schließen

Top-Tipp Ihren Streifen oder die Taste auch an andere GPIO-


Pins angeschlossen.
Sie die Datei. Für einen schnelleren Systemstart
können Sie zusätzlich in den Konfigurationsein-
Experimentieren Sie mit der Farbauswahl nach stellungen des Raspberry Pi „Boot to Desktop“
Präzise Parade Herzenslust! Sie können sogar den Farbwert für deaktivieren.
die Standardlichter auf einen anderen RGB-Wert
Unsere sechs
ausgewählten zwischen 0 und 255 ändern.
Farben repräsen-
LEDs montieren
tieren die Figuren
im Schrank. 10 Abhängig von den eingesetzten Neopixeln
In japanischen LEDs testen
Superhelden- 08 Bevor Sie alles montieren, sollten Sie Ihre
lassen sich diese unterschiedlich befestigen. Wir
haben für die Montage an der Decke unserer Vitrine
TV-Shows ist es
üblich, deren LEDs testen. Führen Sie dazu den Code aus und Blu Tack verwendet. Sie können dafür auch norma-
Name und Farbe überprüfen Sie, ob die richtigen Farben angezeigt len Klebstoff nutzen. Längere Streifen lassen sich
als Einheit zu werden und ob auch der Schalter ordnungsgemäß auch mittels Tacker und entsprechenden Klammern
präsentieren funktioniert. befestigen, solange Sie die LEDs nicht beschädigen.

76 05 • 2019 magpi.de
LICHTINSTALLATION Praxis

rollcall.py D
Programmcode
> Sprache: Python auf Heft-DVD

001. #!/usr/bin/env python 030. colour2 = np.array(colour2)


002. 031. vector = colour2-colour1
003. import time 032. newcolour = (int((colour1 + vector*percent)
004. [0]), int((colour1 + vector * percent)[1]),
005. from gpiozero import Button int((colour1 + vector * percent)[2]))
006. 033. return newcolour
007. import board 034.
008. import neopixel 035. # Create a function that will cycle through the
009. import numpy as np colours selected above
010. 036.
011. button = Button(21) 037. def rollcall_cycle(wait):
012. 038. for j in range(len(gokai_colours)):
013. # LED strip configuration: 039. for i in range(10):
014. LED_COUNT = 30 # Number of LED pixels. 040. color1 = gokai_colours[j]
015. LED_PIN = board.D18 # GPIO pin 041. if j == 5:
016. LED_BRIGHTNESS = 0.2 # LED brightness 042. color2 = (255,255,255)
017. LED_ORDER = neopixel.GRB # order of LED colours. 043. else:
May also be RGB, GRBW, or RGBW 044. color2 = gokai_colours[(j+1)]
018. 045. percent = i*0.1 # 0.1*100 so 10%
019. # The colour selection selected for this pro- increments between colours
ject: red, blue, yellow, green, pink, and silver 046. strip.fill((fade(colour1,colour2,
respectively percent)))
020. 047. strip.show()
021. gokai_colours = [(255,0,0),(0,0,255),(255,255,0) 048. time.sleep(wait)
,(0,255,0),(255,105,180),(192,192,192)] 049.
022. 050. strip.fill((255,255,255))
023. # Create Neopixel object with appropriate confi- 051. strip.show()
guration. 052.
024. strip = neopixel.Neopixel(LED_PIN, LED_COUNT, 053. # Main function loop
brightness = LED_BRIGHTNESS, auto_write=False, 054.
pixel_order = LED_ORDER) 055. while True:
025. 056.
026. # Create a way to fade/transition between 057. time.sleep(1)
colours using numpy arrays 058.
027. 059. button.wait_for_press()
028. def fade(colour1, colour2, percent): 060. rollcall_cycle(0.2) # 0.2 seconds between
029. colour1 = np.array(colour1) colour updates

Aufräumarbeiten Zusatzeffekte
11 Damit Ihre Beleuchtung auch richtig
12 Dieses Grundsetup kann sehr einfach erwei-
gewürdigt wird, sollten Sie Ihren Raspberry Pi tert werden. Da der Pi mit dem Internet verbunden
ordentlich im 3D-Gehäuse unterbringen und Ihre ist, können Sie zusätzliche Effekte wie Twitter-
Kabel mit Schrumpfschläuchen sauber bündeln. Trigger oder eine temperaturabhängige Färbung
Zum Schutz können Sie zudem Lötstellen mit ein verwenden. Anhand weiterer Streifen lassen sich
wenig Heißkleber abdecken. zusätzliche Ebenen mit Lichteffekten aufwerten.

magpi.de 05 • 2019 77
Praxis WORKSHOP

D
Spiele auf dem Pi
Teil 10

Programmcode
auf Heft-DVD

in C/C++ schreiben
Ohne Mathematik geht es nicht — und das ist auch gut so!

M
athematik ist vielleicht der härteste Bro- bestehenden Funktionen weder schreiben noch
cken für jeden Jung-Coder. Bisher haben zunächst komplett verstehen. Es gibt diverse Bib-
wir uns meist erfolgreich darum gedrückt. liotheken, die wir einfach herunterladen dürfen.
Wir können sie aber nicht ignorieren. Wir müssen Wir setzen eine der populärsten für Spielepro-
Brian
MAKER

Dinge skalieren und Konzepte wie Vektoren nut- grammierung ein, die OpenGL benutzt. Sie nennt
Beuken
zen. Auch wenn unsere Mathematik einfach war, sich OpenGL Mathematics, kurz GLM.
Ein sehr erfahrener haben wir schon eine Menge davon eingesetzt. Es
Spieleprogram- scheint nicht so, aber Code ohne herkömmliche GLM rockt
mierer, der jetzt
Mathematik zu schreiben, ist viel härter, weil wir GLM ist beliebt, weil es sich auf verschiedenen
junge Leute an der
Breda University uns ziemlich verbiegen müssen. Systemen einsetzen lässt. Weiterhin hält es sich
of Applied Sciences an das mathematische System, das normalerweise
in den Niederlan- in unserer OpenGL-Shader-Sprache zum Einsatz
den unterrichtet
kommt. Sie finden es in Raspbian, Windows, UNIX
magpi.cc/YxaUVQ Mathematik macht Spaß! und anderen Betriebssystemen, die OpenGL auf
Das stimmt wirklich, wenn wir uns die Vorteile irgendeine Weise einsetzen.
bewusst machen. Mit ScaleFactor haben wir Bild- Da es sich um eine Quellcode-Bibliothek han-
schirmpositionen multipliziert und dividiert. delt, müssen wir sie herunterladen und in einem
Außerdem konnten wir damit bestimmen, wo sich Verzeichnis speichern. Im Verzeichnis tmp hat sie
Dinge befinden. Das ist nett, aber wir mussten nichts verloren, da sie sonst bei jedem Herunter-
ganz schön viel davon anwenden, oder? Weiterhin fahren des RasPi gelöscht wird. Raspbian schützt
haben wir viele ((()))-Klammern eingesetzt, um seine Verzeichnisse, und deswegen erstellen Sie
den Code zu bändigen. Wir haben es bisher noch am besten unter /home/pi ein Verzeichnis GLM.
nicht gemerkt, aber unsere Shader haben sehr Wir gehen auf jeden Fall davon aus, dass sich GLM
langsame Mathematik benutzt. Erfahrene Coder unter /home/pi/GLM befindet. GLM aktualisiert
gruseln sich an dieser Stelle. Durch die Nutzung sich ab und zu. Suchen Sie deswegen im Web am
Sie brauchen einfachster Mathematik haben wir uns das Leben besten nach „GLM maths“. Sie finden die aktuelle
nur selbst schwerer gemacht. Deswegen befassen Version unter glm.g-truc.net. Nach dem Down-
> Code::Blocks
wir uns mit etwas komplexerer Mathematik. load und Entpacken müssen wir das Verzeichnis
sudo apt-get
codeblocks C++ bietet standardmäßig diverse mathemati- GLM in unseren include-Verzeichnissen hinterle-
sche Funktionen. Allerdings fehlen Systeme, die gen. Wir können <glm.hpp> dann einsetzen,
> FreeType2
wir normalerweise bei 2D- und 3D-Grafiken wenn wir es brauchen.
> stb_image.h benötigen. Damit sind zum Beispiel Vektoren und Der Ansatz ist viel besser als SimpleVec2 mit
Matrizen gemeint. Zum Glück müssen wir alle seiner einfachen Container-Funktionalität. Uns

78 05 • 2019 magpi.de
SPIELE PROGRAMMIEREN Praxis

Abbildung 1 Matrizen
gibt es in verschiede-
nen Formaten, aber
alle „transformieren“
einen Vektor

Top-Tipp
Fenster
als Option
Auch wenn wir
nun ein Vollbild
haben, bietet ein
steht ein kompletter Satz an Funktionen vec2, bezeichnet, muss transformiert werden.Norma- Fenster-Modus
vec3 und vec4 zur Verfügung. Außerdem haben lerweise gibt es drei verschiedene Arten von viele Vorteile, um
wir spezielle Datentypen und verschiedene Matri- Transformation. Mit Rotation haben wir uns noch Platzierung und
Verhalten im De-
zen. Wichtiger ist aber noch, dass sie interagieren nicht befasst. Hier drehen wir einen Punkt um
tail zu beobachten
können. Es lassen sich Eckpunkte, Matrizen und seinen Ursprung (Abbildung 3, nächste Seite).
sogar Vektoren mit Matrizen multiplizieren.
Warum wollen wir eigentlich, dass Vektoren
und Matrizen interagieren – und von was genau
sprechen wir hier eigentlich? Wollen wir Größe oder Position ändern,
Vektoren repräsentieren auf einem Computer
verschiedene Dinge. Mit ihnen lassen sich Rich- müssen wir ein paar mathematische
tungen, Kräfte und Intensität festlegen. Es ist
auch die Gruppierung von Daten in sogenannte
Berechnungen anstellen
Tupel machbar. Wir können mit x- und y-Koor-
dinaten zum Beispiel einen Punkt festlegen.
Erhöhen sich x und y, haben wir eine Richtung. Sehen Sie sich die Mathematik für Skalieren,
Bei 3D kommt eine z-Achse hinzu. So erhalten wir Bewegungen und nun Rotation an, müssen viele
im 3D-Raum Position und Richtung. einzelne Berechnungen durchgeführt werden, um
einen Punkt oder Vertex von einem Ort zu einem
Was für eine Transformation! anderen zu bewegen. Bei 2D ist das vielleicht
Vektoren sind also flexibel, und das muss für unse- gerade noch möglich. Sobald wir aber 3D haben,
ren Hauptzweck, die Positionierung, auch so sein. steigt die Anzahl der Berechnungen immens.
Wollen wir Dinge manipulieren, um Größe oder Hier sind Matrizen nützlich. Wir müssen Daten
Position zu ändern, müssen wir rechnen. Bewegung aber an der richtigen Stelle der Matrix einpflegen. Abbildung 2 Eine
Matrix übernimmt
verstehen wir. Wir verschieben dabei einen Punkt
mit einer einfachen
im Raum. Skalieren ist vom Verständnis her eben- V*M die ganze Arbeit
falls eine einfache Aktion.
Bei einem Computer sind Skalieren oder Bewe-
gen im Grunde genommen Transformation. Nach
der Transformation befindet sich ein Punkt an
einer anderen Stelle. Für unsere Kacheln und
Sprites setzen wir auf mehrere Punkte. Definieren
wir einen komplexen 3D-Körper, sind es sogar
mehrere Tausend. Jeder Punkt, auch als Vertex

magpi.de 05 • 2019 79
Praxis WORKSHOP

Matrizen können allerlei Transformationen mit Zustände des Spiels


Top-Tipp nur einer Funktion erledigen. Natürlich ist viel Zustände wurden mit unseren Schurken Wake und
Rechenarbeit nötig, aber die sehen wir nicht. Chase eingeführt. Aber wie Spielfiguren haben
Die Assets Computer benutzen wirklich gerne Daten in auch Spiele Zustände. In der Regel sind das „Menü“,
notieren Form von Vektoren und Matrizen. Somit lassen „Spiel“, „Rekord“ und so weiter. Mit separaten Klas-
sich diese immer wieder verwenden. Die anfäng- sen oder Codebereichen kümmern wir uns darum.
Wir haben nun liche Mehrarbeit zahlt sich hier also aus. Unser neues Demo besitzt eine Menüklasse und
einen Asset Matrizen sind erstaunlich. Jede Transformation setzt Schrift ein. Damit können wir ein paar Spiele-
Manager, der sich
hat ein eigenes Matrix-Design. Skalieren, Rotation parameter konfigurieren und Eingaben machen.
kümmert. Benut-
zen Sie ihn auch! usw. sind also individuelle Prozesse. Rotation hat Beim Starten springen wir in den Spielmodus.
gar drei Versionen, eine für jede Achse xyz. Bei 2D Wir erstellen einen neuen Spieler und befinden
uns in einer Schleife, bis alle Levels geschafft sind.
Daraufhin geht es in den Endzustand und meist
wieder zurück zum Spielemenü.
In Spielen ist der Tod meist nicht das
Ende. Wir müssen aber herausfinden,
wann unsere Spielfigur sterben muss Tod und Erfolg
In Spielen ist der Tod normalerweise nicht das
Ende. Wir haben meist mehrere Leben, die wir
nach und nach verlieren. Vielleicht wird die Spiel-
müssen wir eigentlich nur um die z-Achse drehen. figur auch an den Start zurückversetzt. Nach dem
Sobald alle Matrizen fertig sind, können wir sie Verlust aller Leben geht es zum Menü zurück. Wir
kombinieren und eine Master-Transform-Matrix müssen also erkennen, wann die Spielfigur ster-
erstellen. Wir verwenden sie mit jedem einzelnen ben muss. Zum Beispiel ertrinkt sie, wenn sie eine
Punkt, den wir ändern wollen. In Abbildung 1 und gewisse Zeit im Wasser ist. Berührt ein Schurke
2 haben wir das mit einem vec4 demonstriert. unseren Bob, erzeugt er den Zustand „falle aus
Das Demo aus dieser Lektion zeigt Beispiele zum dem Spielfeld“, was wiederum zum Zustand „Tod“
Bearbeiten von Sprites mit Vektoren und Matrizen. führt. Hier testen wir, ob das Spiel zu Ende ist.
Es gibt eine zusätzliche Funktion „Rotation“. Der Quellcode ist an dieser Stelle sehr eindeutig.
Unser Sprites-Shader benutzt nun Matrizen und Erfolg wird belohnt und oft gibt es ein neues
Vektoren. Die Leistung des Shaders ist viel höher, Level - vielleicht auch Boni wie ein zusätzliches
auch wenn wir das bei so einem kleinen Projekt Leben. Dank Schrift können wir dies anzeigen.
nicht wirklich spüren. Kacheln müssen sich nicht
drehen, deswegen lassen wir sie außen vor. Sie
sind gut in der VBO-Konfiguration aufgehoben.
Es liegt nicht nur Gold herum
Berührt uns ein Gegner, führt das traditionell zum
Verlust von Leben oder Lebensenergie. Das ist ein
Abbildung 3
Für Rotationen
Standardmechanismus. Wir können aber auch
brauchen Objekte andere Objekte sammeln, die uns Leben schenken
einen Ursprung
oder unsere Fähigkeiten verbessern. Möglicher-
weise ändern sie unseren Zustand komplett.
Wir bezeichnen solche Dinge normalerweise als
„Pick-ups“. Wie alle anderen Objekte in unserem
Spiel enthalten auch sie ein kleines Stückchen
Logik, um eine Kollision zu erkennen - und wenn
eine stattfindet, entsprechend zu handeln. Viel-
leicht erhöht sich unsere Anzahl an Leben oder
wir erhalten zusätzliche Punkte.

80 05 • 2019 magpi.de
SPIELE PROGRAMMIEREN Praxis

Abbildung 4
In eine Wand rennen
ist äquivalent zu einer
Landung

Die Dinge im Auge behalten Bessere Maps sind immer wünschenswert. Unser
Eine wichtige Sache sind unsere Assets! Wir nut- Spiel benutzt vier Maps, und da wir Zeiger auf die
zen für unsere Pilzschurken zwar die gleichen Maps verwenden, ist die Sache noch flexibler.
Grafiken, laden sie aber für jede Instanz neu. Gibt Expansion wird dadurch größer und leichter, weil
es fünf Schurken, laden wie die Grafik fünf Mal. wir weniger abhängig von fixen Zahlen sind.
Das ist, ehrlich gesagt, unnötig und für eine
Maschine wie den Raspberry Pi mit eingeschränk-
ten Ressourcen auch ein Problem.
Wir erstellen eine kleine nützliche Klasse, die Nächstes Mal
die geladenen Assets im Auge behält. Ist ein Unser Spiel hat noch Ecken und Kanten. Wir kön-
Asset bereits geladen, bekommen wir die Position nen z. B. durch Wände laufen. Versuchen Sie Bobs
im Speicher zurück. Die neue Klasse AssetMana- Bewegung zu prüfen und ihn daran zu hindern. Es
ger kümmert sich darum. Dort gibt es eine ist äquivalent zu einer Landung – Abbildung 4.
Methode LoadAsset, die alle geladenen Kompo- Nächstes Mal spendieren wir unseren Shadern
nenten notiert. Sie werden in einer speziellen etwas FX und polieren das Ganze auf. Außerdem
Datenstruktur gespeichert, die sich Map nennt. kümmern wir uns um Probleme beim Timing.
Es ist ein bisschen wie ein 2D-Array. Anstelle der
Indexe werden die Namen beim erstmaligen
Top-Tipp
Mehr C/C++ lernen
Laden der Assets mit der Speicherposition oder
Magische
anderen informationen assoziiert. Darum können
Zahlen meiden
mehrere Instanzen die gleichen Daten nutzen.
Möglich ist das Rohformat, aber auch ein effizien- Von Brian gibt es ein ganzes Buch,
uch, Wir haben immer
teres und umgewandeltes GPU-Textur/ wie man Spiele mit C und C++ ent- noch zu viele fixe
wickelt. Titel: The Fundamentals Zahlen. Prüfen Sie
VBO-Format.
of C/C++ Game Programming: den gesamten
Sehen Sie sich noch mal den Quellcode an, wie
Using Target-based Development Code, ob und wie
das funktioniert. Maps sind für solche Aufgaben on SBC’s. Sie finden es hier: sie sich ersetzen
unglaublich nützlich, wenn Sie Dinge anhand des magpi.cc/nUkjEt lassen.
Namens verfolgen und nutzen möchten.

magpi.de 05 • 2019 81
Praxis WORKSHOP

Ihre eigene Karte


des Rumtreibers
Legen Sie Ihre eigene Rumtreiber-Karte an und beobachten Sie Ihre
Familie, Haustiere und Freunde mit Bluetooth-Modulen

B
Was Sie zu Beacons wissen sollten
ei „Harry Potter“ zeigte die Karte des
Rumtreibers den Aufenthaltsort jeder Per-
01 Bluetooth Low Energy (BLE-)Beacons sind
son in Hogwarts an. Diese Karte basierte auf einfache Geräte, die ein konstantes Signal in Form
PJ
MAKER

Magie, unsere funktioniert mit einem Raspberry eines eindeutigen Codes oder einer eindeutigen
Evans Pi und Beacons. Das sind energiesparende Geräte, URL senden. Bluetooth-4.0-fähige Geräte erken-
die ständig ein Signal senden, das von jedem nen das Signal ohne vorheriges Pairing. In diesem
PJ ist Autor, Rasp-
berry-Jammer und Gerät empfangen werden kann. Sie werden häu- Projekt nutzen wir die weit verbreiteten Standards
Entwickler. Er fig von Museen oder Supermärkten in Verbindung iBeacon (Apple) und Eddystone (Google). Das
schwört feierlich, mit einer Smartphone-App verwendet, um den Angebot an Beacons ist vielfältig: Es handelt sich
dass er nichts Gutes
vorhat.
Besuchern standortspezifische Informationen in der Regel um kleine Geräte in Knopfgröße, die
anzubieten. Wir nutzen die Beacons zur Ortung: mit einer Batterie bis zu einem Jahr lang laufen
@mrpjevans
Raspberry Pis erkennen die Anwesenheit einer können. Alternativ können Sie auch Raspber-
Person im Raum und aktualisieren eine web- ry-Pi-Boards und Mikrocontroller, etwa ESP32, per
basierte Karte. Software in Beacons verwandeln.

Beacons gibt es in allen For-


men und Größen. Sie können
sogar Raspberry-Pi-Boards
und Mikrocontroller in
Beacons verwandeln

Sie brauchen
> Mind. zwei Zimmer

> Einen Pi Zero W pro


Zimmer

> Einen oder mehrere


Freiwillige
Die eingesetzten Pi Zero Ws
> Einen Beacon pro
erkennen die Beacons über das
Teilnehmer, etwa
integrierte Bluetooth-Modul
magpi.cc/iGmnAa

82 05 • 2019 magpi.de
BEACONS Praxis

Raspberry Pi vorbereiten
02 Jede Person führt ein Beacon mit sich. Wäh-
rend sie sich von Raum zu Raum bewegt, erkennt
ein Pi Zero W in jedem Raum den Beacon und mel-
det dies an einen bestimmten Server, der eines der
Pi-Geräte sein kann. Installieren Sie auf jedem Pi
Raspbian Stretch Lite, konfigurieren Sie das WLAN
und aktualisieren Sie die Software:

sudo apt update && sudo apt -y upgrade

Installieren Sie die folgenden Bibliotheken:

sudo apt install python3-pip libbluetooth-dev


sudo pip3 install beacontools[scan]

Nun können Sie in Python nach Beacons suchen.

Jeder Scanner meldet


seine Ergebnisse an einen
zentralen Server
Beacon-IDs ermitteln
03 Jedes Beacon verwendet entweder einen
eindeutigen ID-Code (iBeacon) oder sendet eine
Unsere Web-App
Webadresse (Eddystone). Wenn Sie die ID Ihrer wird aktualisiert,
iBeacons nicht kennen, scannen Sie einfach das Testen Sie anschließend den Server: wenn sich Menschen
im Haus bewegen.
Modul. Kopieren Sie den Programmcode des Dabei gibt es viele
Möglichkeiten, krea-
test.py-Listings und speichern Sie ihn als test.py. python3 ~/beaconmap/server/server.py
tiv zu werden
Führen Sie die Datei wie folgt aus:
Wenn Sie sich auf demselben Computer befinden,
sudo python3 test.py öffnen Sie http://127.0.0.1:5000 im Browser.
Andernfalls ersetzen Sie 127.0.0.1 durch die IP-
Als Antwort erhalten Sie die 32- stellige ID des Adresse des Servers. Sie sehen eine Webseite mit
Beacon. Diese steht direkt nach „uuid“. Wiederho- der Frage „Wo sind alle?“. Mit [Strg]+[C] stoppen
len Sie dies für die anderen Module. Sie den Server.
Für Eddystone erhalten Sie Anweisungen zum
Festlegen der Webadresse. Stellen Sie jedes Modul
auf http://example.org/name ein, wobei „name“
Scanner installieren
der Vorname der Person ist.
05 Legen Sie auf jedem Raspberry Pi eine Datei
scanner.py an und geben Sie den Programmcode Top-Tipp
ein. Zum Download finden Sie ihn im scanner-
Server-Software installieren Signalstärke
04 Jeder Scanner meldet seine Ergebnisse an
Verzeichnis unter magpi.cc/Hjhtwi.
Der Code durchsucht alle zehn Sekunden mit-
Damit nicht
einen zentralen Server. Die Rolle übernimmt eines hilfe der BeaconTools-Bibliothek von Citruz den
alle Scanner
der Pi-Geräte. Legen Sie unter „home“ den Ordner Bereich nach Beacon-Signalen. Das Skript merkt Ihr Beacon sehen,
beaconmap an und kopieren Sie den Code von sich die gefundene ID beziehungsweise URL und stellen Sie es
magpi.cc/Hjhtwi. Installieren Sie zuerst Flask: bewertet sie mit 1, wobei nachfolgende Übertra- auf einen nied-
gungen die Punktzahl erhöhen. Nach zehn Sekun- rigen Stromver-
pip3 install flask den werden die Ergebnisse an den Server geschickt. brauch ein

magpi.de 05 • 2019 83
Praxis WORKSHOP

Bezeichnung Ihrer Pis. Anschließend geben Sie


auf jedem Raspberry-Pi-Scanner den folgenden
Befehl ein:

sudo python3 ~/beaconmap/scanner/scanner.py

Jeder Scanner sucht zehn Sekunden und gibt


anschließend die Ergebnisse an den Server weiter.
Dieser zeigt die eingehenden Daten auf dem Bild-
schirm an. Um eine reibungslose Kommunikation
zu gewährleisten, muss der Port 5000 für den
Datenverkehr zugelassen sein.

Tracking starten
08 Nachdem scanner.py auf allen Geräten aus-
geführt wird, nehmen Sie eines Ihrer Beacons und
platzieren es neben einem der Scanner. Nach zehn
Mit seinen kompak-
ten Abmessungen Der vergleicht die übertragenen Daten der Scanner, Sekunden sollte Ihr Beacon auf der aktualisierten
und dem eleganten
Gehäuse ist der
um herauszufinden, wo sich jemand befindet, und Webseite mit seinem korrekten Standort angezeigt
Raspberry Pi Zero W um überlappende Bereiche zu beseitigen. werden. Wiederholen Sie den Prozess mit einem
eine geschmackvolle
Bereicherung für anderen Pi. Hat sich das Beacon bewegt? Wenn Sie
jeden Raum verwirrende Ergebnisse erhalten, stehen die Rasp-
berry Pis möglicherweise zu nahe beieinander, was
Server konfigurieren und testen
06 Weisen Sie die IDs und URLs mithilfe eines
zu einer Überlappung führt. Lässt sich die Leistung
der Beacons einstellen, dann sollte diese so niedrig
beacons-Wörterbuchs realen Personen zu. Ver- wie möglich sein.
wenden Sie dazu die Beacon-ID, das Schlüsselwort
„name“ und den Namen der Person. Treffen die
Berichte der Scanner ein, wissen Sie somit sofort,
Karte optimieren
welche Person entdeckt wurde.
Ihr Programmcode sollte ähnlich aufgebaut sein:
09 Als Nächstes gilt es, die Webseite in eine

Top-Tipp beacons = {
Karte zu verwandeln. Da wir keinerlei Ortungs-
technologie verwenden, brauchen Sie sich keine
'b63cc056-6f3a-4a9b-80bf-11ff1c6ff724': { Gedanken um die Genauigkeit zu machen. Den
Beacon-Arten 'name': 'PJ Evans' Entwurf können Sie entweder auf Papier oder
}, direkt am Computer machen. Das Bild sollte eine
Es gibt viele
'144dd069-e22e-418f-b940-c622d64b7252': { Mindestgröße von 1.000 × 1.000 Pixel aufweisen.
verschiedene
Beacon-Stan- 'name': 'Jazz The Cat' Speichern Sie es unter beaconmaps/servermap/
dards. Dieses } static/rooms.png. Für Ihre Avatare nehmen Sie am
Projekt unterstützt } besten ein Selfie im Format 75 × 75 Pixel. Speichern
iBeacon und Sie es im gleichen Verzeichnis unter name.jpg.
Eddystone Testen Sie den Server, indem Sie ihn wie zuvor Wichtig: Der Name muss mit dem Wörterbuch
starten. Wenn Sie in der Beacon-Liste Tippfehler übereinstimmen.
gemacht haben, werden Sie es sofort bemerken.

Erweiterten Server ausführen


Scanner konfigurieren & starten 10
07 Bearbeiten Sie die Datei scanner.py und
Mit dem Flask-Server macht die
Nutzung der Rumtreiber-Karte noch mehr Spaß.
ersetzen Sie den Wert von serverUrl durch die Beenden Sie den Server mit [Strg]+[C], kon-
IP-Adresse Ihres Servers. Überzeugen Sie sich figurieren Sie die Datei server.py im Ordner
davon, dass „/readings“ am Ende verbleibt. servermap wie zuvor und führen Sie den
Pflegen Sie über die Variable room die Standort- folgenden Befehl aus:

84 05 • 2019 magpi.de
BEACONS Praxis

scanner.py D
Programmcode
> Sprache: Python 3 auf Heft-DVD
python3 beaconmap/servermap/server.py

Geben Sie den Scannern Zeit, sich zu melden und 001. import time
werfen Sie einen Blick auf die Seite. Im Pro- 002. import requests
grammcode finden Sie die notwendigen Hinweise, 003. from beacontools import BeaconScanner
um die Positionierung Ihrer Avatare zu korrigie- 004.
005. serverUrl = "http://127.0.0.1:5000/readings"
006. room = "Kitchen"
Beim Booten sollte nun 007. beacons = {}
008.
alles starten und im Hinter- 009.
010. # This function is called whenever a packet is detected
grund ausgeführt werden 011. def callback(bt_addr, rssi, packet, additional_info):
012.
013. # Parse out the type of beacon
ren. Stellen Sie sicher, dass alle am richtigen Ort 014. typeOfBeacon = type(packet).__name__.split(".").pop()
erscheinen, und stoppen Sie Server und Scanner. 015.
016. # Get the ID of the beacon
Alles automatisieren
11 Überzeugen Sie sich zum Abschluss davon,
017.
018.
if typeOfBeacon == "EddystoneURLFrame":
beaconId = packet.url
dass beim Booten alles startet und anschließend 019. elif typeOfBeacon == "IBeaconAdvertisement":
im Hintergrund ausgeführt wird. Die einfachste 020. beaconId = packet.uuid
Möglichkeit besteht darin, die Datei rc.local zu 021.
bearbeiten und die Anforderungen hinzuzufügen. 022. # Track how many times we've seen this beacon
023. if beaconId not in beacons:
sudo nano /etc/rc.local 024. beacons[beaconId] = 1
025. else:
Fügen Sie vor der letzten Zeile mit dem Inhalt 026. beacons[beaconId] += 1
exit 0 die folgenden neuen Zeilen ein. 027.
028. # Scan for all advertisements from beacons
Für den Server: 029. print('Starting beacon scanner')
030. scanner = BeaconScanner(callback)
/usr/bin/python3 /home/pi/beaconmap/servermap/ 031. scanner.start()
server.py & 032.
033. while True:
Für jeden Scanner: 034.
035. # Allow a 10-second sample to come through
/usr/bin/python3 /home/pi/beaconmap/scanner/ 036. print('Waiting 10 seconds')
scanner.py & 037. time.sleep(10)
038.
Für den Test starten Sie jedes Gerät neu. Alle 039. # Now send the current scores to the server
Skripte sollten nun im Hintergrund laufen. 040. print('Sending to server')
041. try:
042. response = requests.put(serverUrl, json={"room": room,
043. "beacons": beacons})
Mehr machen mit Beacons
12 Welche zusätzlichen Funktionen können Sie
044.
045.
if response.status_code == 200:
print('Success')
mit den Beacons abbilden? Eine Idee: eine Nach- 046. else:
richt an Ihr Smartphone, sobald jemand an einem 047. print('Got response code: ' + str(response.status_code))
bestimmten Ort eintrifft. Oder eine digitale Oster- 048. except:
eiersuche? Geben Sie dazu jedem einen batterie- 049. print("Communication error")
betriebenen Pi Zero W und verstecken Sie die 050.
Beacons. Ihre Punktzahl wird automatisch erhöht, 051. # Clean the scores
sobald Sie einen Beacon gefunden haben. 052. beacons = {}

magpi.de 05 • 2019 85
Special RASPBERRY PI 4

Raspberry Pi
Der Raspberry Pi 4
ist da und setzt
neue Standards für
Mikrocomputer

E
in neues Ein-Chip-System
Ein mit leistungs-
starken
n ARM-
ARM-Cortex-A72-Kernen
RM-Cortex-A72-Kernen in 28-nm- nm-
Bauweise,
se, die
di erste neue Grafikeinheit in
der Geschichte des Raspberry Pi, bis zu 4 GByte
LPDDR4-RAM, zwei zw USB 3.0-Ports mit hoher
Bandbreite, zweii HDMI-2.0-Anschlüsse
H für den
Dual-Monitor-Betrieb
-Be etrieb mit 30 bis 60 fps – kurzum:
um:
sehr neu, sehr stark
sta und sehr spannend.
Der als PC-Ersatz
rsa konzipierte
rsatz
Raspberry Pi 4 ist
ist das beein-
druckendste Modell
Mod aus der
Reihe – und die Bench-
Be
marks beweisen,en,, dass
die Performance
nce
hält, was die tech-
ech
ech-
nischen Daten
versprechen.

86 05 • 2019 magpi.de
Special

magpi.de 05 • 2019 87
Special RASPBERRY PI 4

Eben Upton über den


Raspberry Pi 4
Brandneuer Prozessor, verbesserte Grafik und vierfache
Speicherkapazität – der Pi-Erfinder plaudert aus dem Nähkästchen

D
ie Frage ist: Warum schon jetzt und nicht
erst in einem Jahr? Denn das ist das
ursprünglich angepeilte Zeitfenster“,
erklärt Eben Upton, Mitbegründer der Raspberry
Pi Foundation, das ungewöhnliche Timing des
Pi-4-Releases. „Broadcom arbeitet schon seit
geraumer Zeit am Chip und wurde schneller fertig
Eben Upton als erwartet, sodass wir bereits mit der zweiten
Revision (B0) in die Produktion gehen konnten.
Eben ist Erfinder Zum Vergleich: Bis zur Serienreife des Vorgänger-
des Raspberry Pi,
modells BCM2835 aus 40-nm-Fertigung waren
Mitbegründer
der Raspberry Pi fünf Revisionen erforderlich – A0, B0, C0, C1 und
Foundation und C2. Da der neue BCM2711 bereits in Version B0
CEO der Raspberry Raspberry-Pi-4-Platinen im Testbetrieb während der
einsatzbereit war, konnten wir das Veröffent-
Pi Trading Ltd. Entwicklung von Software-Updates
lichungsdatum um ein ganzes Jahr vorverlegen.“

Ein PC für die Hosentasche


„Es handelt sich um einen PC-Ersatz. Das sollte
der Raspberry Pi schon immer sein, und über

Fast vollständig die Jahre kamen wir diesem Ziel näher“ erklärt
Eben. „Meiner Meinung nach haben wir nun die

abwärtskompatibel Linie überschritten, wo der Anwender keinen


Unterschied mehr erkennen kann.“
„Was macht einen echten PC aus? Ein PC kann
„Das neue Modell ist weitgehend abwärtskompatibel“, verspricht
zwei Monitore ansteuern. Denken Sie an Ihren
Eben. „Wir sprechen nicht von absoluter Abwärtskompatibilität,
Bankberater vor seinem Schreibtisch. Er nutzt
da die Anwender sicher auf Einschränkungen stoßen werden. So
zwei Monitore gleichzeitig – einen mit Ihren
gehe ich davon aus, dass einige wenige Monitore nicht mit dem
Kontodaten und den zweiten mit Informationen
Raspberry Pi 4 funktionieren, doch solche Probleme werden mit
zu dem Produkt, das er Ihnen verkaufen will. Wir
der Zeit gelöst. Unterm Strich haben wir unsere Ziele in Sachen
denken, dass uns der Zweischirmbetrieb den Weg
Abwärtskompatibilität erreicht. Das ist besonders wichtig, um
in den Thin-Client-Markt ebnet und arbeiten eng
das Software-Team zusammenzuhalten. Denn bei verminderter
mit Citrix zusammen, um am Launch-Tag ein
Kompatibilität musst du entweder alte Produkte einstellen – was
funktionierendes System vorweisen zu können.“
wir sehr ungerne tun – oder zwei separate Teams für die alte und
neue Plattform arbeiten lassen.“

88 05 • 2019 magpi.de
INTERVIEW MIT EBEN UPTON Special

An den Schreibtischen der Entwickler werden


Hardware-Komponenten getestet und Bananen gegessen

Herausforderndes Design
„Die Position der Ports hat sich verändert, was zu
großen Herausforderungen im Platinendesign Der neue SoC BCM2711
führte. Die Leiterbahnen müssen millimetergenau „Die Entwicklung war komplizierter als bei den Vorgänger-
verlaufen – so hatten wir beispielsweise zu wenig modellen, da wir bislang stets die gleichen Produktionsstraßen
Platz, um das Ethernetsignal zur unteren rechten genutzt haben und lediglich größere ARM-Kerne auf den
Ecke der Platine zu führen.“ vorhandenen Chip brachten“, verrät Eben über die Arbeiten
am neuen System-on-Chip (SoC).“
„Der neue Chip enstand per 28-nm-Fertigung auf einer
Unser Easter Egg neuen Produktionsstraße. Das war nötig, um all die neuen
Features unterzubringen, etwa die Verbesserung von 1.080p-
verbirgt sich unter dem auf 4K-Videoausgabe. Neue Produktionsstraße, neue Speicher-

USB-C-Anschluss und Multimedia-Technologien sowie jede Menge Änderungen


– wir haben den Chip quasi komplett neu konzipiert.“

„Der geringe Abstand zwischen dem BCM2711


und den Speicherbausteinen führte zu einem
32-Bit-DRAM-Interface auf extrem kleinem Die ersten A0-Prototypen waren rund fünf Milli-
Raum. Das machte es sehr kompliziert, ein Über- meter länger als die bisherigen Platinen. Dennoch
sprechen der Signale zu verhindern. Wenn Sie den hat es James hinbekommen, all die Leiterbahnen
USB-C-Port entfernen, sehen Sie die Unterschrift auf eine Platine mit den alten Abmessungen zu
von James Adams, Direktor der Hardware- packen. Sechs Monate lang habe ich ihn täglich
Entwicklung, auf der Platine. Somit verbirgt sich besucht und gefragt: ‘Ist die Platine schon auf
unser Easter Egg unter dem USB-C-Anschluss – Originalgröße runter?’ Dafür hätte die Platine
als Reminiszenz an James’ herausragende Arbeit. eigentlich auch meine Unterschrift verdient!“

magpi.de 05 • 2019 89
Special RASPBERRY PI 4

Neuer RasPi 4:
Endlich PC-Power
Ende Juni kam der neue Raspberry Pi 4 heraus.
Der Minirechner löst hardwareseitig viele
Probleme des Vorgängers, wie unser Test im
CHIP-Testcenter zeigte. Die Software braucht
allerdings noch Feinschliff
Ein 800-Euro-Desktop-PC mit AMD Ryzen 5 1600
schafft das in 24 Sekunden. Bei den CPU-Tests
hatten wir einen PC-Gehäuselüfter auf die nackte

A
n Rechenleistung hat es den Raspberry- RasPi-Platine gerichtet – dann betrug die Tempe-
Minirechnern seit dem Pi 3 nicht mehr ratur im Leerlauf rund 35 °C und unter CPU-Volllast
wirklich gemangelt. Dennoch ließ die 50 °C (Messung mit vcgenmod measure_temp).
Performance des Gesamtsystems oft zu wünschen Ohne Ventilator lagen die Werte bei 54 °C im
übrig – im Desktopbetrieb, aber noch mehr bei Leerlauf und bis zu 82 °C unter CPU-Volllast. Dabei
Datentransfers auf USB-Laufwerken sowie übers drosselte der RasPi immer wieder die CPU von 1,5
Netzwerk.Die wichtigsten Neuerungen beim Pi 4 auf ein GHz herunter, um nicht zu überhitzen. Das
beseitigen die Flaschenhälse: Es gibt nun bis zu verlängerte den Komprimierungsvorgang um 20
vier Gigabyte Arbeitsspeicher (statt wie bisher auf 308 Sekunden. Trotz eines etwas strengen
nur ein GB), um Multitasking auf dem Desktop zu Geruchs lief der RasPi aber stabil durch.
verbessern. Zwei USB-3-Ports sorgen für schnelle
Datentransfers auf USB-Laufwerken, und ein
separater LAN-Chip ermöglicht volles 1-GBit-
Tempo. Zuvor war die Netzwerkschnittstelle über
den langsamen USB-2-Controller angebunden.
Das beschränkte die Bandbreite auf etwa 300
MBit/s, die zwischen Netzwerk und USB-Laufwerken
aufgeteilt werden musste.

Benchmarks zeigen Leistungssprung


Tatsächlich sind in diesen Punkten massive Ver-
besserungen mess- und spürbar: Dient der RasPi
als Dateiserver mit Windows-Freigabe (auf einer
per USB 3 angeschlossenen und ext4-formatierten Bei der Software-Unterstützung
SSD), konnten wir mit 45,4 MByte/s davon lesen hapert es noch. Der Chromium-Browser 1
und mit 37,0 MByte/s darauf schreiben. Der spielt YouTube-Videos nur bis 720p
ruckelfrei ab. Die 4-GByte-Variante
Vorgänger 3B+ schaffte mit 20,3 beziehungsweise ermöglicht flüssiges
Christoph 16,5 MByte/s nur weniger als die Hälfte. Noch Multitasking mit dem
Schmidt
AUTOR

vollwertigen MATE-Desktop 2
deutlicher wird der Unterschied beim schnelleren
Der CHIP-Redakteur
und CPU-schonenden FTP-Protokoll, mit dem
nutzt einen RasPi 1 der neue RasPi als Server 113,9 MByte/s erreicht,
für Webradio und als während beim 3B+ mit nur 20,3 MByte/s die
Pi-hole-DNS, einen
magere I/O-Performance voll durchschlägt.
2er als Kodi-Media-
center und einen 3er Auch die CPU-Leistung legte zu: pbzip2, ein multi-
für Experimente threadingfähiger Klon des CPU-hungrigen
FOTOS: HERSTELLER

Komprimierers bzip2, komprimierte eine


cschmidt@chip.de
1,2-GByte-Datei mit Zufallsdaten in 287 Sekunden.
Der 3B+ brauchte 522 Sekunden. Zum Vergleich:

90 05 • 2019 magpi.de
PI 4 IM CHIP-TEST Special

Bis zu 4 GByte RAM: Volles 1-GBit-LAN:


Statt mit nur 1 GByte Ein separater Ethernet-
gibt es den RasPi 4 auch Controller ermöglicht
mit 2 oder 4 GByte RAM ungebremsten Netzwerktraffic

USB-3-Ports:
2 x Micro HDMI: Datentransfers auf
Der Grafikchip steuert USB-Laufwerke
zwei 4K-Displays an – laufen fas t zehnmal
die Software ist noch schneller als zuvor
nicht ganz so weit

Bild bis 1.080p60, kommt aber nur mit H.264-


Videos zurecht. Bis der RasPi 4 als Mediaplayer
Bei 4K hakt es noch taugt, wird es noch eine Weile dauern. Für Herbst
Die nächste Neuerung des RasPi 4: Ein stärkerer 2020 ist eine neue Kodi-Version geplant, die mit
Grafikchip und neue Anschlüsse ermöglichen dem RasPi 4 sogar 4K-Video mit HDR abspielen soll.
Zubehör
Bildschirmauflösungen bis 4K UHD (3.840 x 2.160
Pixel), und das sogar auf zwei Monitoren. Zuvor Viel RAM erleichtert Desktopeinsatz Das neue
war bei einem 1.920-x-1.200-Pixel-Bildschirm Sonst macht der RasPi 4 als Desktopersatz eine Originalnetzteil 1
Schluss. Das kann zum ersten Stolperstein werden: gute Figur. Mit der nun erhältlichen Variante mit mit USB-C-Buchse
kostet nur fünf Euro
Um die beiden Display-Anschlüsse unterzubringen, vier GByte RAM kann man statt des spartanischen und sorgt für einen
hat der neue RasPi statt eines HDMI-Ausgangs Pixeldesktops mit einer vollwertigen Desktop- stabilen Betrieb
zwei Micro-HDMI-Ports; beim Kauf müssen Sie umgebung arbeiten. MATE Desktop Environment,
also gleich einen Micro-HDMI-zu-HDMI-Adapter das moderne Features wie beim Ziehen einrastende
mitnehmen. und maximierende Fenster sowie einen vollwertigen
Als noch nicht ganz perfekt erwies sich das Dateimanager mitbringt, lief bei uns gut. Und als
Raspberrys Eingabeset
Feature, in dem die Raspberry-Pi-Rechner vielen Browser funktionierte Firefox ebenso gut wie das
aus Tastatur (mit USB-
anderen Ein-Platinen-Bastelrechnern überlegen sonst auf dem Pi übliche Chromium – auch mit Hub) und Maus verfügt
sind – das Zusammenspiel von Hard- und Soft- vielen geöffneten Tabs. über 78 Tasten im
Full-Size-Format
ware. Vor allem eine flüssige Videowiedergabe war Der Raspberry Pi 4 ist als voll ausgestattetes
mit der zum Testzeitpunkt aktuellen Version des Modell B mit verschiedenen RAM-Bestückungen
Raspbian-Betriebssystems schwer möglich. erhältlich: 1 GByte (ca. 40 Euro), 2 GByte (ca. 50
YouTube-Videos liefen im Chromium-Browser Euro) und 4 GByte (ca. 60 Euro), wobei der
ordentlich – im Vollbildmodus und mit Auflösungen 4-GByte-Pi anfangs lange Lieferzeiten hatte.
über 720p ruckelte es aber. Ein ähnliches Ergebnis Alles in allem ist der neue RasPi eine gelungene
gab es beim VLC Player, der im Vollbildmodus Fortsetzung der Bastelcomputer-Reihe – und
hässliche Tearing-Streifen produzierte. Der für den verpasst es beim aktuellen Softwarestand nur
Pi entwickelte OMXplayer zeigt zwar ein schönes knapp, den Desktop zu erobern.

magpi.de 05 • 2019 91
Specialal
Special RASPBERRY
RASPBERRY
PI PI
44

Simon Long über


Raspbian Buster
Interface-Designer Simon Long sprach mit uns über die neuen Features
und die überarbeitete Oberfläche von Raspbian Buster

M
it dem Launch des Raspberry Pi 4 feiert
nicht nur neue Hardware Premiere, auch
bei der Software hat sich mit Raspbian
Buster einiges getan. Der brandneue Release
bietet wie immer beispielhafte Kompatibilität
und ein überarbeitetes, reduziertes Interface, das
auf der kommenden Linux-Distribution Debian
Simon Long Buster basiert.
Simon Long erklärt: „Aufgrund der wenigen
Die Arbeit des sichtbaren Unterschiede zwischen Buster und
Interface-Experten
Stretch habe ich Elemente hinzugefügt, die es
Simon Long wirkt
sich auf fast alles offensichtlicher machen, dass es der Anwender
aus, was Sie auf mit etwas Neuem zu tun hat. Bereits beim Der neue Raspbian-Desktop bietet ein übersichtlicheres
Interface und ein wunderschönes neues Hintergrundbild
dem Raspbian-
Wechsel von Jessie zu Stretch haben sich viele
Desktop sehen
und tun können User gefragt, ob sie nun wirklich eine neue Version
haben – dieses Problem wollte ich dieses Mal Weniger ist mehr
gar nicht erst aufkommen lassen. In Sachen „Es gab verschiedene Gründe für eine reduzierte
Interface-Design hat sich über die Jahre wenig Darstellung“, lässt uns Simon wissen. „Erstens
getan, weshalb ich zu dem Schluss kam, dass es geht der Trend in der UI-Entwicklung zu über-
an der Zeit für einen grundlegenden Wandel ist. sichtlichen, einfacheren Designs im Gegensatz zu
kleinteiligen, überladenen Desktops – Windows,
iOS und Android haben es vorgemacht. Zweitens
ist Eben Upton ein Fan reduzierter Designs und

Neue Software hat mich kontinuierlich in diese Richtung gelenkt.“


„Das Design war auch ein Balanceakt, da die

und Hardware Gefahr bestand, überall nur langweilige Rechtecke


auf dem Desktop zu sehen. Daher haben wir zum
„Die Implementierung eines neuen Debian-Releases ist mit Beispiel die Eckenradien verringert, aber nicht
viel Arbeit verbunden“, stellt Simon fest. „Wir müssen alle komplett entfernt. Wir haben viel mit neuen
Änderungen und Patches, die wir für die Vorversion erarbeitet Designs für das Erscheinungsbild der Regler,
haben, an die neue Version anpassen, die Performance aus- Schaltflächen und Scrollleisten experimentiert
werten, die Stabilität testen und so weiter.“ und einige alternative Systemschriftarten
„Alleine dieser Prozess der Software-Implementierung ausprobiert. Ich denke, das Ergebnis ist ein
ist eine große Herausforderung – doch diesmal kam auch frisches und modernes Interface, das jedoch
noch eine neue Hardware hinzu. Wenn irgendetwas nicht nicht zu reduziert und damit langweilig wirkt.“
funktioniert, weißt du nicht, ob es an der neuen Hardware,
am neuen Betriebssystem oder vielleicht an eigenen
Programmierfehlern liegt!“

92 05 • 2019 magpi.de
RASPBIAN BUSTER Special

Die Evolution
des Desktops
„Ich bin sehr zufrieden mit unserem neuen Inter-
face-Design“, freut sich Simon. „Da der Design-
Impressum
Redaktionsleiter Andreas Vogelsang (verantwortlich für den
prozess in vielen kleinen Schritten verläuft, verliert
redaktionellen Inhalt)
man als Entwickler die Unterschiede zwischen der Redaktion Patrick Hannemann, Jörg Reichertz, Nina Schmidt
Ausgangsversion und dem aktuellen Stand aus den (CvD); Lucy Hattersley (Ltg. United Kingdom),
Augen. Sobald ich jedoch das fertige System über Phil King, Jem Roberts, Rob Zwetsloot
Text-/Schlussredaktion Birgit Lachmann, Sonja Sporrer
einem alten OS installierte und die Unterschiede Redaktionelle Mitarbeit Jürgen Donauer, Andreas Hitzig,
sehen konnte, sah alles viel besser aus.“ Artur Hoffmann, Dr. Martina Hornung,
„Ich hatte niemals den Eindruck, dass die alte Michael Schmithäuser, Matthias Semlinger
Autoren und Entwickler Dan Aldred, Adarsh Ambati, Brian Beuken,
Version viel schlechter wäre. Doch im direkten
Joe Birch, John Chinner, Mike Cook, PJ Evans,
Vergleich mit dem neuen Build dachte ich mir: Thomas Geers, Gareth Halfacree, Rosie Hattersley,
‘Wow, das sieht ja viel besser aus!’“ Dan Lambton-Howard, Davide Magni,
Martin Mander, Sean McManus, Alexander Marx,
Ash Puckett, Christoph Schmidt, Rob Zwetsloot
Grafik Stephanie Schönberger (Art Direction),
Dougal Matthews (Art Direction United Kingdom);
Unter der Haube Team Deutschland: Antje Küther (Ltg.),
Nicht alle Verbesserungen sind auf den ersten Veronika Zangl (verantwortlich)
Blick ersichtlich: „Wir nutzen nun OpenGL, um Team United Kingdom: Sam Alder (Illustrator),
den Desktop mit Hardware-Beschleunigung dar- Lee Allen, Mike Kay
DVD Ibrahim Altiparmak, Patrick Hannemann
zustellen“, erklärt Simon. „Als experimentelles
Feature existiert diese Funktion schon seit Jahren VERLAG UND REDAKTION
und konnte in der raspi-config aktiviert werden.
Anschrift CHIP Communications GmbH,
Nun ist sie in der Ausgangskonfiguration ein-
St.-Martin-Straße 66, 81541 München
geschaltet, wodurch Apps, die OpenGL unterstützen, Tel. +49 92 50-4500
deutlich schneller sein sollten. Auch OpenGL- Die Inhaber- und Beteiligungsverhältnisse
lauten wie folgt: Alleinige Gesellschafterin ist die
Spiele laufen nun direkt auf dem Raspberry Pi.“ Burda Tech Holding GmbH mit Sitz in der
„Besonders interessant: Wir bringen Buster St.-Martin-Straße 66, 81541 München
früher heraus als Debian selbst! Einige der Biblio-
Geschäftsführer Philipp Brunner, Andreas Laube
Verleger Prof. Dr. Hubert Burda
Besonders interessant: Director Sales Katharina Lutz, kalutz@chip.de
Sales Manager Catharina Lerch, clerch@chip.de

Wir bringen Buster früher Felicitas Heinecker, fheinecker@chip.de


Verantwortlich für AdTech Factory GmbH & Co. KG,
den Anzeigenteil Hauptstraße 127, 77652 Offenburg
heraus als Debian selbst! Doris Braß, doris.brass@adtechfactory.com
Herstellung Andreas Hummel, Frank Schormüller,
Medienmanagement, Vogel Communications
theken für die OpenGL-Beschleunigung arbeiten
Group GmbH & Co. KG, 97064 Würzburg
in ihren Buster-Versionen viel besser. Deshalb Druck Vogel Druck & Medienservice GmbH,
haben wir die früheren Versionen von Buster Leibnizstr. 5, 97204 Höchberg
mehrere Monate lang getestet und kamen zu dem Head of Marketing &
Distribution Katharina Eigler
Schluss, den Raspberry Pi 4 bereits mit Buster Vertrieb MZV GmbH & Co. KG, 85716 Unterschleißheim
auszuliefern. Das ergab mehr Sinn, als die ganze Internet: www.mzv.de
Arbeit in Stretch zu investieren. Buster befindet Kontakt Leserservice specials@chip.de
sich bei Debian bereits in der letzten Testphase © 2019 by CHIP Communications GmbH.
Nachdruck nur mit schriftlicher Genehmigung.
und wird höchstwahrscheinlich im nächsten Bezugspreise Einzelheft: 9,95 Euro;
Monat erscheinen. Somit ist unsere Vorgehens- Ausland: Österreich 11,50 Euro;
Schweiz 19,50 SFr; BeNeLux 11,50 Euro
weise nicht sonderlich risikobehaftet und führt
Nachbestellung chip-kiosk.de
letztendlich dazu, dass jeder Besitzer des Rasp- Jahresabo 54,80 Euro, Ausland: Österreich 69 Euro;
berry Pi 4 die neueste Version bereits ein wenig Schweiz 117 SFr; BeNeLux 69 Euro
früher bekommt als alle anderen!“ Abonnentenservice Abonnenten Service Center GmbH,
CHIP-Aboservice, Postfach 225, 77649 Offenburg,
Tel. 0781 6 39 45 26 (Mo bis Fr, 8 bis 18 Uhr),
Fax 0781 84 61 91, E-Mail: abo@chip.de,
kontakt@chip-kiosk.de
MagPi – das offizielle Raspberry Pi Magazin erscheint als Lizenzausgabe des MagPi Magazine der
Raspberry Pi (Trading) Ltd., 30 Station Road, Cambridge, CB1 2JH. Alle Inhalte dieses Hefts unterliegen,
sofern nicht anders gekennzeichnet, der Creative-Commons-Lizenz – Namensnennung –
Nichtkommerziell – Weitergabe unter gleichen Bedingungen 3.0 (CC BY-NC-SA 3.0).

magpi.de 05 • 2019 93
Feature MODELLEISENBAHN

MODELL-
EISENBAHN
P R OJ E K TE
Digital statt analog: Loks und Züge
mit dem Raspberry Pi steuern

D
ie Weichen für die Zukunft sind gestellt: Immer
mehr Eisenbahnfans springen auf den digitalen
Zug auf. Per Computer lässt sich eine Lokomotive
sanft beschleunigen und ohne Ruckeln vor dem Signal
abbremsen. Mehrere Züge unabhängig voneinander auf
dem gleichen Gleis steuern? Das geht auch!
Wie viele Menschen in Deutschland diesem Hobby
frönen, weiß niemand so ganz genau – bekannt ist nur,
dass die Modelleisenbahner 2017 rund 150 Millionen
Euro in ihre Anlagen und Züge investierten, so der
Bundesverband des Spielwaren-Einzelhandels. Für uns
Grund genug, Ihnen spannende Eisenbahnprojekte
vorzustellen, die auf dem preiswerten RasPi basieren.

94 05 • 2019 magpi.de
DIGITALE PROJEKTE Feature

STATIONEN
WÄHLEN SIE IHRE HALTESTELLE

ZUG- & LOK-


96 STEUERUNG

STEUERN & REGELN


97 ZUBEHÖR

98 LIONEL-BAHN
WENN PROFIS BASTELN

SMARTE STADT
99 LEGO UND IOT

100 STEUERN
PER XPRESSNET

101 WIMBORNE-
MODELLBAHN

magpi.de 05 • 2019 95
Feature MODELLEISENBAHN

DIGITALES STELLWERK
PÜNKTLICHE ABFAHRT: DER RASPI SORGT FÜR STÖRUNGSFREIE FAHRT

P
reiswert und flexibel: Mit dem Raspberry ist
es möglich, Modelleisenbahnanlagen ganz
nach den eigenen Wünschen aufzubauen und
zu programmieren – ideal für Bastler!

Rocrail | magpi.cc/WaTTaF
Züge lenken wie im echten Fahrbetrieb – und das
auch noch von einem Gleisbildstellpult aus? Mit
Rocrail ist das kein Problem. Das kostenlose Tool
bietet Ihnen unzählige Optionen – bis hin zur
vollautomatischen Kontrolle Ihrer Anlage. Dazu
verwenden Sie die blockbasierte Schnittstelle,
daneben besitzt Rocrail einen Webclient, um auf
die Anlage zuzugreifen. Apropos: Rocrail steuert
auch komplexere Anlagen mit Autos, Beleuchtung
und Zubehör. Deutsches Forum: bit.ly/2SS48mM.

JMRI (Java Model Railway Interface) läuft unter anderem


auf dem Raspberry Pi und steuert Ihre Modellanlage

JMR-Pi | magpi.cc/puVuFE
Bei dieser ambitionierten Lösung handelt es
sich um eine Portierung von JMRI, die speziell für
den RasPi konzipiert ist. JMRI wiederum ist eine
javabasierte Steuerungssoftware für Modell-
eisenbahnen und hat sich ebenfalls zum Ziel
gesetzt, plattformunabhängig zu arbeiten.
JMR-Pi ist allerdings keine schlüsselfertige
Lösung. Eigeninitative und Programmierkennt-
nisse sind erforderlich, um damit zum Ziel zu
kommen. Zudem benötigt man die Software
DecoderPro (siehe magpi.cc/wRpmek).
Mit Rocrail können Sie von verschiedenen Geräten aus per
Internet auf Ihre Modelleisenbahnanlage zugreifen

96 05 • 2019 magpi.de
DIGITALE PROJEKTE Feature

STEUERN
& REGELN
Zubehör für Modelleisenbahnen
Rocrail besitzt einen
Webclient. Das erlaubt die
Steuerung von jedem
beliebigen Standort aus

dccpi | magpi.cc/ZFMZBJ
Mit dem Protokoll DCC (Digital Command
Control) steuert man etwa Signale und Weichen
der Modelleisenbahnanlage. dccpi ist eine für
den Raspberry Pi entwickelte und optimierte SPROG
Python-Bibliothek, die Ihnen den Einsatz des sprog-dcc.co.uk
weit verbreiteten DCC-Protokolls ermöglicht. Ein HAT, mit dem man den Raspberry Pi in
Sie können mit dccpi die GPIO-Pins des ein DCC-Interface verwandelt
Raspberrys in Ihr Setup einbinden. dccpi setzt
aber eine weitere Komponente voraus – die
WiringPi-Bibliothek. Sie ist allerdings schon Digitrax Decoder
etwas älter und nicht mehr häufig im Einsatz. digitrax.com
Diese Decoder unter-
stützen das Bussystem
LocoNet von Digitrax

Hornby Elite
magpi.cc/mLFCkg
Etwas teuer, dafür
aber mit vielen
der vorgestellten
Programme kompatibel

T
Lassenipp:
im Fac Sie sich
berate hhand
e
n , b vor Sie l
Der Raspberry Pi benötigt eine Verstärkerschaltung, um
Signale an die Fahrspuren übermitteln zu können für ein e
e
entsch s der Syst sich
e em
Kompoiden. Nicht a e
n lle
untereenten sind
i
kompanander
tibel.

magpi.de 05 • 2019 97
Feature MODELLEISENBAHN

VON DER IDEE ZUM


MODELLBAHNBAU
Der Raspberry Pi inspiriert Eisenbahnmodellbauer zu
außergewöhnlichen Projekten und Anlagen

Lionel-Modelleisenbahn
magpi.cc/yiLZhx
Auch bei Dexter Industries, einem Unternehmen,
das Roboter für Bildungseinrichtungen und
Privatleute entwickelt, arbeiten begeisterte Eisen-
bahnmodellbauer. Sie haben eine umfangreiche
Dokumentation verfasst, die sich detailliert mit
der Steuerung einer Modelleisenbahn beschäftigt.
Der Arduino und der Raspberry Pi spielen dabei
eine maßgebliche Rolle.
Bei diesem Projekt sind viele Komponenten im
Spiel: ein Arduberry, ein Wi-Fi -Dongle, ein Arduino
Relay Shield und ein Electric Remote FastTrack
Lionel Switch. Schienensystem und Züge stammen
vom US-Modellbahnhersteller Lionel. Unter dem
angegebenen Link (oben) finden Sie alle Details.

Die Relais in der


Modellanlage müssen
bei diesem Projekt mit
20 Volt Wechselstrom
umgehen können

98 05 • 2019 magpi.de
DIGITALE PROJEKTE Feature

Mein Internet of Lego ist ein sich ständig


wandelndes Projekt, bei dem ich viel über
das Internet der Dinge (IoT) lerne

Internet of Lego
internetoflego.com
Lego City ist eine Stadt in England mit eigenem
Bürgermeister, eigenem Transportsystem und
einer Besonderheit. Als graue Eminenz wacht Cory
Guynn über die Geschicke der Bewohner, die durch
die LED-illuminierte Stadt wuseln: „Ich bin mit
Legosteinen und Modelleisenbahnen aufgewach-
sen“, erzählt uns Cory, der sich intensiv mit dem
Internet of Things (IoT) beschäftigt. „Da lag es
nahe, beides zu verbinden – meine Begeisterung
für Elektronik und Coden sowie Lego.“
Das Resultat ist eine Stadt mit Eisenbahn und
einem ausgefeilten Steuerungssystem auf Basis
von Node-RED, einer grafischen Programmier-
umgebung. Die Eisenbahn bezieht ihre Daten von
Mehrere Raspberrys und Arduinos arbeiten in dieser
hochkomplexen Installation und steuern die Abläufe der Transport-for-London-API. Die aktuellen An-
in der Stadt – dazu gehört auch das Transportsystem und Abfahrtszeiten sowie die Zielstation werden
den Stadtbewohnern per OLED-Screen angezeigt.

magpi.de 05 • 2019 99
Feature MODELLEISENBAHN

Es ist eine großartige und lehrreiche


Sache, sich in die Tiefen der Elektronik
und des Codes zu begeben

Kennen Sie den Hall-Effekt?


Im Projekt von Peter Wallen
lernen Sie, wie man ihn bei
einer Modellbahn nutzt

Ein Raspberry am Steuerpult


der Modelleisenbahn
magpi.cc/FXtwjt
Sie sind ein ambitionierter Elektronikbastler und
steigen gerne tief in die Programmierung ein? Dann
hätten wir ein sehr hardwarenahes Projekt für Sie,
das sich mit der Steuerung einer Modelleisenbahn
befasst: Peter Wallen setzt in seinem Projekt auf
das XPressNet-Protokoll. Technisch gesehen
handelt es sich um eine RS485-Schnittstelle.
Derzeit beschäftigt sich Peter damit, wie man
Kommandos an einen DCC-Controller übermittelt
und wie sich die Zugposition auf der Strecke
feststellen lässt. Er setzt Python zur Steuerung
ein. Die Python-Skripte sind auf seiner Seite
dokumentiert und bei GitHub abgelegt.

100 05 • 2019 magpi.de


DIGITALE PROJEKTE Feature

Eine Modellanlage zum Staunen


magpi.cc/wScJqw
Wann begeistert uns eine Modelleisenbahnanlage am
meisten? Wenn sie so detail- und naturgetreu wie möglich
aufgebaut ist – etwa wie die Wimborne Model Town in
Dorset. Dort lässt sich eine große Modelleisenbahn
bewundern, die in eine Miniaturstadt eingebettet ist –
inklusive illuminierter Häuser und einer funktionsfähigen
Straßenbeleuchtung. Terry Coles, ein begeisterter
Hobbyeisenbahner, hat das Lichtsystem der Stadt so
konzipiert und elektrifiziert, dass es sich mit einem
Raspberry steuern lässt.
Auf der Anlage gibt es mehrere Arten von Lichtern: die
in den Gebäuden, die in den Straßen sowie den separaten
LED-Streifen, der sozusagen als Sonne über der Modell-
eisenbahn leuchtet. Damit das Ganze möglichst naturgetreu
wirkt, hat Terry für einen echten Tag-Nacht-Zyklus
gesorgt. Neigt sich der Tag dem Ende zu, werden die LEDs
gedimmt – so simuliert Terry den Sonnenuntergang. Das
Die Beleuchtung schaltet Simulationssystem und die Anlage sind in C programmiert
sich je nach Tageszeit ein und nutzen WiringPi.
oder aus

magpi.de 05 • 2019 101


Zubehör TEST

PIBUG 2WD
ROBOTER
4tronix magpi.cc/oUtoHY ca. 25 Euro
DATEN

MOTOREN:
2 × DC TT Ein zweirädriger, leicht zu bauender Roboter, der den
‘Yellow’-Moto-
ren, Verhältnis Raspberry Pi als Teil seines Fahrwerks nutzt
1:48, nominell
200 U/min an

D
6 V, mit JST-
Anschlüssen er jährliche Pi-Wars-Event inspiriert jedes ten: Die beiden Gleichstrommotoren werden an
Mal viele Menschen, sich mit Robotik zu Distanzmuttern aus Messing befestigt, was einen
STROMVER- beschäftigen; doch wie anfangen? Am bes- stabilen Rechteckrahmen ergibt. Man sollte darauf
SORGUNG: ten mit einem günstigen Einsteiger-Kit wie dem achten, dass die 30-mm-Muttern etwas andere
6 × AA Batterien
PiBug. Besonders gut gefällt uns, dass dieser zwei- Enden als die anderen Muttern haben – die runden
(nicht im Liefer-
umfang) rädrige Roboter den Raspberry Pi zu einem Teil des sollen unten landen.
Fahrwerks macht, sodass Sie kein separates Die andere Seite der Distanzmuttern schrauben
OPTIONALE Gehäuse kaufen oder bauen müssen. So lässt sich Sie mit zwei kurzen Distanzmuttern an zwei Mon-
SENSOREN: der Roboter einfach und schnell zusammenbauen; tagelöcher des Raspberry Pi. Das halbrunde Board
Linienfolger-
Löten ist nicht erforderlich. mit der Lenkrolle montieren Sie dann mit weiteren
Platine (2 ×
IR-Sensoren), Distanzschrauben vorne unter dem Pi. Soll der
Ultraschall So legen Sie los Roboter Linien verfolgen können, kann das nor-
HC-SR04P Online gibt es eine Schritt-für-Schritt-Anleitung male Lenkrollen-Board durch eines mit zwei Lini-
(magpi.cc/xDQQTw), die den Bau des PiBug ensensoren ersetzt werden (separat für rund 8 Euro
erklärt. Die Aktion dauert nicht länger als 30 Minu- erhältlich).

Aus diesen Teilen


entsteht der PiBug
– es fehlt nur noch
der Raspberry Pi

102 05 • 2019 magpi.de


PIBUG 2WD Zubehör

Zusammen mit etli-


chen Distanzmuttern
wird der Raspberry Pi
Teil des Fahrgestells

Der Raspberry Pi wird


Als Nächstes wird das Motor-Controller-Board auf
die GPIO-Stiftleiste des Pi gesteckt und mit weite- beim PiBug zu einem Teil
ren Distanzmuttern gesichert. Darauf kommt dann
der Batteriehalter mit sechs AA-Zellen. des Fahrgestells
Zum Schluss werden die Motoren per JST-Ste-
cker mit dem Motor-Controller-Board verbunden. PiBug per SSH über die Tastatur eines Remote-
Die Liniensensoren besitzen Stecker, die auf Pins Computers steuern können. Der Roboter ist ziem-
hinten am Motor-Controller-Board passen. Dann
bleiben noch sechs Pins übrig, die mit GPIO und
lich agil, bewegt sich flott und kann schnell die
Richtung ändern. Unserer lief nicht ganz gerade,
Fazit
Masse verbunden und beliebig verwendet werden doch man kann jederzeit den Code ändern und die
Der PiBug ist zwar
können, sowie ein Drucktaster auf der Platine. Ein Motoren kalibrieren. Auch der Start mit niedriger etwas teuer für
optionaler Ultraschall-Abstandssensor vom Typ Geschwindigkeit aus dem Stand klappte nicht einen Einsteiger-
HC-SR04P (zu etwa 3 Euro) wird über vier kleine immer, langsames Fahren im Anschluss an schnel- Bot, aber die Nut-
Löcher im Batterie-Board angeschlossen. les Fahren war jedoch kein Problem. Größere zung der Distanz-
Unebenheiten stellen den Roboter wegen der tief muttern und des
Raspberry Pi ist
Ziemlich gute Leistung angebrachten Lenkrolle ebenfalls vor Herausforde-
genial und sorgt
Nach dem Einschalten und Booten können Sie rungen. Für einen Einsteiger-Roboter funktioniert für ein cooles
bereits damit beginnen, mit der PiBug-Python- der PiBug aber gut und macht viel Spaß. Wer mag, Aussehen.
Bibliothek zu programmieren. Drei Beispiele hel- kann anhand der Python-Bibliothek Code für

8
fen Ihnen beim Einstieg. Neben Code zum Testen autonomes Fahren entwickeln, der die optionalen
des IR-Linienfolgers und der Ultraschallsensoren Sensoren zur Hinderniserkennung und zum Ver-
ist auch ein Programm an Bord, mit dem Sie den folgen von Linien nutzt. /10

magpi.de 05 • 2019 103


Zubehör TEST

Enviro+
Pimoroni magpi.cc/ppkiiN ca. 48 Euro

Mit diesem Board können Sie viele Daten


über Ihre Umwelt erfassen

D
DATEN er Enviro+ entstand in Zusammenarbeit Jede Menge Sensoren
mit Dr. Nate Adams, einem Molekular- Ein weit von der Raspberry-Pi-CPU entfernt
SENSOREN: biologen der Universität Sheffield. Er links am Board angebrachter Wettersensor vom
BME280: Tem- macht aus dem Raspberry Pi eine Umwelt-Mess- Typ BME280 misst Temperatur, Luftdruck und
peratur/Druck/ station. Zu diesem Zweck bringt er vier Sensoren Luftfeuchtigkeit. Es ist allerdings dennoch erfor-
Feuchtigkeit; mit, von denen einige multifunktional sind, derlich, die aufgezeichneten Temperaturwerte
LTR559: Licht/
sodass jede Menge nützliche Daten erfasst wer- durch Messung der CPU-Temperatur und Ermitt-
Näherung;
MEMS-Mikro; den können – einschließlich Daten zur Luftquali- lung eines geeigneten Faktors anzupassen.
MiCS-6814: Gas tät. Darüber hinaus kann das winzige LC-Display Ein Licht- und Näherungssensor vom Typ LTR-
in Setups ohne Monitor sehr nützlich sein und 559 misst die Helligkeit in der Umgebung und
DISPLAY: die Messdaten anzeigen. Zusätzlich lässt sich erweist sich als brauchbarer Ersatz für einen
0,96-Zoll-Farb-
LCD (160 × 80) auch noch ein Partikelsensor anschließen (nicht Taster: Er lässt sich auslösen, indem man den
im Lieferumfang enthalten). Finger darauflegt. Ein winziges MEMs-Mikro
OPTIONALER Wie schon der noch erhältliche Enviro pHAT misst Geräusche, das ist praktisch für die Mes-
SENSOR: weist auch das neue Board den schmalen pHAT- sung von Lärm und zum Aufzeichnen von Audio.
Plantower
Formfaktor des Raspberry Pi Zero auf, lässt sich Am interessantesten ist jedoch der analoge
PMS5003
aber mit jedem Raspberry Pi verwenden. Löten Gas-Sensor vom Typ MiCS6814, der drei unter-
entfällt, da das Board mit einer GPIO-Buchsen- schiedliche Gruppen von Gasen erkennen kann:
leiste bestückt ist. Dem Enviro+ fehlen die Bewe- reduzierende, oxidierende und NH3 (Ammoniak).
gungssensoren der alten Version, er eignet sich Auch wenn Gase der ersten beiden Gruppen nicht
daher nur für Umweltmessungen. unterschieden werden können, sind die wich-
tigsten unter ihnen Kohlenmonoxid (reduzie-
rend) und Stickstoffdioxid (oxidierend).
In der Nähe des Gas-Sensors befindet sich ein
Anschluss für einen Partikelsensor, den Plan-

Der Enviro+ verfügt über


diverse Sensoren zur Mes-
sung von Umweltdaten und Der separat erhältliche Sensor PMS5003 misst die Luftpartikel mit
zeigt sie auf seinem Display bis zu 1, 2,5 und 10 Mikrometer

104 05 • 2019 magpi.de


ENVIRO+ Zubehör

Auf der Rückseite des


Boards sind die bereits
bestückte GPIO-Buch-
senleiste und der
Anschluss für den
optionalen Partikelsen-
sor zu sehen

tower PMS5003 (separat für rund 30 Euro erhält- Zoll-LC-Display. Es ist zwar klein, eignet sich
lich). Er kann Partikel bis zu einer Größe von aber bestens, um vor Ort ohne Monitor Daten
1 Mikrometer (ultrafein), 2,5 Mikrometer (Ver- anzuzeigen. Es kann sogar einige ansprechende
brennungspartikel, organische Verbindungen, scrollende Graphen darstellen, wie in einem der
Metalle) und 10 Mikrometer (Staub, Pollen und Python-Codebeispiele zu sehen ist.
Schimmelsporen) erkennen. Außerdem besitzt
das Board eine Reihe von neun unbestückten Skripte zur Umweltüberwachung
Lötaugen, die einige GPIO-Pins nach außen füh- Die Enviro+-Python-Bibliothek für das Board
ren. Den krönenden Abschluss bildet das 0,96- umfasst mehrere Codebeispiele. Zur Installation
sind lediglich drei Terminalkommandos notwen-
dig. Das Installations-Skript aktiviert I2C, SPI
und die serielle Schnittstelle des Raspberry Pi,
deaktiviert den seriellen Port und stellt eine
mini-UART-Schnittstelle für den optionalen
Partikelsensor PMS5003 bereit. Die Konfigura-
tionsänderung können Sie später per Deinstalla-
tions-Skript rückgängig machen.
Das beeindruckendste Codebeispiel ist
all-in-one.py, das die meisten Funktionen des Fazit
Boards demonstriert und die meisten Sensoren
Das Board eignet
mit Ausnahme des Mikros ausliest und sie dann sich perfekt für
als scrollenden Graphen auf dem Mini-Display den Aufbau eines
anzeigt. Um zwischen verschiedenen Werten zu Projekts zur Luft-

Aktivisten-Netzwerk wechseln, tippen Sie mit dem Finger auf den


Helligkeitssensor. Ein weiteres Codebeispiel
qualitätsüberwa-
chung. Es bietet
Luftdaten ist ein Open-Data-Projekt mit einem weltwei- auf kleinem Raum
macht Sie zum Bürger-Wissenschaftler, indem es
ten Netz von Aktivisten, die die Luftqualität in ihrer eine Vielzahl von
Live-Daten von BME280 und PMS5003 an die Sensoren samt
Umgebung überwachen. Mit einem Enviro+ können Sie
Open-Data-Luftqualitätsüberwachungs-Web- LC-Display zur
sich daran beteiligen. Starten Sie das Codebeispiel
luftdaten.py, registrieren Sie sich auf der Webseite
seite Luftdaten hochlädt. Anzeige der Daten.
(einschließlich der von Ihrem Raspberry Pi angezeigten Der Enviro+ mag für einen pHAT teuer sein,
bringt aber viele nützliche Sensoren mit, die

9
ID), und Sie können die Daten beisteuern, die vom ein-
gebauten Wettersensor BME680 und dem optionalen nach unserer Schätzung allein rund 50 Euro kos-
Partikelsensor stammen. Sie erscheinen dann in der ten – und das in einem handlichen Paket samt
Weltkarte auf der Webseite.
coolem LC-Display zur Anzeige der Daten. /10

magpi.de 05 • 2019 105


Zubehör LIBREELEC 9.0

LibreELEC 9.0 Leia


LibreELEC libreelec.tv Free
DATEN

KODI-VERSION:
18 „Leia“ Die neueste Version des Kodi-OS bringt das Top-Feature von Kodi 18
KOMPATI- mit: Retro-Game-Emulatoren
BILITÄT:

W
Alle Raspberry-
ir testen sehr gerne neue Kodi-Versio-
Pi-Versionen
nen und ihre Funktionen. Der Raspberry
INSTALLATION: Pi treibt Mediacenter auf der ganzen
Grafischer Welt an, und wir sehen uns an, wie sie davon pro-
Assistent oder
fitieren. Bei der Entwicklung von Kodi gibt es
brennbares
Image Änderungen, dies könnte also das letzte Mal sein,
dass wir eine Version mit einer Nummer testen, in
EMULATOR- diesem Fall LibreELEC.
API: LibreELEC 9.0 ist die neueste Version unseres
Libretro
Lieblings-HTPC-OS für den Pi und bringt Kodi 18
IMAGE- mit. Neben den üblichen kleineren Verbesserungen
GRÖSSE: und einem Update für die Einstellungen besteht
123 MByte der echte Vorteil des neuen Kodi in dem nativen
Support für Retro-Game-Emulatoren.

Noch nicht perfekt


Schon seit Jahren konnten Sie mit Kodi spielen.
Von Kodi selbst wurde das jedoch nicht unter-
Nicht alle Emulatoren laufen so gut wie gewünscht – unser Blade-
stützt, sondern man musste die richtigen Add-ons Buster-Homebrew ruckelte und zeigte ausgewaschene Farben
installieren. Das ist jetzt alles anders, denn in Kodi
ist nun in Libretro integriert, und diese Bibliothek zumindest meinen, wenn man sich den prakti-
unterstützt eine Vielzahl beliebter Konsolenemu- schen neuen Games-Eintrag im Menü ansieht.
latoren und Controller-Mappings. Über dieses Menü können Sie all diese Game-
Das gewohnte Inter- Da müsste es doch einfach sein, die Add-ons für Emulatoren installieren. Das war’s aber auch
face ist noch immer
vorhanden Kodi und LibreELEC hinzuzufügen – sollte man schon. Spiele lassen sich
nur starten, indem man in
die Einstellungen im Datei-
manager geht und dort zum
Fazit
passenden ROM navigiert
Im Prinzip funktio-
– ziemlich umständlich! niert die Spiele-
Dies soll aber nur vorü- emulation, sie ist
bergehend so sein, künftig, aber noch nicht
so heißt es, bringt Kodi auch wirklich integriert.
einen Spielebrowser mit. Zum bequemen
Abspielen von
Derzeit jedoch bleibt in
Musik oder Videos
puncto Medien alles beim
gibt es allerdings
Alten. An die Spielbarkeit nichts Besseres.

7
sollte man also zum jetzi-
gen Zeitpunkt noch keine
allzu hohen Erwartungen
knüpfen. /10

106 05 • 2019 magpi.de


Gewinnspiel! Jet
zt mitmachen un
d tolle Preise ab

2/2019

W IS SE N
räumen!

WISS EN
2/2019
M Ä R Z/A P RIL
2019
6,90 Euro

Faszination
Wissenschaft Wie der Mensch
das Wetter
beeinflusst
RFID-Rucksack Safe
• Diebstahlsicherer Rucksack mit RFID-
Blocking
• Verstellbare S-förmige Schultergurte,
bequeme breite und weiche Schulterriemen,
ergonomisch gepolsterte Rückseite, wasser-
SP IT ZE N abweisendes und kratzfestes Nylon
LEISTUNGEN
• USB-Ladeanschluss zum Aufladen Ihres
Handys
• UVP: 69,00 €, Zuzahlung nur 1 €

ÖS T ERREI CH:
TOP-
PRÄMIE
EUR 6,90
S CH W EIZ: CHF
10,90
LUXEM BURG:
EUR 7,50

6 x CHIP WISSEN
+ tolle Prämie sichern!
Ihre Vorteile
Kostenlose Lieferung Kein Heft verpassen Gratis Ausgabe*
Ausfüllen und abschicken oder unter services.chip.de/abo/c-wissen bestellen
So einfach können Sie bestellen:
(Telefon) 0781-639 45 26 | (Fax) 0781-846 19 1 | (E-Mail) abo@chip.de | (URL) services.chip.de/abo/c-wissen
Weitere Angebote finden Sie unter: www.chip-wissen.de
Sie haben ein gesetzliches Widerrufsrecht, die Belehrung können Sie unter www.chip-kiosk.de/widerrufsrecht abrufen.

Ja, ich bestelle: 6 x CHIP WISSEN für nur 39,90 € (inkl. MwSt. + Porto) Ich verschenke das Abo an:
für mich (W19WA08P15)
als Geschenk (W19WA08G16) Name, Vorname des Beschenkten

Zunächst für ein Jahr (6 Ausgaben). Die Prämie erhalte ich umgehend nach Zahlungseingang. Das Abo kann ich nach
Ablauf des Bezugszeitraums jederzeit wieder in Textform kündigen. Das Geschenkabo endet automatisch nach Ablauf des
Bezugszeitraums. Das Angebot gilt nur in Deutschland und solange der Vorrat reicht. Auslandskonditionen auf Anfrage. Alle
Preise inkl. MwSt. und Versand. Bei Fragen hilft unser Aboservice unter 0781/6394526 oder abo@chip.de gerne weiter. Straße, Haus-Nr.

PLZ, Ort
Name, Vorname
Ich bezahle bequem per Bankeinzug, erhalte eine Ausgabe gratis vorab und meine Prämie sofort. SEPA-Lastschriftmandat:
Ich ermächtige die CHIP Communications GmbH, wiederkehrende Zahlungen von meinem Konto mittels Lastschrift einzuzie-
hen. Zugleich weise ich mein Kreditinstitut an, die vom Verlag auf mein Konto gezogenen Lastschriften einzulösen. Hinweis:
Straße, Haus-Nr. 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
PLZ, Ort IBAN Ihre BLZ Ihre Konto-Nr.
Zahlungsempfänger:
CHIP Communications GmbH, St.-Martin-Straße 66, 81541 München
Gläubiger-ID: DE11ZZZ00000186884 | Mandatsreferenz wird separat mitgeteilt.
Telefon/Handy Geburtsdatum
Mit folgender Kreditkarte: VISA Eurocard/Mastercard

E-Mail
Kreditkarten-Nr. Prüfnr.
Gültig bis:
und erhalte als Prämie dazu*:
Ja, ich bin interessiert am Empfang von interessanten Vorteilsangeboten aus den Bereichen Medien, Touristik, Telekommuni-
RFID-Rucksack Safe, zzgl. 1 € (CA65) kation, Finanzen, Versandhandel per E-Mail der CHIP Digital GmbH und CHIP Communications GmbH, beide: St.-Martin-Straße
66, 81541 München. Hierzu werden meine Kontaktdaten für Werbezwecke verarbeitet. Teilnahme ab 18 Jahren. Einwilligung
jederzeit für die Zukunft widerrufbar. Durch den Widerruf der Einwilligung wird die Rechtmäßigkeit der aufgrund der Einwilligung
bis zum Widerruf erfolgten Verarbeitung nicht berührt. Weitere Informationen finden Sie in der Datenschutzerklärung.
Coupon ausschneiden und schicken an:
CHIP Aboservice, Postfach 225, 77649 Offenburg oder
im Internet bestellen unter: services.chip.de/abo/c-wissen
Datum Unterschrift
W19WA08P15; W19WA08G16
CHIP erscheint im Verlag: CHIP Communications GmbH, St.-Martin-Straße 66, 81541 München. Geschäftsführung: Philipp Brunner, Andreas Laube. Handelsregister: AG München, HRB 136615.
Die Betreuung der Abonnenten erfolgt durch: Abonnenten Service Center GmbH, CHIP Aboservice, Hubert-Burda-Platz 2, 77652 Offenburg. Der Verlag behält sich vor, Bestellungen ohne Angabe von Gründen abzulehnen.
Zubehör ÜBERSICHT

Top 10
Raspberry ZeroPhone

Pi Zero- Pi-Handy
Ingenieurskunst auf höchstem Niveau: Das ZeroPhone ist ein funk-

Projekte
tionstüchtiges Mobiltelefon auf Open-Source-Basis und braucht
lediglich einen Raspberry Pi Zero und eine SIM-Karte zum Betrieb.
Dein eigenes Gehäusedesign kommt aus dem 3D-Drucker.

ca. 55 Euro
magpi.cc/rXgkZf
Der kleinste Raspberry Pi im Einsatz

W Console-troller
ir lieben den Raspberry Pi Zero. In den ver-
gangenen Jahren haben wir den winzigen
Computer zum Herzstück zahlloser Elektro-
Spielkonsole im Controller
nik-Projekte gemacht. Jeder Maker sollte stets einen Pi
Zero dabeihaben, um schnell mal eine Idee realisieren Dieser smarte Controller entstand zum Launch des Pi Zero und ist
immer noch im Einsatz. Ein günstiger USB-Gamecontroller, ein paar
zu können. Die interessantesten Projekte mit dem
mechanische Anpassungen und ein wenig Lötarbeit reichen, um die
12-Euro-Computer finden Sie auf diesen Seiten.
Mini-Konsole mit der RetroPie-Software zum Laufen zu bringen.

magpi.cc/40
Trinity-Boje
Leuchtturm
Gästen heimleuchten
Diese für eine Hochzeit produzierten
Leuchtturm-Modelle aus dem
3D-Drucker leuchten nicht nur sehr
hell, sondern nutzen auch ein Display
im Sockel, um die Tischnummer und
den Fortschritt des Menüs anzuzei-
gen – sehr schick!

magpi.cc/dUiqTP

The Seeing Wand


Smarter Zauberstab
Mit seinem PVC-Gehäuse sieht dieser Pointer extrem nach
Selbstbau aus – doch er erfüllt seinen Zweck. Das Kameramodul
des Raspberry Pi kann in Verbindung mit den Routinen der
Microsoft Cognitive Services erkennen, worauf der Anwender
den Pointer gerade richtet.

magpi.cc/pfpPwB

108 05 • 2019 magpi.de


RASPBERRY PI ZERO-PROJEKTE Zubehör

Zoe the Zero


Winzige Flugmaschine
Diese kleine Drohne wurde mit einem Raspberry Pi Zero in Rekordzeit gebaut.
Andy Baker vollendete den Multicopter binnen einer Woche. Leider ist Andy
kürzlich verstorben, doch seine faszinierenden Projekte mit dem Raspberry Pi
bleiben immer in Erinnerung.

magpi.cc/piDYPq

Arribada-Initiative
Grüne Meeresschildkröten beobachten
Naturschutz ist eine wunderbare Sache. Die Arribada-Initiative ver-
wendet auf dem Pi Zero basierende Kamera-Tracker, um grüne
Meeresschildkröten zu überwachen. Die vom Aussterben bedrohte
Art leidet besonders unter alten Fischernetzen, sodass die Beob-
achtung lebensrettend sein kann.

magpi.cc/NDiSwn

PolaPi-Zero
Mini-Sofortbildkamera
Polaroid-Kameras erleben eine Renaissance.
Deshalb sind auf Digitalkameras basierende
Emulatoren angesagt. Ein Beispiel von vielen
3D Body Scanner ist die PolaPi-Zero, die Fotos über einen
integrierten Thermodrucker ausgibt.

Jede Menge Kameras magpi.cc/ubWKNK


Das Beste am Raspberry Pi Zero
sind seine Kompaktheit und der
günstige Preis. Somit lassen sich
viele Einheiten für ein Projekt wie
diesen Körperscanner einsetzen,
der fantastische 3D-Fotos macht.

magpi.cc/Vrdgov

TinyPi Pro
Micro-Konsole
All-in-one Computer Mouse
In diesem Selbstbau-Projekt ver-
wandelt sich ein Raspberry Pi
Zero in eine winzige Handheld- Zero im Mauspelz
Spielekonsole. Sie ist nicht Das Aufwerten von Geräten mit einem Pi Zero ist der Traum vieler
besonders benutzerfreundlich, aber Entwickler. Einer davon hat eine Maus aus dem 3D-Drucker mit
extrem cool. Schon der Aufbau einem Pi, einem Display und einer ausziehbaren Tastatur kombiniert.
bereitet sehr viel Spaß. So wird die Maus zum vollwertigen Computer.
pi0cket.com magpi.cc/kEzDbf

magpi.de 05 • 2019 109


Zum Schluss BÜCHER

Nützliche Apps Smart Home mit


So überprüfen Sie Ihre
DSL-Verbindung und openHAB 2
verwalten den Router:
Marianne Heimautomation – ohne Frage

AUTOR
DSL HILFE Spiller ein komplexes Thema, das
Preis: kostenlos Verlag: Einsteigern viel abverlangt.
Android: Ja Rheinwerk Mit ihrem hervorragend
iOS: Ja Preis: strukturieren Buch, das den
Info: Unterstützt 39,90 Euro
Schwerpunkt auf OpenHAB 2
auch die FritzBox ISBN:
978-3-8362-
legt, liefert Marianne Spiller
Ein einfaches Tool 5976-7 einen umfassenden Überblick.
für Einsteiger, Info: Glücklicherweise bleibt es
mit dem man seinen DSL-Zugang bit.ly/2MkXog8 nicht bei einer abstrakten
überprüfen kann. Es unterstützt Sie Schilderung von Applikationen, auch Details wie die optimale
insbesondere bei der Konfiguration Protokollen oder technischen Platzierung eines Temperatur-
von Telekom-Routern und hilft Ihnen, Systemen. Vielmehr dreht sich differenzsensors. Unser
das WLAN zu optimieren. Informativ: auf rund 500 Seiten alles um Urteil: Wer sich ernsthaft
der integrierte WLAN-Ratgeber mit konkrete Lösungen in der mit OpenHAB befassen will,
Tipps und fachlichen Erläuterungen. Praxis, etwa dem Zusammen- kommt an diesem Buch nicht
spiel von OpenHAB mit der vorbei – schon allein, weil es
FritzBox, Philips Hue oder viel Zeit bei der Recherche im
BOXTOGO PRO dem Raspberry. Dazu gehören Internet erspart.
Preis: 4,99 Euro
Android: Ja
iOS: Nein
Info: Bereits die
kostenlose Version ist
sehr leistungsstark

Eine der besten und


d funktions-
funktions
Calliope mini:
reichsten Apps, um die FritzBox
aus der Ferne zu steuern oder Coden, basteln, entdecken
abzufragen. Taugt auch fürs Smart
Home: Mit BoxToGo lassen sich Philip Kinder für Elektronik des Einplatinencomputers
AUTOR

ebenso Schaltsteckdosen und Kiefer und Computertechnik zu kennen, bevor es ans


Heizungsthermostate steuern. Verlag: begeistern ist schwierig – Programmieren geht.
Vierfarben schließlich locken Smart- Auch „Open Roberta Lab“
Preis: phone und farbenfrohe (ursprünglich als Fraunhofer-
19,90 Euro
NETWORK PC-Spiele. Genau dort bringt Bildungsinitiative gestartet)
ISBN:
ANALYSER PRO 978-3-8421-
sich „Calliope mini: Coden, kommt vor. Mit dieser
Preis: 3,99/4,49 Euro 0493-8 basteln, entdecken“ auf grafischen
Android: Ja Info: didaktisch clevere Weise Programmier-
iOS: Ja bit.ly/2Yo6k6A ins Spiel: In lockerem Ton umgebung
Info: Bietet volle und reich bebildert öffnet kann man auch
IPv6-Unterstützung
das Buch ein Tor zur Welt des Legoroboter
Mit diesem LAN- und WI-FI-Scanner Calliope, dessen Platine ab steuern.
messen Sie die Signalstärken in Werk mit Sensoren, LEDs und Fazit: Ein
Ihrem lokalen Netzwerk (LAN), lesen einem Piezo-Lautsprecher schönes
IP- und MAC-Adressen von Geräten bestückt ist. Grundschüler Einstiegs-
aus oder prüfen die Download- und lernen zunächst in kleinen buch für
Upload-Geschwindigkeit. Schritten und in aller wissbegie-
Ausführlichkeit die Hardware rige Kinder.

110 05 • 2019 magpi.de


EMPFEHLUNGEN Zum Schluss

Arduino: Wofür steht das


Kürzel HDMI?
Praxiseinstieg Der neue RasPi 4 verfügt
Thomas Wer sich mit dem Raspberry über zwei HDMI-Anschlüsse
AUTOR

Brühlmann beschäftigt, kommt auf Dauer im Mini-Format. Diese


nicht an dem Mikrocontroller
Seiten erläutern, wie man
Verlag: Arduino vorbei. Die beiden
mitp ergänzen sich perfekt, wenn
HDMI optimal nutzt:
Preis:
34,99 Euro
es um komplexe Elektronik-, nische Bauelemente wie etwa HDMI IN ALLER KÜRZE
ISBN: Robotik- oder Heimautoma- Dioden, Kondensatoren sowie Diese Seite liefert kurzgefasst die
978-3-7475- tionsprojekte geht. Wenn Sie Transistoren und widmet wichtigsten Infos zu HDMI. Dazu
0054-5 sich zu den ambitionierten sich dann den Projekten, die kommen Tipps zum Kauf von
Info:
Einsteigern zählen und sich teilweise sehr bastelintensiv HDMI-Kabeln und Lösungen für
bit.ly/2LJnBFx
anhand von konkreten sind. Diese werden ausführlich längere Übertragungsstrecken.
Beispielen in die Materie besprochen, inklusive bit.ly/2uY5YdF
einarbeiten wollen, ist das des benötigten Codes. Ein
vorliegende Buch genau weiterer Pluspunkt des gerade
das Richtige für Sie: Thomas aktualisierten Buchs ist sein
Brühlmann nimmt sich strukturierter Aufbau, wobei
Zeit, geht detailliert auf die gerade Einsteiger von den
Konfiguration des Arduino vielen farbigen Fritzing-
ein, erläutert diverse elektro- Diagrammen profitieren.
HDMI: VOR- UND NACHTEILE
Interessenten erfahren auf dieser
Seite, wie der HDMI-Standard
spezifiziert ist und welche Nachteile

Computer, Informatik,
es gegenüber SCART gibt. Dazu
kommen Erläuterungen zu anderen
Bildschirmschnittstellen.

Internet für Eltern bit.ly/2Mrqhau

DK-Verlag Hand aufs Herz: Können Sie


AUTOR

Ihren Kindern auf verständ-


Verlag:
Dorling Kindersley liche Weise erklären, wie zum
Preis: Beispiel Kryptowährungen
16,95 Euro oder Touchscreens funktio-
ISBN:
nieren? Oder welche Daten- SCHWARZE RÄNDER?
978-3-8310-
3714-8
übertragungsprotokolle Im Zusammenspiel zwischen RasPi
Info: beim Streaming sicherer und und HDMI kann es zu Problemen auf
bit.ly/2LIaWm8 zuverlässiger sind? Solche dem Monitor kommen (schwarze
und ähnliche Fragen spröden Themen noch eine Ränder), wenn Sie die Full-HD-
beantwortet die verdienstvolle gewisse Leichtigkeit verleihen. Auflösung nutzen. Hilfe gibt es unter
Für-Eltern-Reihe, die mit Die zugehörigen Sachtexte bit.ly/2KcEkOr
einem Mathematikband sind meist kurzgehalten, aber
startete. Das bewährte immer verständlich. Das Buch
didaktische Konzept wurde ist eine sinnvolle Ergänzung
beibehalten: Im Mittelpunkt zum Computerunterricht und
stehen gut durchdachte vermittelt auch jüngeren
Infografiken und zusätzliche Schülern solide technische
visuelle Elemente, die selbst Grundlagenkenntnisse.

magpi.de 05 • 2019 111


Zum Schluss TERMINE

Alle Termine
im Überblick
Aurich Hamburg Mo, 07.10.und Do, 10.10.2019
Do, 26.09.2019 CNC-Fräsen für Einsteiger
Fr, 13.09. bis So, 15.09.2019
Mit Hardware in der Grundschule Teil 1 und 2
Maker Faire im Nordwesten
programmieren Gollierstraße 70
Energie-, Bildungs- und
Für Lehrkräfte fablab-muenchen.de
Erlebniszentrum (EEZ)
Osterbusch 2 Mittelweg 155
makerspace-aurich.de digitalwerkstatt.de Fr, 11.10.2019
Beer, Jobs and IoT
Bayreuth Landau MVG-Museum
Sa, 05.10.2019 Sa, 21.09.2019 Ständlerstraße 20
Tag der offenen Tür Landauer Macherdaach #2 bit.ly/2TO9MXA
FabLab Bayreuth SüWeGa-Halle
Medicusstraße 3 Alter Meßplatz Di, 22.10.2019
fablab-bayreuth.de macherdaa.ch Programmieren mit Scratch
Termin-Infos Berlin Leverkusen
Für Lehrkräfte
Nymphenburger Straße 120
Do, 17.10.2019 Do, 26.09.2019 digitalwerkstatt.de
Roboter bauen & programmieren
Wir haben einen Programmieren lernen mit Python
Linienstraße 121
wichtigen Termin Probierwerk Leverkusen
Fr, 15.11. bis So, 17.11.2019
digitalwerkstatt.de
übersehen? Stauffenbergstraße 14 - 20
MINT-Mitmachmesse FORSCHA
codingschule.de
Dann schreiben Sie Bonn Das Entdecker-Reich
uns: Fr, 13.09.2019 MOC München
Klima findet Stadt
Linz Lilienthalallee 40
> specials@chip.de Mi, 02.10.2019 forscha.de/fo
Makerspace Bonn
Repair Café
Kennedyallee 18
Wüstenrotplatz 2
makerspacebonn.de
otelolinz.at Potsdam
Sa, 21.09.2019
Darmstadt
Fr, 13.09. bis So, 15.09.2019 Lippstadt Repair Café
Wissenschaftsladen Potsdam
MetaRheinMainChaosDays Mo, 16.09.2019
Programmieren in der Freidrich-Engels-Straße 22
(MRMCD) 2019
Grundschule machbar-potsdam.de
Technische Universität Darmstadt
Hochschulstraße 10 Für Lehrkräfte
mrmcd.net Geiststraße 1 Wien
digitalwerkstatt.de Fr, 18.10. bis Sa, 19.10.2019
Mi, 25.09.2019 Internet of Things –
KID-Forscherclub 2/2019 München Raspberry Pi 3+ mit Python: Basics
Viktoriaplatz 8 Mi, 11.09.2019 Berufsförderungsinstitut Wien
kinderuni-darmstadt.de Laserabend: Alfred-Dallinger-Platz 1
Einführung in das Arbeiten bfi.wien
Dortmund mit dem Laser-Cutter
Di, 05.11.2019 Gollierstraße 70
Mo, 28.10. bis Di, 29.10.2019
Programmieren lernen mit Python fablab-muenchen.de
Raspberry Pi for Beginners
Digitale Werkbank
Modecenterstraße 22
Hoher Wall 15 Do, 19.09.2019
nobleprog.at
codingschule.de 3D-Druck Kick off – alles, was Du
für Happy Printing wissen musst
Frankfurt/Main Gollierstraße 70 Zürich
Mo, 30.09. bis Mi, 2.10.2019 fablab-muenchen.de Sa, 26.10.2019
Herbstferiencamp: So, 06.10.2019 Fräskurs Basic
Little Explorers CoderDojo Zimmerlistraße 6
Für Kinder von 6 bis 7 Jahren Tumblingerstraße 29A zurich.fablab.ch
Heidestraße 145 Lilienthalallee 40
digitalwerkstatt.de erfindergarden.de/coderdojo

112 05 • 2019 magpi.de


VERANSTALTUNGEN Zum Schluss

Hamburg

Dortmund
Köln

RHEINLAND-
PFALZ
Darmstadt

München

Zürich

Wien

magpi.de 05 • 2019 113


Zum Schluss LESERBRIEFE Die n
Ausga ächste
be von

ersch
13. No eint am
vem
2019 ber

Party-Kanone No power, no fun! Ham Radio


(MagPi 4/2019, S. 76) (MagPi 4/2019, S. 26) (MagPi 4/2019, S. 84)
Sie empfehlen in Ihrem Beitrag In Ihrem Beitrag fällt das Ich bereite mich gerade auf die
für die Modellierung der Objekte Stichwort Geocaching. Meine Amateurfunkprüfung vor. Was
die 3D-Software Blender. Ich Frage: Könnte man den RasPi mir etwas Sorge bereitet: Falls
würde mich gerne in dieses eigentlich für den Bau eines mein Vermieter mir verbietet,
Programm einarbeiten. Hätten eigenen Caches verwenden? eine Antenne aufzustellen,
Sie eine Empfehlung für mich? Was wäre dabei zu beachten? was könnte ich tun?
Klaus Bürger per E-Mail Ute Hellwig per E-Mail Joachim Dörr per E-Mail

Blender ist ein hochkomplexes Eine spannende Frage, die wir an Wir drücken Ihnen die Daumen,
Programm – entsprechend steil die Geocaching-Fans in unserer dass es nicht dazu kommt und
ist die Lernkurve. Als Einstieg Redaktion weitergeleitet haben. Sie Ihre Antennen ortsfest
bieten sich zum Beispiel die Seite Deren Meinung: Fraglich ist, ob aufstellen dürfen. Falls nicht,
blender-handbuch.de oder das der Raspberry in der freien Natur bieten sich folgende Optionen
deutschsprachige Tutorial bei durchhält. Hauptproblem ist die an: Sie könnten etwa eine
YouTube an: bit.ly/2P3pcbA. Wer Stromversorgung. Schatzsucher Antenne auf dem Dachboden
sich umfassender informieren müssten wohl eine Powerbank einrichten, denkbar wäre
möchte, sollte sich „Blender 2.7: mitbringen. Nächste Hürde: Wie ebenso eine Empfangsanlage
Das umfassende Handbuch für isoliert man die Platine langfristig auf dem Balkon, etwa eine
die Praxis“ von Thomas Beck gegen Feuchtigkeit und Kälte? Magnetic-Loop. Scheiden diese
Anspruchsvoll: Blender zulegen. Das Buch ist im Verlag Ohne massives, wetterfestes Varianten aus, sollten Sie den
hat sich im Laufe
der Jahre zu einem
Rheinwerk unter der ISBN- Gehäuse geht nichts. Eine solche Fokus auf eine Antenne für den
hochprofessionellen 3D- Nummer 978-3836244541 Box lässt sich nicht ohne Weiteres Innenraum oder eine portable
Programm entwickelt.
Wer es beherrschen will, erschienen und kostet 49,90 Euro. verstecken. Eigentlich kommt Lösung fürs Auto legen. Wer
kommt an Fachliteratur nur der Pi Zero W in Frage – wegen seine Antenne selbst bauen
nicht vorbei
der Größe und der geringen möchte – im Übrigen ein tolles
Leistungsaufnahme. Wer ein Experimentierfeld für Funk-
Haus oder Garten sein eigen amateure – dem empfehlen wir
nennt, hat andere Optionen: So diese ausführliche Anleitung:
könnte man etwa einen getarnten bit.ly/2KGJFPd. Wenn alle
Brief- oder Stromkasten an der Stricke reißen, bleibt Ihnen
Außenwand montieren, inklusive eine weitere Möglichkeit,
eines Groundspeak-Aufklebers um Ihrem Hobby zu frönen,
und eines Hinweises im Cache- nämlich der sogenannte
listing. Und vor dem Legen des Remote Betrieb via Internet,
Caches sollte man unbedingt siehe bit.ly/31NrvB3. Auch der
diese Seite konsultieren: DARC bietet entsprechende
www.gc-reviewer.de. Stationen an: bit.ly/2NfrTUV.

Gerade für
Schreiben Sie uns Amateur-
funker in der
Stadt wird
es immer
Sie möchten uns etwas zum schwieriger,
MagPi-Magazin mitteilen? eine Antenne
aufzustellen.
Kontaktieren Sie die Redaktion via Ein Ausweg
> specials@chip.de kann etwa
eine Remote
Station sein

114 05 • 2019 magpi.de


Im CHIP Kiosk finden Sie alle Produkte aus
dem Hause CHIP. Magazine und Specials
– gedruckt oder digital. Als Einzelheft oder Abo.

Der ultimative
www.chip-kiosk.de

Heimnetz-Guide 2020
WLAN • Fritz!Box • NAS
2 Vollversionen + E-Books + Videos

NEU!
Mit virtueller
DVD
Für ALLE Geräte, auch
ohne Laufwerk

Jetzt bestellen.
www.chip-kiosk.de/heimnetz-2020
9Mehr als 110.000 Produkte
9Top-Preis-Leistungsverhältnis
9Hohe Verfügbarkeit und zuverlässige Lieferung
9Starke Marken und ausgesuchte Qualität
elektronik – The best part of your project

OJEKT:
reichelt.de @reichelt_el

Ü R I H R P R
DAS IS T D E R R I C
B
HTIGE F
E R RY PI 4
U E R AS P
DER NE
Raspberry Pi 4
mit 1, 2 oder 4 GB RAM
Der Raspberry Pi hat sich seit der ersten Veröffentlichung
Anfang 2012 weltweit schon millionenfach verkauft.
Doch der neue Pi übertrifft noch einmal alles!

Highlights:
1,5 GHz Quad-Core-CPU
microHDMI 4k@60fps
Gigabit LAN, WLAN AC, BT 5.0 Gigabit LAN
USB Type-C (5V/3A), USB 3.0

Bestell-Nr.: RASP PI 4 B 4GB

59,
Bestell-Nr.: DDR 4 RAM

NEU 50 RASP PI 4 B 1GB


RASP PI 4 B 2GB
37,50
46,50
1 GB
2 GB
RASP PI 4 B 4GB 59,50 4 GB

Gehäuse für Raspberry Pi 4 Kühlsatz für den Raspberry Pi 4


Diese robusten Gehäuse aus dem Hause Diese Kühlkörper sind mit einer wärmeleitfähigen
Raspberry Pi sind qualitativ hochwertig, Klebefolie zur einfachen Montage ausgestattet.
sowie einfach und schnell zu montieren.
4-tlg. Set mit Kühlkörpern
Maße: 89 x 71 x 26 mm für: CPU, RAM Chip,
USB Chip, Ethernet Chip
Bestell-Nr.: RASP 4 CASE RW (rot/weiß) flache Bauform
RASP 4 CASE BK (schwarz)

4, 20 NEU Bestell-Nr.:

je Hinweis: Dieses Gehäuse kann nicht für


ältere Raspberry Pi Versionen genutzt werden! RPI COOL 4XSI 1,90

Raspberry Pi Ladegerät Raspberry Pi - OS 3.1 Technik News im Magazin


Offizielles Stecker-Schaltnetzteil mit USB
SB Das Raspberry Pi OS Linux-Betriebs-
Type-C-Ausgang für den Raspberry Pi system vorinstalliert auf einer microSD-
und einer Vielzahl anderer Geräte. Karte (Class 10), inkl. SD-Karten-Adapter.
Ausgang: 5 V DC,
max. 3,0 A kompatibel mit:
Leistung: 15 W Raspberry Pi A, B,
A+, B+
Raspberry Pi 2, 3 & 4 Der neue Raspberry Pi 4
ist da — und übertrifft alle

je 8,60
Bestell-Nr.: (schwarz) Land Bestell-Nr.: (weiß) Land
Bestell-Nr.:
RASP OS 16GB
RASP OS 32GB
7,90
9,90
16 GB
32 GB
Erwartungen!

Jetzt lesen ► www.rch.lt/MG446


RPI PS 15W BK EU EU RPI PS 15W WT EU EU
RPI PS 15W BK AU AU RPI PS 15W WT AU AU SLETTER
JETZT NEW Stets als Erster informiert — Top-Angebote,
RPI PS 15W BK UK UK RPI PS 15W WT UK UK EREN!
N & PROFITI interessante Themen, Aktionen und Neuheiten
RPI PS 15W BK US US RPI PS 15W WT US US ABONNIERE
GLEICH ANMELDEN ► http://rch.lt/v3
Tagespreise · Preisstand: 20. 8. 2019

www.reichelt.de
Es gelten die gesetzlichen Widerrufsregelungen. Alle angegebenen Preise in € inklusive der gesetzlichen MwSt.,
zzgl. Versandspesen für den gesamten Warenkorb. Es gelten ausschließlich unsere AGB (unter www.reichelt.de/agb,
im Katalog oder auf Anforderung). Abbildungen ähnlich. Druckfehler, Irrtümer und Preisänderungen vorbehalten.
reichelt elektronik GmbH & Co. KG, Elektronikring 1, 26452 Sande, Tel.:+49 (0)4422 955-333 BESTELLHOTLINE: +49 (0)4422 955-333

Das könnte Ihnen auch gefallen