Sie sind auf Seite 1von 92

Auf DVD Die beste Software für den RasPi 0/1/2/3:

Raspbian, LibreELEC, Ubuntu und mehr

05-06/2018 • Mai / Juni 2018

Pi 3 Modell B+
Mehr Power, schnelleres LAN/WLAN, PoE-Option

Pi-Vameter
Labortaugliches Strommessgerät
auf Pi-Zero-Basis im Eigenbau

Indoor-Farming
Mini-Gewächshaus steuern und
via Teamviewer IoT überwachen

Logisim
Schaltungsdesigns am Rechner
entwickeln und austesten

Software für alle Fälle


Gast-WLAN mit RaspAP, sicherer Webserver Caddy,
Workshop SSH-Forwarding, Editoren Nano und Micro

9,80
WWW.RASPBERRY-PI-GEEK.DE EUR
Deutschland
A EUR 10,80 - BeNeLux EUR 11,25
CH sfr 19,60 - E / I EUR 12,75 4 198554 709800 06
Editorial

(R)Evolution?
Sehr geehrte Leserinnen und Leser,

dass der Raspberry Pi 3 trotz seiner hand-


lichen Größe und des minimalen Strom-
verbrauchs nicht eben der langsamste
Rechner ist, weiß jeder, der ihn regel-
mäßig nutzt. Bei mir zu Hause klebt er als
persönlicher Computer hinter einem
Jörg Luther
Monitor und läuft rund um die Uhr. Auf
Chefredakteur
ihm erledige ich alle Alltagsgeschäfte, in-
klusive des Schreibens und Redigierens
der Artikel, die Sie in jeder RasPi-Geek-
Ausgabe lesen. Daneben dient er aber raschend gut mit „richtigen“ Rechnern schen sich einen kompletten Genera-
auch zum Surfen, für E-Mail und Online- mithält, wie Intel-i7-PCs, Mac Minis oder tionswechsel, sprich: ein neues Modell,
Banking und was eben noch so alles an Macbooks. das leistungsfähigeren Konkurrenten
regelmäßigen Arbeiten anfällt. Über Umso schöner, dass die Foundation wie dem altbekannten Beaglebone Black
mangelnde Performance kann ich mich zum Pi Day (14.03. oder angelsächsisch oder flinken Newcomern wie dem
dabei nicht beklagen – OK, ich zocke 03/14) jetzt noch einmal eine Schippe Pine H64 oder RockPro64 (siehe Artikel
keine grafisch aufwendigen Shooter und nachlegt, in Form des Raspberry Pi 3 ab Seite 12) Paroli bieten kann. Das
schneide auch keine Videos. Modell B+ . Neben grundlegenden ginge wohl nur unter Verzicht auf die
Wie wenig sich der RasPi 3 in Sachen Neuerungen wie höherem Prozessortakt, Abwärtskompatibilität zu den bisheri-
Leistung generell vor anderen Rechnern Gigabit-Ethernet, 802.11ac-WLAN, Blue- gen RasPi-Generationen. Das wiederum
zu verstecken braucht, das beleuchtet tooth LE 4.2 und einer Power-over-Ether- scheuen die anderen wie der Teufel das
schlaglichtartig eine Testserie des schwe- net-Option via PoE-HAT glänzt er auch Weihwasser und hoffen, dass es beim
dischen Software-Entwicklers Marcus mit pfiffigen Detailverbesserungen wie Raspberry Pi weiter evolutionär vorwärts
Geelnard . Der wollte jüngst einmal einem ausgeklügelten Leistungs- und geht statt revolutionär. Ich gehöre zur
wissen, wie gut oder schlecht verschie- Wärmemanagement oder einem echten konservativen Fraktion – und Sie?
dene Betriebssysteme auf verschiedenen Power-Off über den optimierten RUN-
Plattformen grundlegende Aufgaben ab- Header. Erfreulicherweise bleibt der Herzliche Grüße,
wickeln – etwa das Starten von Program- Pi 3B+ dabei sowohl in Formfaktor und
men, Prozessen und Threads, das Zuwei- Technik abwärtskompatibel als auch
sen von Speicher oder das Erstellen von beim Preis: Er kostet keinen Cent mehr
Dateien. Die Resultate zeigen, dass der als der Vorgänger. Weitere Details be-
Raspberry Pi in Anbetracht seiner be- schreibt ein ausführlicher Artikel ab
schränkten CPU- und I/O-Leistung über- Seite 8, der auch erste Benchmark-
Ergebnisse umfasst.
Der neue RasPi 3B+ ist zweifellos der
leistungsfähigste und durchdachteste
aller Zeiten, aber ebenso zweifelsfrei
nicht mehr als eine Evolutionsstufe des
bisherigen RasPi 3. Das hat in der Redak-
tion für eine angeregte Diskussion ge-
sorgt: Wo bleibt der RasPi 4? Und wie
müsste der aussehen? Da scheiden sich Weitere Infos und
ganz klar die Geister: Die einen wün- interessante Links
www.raspi-geek.de/qr/40623

05-06/2018 www.raspberry-pi-geek.de 3
05-06

12 Auf der FOSDEM haben etliche


Hersteller ihre neuen SBCs gezeigt.
20 Mit der Secure Shell greifen Sie
auf sicherem Weg auf entfernte
Rechner zu. Dank SSH-Forwarding und 38 Ob der Strom fließt oder nicht,
sagt uns gleich das Licht. Alter-
Unsere Reporterin hat einen Streifzug dem Einsatz eines SSH-Agents sparen Sie nativ greifen Sie zu Logism, mit dem Sie
durch die Stände unternommen und sich bei diesem Zugriff einige Tipparbeit. Wir logische Schaltstrukturen nicht nur ent-
die aktuellen Trends angesehen. zeigen, wie Sie beides konfigurieren. werfen, sondern gleich virtuell testen.

Aktuelles Basics Software

Angetestet . . . . . . . . . . . . . . . . . . . . 6 Grundkurs Nano . . . . . . . . . . . . . . 16 RaspAP . . . . . . . . . . . . . . . . . . . . . . 30


Netzwerkschnittstellen-Monitor Bmon 4.0 Der Texteditor Nano gibt sich im Namen Mit der Distribution RaspAP verwandeln Sie
für die Konsole, Lesezeichen-Erweiterung demonstrativ bescheiden. Doch der erste im Handumdrehen einen Raspberry Pi in
Goto 1.2.0, Komfort-History Hstr 1.24 für Eindruck täuscht, denn das kleine Programm einen lexiblen WLAN-Access-Point.
Bash und Zsh, Headless-RasPis automatisch beweist im Alltag Größe.
überwachen mit Phpservermon 3.2.0 Editor Micro . . . . . . . . . . . . . . . . . . 34
SSH-Forwarding . . . . . . . . . . . . . . . 20 Gerade kleine Texteditoren für die Konsole
Raspberry Pi 3B+ . . . . . . . . . . . . . . . 8 Wer mit der Secure Shell arbeitet, der verfügen oft über erstaunliche umfang-
Der neue RasPi 3 Modell B+ erfüllt einige braucht sich beim Login nicht die Finger reiche Fähigkeiten – da macht auch der
langgehegte Wünsche der Community: Mehr wundzutippen. Ein paar Einträge in der Nano-Ableger Micro keine Ausnahme.
CPU-Power, Gigabit-LAN, 802.11ac-WLAN Koniguration sparen viel Arbeit.
und PoE sind nur die Spitze des Eisbergs. Logisim . . . . . . . . . . . . . . . . . . . . . . 38
Man/Info . . . . . . . . . . . . . . . . . . . . 24 Digitale Schaltungen mit Bleistift und Papier
Informationen zu Kommandos oder zu zu zeichnen, gerät auf die Dauer umständ-
Report Systemfunktionen inden sich im Zweifelsfall lich. Mit Logisim entwerfen Sie elektronische
per Suchmaschine im Internet. Schneller und Designs und testen diese auch direkt.
FOSDEM . . . . . . . . . . . . . . . . . . . . . 12 zuverlässiger helfen aber Man und Info wei-
Auf der Brüsseler Entwicklerkonferenz prä- ter – selbst wenn Sie gerade oline arbeiten.
sentieren sich alljährlich zahlreiche Projekte.
Mit zwei neuen SBCs von Pine64 und dem
Open-Source-Router Turris Omnia gibt es
interessante Alternativen zum Raspberry Pi.

6/201s 8
05-0un
90 Nur mit einem optimalen
Betriebssystem und den rich-
tigen Tools nutzen Sie das volle Poten-
d Tool
Distros
zum Durchsta
rten

zial des RasPi. Die passende Software


dazu inden Sie auf der Heft-DVD.

4 05-06/2018
48 Wer vertrauliche Daten via Web-
server verteilt, der achtet besser
54 Wo der Strommesser aus dem Bau-
auf verschlüsselte Verbindungen. Mit
Caddy vereinfacht sich die Integration von
Zertifikaten soweit, dass selbst Einsteiger
markt versagt, springt das selbst-
gebaute Pi-Vameter ein, um nicht nur prä-
zise, sondern auch über die Zeit Daten zu
76 Haben Sie die Entwicklung abge-
schlossen, eignet sich in vielen
Fällen ein kleiner Controller als I2C-Master.
die komplexe Materie stemmen. erheben und übersichtlich anzuzeigen. Das spart Kosten und vor allem Strom.

Software Hacks Open Hardware

Raspberry Digital Signage . . . . . . 44 Pi-Zero-Messmodul . . . . . . . . . . . . 54 WDLabs Mediastick. . . . . . . . . . . . 72


Kiosksysteme zur Anzeige von Informationen Es gibt Situationen, die das genaue Messen Mit dem Mediastick von Western Digital
sind in Anschafung, Betrieb und Wartung von Strom und Spannung über die Zeit verpassen Sie einem Fernseher auf einfache
meist teuer. Wir stellen eine RasPi-basierte erfordern. Wo der Strommesser aus dem Weise ein Compute-Modul. Klingt einfach,
Lösung für das kleine Budget vor. Baumarkt kläglich versagt, da zeichnet ein aber in der Praxis lauern einige Fußangeln.
Selbstbaumodul samt Pi Zero die Messdaten
für die spätere Auswertung auf.
Server Know-how
Indoor-Farming . . . . . . . . . . . . . . . 62
Caddy . . . . . . . . . . . . . . . . . . . . . . . 48 Mit Teamviewer IoT passt der Remote- I2C-Workshop (Teil 19) . . . . . . . . . 76
Mit Caddy gelingt es auch ohne Informatik- Desktop-Spezialist seine Software an die An- Wenn das Prototyping abgeschlossen ist,
studium oder langjährige Erfahrung, einen forderungen im Internet der Dinge an. Dabei darf ein günstiger Mikrocontroller wie der
Webserver vernünftig und sicher aufzu- bleibt der RasPi ein wichtiges Element: Im MSP430 das Ruder übernehmen.
setzen. Dabei vereinfacht er die komplexe konkreten Beispiel steuert und überwacht er
Nutzung von HTTPS ganz wesentlich. beispielweise eine Zimmerplanzen-Plantage. MQTT . . . . . . . . . . . . . . . . . . . . . . . 80
Die IoT-Welt spricht MQTT. Das robuste
Protokoll eignet sich aber nicht nur für die
Industrie, sondern auch für den Einsatz in
den eigenen vier Wänden.

Service

Editorial . . . . . . . . . . . . . . . . . . . . . . . . 3

8 Der brandneue
RasPi 3 Modell B+
toppt seinen Vorläufer
Geek Bazar . . . . . . . . . . . . . . . . . . . . . 86

Vorschau/Autoren/Inserenten . . . . . 88
in beinahe allen Diszip-
Impressum . . . . . . . . . . . . . . . . . . . . . 89
linen, wie unser um-
fangreicher Test zeigt. Heft-DVD-Inhalt . . . . . . . . . . . . . . . . . 90

05-06/2018 www.raspberry-pi-geek.de 5
Aktuelles Angetestet

Das handliche Tool Bmon erfasst neben Bmon eine reine ASCII­Ausgabe, die Sie
Netzwächter dem reinen Datendurchsatz auch statis­ mit dem Befehl ‑‑output=ASCII aktivie­
Mithilfe von Bmon 4.0 tische Informationen zu einer Netzwerk­ ren. Zur Weiterverarbeitung der Daten in
schnittstelle, wie die Anzahl der FIFO­ anderen Programmen gibt es eine forma­
behalten Sie den Datendurchsatz und CRC­Fehler. Zur Ermittlung der Daten tierte Textausgabe. Das Tool ermittelt
einer Netzwerkschnittstelle in greift es auf das Netlink­Protokoll oder Datendurchsatz und Schnittstellenstatis­
Echtzeit im Auge. das /proc/­Verzeichnis zurück und stellt tiken im Sekundentakt, sofern Sie nicht
die Daten in einer übersichtlichen Curses­ via ‑r etwas anderes angeben. Standard­
Oberfläche zusammen. Dort gruppiert mäßig zeigt Bmon den Datendurchsatz in
Bmon die erfassten Byte an, der Parameter ‑b schaltet auf
Daten in verschie­ eine Anzeige in Bit um. Statt über Aufruf­
dene Bereiche, de­ parameter können Sie Bmon über die
ren Darstellung Sie Dateien /etc/bmon.conf und $HOME/
durch Tastenkürzel .bmonrc konfigurieren beziehungsweise
beeinflussen. So mit ‑f eine andere Konfigurationsdatei
blenden Sie bei vorgeben. Das Quellarchiv enthält eine
Bedarf bestimmte Beispielkonfiguration als Vorlage für eige­
Bereiche aus, wie ne Anpassungen. Neben dem zu über­
etwa die grafische wachenden Interface definieren Sie hier
Darstellung des etwa die Maßeinheiten oder passen das
Datendurchsatzes. farbliche Design der Oberfläche an.
Für Systeme ohne
Curses­Bibliothe­ Lizenz: MIT nn

ken unterstützt Quelle: https://github.com/tgraf/bmon

Dank seines minimalen Stromverbrauchs


Systemprüfer eignet sich der RasPi hervorragend, um
Beim ersten Aufruf der Phpservermon­
Seite lädt der Webserver das Skript in‑
Mit Phpservermon 3.2.0 rund um die Uhr die Verfügbarkeit ent­ stall.php mit einem Konfigurations­
fernter Systeme im Auge zu behalten. assistenten, der die Abhängigkeiten
behalten Sie bequem die Dazu testen Sie diese oder dort laufende prüft. Hier hinterlegen auch Sie die Ver­
Erreichbarkeit von Remote- Dienste mit Phpservermon auf Erreich­ bindungsdaten zur Datenbank und legen
Systemen im Blick. barkeit. Das Ergebnis stellt das PHP­Skript ein Administrator­Konto an. Mit Letzte­
in einem übersichtlichen Web­Dashboard rem melden Sie sich dann bei Phpserver­
zusammen. Zur Installation entpacken mon an. Als Einstiegsseite erscheint das
Sie das Quellarchiv ins Dokumentenver­ Dashboard, in dem Sie nun die zu über­
zeichnis eines installierten Webservers. wachenden Systeme angeben. Jeder Ein­
Daneben benötigt das Skript noch eine trag besteht aus einem eindeutigen Sys­
PHP­Version ab 5.3.7, die PHP­Module temnamen, der IP­Adresse oder dem
cURL, PDO und XML sowie eine MySQL­ FQDN des Ziels sowie dem Port für den
Datenbank, die Sie alle aus dem Rasp­ zu prüfenden Dienst. Zum Überwachen
bian­Repo nachziehen. Für regelmäßige von Webseiten geben Sie stattdessen ein
Prüfungen hinterlegen Sie einen Aufruf Suchmuster an. Findet Phpservermon auf
für die Datei sta‑ der angegebenen Page keine Treffer, gilt
tus.cron.php in sie als offline. Für jedes zu überwachende
der Crontab; ein System legen Sie individuell fest, wie lan­
Beispiel dazu fin­ ge es maximal für eine Antwort brauchen
den Sie im Doku­ darf und ob Sie bei Ausfällen via E­Mail
mentationsver­ oder SMS alarmiert werden möchten. Das
zeichnis des Quell­ README im Quellarchiv enthält eine Über­
archivs. Die Ent­ sicht aller unterstützten SMS­Gateways.
wickler empfehlen
ein Prüfintervall Lizenz: GPLv3 
von 15 Minuten. Quelle: http://www.phpservermonitor.org/

6 www.raspberry-pi-geek.de 05-06/2018
Angetestet Aktuelles

Alle gängigen Shells bieten eine soge­ den Pfeiltasten navigieren Sie durch die
nannte Befehlshistorie, in der Sie mit Trefferliste und führen den gewünschten
Historiker
Funktionstasten durch früher eingege­ Befehl aus dann durch Drücken der Ein­
Das intuitiv bedienbare
bene Kommandos navigieren und diese gabetaste aus. Um ihn vorab noch zu be­
wiederholen können. Eine solche History arbeiten, drücken Sie stattdessen [Tab].
Hstr 1.24 macht den Umgang
umfasst in der Regel die letzten 500 bis Häufig vorkommende Befehle kenn­ mit umfangreichen Befehls-
1000 Einträge. Dank der Shell History zeichnen Sie mit [Strg]+[F] als Favoriten. historien zum Kinderspiel.
Suggest Box oder kurz Hstr müssen Sie Bei der Eingabe des Suchmusters be­
hier nicht mehr nach der Nadel im Heu­ einflussen Sie die Suche bei Bedarf mit
haufen suchen. Nach der Installation aus [Strg]+[E]. Standardmäßig sucht Hstr
den Quellen stehen die beiden identi­ nach dem exakten Muster, alternativ
schen Tools Hstr und Hh bereit. aber auch mithilfe eines regulären Aus­
Um Hstr (oder Hh) permanent zu nut­ drucks. Mit [Strg]+[T] nimmt es eine
zen, integrieren Sie es direkt in die Shell­ schreibweisenabhängige Suche vor.
Konfiguration. Dazu rufen Sie es mit Beim Sortieren des Trefferliste plat­
dem Parameter ‑s (Bash) oder ‑z (Zsh) ziert Hstr jene Einträge am Anfang, die
auf, woraufhin es den benötigten Konfi­ es anhand des Zeitstempels, der Befehls­
gurationseintrag zurückliefert. Starten länge und der Häufigkeit
Sie Hstr ohne Parameter, dann wertet es des Vorkommens für be­
den Inhalt der Datei ~/.bash‑history sonders relevant hält. Mit
aus und präsentiert ihn in einer über­ [Strg]+[Umschalt]+[7]
sichtlichen Curses­Oberfläche. In der wechseln Sie zwischen
obersten Zeile geben Sie nun ein Such­ verschiedenen Sortierun­
muster ein, wobei Hstr die Ausgabe au­ gen. Die Historie lässt
tomatisch aktualisiert und passende Ein­ sich auch nachträglich
träge aus der Befehlshistorie anzeigt. Mit noch bearbeiten, etwa
um versehentlich ein­
Lizenz: Apache License 2.0     n gegebene Passwörter
Quelle: https://github.com/dvorka/hstr wieder zu entfernen.

Um bestimmte Verzeichnisse im schnel­ gewünschten Alias und dem vollständi­


len Zugriff zu halten, musste man sie gen Pfad, fügen Sie nun neue Verzeich­
Eselsohr
bisher entweder als Alias oder als Umge­ nisse hinzu. Um in einen Ordner zu wech­
Durch schnelle Verzeichnis-
bungsvariable in der Shell hinterlegen. seln, rufen Sie Goto mit dem jeweiligen
Goto stellt dafür nun eine Art Bookmarks Alias als Parameter auf. Eine Übersicht
wechsel sorgt Goto 1.0.0
zur Verfügung und verwaltet die Ver­ aller registrierten Aliase liefert der Para­ für mehr Bedienkomfort
zeichnisse als Aliase in der Datei ~/.goto meter ‑l; mit ‑r entfernen Sie einen Alias auf der Konsole.
als Klartext. Nach dem Entpacken steht aus der Konfiguration. Um die Aliase ge­
das Skript sofort zum Einsatz bereit. Sie nerell zu bereinigen, starten sie Goto mit
kopieren es idealerweise nach /usr/lo‑ dem Parameter ‑c. Es prüft in diesem Fall
cal/share und müssen es dann lediglich selbst, welche Verzeich­
in der Konfigurationsdatei der Shell ein­ nisse nicht mehr existie­
binden. Bei der Bash oder Z­Shell gelingt ren, und entfernt dann
das etwa mit dem Statement source deren Aliase. Außerdem
/usr/local/share/goto.bash. Bei aktu­ unterstützt das Tool die
ellen Goto­Versionen übernimmt das die Funktionen Pushd und
Datei install.sh im Quellarchiv für Sie. Popd der Shell: So wech­
Rufen Sie Goto ohne Parameter auf, seln Sie mit dem Para­
dann liefert es eine rudimentäre Online­ meter ‑p samt Alias in
Hilfe. Mit dem Parameter ‑r, gefolgt vom ein Verzeichnis und ge­
langen später mit goto
Lizenz: MIT nn ‑o in das Ausgangsver­
Quelle: https://github.com/iridakos/goto zeichnis zurück. (jlu) n

05-06/2018 www.raspberry-pi-geek.de 7
Aktuelles Raspberry Pi 3 Modell B+

Ebenfalls gleich blieb der Formfaktor:


Alle Anschlüsse, Buchsen und LEDs
sitzen am gewohnten Platz. Der Haupt­
speicher umfasst auch weiterhin nur
1 GByte. Der Grund dafür liegt im Design
des SoCs: Der VideoCore IV – der GPU­
und Video­Kern des Raspberry Pi in allen
bisherigen Modellen ab dem RasPi 1B –
unterstützt nur maximal 1 GByte RAM.
Immerhin bleibt der neue RasPi auf
diese Weise mit den meisten Gehäusen
(im Test klappte das mit einem Tek­
Berry 3 erfolgreich) und HATs sowie an­
derem Zubehör voll kompatibel.

BCM2837B0
Das Herz des Raspberry Pi 3B+, das
BCM2837B0­SoC, kommt jetzt im Metall­

© Anna Vaczi, 123RF


Look, der unter anderen die Wärme bes­
ser ableitet. Intern änderte sich gegen­
über dem BCM2837 nicht genug, um
eine neue Modellnummer zu rechtferti­
gen: Den Kern bildet weiter ein ARMv8­A
Cortex­A53 mit 64 Bit und vier Cores.
Raspberry Pi 3 Modell B+ im Überblick Der integrierte Wärmeverteiler sowie
einige weitere Optimierungen erlauben

Kraftprotz es aber, die Taktfrequenz der Kerne auf


1,4 GHz zu steigern – im Vergleich zum
RasPi 3B rund 16 Prozent mehr. Der wirk­
liche Clou dabei: Die Hardware kann
diese Leistung unter Last deutlich länger
Der neue RasPi 3 Modell B+ Seit seinem Start 2012 wurde der Rasp­ konsistent aufrechterhalten. Die Foun­
berry Pi über 19 Millionen Mal verkauft, dation hat dazu die Stromversorgung des
sticht seinen Vorgänger in davon alleine 9 Millionen Mal als RasPi 3. Rechners von Grund auf überarbeitet.
Den diesjährigen Pi Day (03/14/18 in Mit dem dafür eingesetzten MxL7704­
zahlreichen Punkten aus. englischer Notation) nahm die Raspber­ PMIC sieht das Board zudem aufgeräum­
ry Pi Foundation zum Anlass, dem be­ ter aus: Er fasst eine Reihe von bisher dis­
Unser Test zeigt, was die liebten Modell in Form des RasPi 3 kreten Stromversorgungen für verschie­
1
Model B+  ein Upgrade zu spendie­ dene Komponenten zusammen. Der
neue Variante leistet. ren. Damit gehen einige lang gehegte MxL7704 liefert die verschiedenen be­
Wünsche der Community endlich in Er­ nötigten Spannungen mit deutlich höhe­
Maximilian Batz füllung: Gigabit­Ethernet mit maximal rer Stabilität und der Möglichkeit, sie
300 Mbit/s Durchsatz, PoE­Unterstüt­ feiner zu justieren. So kann er etwa den
zung und ein verbesserter PXE­Boot. Das Kern mit etwas weniger oder mehr Span­
wirkliche Highlight ist allerdings das nung versorgen und darüber Perfor­
README neue WLAN­Modul nach IEEE­802.11ac­ mance und Abwärme beeinflussen.
Standard (siehe Kasten Vorzertifiziert). Unter 70 Grad Celsius interner Tempe­
Der brandneue Raspberry Pi 3 Modell B+
Das Design des neuen Models  ratur hebt der BCM2837B0 die CPU­Fre­
erfüllt einige lang gehegte Wünsche der stammt, genau wie das des Pi Zero W , quenz auf 1,4 GHz an, darüber regelt er
Community: Mehr CPU-Power, Gigabit-LAN, von Roger Thornton. Es verwendet die­ sie auf 1,2 GHz herunter. Der MxL7704
802.11ac-WLAN und Power-over-Ethernet selbe CPU wie der Vorgänger, taktet sie senkt parallel die Core Voltage, wodurch
aber mit 1,4 GHz und bringt ein deutlich die CPU möglichst lange weiter auf ho­
markieren nur die Spitze des Eisbergs.
verbessertes Abwärmemanagement mit. her Leistung läuft, maximal bis 80 Grad

8 www.raspberry-pi-geek.de 05-06/2018
Raspberry Pi 3 Modell B+ Aktuelles

Celsius. Diese Schwelle wird die CPU


meist aber nicht erreichen, also die Per­
formance nie drosseln.
Dadurch zieht der RasPi 3B+ jedoch
deutlich mehr Leistung als sein Vorgän­
ger, die Designer empfehlen dringend
ein hochwertiges Netzteil mit 2,5 A. Mit
dem offiziellen Netzteil der Foundation
bleiben Sie auf der sicheren Seite.

Gigabit-Ethernet
Den sattsam bekannten Flaschenhals,
nur einen USB­2.0­Port mit 480 Mbit/s
brutto Datenrate auf dem SoC, weist
auch der RasPi 3B+ weiter auf. Der Micro­
chip LAN7515 holt jedoch aus diesem
das maximal Mögliche heraus. So erhal­
ten Sie neben den vier USB­Ports einen drahtlosen Netzwerkverkehrs. Der 1 Mit dem neuen RasPi 3 Modell B+
GbE­LAN­Anschluss mit 300 Mbit/s reel­ CYW43455 bietet WLAN nach dem erfüllt die Foundation einige der lang ge-
lem Durchsatz, dreimal mehr als beim IEEE 802.11ac sowie die volle Abwärts­ hegten Wünsche der Community, unter
Vorgänger. Im Alltag, etwa beim bei kompatibilität zu 802.11 a/b/g/n. Er funkt anderem schnelleres WLAN und Gigabit-
Streamen von Videos von einer USB­Fest­ in den Bereichen 5 GHz und 2,4 GHz. Ethernet. (Bild: Raspberry Pi Foundation)
platte, fällt die Datenrate freilich niedri­ Der Chipsatz unterstützt bei 802.11ac
ger aus, da alle Daten durch den SoC und einen Single Spatial Stream (1x1) für
den einzelnen USB­Port laufen. eine Datenrate von bis zu 433,3 Mbit/s
Mit dem neuen LAN­Port klappt nun (PHY­Bruttodatenrate). Er kommt dabei SoC: System-on-a-Chip. Baustein, der alle
wenigstens PXE­Boot besser. Alle be­ mit 20/40/80­MHz­Kanälen mit optiona­ oder einen Großteil der Funktionen eines
kannten Probleme des RasPi 3B mit dem lem Short Guard Interval (SGI) zurecht; Rechners auf einem integrierten Schaltkreis
Remote­Boot­Verfahren hat Entwickler die 80­MHz­Kanäle kamen mit dem
zusammenfasst.
Gordon Hollingworth im Boot­ROM des 802.11ac­Standard hinzu. Hier gilt: Je
BCM2837B0 behoben. breiter der Kanal, desto mehr Durchsatz. PMIC: Power Management Integrated
Ein in Kürze verfügbarer PoE­HAT  2 Theoretisch unterstützt 802.11ac sogar Circuit. Baustein oder Blockschaltkreis
spannt die 48 Volt, die bei Power over bis zu 160 MHz Kanalbreite. Dafür gibt es (auf SoCs) zur Regelung der Spannungs-
Ethernet (PoE) zusätzlich zu Daten auf jedoch noch kaum Geräte am Markt, versorgung.
den Kabeln anliegen, auf die vom RasPi und der RasPi könnte davon sowieso
HAT: Hardware Attached on Top, deutsch
benötigten 5 Volt herunter. Der RasPi 3 nicht profitieren.
etwa „oben aufgesteckte Hardware“.
Modell B+ führt dazu über einen Header Der CYW43455 ist über SDIO (den im
mit vier Pins die Leitungen von der LAN­ SoC verbauten Arasan eMMC­Controller) Augenzwinkernde Bezeichnung für Erwei-
Buchse direkt für HATs heraus. an den SoC des RasPi 3B+ angebunden. terungsplatinen, die man auf den GPIO-
Künftig lässt sich ein RasPi 3B+ also Der Broadcom­SD­Controller selbst un­ Header des Raspberry Pi aufsteckt.
dank PoE und PXE einfach über ein ent­
sprechendes LAN­Kabel anschließen
und ohne zusätzliche SD­Karte oder Vorzertifiziert
Netzteil starten. Ein Lüfter auf dem PoE­
Für Hobbyisten eher eine nette Zugabe, Dank dieser durch die Raspberry Pi Foun-
HAT stellt dabei sicher, dass der Mini­
stellt das vorzertifizierte WLAN-Modul des dation erfolgten Zertifizierung, die Unmen-
Rechner dabei nicht überhitzt.
RasPi 3B+ für Unternehmen, Startups und gen an Geld und Zeit verschlang, dürfen
die Geschäftswelt eine hochinteressante Unternehmen jetzt WLAN- und Bluetooth-
WLAN und Bluetooth Neuerung dar. Zusammen mit dem Com- fähige Produkte für die vernetzte IoT-Welt
pute Module 3 lässt es sich in eigene Pro- auf dieser Basis herausbringen – und das
Dank Hardware­Offloading für AES und
jekte integrieren. Eine saubere Abschir- laut Eben Upton zehnmal günstiger und
das ältere TKIP entlastet das Chipset Cy­
mung machte es möglich, das Element als schneller als dies mit der bislang bereitste-
press CYW43455 (ehemals BCM43455)
modulare Lösung zu zertifizieren. henden Hardware möglich gewesen wäre.
die vier Cores beim Verschlüsseln des

05-06/2018 www.raspberry-pi-geek.de 9
Aktuelles Raspberry Pi 3 Modell B+

terstützt SDIO nicht und bedient daher bau­Router mehr Bandbreite bereit. Im Bluetooth Smart Internet Gateways
nur die SD­Karte. Der Arasan­Controller Alltag dürfte bis zu 102 Mbit/s Durchsatz (GATT) stellt einen Gateway ins Internet
dagegen unterstützt nach Spezifikation im 5­GHz­Band realistisch sein. Das bereit. So kann etwa ein BT­4.2­Sensor
das SDIO­v3.0­Interface. Allerdings er­ spricht für den Arasan­SDIO­Port als durch den RasPi 3B+ als Gateway Nach­
scheint es unwahrscheinlich, dass er die Flaschenhals. Als Antenne fungiert wie richten schicken und empfangen. Blue­
vom CYW43455 angebotenen Übertra­ beim Pi Zero W eine Proant­PCB­Anten­ tooth­Beacons, die versuchen, Ihr Gerät
gungsformate DDR50 (Dual Data Rate ne. Dadurch soll eine etwas bessere zu tracken, brauchen ab v4.2 eine expli­
bei 50 MHz mit bis zu 400 Mbit/s Durch­ Performance (Durchsatz, Reichweite) im zite Erlaubnis. LE Secure Connections
satz) sowie SDR104 (bis zu 432 Mbit/s 2,4­GHz­Bereich erreicht werden als zum sicheren Pairing von Geräten steht
Durchsatz) ebenfalls unterstützt. beim Raspberry Pi 3B. ab Bluetooth 4.2 ebenfalls bereit.
Der Arasan­Baustein läuft auf dem
RasPi3 B+ normalerweise mit 41,6 MHz Bluetooth 4.2 Performance
Taktung. Beim Übertragen von 4 Bits
gleichzeitig erzielen er so 166,4 Mbit/s, Der RasPi 3B unterstützte noch Blue­ Wir konnten den RasPi 3B+ für diesen Ar­
mit Unterstützung für DDR sogar tooth 4.1. Mit dem CYW43455 bietet der tikel nur mit einem Pre­Release­Image
332,8 Mbit/s. Anscheinend gelingt es RasPi 3B+ jetzt Bluetooth 4.2, und damit testen, bei dem WLAN noch nicht akti­
aufgrund verschiedener Umstände aber weiterhin „Bluetooth Classic“ und Blue­ viert war und bei dem die CPU noch mit
nicht, den Controller mit 50 MHz zu tak­ tooth LE (Low Energy). Version 4.2 ver­ 1,2 GHz getaktet war. Einen Test mit dem
ten. In der Praxis dürfte daher bei bessert für Bluetooth LE die Geschwin­ neuen Software­Image reichen wir dem­
166,4 Mbit/s Durchsatz das Limit liegen. digkeit, den Datenschutz und die Daten­ nächst nach – dabei dürften sich die Leis­
Gegenüber dem RasPi 3B stellt das auf sicherheit. Im Vergleich zur vorigen Ver­ tungswerte für den RasPi 3B+ noch ein­
jeden Fall bereits eine Verdoppelung der sion laufen die Datenpakete künftig mal deutlich verbessern. Sie fallen aber
Datenrate dar. Im weniger dicht be­ zweieinhalbmal schneller und dürfen bis auch jetzt schon beeindruckend aus, wie
siedelten 5­GHz­Band ließe sich diese zu zehnmal mehr Daten enthalten. die Tabelle Testergebnisse zeigt.
zudem besser ausschöpfen. Der Standard Bluetooth 4.1 sieht Im Test kam in beiden Testgeräten
Durch das Anbinden über den SDIO bereits vor, entsprechende Geräte ein­ eine SD­Karte von Sandisk (Class 10) so­
hängt der WLAN­Datenverkehr nicht facher und schneller ohne Hub zu kop­ wie der Energy Monitor EM231 zum Ein­
vom USB­Port ab. Damit steht für Selbst­ peln. Bluetooth 4.2 bringt das jedoch auf satz. Es waren jeweils eine Tastatur, ein
eine komplett neue Ebene: Mit dem HDMI­Kabel und Ethernet angesteckt.
IPSP­unterstützten 6LoWPAN (Internet Als Gegenstelle im LAN diente ein GbE­
Protocol Support Profile / IPv6 over Low Port eines Laptops, über einen GBit­
SDIO: SD Input/Output. Unterstützt den An- Power Wireless Personal Area Networks) Switch von TP­Link angeschlossen.
bringt das IPv6 auf kleine und leistungs­
schluss diverser Peripheriegeräte über ein
schwache Geräte, um diese etwa ins Wissenswertes
SD-Card-Interface. Internet der Dinge zu integrieren.
Zum Betrieb aller Funktionen des neuen
RasPi 3B+ brauchen Sie auf jeden Fall
neue Software, er bootet etwa nicht mit
NOOBS vor Version 2.7.0 vom 14.03.2018.
Für Raspbian „Jessie“ arbeiten die Ent­
wickler ebenfalls an einem Firmware­
Update. Bis andere Distributionen wie
LibreELEC oder RetroPie nachziehen,
dürfte es etwas dauern.
Der GPIO­Header mit den 40 Pins
bleibt wie gehabt. Damit passen alle Er­
weiterungs­HATs. Wie beim RasPi 3B und
Pi Zero W ist Bluetooth jedoch über den
UART angebunden (PL011). Nutzen Sie
2 Über ein HAT versorgen den UART über den GPIO­Header, sollten
Sie den RasPi 3B+ bei Bedarf Sie die Einschränkungen des hier bereit­
via Ethernet mit Daten und stehenden Mini­UARTs beachten. Alter­
zusätzlich Strom. (Bild: Rasp- nativ tauschen Sie per Overlay die zwei
berry Pi Foundation) UARTs oder deaktivieren Bluetooth .

10 www.raspberry-pi-geek.de 05-06/2018
Raspberry Pi 3 Modell B+ Aktuelles

Der RUN­Header hatte vorher zwei Pins, Der deutlich fester als die CPU­Kerne im
einen davon für Masse – er eignete sich BCM283x integrierte VideoCore IV nagelt
dazu, einen Reset­Taster einzubauen. Da­ den neuen RasPi weiter auf ein RAM­
bei blieb aber die Stromzufuhr komplett Limit von 1 GByte RAM fest. Die Erfah­
eingeschaltet. Selbst bei kontinuierli­ rung mit dem RasPi 3B zeigt aber, dass
chem Halten des RUN­Pins an Masse war selbst H.265­Videos oft aufgrund der
die CPU praktisch gesehen zwar aus, die Hardware­Beschleunigung flüssig laufen.
Hardware zog aber trotzdem Strom. Die Produktion des Raspberry Pi 3
Im RasPi 3B+ wurde der Ground­Pin Modell B+ läuft mindestens bis zum
aus diesem Header entfernt und ein Januar 2023. Die Foundation versichert, Weitere Infos und
neuer Pin PEN hinzugefügt – das Kürzel dass die anderen Modelle des Mini­PCs­ interessante Links
steht für „Power Enable“. Verbinden Sie bei entsprechender Nachfrage ebenfalls www.raspi-geek.de/qr/41007
diesen mit Masse, entzieht das dem weiterlaufen. (agr/jlu) n
Board komplett den Strom. Es wechselt
damit in den niedrigsten Verbrauchszu­
stand, der möglich ist – sinnvoll für Pro­ Bezugsquellen
jekt, die Sie mit einer Batterie betreiben.
Der Münchner Anbieter Pi3g hatte bereits benötigte Zubehör mitbestellen oder ein
zum Release des RasPi 3B+ den Mini- Einsteiger-Set erwerben. Bei den großen
Fazit Rechner für 34,50 Euro (zzgl. Versand) im Elektronikversendern wie Pollin (http://
Angebot und bot darüber hinaus an, das www.pollin.de) und Reichelt (http://www.
Der RasPi 3 Modell B+ bietet in fast jeder
neue Raspberry-Modell ohne Mengenbe- reichelt.de) fand sich der neue RasPi 3B+
Disziplin eines Single­Board­Computers
schränkung zu liefern. Unter der URL zu Drucklegung (Stand 16.03.2018) eben-
etwas mehr als der Vorgänger – und das
https://buyzero.de/pi3b+ können Sie dort falls bereits im Portfolio, wenn auch rund
zum identischen Preis von 35 US­Dollar
mittels eines Konfigurators außerdem das 2 Euro teurer als bei Pi3g.
(ohne Mehrwertsteuer und Versand).

Testergebnisse
RasPi 3B RasPi 3B+ Anmerkung
Spezifikationen
SoC Broadcom BCM2837 Broadcom BCM2837B0 4 x Cortex-A53
CPU Cortex-A53 (1,2 GHz) Cortex-A53 (1,4 GHz) RasPi 3B+ bei 1,2 GHz getestet
RAM 1024 MByte LPDDR2 1024 MByte LPDDR2 –
LAN 10/100 Mbit/s 1000 Mbit/s über USB 2.0
Power 5 V, 2,5 A 5 V, 2,5 A via Micro-USB
Gesamtsystem
Sysbench(1) 93,05 s 92,86 s kürzer ist besser
Sysbench(2) 372,09 s 371,34 s kürzer ist besser
Arbeitsspeicher
MBW, Memcpy 694,80 MiB/s 785,59 MiB/s mehr ist besser
MBW, Dumb 721,43 MiB/s 807,20 MiB/s mehr ist besser
MBW, Mcblock 1086,91 MiB/s 1287,24 MiB/s mehr ist besser
Netzwerk (LAN)
Iperf(3) 94 Mbit/s 319 Mbit/s mehr ist besser
SD-Karte
Hdparm, cached 601,8 MByte/s 600,0 MByte/s mehr ist besser
Hdparm, Disk Reads 21,6 MByte/s 21,7 MByte/s mehr ist besser
Stromverbrauch
Idle 4,2 W 7,6 W –
unter Last 11,7 W 14,0 W während Sysbench(4)
(1)
CPU (Gesamtzeit, 3 Wiederholungen bei 4 Threads)
(2)
CPU („Total Time by event execution“, 3 Wiederholungen bei 4 Threads)
(3)
3 Wiederholungen
(4)
3 Wiederholungen bei 4 Threads

05-06/2018 www.raspberry-pi-geek.de 11
Report FOSDEM 2018

Neue SBCs und Open-Source-Router


auf der FOSDEM 2018

Brüsseler
Spitze
Auf der FOSDEM in Brüssel präsentieren
im jährlichen Turnus zahlreiche Open-
Source-Projekte ihre aktuellen Entwick-
lungen. Auch in Sachen Hardware gibt
es dort immer wieder interessante Neu-
erungen zu bestaunen. Heike Jurzik

© FOSDEM
Jedes Jahr gegen Ende Januar treffen der tummelt sich auf der Ausstellung,
sich Open-Source-Entwickler und Fans die sich über den Campus verteilt.
freier Software aus der ganzen Welt an 66 Projekte präsentierten in diesem
der Freien Universität Brüssel zur FOS- Jahr ihre Neuerungen, darunter auch
DEM . Wer keinen Platz in den vollen Aussteller mit Open-Source-Hardware
Hörsälen und Seminarräumen ergattert, und Embedded-Geräten. Besonders groß

README
Wenn es draußen schneit und stürmt,
pilgern Tausende Geeks zum FOSDEM-
Wochenende in die belgische Hauptstadt.
Die größte Entwicklerkonferenz Europas bot
dieses Jahr wieder etliche Vorträge und Dis-
kussionen sowie eine Ausstellung mit über
60 Projekten – unter anderem mit neuer
Hardware aus dem Bereich der SBCs.
1 T.L. Lim, Gründer und Geschäftsführer von Pine Microsystems, stellte auf der FOSDEM
iin Brüssel die neue Hardware-Palette seines Unternehmens vor.

12 www.raspberry-pi-geek.de 05-06/2018
FOSDEM 2018 Report

war der Andrang an den Ständen von RK3399  auf einen Hexacore-SoC schließen kann, sondern auch ein zweites
Pine Microsystems  und CZ.NIC , wo (Dual-Core ARM Cortex-A72 und Quad- Display. Darüber hinaus lässt sich ein LC-
Besucher unter anderem die neuen Ein- Core ARM Cortex-A53). Als GPU dient Display direkt an die Leiterplatte hängen.
platinenrechner Pine H64 und RockPro64, eine Mali-T860MP4 mit Unterstützung Ein weiteres Highlight stellt die PCIe-4.0-
das Pinebook und den OpenWRT-Router für OpenGL ES1.1/2.0/3.0 and Open- Schnittstelle dar; im Online-Shop soll es
Turris Omnia bewundern konnten. CL 1.2. Zum Regeln der Temperatur des demnächst einen NVMe-Adapter (NVM-
leistungsfähigen Mini-Rechners spen- Express) geben. 128 MByte SPI-Flash ma-
Pine H64 dierte der Hersteller dem RockPro64 chen es möglich, von verschiedenen Me-
Befestigungsmöglichkeiten für einen dien zu booten. Die Kommunikation mit
Schon länger muss sich der Raspberry Pi Kühlkörper und einen Lüfter. der Außenwelt erfolgt wahlweise über
einer stetig wachsenden Konkurrenz Als Schmankerl gibt es neben zwei Gigabit-Ethernet oder externe Wi-Fi/
stellen, etwa dem 2015 über eine Kick- USB-2.0-Anschlüssen und einem USB- Bluetooth-Module.
starter-Kampagne mitfinanzierten Ein- 3.0-Port einen USB-C-Anschluss, an den Der Hersteller plant, eine Variante mit
platinenrechner Pine A64. Der hat nun man nicht nur Tastatur oder Maus an- künstlicher Intelligenz namens Rock-
einen Nachfolger, der pünktlich zur FOS-
1
DEM in den Shops erhältlich war  . An-
stelle eines Allwinner-R18-SoCs enthält
der Pine H64 den neuen Allwinner-H6-
Chip  mit vier Cortex-A53-Kernen
(64 Bit). Ebenfalls verbaut ist eine Mali-
T720 MP2 GPU (Dual-Core), die die Wie-
dergabe von Videos mit 4K-Auflösung
über den HDMI-Port ermöglicht  . 2
Dank 128 MByte SPI-Flash bootet der
Mini von USB 3.0/2.0 (HDD oder SSD) so-
wie von SD-Karten und eMMC-Modulen.
Der Pine H64 punktet darüber hinaus
mit etlichen Anschlüssen. Er enthält ei-
nen Mini-PCIe-Slot (PCI Express), einen
USB-3.0- und zwei USB-2.0-Ports, einen
Anschluss für Gigabit-Ethernet und ei-
nen für Mini-Klinken (3,5 mm, Stereo). 2 Im Gegensatz zum Raspberry Pi verfügt der Pine H64 über USB-3.0-Schnittstellen
Wer den Audio-DAC oder das Wi-Fi/ und unterstützt schnelle eMMC-Speichermodule. (Bild: Pine64)
Bluetooth-Modul des Vorgängerboards
Pine A64 besitzt, der kann diese Ergän-
zungen auch mit dem Pine H64 nutzen –
Bluetooth und WLAN gibt es nach wie
vor nur über eigene Module.
In der Größe unterscheidet sich das
kleine Kraftpaket nicht vom Vorgänger-
modell: Der Pine H64 misst wie der
Pine A64 (und auch der RockPro64, siehe
nächster Abschnitt) 133 x 80 x 19 mm. Er
kommt in drei Ausführungen: In der
1-GByte-Variante kostet der Mini-Rech-
ner rund 26 US-Dollar, mit 2 GByte RAM
gibt es ihn für etwa 36 US-Dollar und mit
3 GByte für 45 US-Dollar .

RockPro64
Mehr Performance bietet dagegen der
für März 2018 angekündigte Rock-
3
Pro64  . Er setzt mit dem Rockchip 3 Der RockPro64 im Playbox-Gehäuse (LCD-Display auf der Rückseite).

05-06/2018 www.raspberry-pi-geek.de 13
Report FOSDEM 2018

pro64-AI auszuliefern, die eine NPU


(Neural Network Processing Unit) um-
fasst . Der RockPro64 kommt in drei
Varianten: mit 2 GByte RAM (etwa 60 US-
Dollar), 4 GByte (rund 79 US-Dollar) und
4 GByte Rockpro64-AI (99 US-Dollar).

Software für die Minis


Während die Raspberry-Pi-Community
etliche Images mit verschiedenen Desk-
tops und Betriebssystemen anbietet,
scheint sich die Pine-Community im
Wesentlichen auf Linux und Android zu
konzentrieren, auch wenn das Wiki für
den Pine A64  neben etlichen Linux-
und Android-Images auch eine Win-
dows-10-IoT-Variante listet. Für den
Pine H64 und den RockPro64 stehen
noch keine Abbilder zur Verfügung; es
4 Zog viel Aufmerksamkeit auf sich: der Prototyp eines durchsichtigen Pinebooks. dürfte sich aber nur um eine Frage der
Zeit handeln.
Wie uns Benjamin Glass vom Pine64-
Projekt auf der FOSDEM erzählte, ist die
Pine-Community zwar deutlich kleiner
als die RasPi-Gemeinde, es gebe aber
ausreichend Entwickler, um die Images
für Linux und Android aktuell zu halten.
Trotzdem freut sich das Projekt über
weitere Mitarbeiter. Er berichtet weiter-
hin, dass bei Anwendern, die das Gerät
als Mediaplayer einsetzen, die Android-
Images beliebter seien: Hier gebe es von
Haus aus besseren Support für die Hard-
ware-Beschleunigung.

Durchsichtiges Pinebook
Den 64-Bit-ARM-basierten Open-Source-
Laptop Pinebook gibt es schon eine Wei-
le im Online-Shop . In der 11,6-Zoll-
Ausführung kostet das flinke Notebook
89 US-Dollar, mit 14-Zoll-Display schlägt
es mit 99 US-Dollar zu Buche. Das Bestell-
prozedere erfordert allerdings Geduld:
Interessenten müssen sich in eine Warte-
schlange eintragen, die der Hersteller
dann nach und nach abarbeitet.
Unter der Haube werkelt wie bei den
Pine-SBCs ein 64-Bit-Prozessor mit vier
Cortex-A53-Kernen. Der Laptop wiegt
nur etwas über ein Kilo – mit 11,6-Zoll-
5 Flotte Hardware flexibel erweiterbar: der Open-Source-Router Turris Omnia (hier Display 1040 Gramm, mit 14-Zoll-Display
als beeindruckender Turm am FOSDEM-Stand der CZ.NIC). 1260 Gramm. Auf der FOSDEM war der

14 www.raspberry-pi-geek.de 05-06/2018
FOSDEM 2018 Report

Laptop zum ersten Mal im neuen Ge-


wand zu sehen. Die beiden Prototypen
im schwarzen und im durchsichtigen
4
Gehäuse  stahlen allen Mini-Rechnern
die Show, und am Stand gab es lebhafte
Diskussionen zwischen Anwendern und
Herstellern, ob man eine Petition starten
müsse, damit das Gerät in der transpa-
renten Verkleidung in Produktion gehe.

Turris Omnia
Schon eine Weile am Markt, aber nicht
minder beliebt ist der Open-Source-
Router Turris Omnia , dessen Macher
5
ihn ebenfalls ausstellten  . Das flinke
und starke Gerät will vor allem durch
seine Erweiterbarkeit und das Webinter-
face zum Konfigurieren punkten . Auf
dem Router läuft eine modifizierte
OpenWRT-Version namens Turris OS ,
die besonders unerfahrenen Anwendern
die Einrichtung erleichtern möchte. Die 6 Um das Einrichten zu erleichtern, enthält der Turris Omnia eine OpenWRT-Erweiterung
Oberfläche erlaubt das schnelle Konfigu- namens Turris OS. Per Mausklick aktivieren Benutzer etwa einen OpenVPN-Server.
rieren von DNSSEC (Domain Name Sys-
tem Security Extensions) und eines
OpenVPN-Servers  . 6 Drahtlos kommuniziert das Gerät über
Unter der Haube werkelt eine 1,6-GHz- sämtliche verfügbare WLAN-Standards
Dual-Core-CPU (Marvell Armada 385), im 2,4- und 5-GHz-Frequenzband.
der auf 2 GByte RAM zugreifen kann. Auf Sicherheit schreibt das Projekt groß,
8 GByte Flash-Speicher bleibt genug und so offeriert der Hersteller, die integ-
freier Platz, um die Router-Software zu rierte Firewall (nach dem Registrieren)
erweitern. Im Turris-Repository finden automatisch mit angepassten Regeln zu
sich Pakete für einen DVB-Tuner, den versorgen. Dazu beobachtet der Router
Proxy Squid und LXC-Virtualisierung. den eingehenden Verkehr und meldet
Der Router bietet fünf Gigabit-Ports für ungewöhnliche Vorfälle an den Herstel- Weitere Infos und
LAN und einen für WAN, zwei USB-3.0- ler. Der wertet die Daten aus, aktualisiert interessante Links
Ports, zwei Mini-PCIe-Slots, einen mSATA- bei Bedarf den Firewall-Regelsatz und www.raspi-geek.de/qr/40783
Anschluss und einen SIM-Karten-Slot. schickt ihn als Update zurück. (cla/jlu) n
Basics Grundkurs Nano

© Ivan Mikhaylov, 123RF


Einführung in den Texteditor Nano

Funken
schlagen
Der Texteditor Nano gibt Dieses Szenario kennt wohl jeder RasPi- zeuge wie Vim oder Emacs, aber es erfor-
Nutzer: Ein frisch aufgesetztes Raspbian- dert viel weniger Zeit zum Einarbeiten.
sich im Namen demonstrativ System nutzt einen angeschlossenen
HDMI-Monitor nicht vollständig, es bleibt Im Schraubstock
bescheiden. Doch der erste ein schwarzer Rahmen ums Bild . Sie
lösen dieses Problem, indem Sie in der Das Nano-Fenster besteht aus vier Berei-
Eindruck täuscht, denn das Datei /boot/config.txt bei der Zeile 1
chen  : Die obere Zeile zeigt die Nano-
#disable_overscan=1 die Raute (#) am Versionsnummer und gegebenenfalls
kleine Programm beweist Anfang entfernen. Nach einem Reboot Namen und Bearbeitungsstand der ge-
verschwindet der schwarze Rand. öffneten Datei an. Den größten Teil des
im Alltag Größe. Derartige Eingriffe in für normale Be- Fensters nimmt die Darstellung des Text-
nutzer schreibgeschützte Dateien erledi- buffers ein. Stellen Sie sich den Textbuf-
Pit Noack
gen Sie kurzerhand im Terminal mit dem fer wie einen Schraubstock vor, in dem
Editor Nano . Das Kommando sudo Sie Ihr Werkstück (also einen Text oder
nano /boot/config.txt öffnet die Datei ein Skript) bearbeiten.
zum Bearbeiten mit Admin-Rechten. Die Statuszeile darunter dient der Aus-
Spätestens, wenn Sie einen RasPi head- gabe von Meldungen des Programms
README less, also ohne Bildschirm, im Netzwerk und der Eingabe etwa von Zeichenket-
über SSH steuern und dann womöglich ten für die Suche oder von Dateinamen
RasPi-Nutzer kommen am Texteditor Nano
noch Skripte und Programme etwa in beim Speichern. Ganz unten finden Sie
kaum vorbei. Dieser hat mehr auf dem Ka- Python oder C entwickeln wollen, lohnt ein Menü mit Befehlen. Es liefert eine
sten, als einzelne Zeilen in Konfigurations- es sich, Nano besser zu verstehen. Das Liste elementarer Tastaturkürzel oder
Programm bietet zwar einen geringeren Optionen bei Statusmeldungen. Wenn
dateien mit Admin-Rechten zu bearbeiten.
Leistungsumfang als vergleichbare Werk- Sie mit einer deutschen Tastatur und

16 www.raspberry-pi-geek.de 05-06/2018
Grundkurs Nano Basics

dem entsprechenden Layout arbeiten,


dann steht das Caret-Zeichen (^) für
[Strg] und M für [Alt] (siehe dazu Kasten
Alt oder Esc?)
Rufen Sie den Editor per Befehl auf der
Kommandozeile ohne Argument auf,
dann starten Sie mit einem leeren Text-
buffer. Schreiben Sie nano Datei, so gibt
es zwei Möglichkeiten: Sofern die im
Pfad bezeichnete Datei bereits existiert,
öffnet das Programm sie zum Bearbei-
ten, kopiert sie also in den Buffer. Exis-
tiert sie noch nicht, starten Sie mit ei-
nem leeren Buffer, den das Programm
dann beim ersten Speichern unter dem
angegebenen Pfad sichert.
Das Speichern erledigen Sie mit der
Tastenkombination [Strg]+[O] oder beim
Beenden des Programms per [Strg]+[X]
(siehe Tabelle Grundlegende Befehle).
Die Statuszeile bietet Ihnen dann die Ge- 1 Die Oberfläche von Nano umfasst vier Bereiche: Titelzeile, Textbuffer, Statuszeile und
legenheit, den Pfad einzugeben, zu be- Auswahl der Befehle.
stätigen oder zu modifizieren.

Ohne Maus [Strg]+[K] schneidet sie aus. [Strg]+[U]


fügt den Inhalt der Zwischenablage an
Wenn Sie nicht ohnehin eine Distribu- der aktuellen Position ein.
tion ohne grafische Bedienoberfläche Die Auswahl beschränkt sich jedoch
wie Raspbian Lite nutzen oder den RasPi nicht auf Zeilen: Mit [Alt]+[A] beginnen
per SSH über die Kommandozeile steu- Sie eine Markierung an der aktuellen
ern, empfiehlt es sich, direkt beim Ein- Cursorposition. Anschließend nutzen Sie
stieg in Nano die Maus beiseitezulegen. die Befehle zum Navigieren, um den
So nützlich dieses Eingabegerät in vielen Cursor zu bewegen und die zweite Gren-
Situationen sein mag, beim Verfassen ze des markierten Bereichs zu verschie-
von Texten oder Quellcodes erweist es ben. Ein erneutes Drücken von [Alt]+[A]
sich als Bremsklotz. stoppt das Markieren.
Wer jemals einen Profi beim Program- Möchten Sie das folgende Beispiel
mieren beobachtet hat, merkt schnell, nachvollziehen, laden Sie den Text – ein
dass die Finger die Tastatur nur für den Gedicht von Joachim Ringelnatz – mit
Griff zur Kaffeetasse verlassen und die dem Befehl aus Listing 1 herunter. Fol- Alt oder Esc?
Maus bestenfalls eine Nebenrolle spielt. gende drei Befehle markieren den ersten
Abhängig von der Tastatur, dem Tastatur-
Das Navigieren im Text klappt nach einer 1
Absatz des Gedichts  : Mit [Alt]+[8]
layout und dem Desktop kommt es vor,
gewissen Zeit deutlich flotter per Tasta- springen Sie zum Anfang des ersten Ab-
dass Kombinationen, die [Alt] enthalten,
turkürzel. Die Tabelle Grundlegende Be- satzes, dann starten Sie mit [Alt]+[A] das
unwirksam bleiben oder Unerwünschtes
fehle zeigt die wichtigsten Befehle zum Markieren und springen mit [Alt]+[0] ans
bewirken. Auf dem Testsystem mit Rasp-
Positionieren des Cursors. Ende des Absatzes.
bian Lite und der Locale de_DE.UTF‑8
Wie LibreOffice und Konsorten besitzt
sowie der Keyboard-Konfiguration Generic
Nano eine Zwischenablage zum Spei- Suchen und Ersetzen 101-key-PC mit deutschem Layout funkti-
chern von Textteilen. Die Dreifaltigkeit
onierte etwa der Befehl [Alt]+[AltGr]+[9]
des Ausschneidens, Kopierens und Ein- Für fortgeschrittene Nano-Nutzer lohnt
zum Finden von Klammerpaaren nicht wie
fügens läuft hier aber etwas anders ab: ein Blick in die Datei /etc/nanorc. Sie
gewünscht. In solchen Fällen ersetzten Sie
Die Auswahl geht immer von der aktuel- enthält etliche Parameter, die das Verhal-
das [Alt] durch ein [Esc]: [Esc],[AltGr]+[9]
len Cursorposition aus: [Alt]+[6] kopiert ten des Editors beeinflussen. Möchten
arbeitete wie gewünscht.
die aktuelle Zeile in die Zwischenablage, Sie die Datei anpassen, kopieren Sie die

05-06/2018 www.raspberry-pi-geek.de 17
Basics Grundkurs Nano

globale Datei nach ~/.nanorc ins Home­ Als Hilfe beim Schreiben von Quellcodes
Verzeichnis und editieren sie anschlie­ bietet Nano ein Syntax­Highlighting für
ßend. So bleiben die systemweiten Ein­ gut 40 Programmier­ und Skriptsprachen
stellungen erhalten. an. Die Software unterstützt unter ande­
Möchten Sie in einer umfangreicheren rem C/C++, Java, Javascript, Python,
Datei eine bestimmte Zeichenkette Ruby, HTML, CSS und Shell­Skripts. Einen
finden, dann wechseln Sie mit der Kom­ Überblick liefert das Verzeichnis /usr/
bination [Strg]+[W] in die Suchfunktion. share/nano: Dort liegen die Dateien mit
Nach der Eingabe einer Zeichenkette in den Regeln für die Syntax. Das Aktivie­
die Statuszeile bestätigen Sie mit [Ein­ ren des Syntax­Highlightings läuft über
TIPP gabe], und der Cursor springt zur ersten die üblichen Dateiendungen. Die Anzei­
Stelle, an der der Editor den String fin­ ge einer Datei script.sh färbt der Editor
Wollen Sie reguläre Ausdrücke für die
det. Mit den Pfeiltasten wechseln Sie zu den Konventionen für Shell­Skripte ent­
Suche verwenden, aktivieren Sie die Zeile
# set regexp in der Konfigurationsdatei.
früheren Suchbegriffen zurück. Weitere 2
sprechend ein  .
Fundstellen erreichen Sie mit [Alt]+[W]. Für umfangreichere Projekte bietet
Nano die Möglichkeit, mehrere Text­
buffer oder Dateien parallel offenzu­
Grundlegende Befehle halten. Um diese Funktion zu aktivieren,
Kürzel Funktion kommentieren Sie zuerst in der Datei
[Strg]+[O] Speichern ~/.nanorc die Zeile set multibuffer
[Strg]+[X] Beenden aus. Mit [Strg]+[R] öffnen Sie dann Da­
[Alt]+[U] Letzte Aktion zurücknehmen teien in zusätzlichen Puffern oder legen
[Strg]+[G] Hilfe öffnen leere Buffer an. Mit [Alt]+[,] und [Alt]+[.]
Navigation blättern Sie dazwischen.
[Strg]+[B] ein Zeichen zurück Alternativ öffnen Sie mit den für die
[Strg]+[F] ein Zeichen vor Bash üblichen Platzhaltern gleich meh­
[Strg]+[Pfeil links] ein Wort zurück rere Dateien: Mithilfe des Kommandos
[Strg]+[Pfeil rechts] ein Wort vor nano projekt_xy* beispielsweise öffnen
[Strg]+[A] zum Zeilenanfang Sie im aktuellen Verzeichnis alle entspre­
[Strg]+[E] zum Zeilenende chenden Dateien, jeweils in einem eige­
[Strg]+[P] zur vorherigen Zeile nen Textbuffer.
[Strg]+[N] zur folgenden Zeile Zur besseren Orientierung im Code
[Strg]+[Pfeil oben] zum vorherigen Absatz dienen drei weitere Funktionen des Edi­
[Strg]+[Pfeil unten] zum folgenden Absatz tors : Steht der Cursor auf einer Klammer,
[Alt]+[9] zum Absatzbeginn springt [Alt]+[AltGr]+[9] zum Gegen­
[Alt]+[0] hinter das Absatzende stück. [Alt]+[#] schaltet das Nummerie­
[Strg]+[Y] Bildschirmseite nach oben ren der Zeilen an beziehungsweise aus,
[Strg]+[V] Bildschirmseite nach unten
[Strg]+[Umschalt]+[-] Cursor auf Zeile/Spalte positionieren
[Alt]+[AltGr]+[9] zur korrespondierenden Klammer springen Weitere Infos und
Auswählen, Kopieren, Einfügen interessante Links
[Alt]+[A] Markierung an Cursorposition beginnen / Markierung aufheben
www.raspi-geek.de/qr/40836
[Alt]+[6] Zeile oder markierten Bereich in Zwischenablage kopieren
[Strg]+[K] Zeile oder markierten Bereich ausschneiden
[Strg]+[U] Inhalt der Zwischenablage an der Cursorposition einfügen
[Strg]+[D] Zeichen an der Cursorposition löschen Der Autor
[Strg]+[H] Zeichen links vom Cursor löschen
Der Medienkünstler Pit Noack nutzt den
[Strg]+[R] Inhalt einer Datei an Cursorposition einfügen oder
Raspberry Pi vor allem für Soundexperi-
(im Multibuffer-Modus) in neuem Buffer öffnen
mente. Als Überzeugungstäter vermittelt
Suchen und Ersetzen
er blutigen Anfängern die Grundlagen
[Strg]+[W] Suchen
der Programmierung auf seinem Blog
[Alt]+[W] zur nächsten Fundstelle springen maschinennah.de und bei Kursen in
[Alt]+[R] Suchen und Ersetzen seinem Atelier in Hannover.
[Alt]+[B] im Suchmodus die Suchrichtung umkehren

18 www.raspberry-pi-geek.de 05-06/2018
Grundkurs Nano Basics

2 Wenn Sie mit dem Editor Nano


Quellcode bearbeiten, ist dieser bei
bestimmten Sprachen in der Lage, die
Schlüsselwörter farbig anzuzeigen.

was die Orientierung erleichtert. Ein Der Nachteil dieser Variante liegt darin, Möchten Sie, dass Nano grundsätzlich
Druck auf [Strg]+[C] zeigt die Zeile und dass das die zuvor gespeicherte Siche- Sicherungskopien in dieser Form anlegt,
Spalte der Cursorposition in der Status- rung jeweils überschreibt. Abhilfe schaf- aktivieren Sie in der Datei ~/.nanorc die
zeile an. Statt frühere Versionen eines fen Sie bei Bedarf , indem Sie ein Ver- Zeile set backup. Verfahren Sie ebenso
Texts von Hand zu kopieren, weisen Sie zeichnis backups anlegen und den Pfad mit der etwas weiter unten befindlichen
das Programm per Option dazu an, bei per Option übergeben: Zeile set backupdir "" und ersetzen
jedem Speichern die vorherige Version Sie die Anführungszeichen durch den
zu sichern. Die Option ‑B (alternativ $ mkdir backups absoluten Pfad.
‑‑backup) sorgt dafür, dass Nano die $ nano ‑B ‑‑backupdir=backups
jeweils letzte Version der Datei buecher. buecher.txt
Fazit
txt unter dem Namen buecher.txt~ im
selben Verzeichnis sichert. Nun legt die Software bei jedem Spei- Wer im Alltag auf die Schnelle ein klei-
chern in diesem Verzeichnis die jeweils nes Skript schreiben, eine Programmier-
letzte Version mit fortlaufender Nummer sprache ausprobieren oder ein Hash ent-
Listing 1 ab. Die Dateinamen der Backups doku- fernen will, der findet im schlanken Text-
mentieren den Pfad der ursprünglichen editor Nano die grundlegenden Funktio-
$ wget http://pitnoack.de/dl/
Datei im Format !home!pi!buecher. nen dafür unter einer intuitiv bedienba-
ren Oberfläche vereint. (agr) n
buecher.txt
txt~.LfdNr.
Basics SSH mit Komfort

Secure Shell mit Komfort

Aufgeschlossen
Wer mit der Secure Shell Für den schnellen Zugriff auf einen ent- Schlüssel erzeugen
fernten Rechner oder regelmäßige War-
arbeitet, braucht sich beim tungsarbeiten ist die Secure Shell  das Im privaten Netzwerk genügt es in der
optimale Werkzeug. Selbst im lokalen Regel, beim Erzeugen der Schlüssel mit-
Login nicht die Finger wund- Netzwerk bietet es sich an, Hosts auf die- hilfe von Ssh-keygen (Listing 1) die vor-
sem Weg zu verwalten. So hängt etwa an gegebenen Werte zu übernehmen. Es
zutippen: Ein paar Einträge einem RasPi oft weder ein Monitor noch lohnt sich aber, sich mit den Unterschie-
eine Tastatur. Gerade dabei lohnt es sich den zwischen den Algorithmen zu be-
in der Konfiguration sparen aber, auf sichere Kommunikation zu ach- schäftigen: So gibt es nach derzeitigem
ten, denn der Raspberry Pi weiß unter Sachstand eine klare Empfehlung gegen
viel Arbeit. Andreas Bohle Umständen, welche IoT-Geräte sich im DSA und kurze Schlüssellängen .
Haushalt befinden. Aus gutem Grund Verwenden Sie unbedingt ein Pass-
haben die Entwickler daher für den Mini- wort, um den Schlüssel zu schützen.
Rechner den SSH-Server ab Werk erst Wählen Sie es zu kurz, bricht das Pro-
einmal deaktiviert . gramm beim Erstellen allerdings ab:
Haben Sie schon einmal mit der Se- Saving key "id_rsa" failed: pass­
cure Shell gearbeitet, dann kennen Sie phrase is too short (minimum five
in der Regel die wichtigen Handgriffe. characters). Je nach Algorithmus än-
README Meist greifen Sie auf die freie Implemen- dert sich der Name des Schlüssels.
tation OpenSSH  zurück. Falls Sie zum Bevor Sie jedoch mit den gerade er-
Die Secure Shell erlaubt den einfachen
ersten Mal mit dem Thema in Berührung stellten Host-Keys arbeiten dürfen, müs-
Zugriff auf entfernte Systeme oder solche kommen, hilft Ihnen dieser Workshop sen Sie den Public Key, also in der Regel
ohne Peripherie, wie etwa einen Rasp- beim Erstellen der notwendigen Schlüs- die Datei mit dem Suffix .pub, auf dem
berry Pi. Mit ein paar einfachen Parametern sel, die es ermöglichen, die Kommunika- entsprechenden Rechner an die Datei
tion zu chiffrieren und zugleich den Zu- .ssh/authorized_keys anhängen. Das
sparen Sie hier viel Tipparbeit.
griff etwas komfortabler zu gestalten. erledigen Sie entweder manuell, indem

20 www.raspberry-pi-geek.de 05-06/2018
SSH mit Komfort Basics

volle Kontrolle darüber, wie weit Sie die


Waage in die jeweilige Richtung kippen.
Für den Inhalt gilt: Rauten leiten Kom-
mentare ein, Einrückungen gestalten die
Einträge leserlicher. Listings
Die Secure Shell liest die Optionen RPG/ssh/
von der Kommandozeile, wertet die per-
sönliche Konfiguration aus und wendet
dann die globale Konfiguration an. Jeder
Parameter gilt als gesetzt, wenn er zum
ersten Mal verändert wird. Daher stehen
in Listing 5 die Host-spezifischen Anga-
ben vor den allgemeinen.
Für die zwei Rechner host1 und rasp­
berrypi kommt die Option ForwardX11
in Kombination mit ForwardX11Trusted
zum Einsatz. Damit haben Sie die Mög-

Listing 1
© Vadim Yerofeyev, 123RF

$ ssh‑keygen
Generating public/private rsa
key pair.
Enter file in which to save
the key (/home/testuser/.ssh/
id_rsa): Abgesichert
Enter passphrase (empty for no
Haben Sie einen (möglichst passwort-
passphrase):
Enter same passphrase again: gesicherten) Schlüssel auf einem ent-
Sie die Datei mittels Secure Copy kopie-
Your identification has been fernten Rechner installiert, empfiehlt es
ren und per Cat einfügen, oder Sie nut-
saved in id_rsa. sich, danach das Login per Benutzerpass-
zen das exakt für diesen Zweck gedach-
Your public key has been saved wort zu deaktivieren. Dazu editieren Sie
te Tool Ssh-copy-id (Listing 2).
in id_rsa.pub. auf dem fraglichen Rechner die Konfigura-
Die Software untersucht, ob ein Login
The key fingerprint is: tion des SSH-Daemons (/etc/ssh/
mittels Schlüssel gelingt. Klappt das
SHA256:4FmaVIThgW3VpGTxBeUqIL6 sshd_config). Hier setzen Sie vier Ein-
nicht, versucht das Tool den Public Key
UT9pK4OrxVGvUvLfWe5g andreasb@ träge auf no, um ein Login auf klassische
mittels einfachem Login auf dem Rech- baltic Weise zu unterbinden (Listing 3). An-
ner zu installieren. Danach klappt dann The key's randomart image is: schließend starten Sie den Dienst neu.
der Zugriff via Schlüssel. SSH fragt je- +­­­[RSA 2048]­­­­+
doch bei jedem Login weiter das Pass- | oo=B+ooo |
wort ab, das Sie für den Schlüssel verge- | ..+= o.o |
ben haben (siehe Kasten Abgesichert). | ..= o . . | Listing 3
| . =oB . |
ChallengeResponseAuthentication
Mehr Komfort | . +o*oS . | no
| . oo*. .. |
PasswordAuthentication no
Die Secure Shell bietet nun einige Mög- | ...+oo. .. o |
| .+... ...E . | UsePAM no
lichkeiten, um den Einsatz solcher ge-
schützten Schlüssel und zusätzlicher An- |o. .. .. .o | PermitRootLogin no

gaben in der Praxis etwas komfortabler +­­­­[SHA256]­­­­­+


zu gestalten. Allerdings gilt es dabei die
richtige Balance zwischen Sicherheit Listing 4
und einfachem Einsatz zu finden. Listing 2
$ ssh ­i ~/.ssh/id_rsa.
Im Wesentlichen passen Sie dazu die
$ ssh­copy­id ­i .ssh/id_rsa. raspberrypi pi@raspberrypi.fritz.
persönliche Konfigurationsdatei an (Lis-
raspi.pub Host box
ting 5). Auf diese Weise haben Sie die

05-06/2018 www.raspberry-pi-geek.de 21
Basics SSH mit Komfort

lichkeit, auf dem entfernten System ein Schlüssel dem Agent hinzufügen, kon-
Programm mit grafischer Oberfläche zu taktieren über diese Angaben den Agent.
starten, dessen Ausgabe Sie auf dem Um den Vorgang zu testen, geben Sie
lokalen Rechner sehen. Das funktioniert die Kommandos einfach in ein Terminal
allerdings nur, wenn auf dem lokalen ein. Ebenso dürften Sie diese in ein Skript
Rechner tatsächlich ein X-Server läuft. schreiben, das Sie beim Start des Desk-
Mit der Migration auf Wayland gibt es tops manuell aufrufen.
diese Möglichkeit nicht mehr, denn der Haben Sie die Schlüssel mit einem
moderne X.org-Nachfolger ist nicht Passwort gesichert, so fragt der Agent
mehr netzwerkfähig. diese Passwörter einmalig ab. In der Shell
In der Praxis kommt der jeweiligen erscheint dazu ein Prompt; bei grafischen
Zeile IdentityFile eine höhere Bedeu- Oberflächen benötigen Sie eines der ent-
tung zu: Damit legen Sie den passenden sprechenden Programme, das zur einge-
Schlüssel für den entsprechenden Host setzten Umgebung passt. Listing 7 zeigt
fest. Über User und HostName verlagern das Ergebnis der Suche nach askpass auf
Sie außerdem weitere Angaben in die einem System mit Arch Linux.
Datei, womit sich das Kommando zur Achten Sie bei der Eingabe darauf,
Verbindungsaufnahme aus Listing 4 auf das passende Passwort zum jeweiligen
ssh pi verkürzt. Schlüssel einzugeben. Das erfordert et-
was Konzentration, der Lohn liegt aber
Passwortfrei im Gewinn an Komfort beim praktischen
Einsatz.
Die Angabe ForwardAgent deutet auf Genügte nach dem vorigen Schritt
eine zusätzliche Technik hin, die den bereits ein einfaches ssh pi, um sich mit
Einsatz der Secure Shell vereinfacht: den dem betreffenden Rechner zu verbin-
SSH-Agent. Dabei handelt es sich um den, so brauchen Sie ab jetzt auch kein
einen Daemon, den Sie in der Regel mit mehr Passwort mehr einzugeben. Das
Listing 5 Beginn der Session starten, also beim ermöglicht das Automatisieren von Auf-
# ~/.ssh/config Login auf dem lokalen Rechner, und der gaben, etwa einen Push zu einem Git-
Host host1 in der Folge das Authentifizieren für Sie Rwepository oder ein Backup auf einen
User foo übernimmt. entfernten Server.
HostName host1.example.de Wie Sie den Agent starten, hängt von
ForwardAgent yes der eingesetzten Distribution ab. Einfa- Mehr Sicherheit
ForwardX11 yes che Window-Manager wie Fluxbox er-
ForwardX11Trusted yes ledigen den Start der Oberfläche und Wer sich auf so viele Automatismen ver-
User admin aller Applikationen über ein Skript. In lässt, der sollte sicherstellen, dass Unbe-
IdentityFile ~/.ssh/id_rsa. einem solchen Fall fügen Sie diesem die fugte nach dem Start des Desktops kei-
host1 Zeilen aus Listing 6 hinzu. Dabei erset- nen Zugriff mehr auf den Rechner be-
zen Sie bei Bedarf die Namen der Schlüs- kommen. Gerade die Option Forward­
Host pi
seldateien durch die tatsächlich auf dem Agent erlaubt es, sich ohne Passwort auf
User pi
System vorhandenen. alle weiteren Rechner hinter dem ersten
HostName raspberrypi.fritz.box
Das Kommando in der ersten Zeile Host zu verbinden, falls auf diesem einer
ForwardAgent yes
startet den Agent. Dieser gibt über den der Schlüssel installiert ist. Die History
ForwardX11 yes
ForwardX11Trusted yes
Schalter ­s seine Umgebungsvariablen der Kommandozeile verrät dies mögli-
IdentityFile ~/.ssh/id_rsa. im Bash-kompatiblen Format aus. Über cherweise ungewollt.
raspi eval wertet die Shell diese aus; die nach- Möchten Sie den SSH-Agent nicht ein-
folgenden Kommandos, über die Sie die setzen, sich aber trotzdem auf weiteren
Host nas
User baz
IdentityFile ~/.ssh/id_rsa.nas Listing 6
eval $(ssh­agent ­s)
Host *
ServerAliveInterval 300 [ ­f .ssh/id_rsa.host1 ] && ssh­add .ssh/id_rsa.host1 &
ServerAliveCountMax 3 [ ­f .ssh/id_rsa.raspi ] && ssh­add .ssh/id_rsa.raspi &

22 www.raspberry-pi-geek.de 05-06/2018
SSH mit Komfort Basics

Rechner anmelden, verwenden Sie alter- Fazit


nativ die Option ProxyCommand oder den
Schalter ­W mit Angaben zu Host und Sichere Kommunikation erfordert nicht
Port auf der Kommandozeile. Ein ordent- unbedingt ein komplexes Prozedere. Ha-
licher Lockscreen bietet darüber hinaus ben Sie das Setup für den Zugriff auf ent-
zumindest einen Schutz gegen schnelle fernte Rechner erst komplettiert, gehen
Attacken am Arbeitsplatz. Unter Linux Alltagsaufgaben schnell von der Hand.
gibt es da wenig Auswahl, weil das für Wichtig bleibt die Abwägung, wann das
den klassischen X-Server ein schwieriges Mehr an Komfort zu gefährlich für das
Unterfangen ist . gesamte System gerät. (agr/jlu) n

Listing 7
$ pacman ‑Ss askpass
extra/ksshaskpass 5.11.5­1 (plasma)
ssh­add helper that uses kwallet and kpassworddialog
extra/seahorse 3.20.0+105+gb31e32fe­1 (gnome­extra)
GNOME application for managing PGP keys.
extra/x11­ssh­askpass 1.2.4.1­5 [Installiert]
Lightweight passphrase dialog for SSH
community/lxqt­openssh­askpass 0.12.0­1 (lxqt) Weitere Infos und
LXQt openssh password prompt interessante Links
community/openssh­askpass 2.1.0­1
www.raspi-geek.de/qr/40977
A plasma­like passphrase dialog for ssh
Basics Hilfe zur Selbsthilfe

Dokumentation mit Man und Info lesen

Alles inklusive
Informationen zu Kommandos oder zu Systemfunktionen
finden sich im Zweifelsfall per Suchmaschine im Internet.
Schneller und zuverlässiger helfen aber Man und Info weiter,
auch wenn Sie gerade offline arbeiten. Roman Jordan

Sie suchen nach einem Kommando Libc , die Parameter von Systemauf-
oder einer Option? Sie schreiben ein Pro- rufen, allgemeine Systemkommandos
gramm und möchten die Funktion einer sowie vieles andere mehr. Eine Seite
Bibliothek verwenden, kennen aber de- bezieht sich immer auf ein einzelnes
ren Parameter nicht? Dann werfen Sie Thema wie etwa ein Kommando oder
einfach einen Blick auf die entsprechen- eine Funktion.
de Manpage oder Info-Seite: Hier finden Die Manpages gehören jeweils zu
Sie detaillierte Informationen über Kom- einem Programmpaket und gelangen
mandos, über das Linux-System sowie bei dessen Installation ins System. Der
dessen Administration und grundlegen- Umfang des installierten Handbuchs
README de Wirkungsweise – und das ist bei Wei- hängt also vom jeweiligen System ab.
tem noch nicht alles. Die Manpages für die gängigsten Kom-
Selbst in Zeiten des Internets haben die
mandos, für Systemaufrufe sowie für die
Hilfesysteme Man und Info ihre Berechti- Libc-Funktionen gehören typischerwei-
Man – das Manual
gung: Sie enthalten ausführliche Informa- se zur Standardinstallation.
tionen über das System und seine Möglich- Das Handbuch, also die Sammlung aller Das Programm zum Anzeigen der Sei-
Manpages, enthält unter anderem de- ten ist Man, das Sie nach dem Schema
keiten und stehen selbst offline bereit.
taillierte Texte über die Funktionen der man [Abschnitt] Begriff ... aufrufen.
© Oleandra, 123RF

24 www.raspberry-pi-geek.de 05-06/2018
Hilfe zur Selbsthilfe Basics

1 Die Übersicht auf


der Manpage zu whatis
beschreibt die möglichen
Aufrufparameter.

Der Abschnitt verweist auf einen spezifi- nierten Schema gegliederte Angaben
schen Teil innerhalb des Handbuchs, auf über mögliche oder zwingend notwen-
den sich Man dann bei der Suche nach dige Argumente.
einer passenden Manpage beschränkt. Alles, was nicht in eckigen Klammern
Die Tabelle Eingeteilt zeigt die grund- steht, müssen Sie angeben. Im Beispiel
legenden Abschnitte. Darüber hinaus 1
aus Abbildung  gehören dazu das
gibt es Abschnitte mit einem zusätzli- Kommando whatis und das Argument
chen Buchstaben im Namen. Der geläu- Name. Unterstrichene oder kursiv ausge-
figste davon ist sicherlich der Abschnitt zeichnete Teile ersetzen Sie durch ein
3p, wobei das p für Posix steht. Hier fin- eigenes Argument. Im Beispiel betrifft
den Sie Bibliotheksaufrufe im entspre- das unter anderem das Argument Name.
chenden Format. Argumente innerhalb eckiger Klammern
Sie müssen keinen Abschnitt ange- können Sie angeben, Sie müssen aber
ben; Man durchstöbert die Abschnitte nicht. Hierunter fallen oft Optionen, die
dann der Reihe nach und zeigt die erste
gefundene Seite an. Rufen Sie Man mit
mehreren Begriffen auf, durchsucht es Listing 2
die Abschnitte nach allen und zeigt die $ whatis ‑v ‑L en whatis ls
Ergebnisse eines nach dem anderen an.
whatis (1) ‑ display one‑line manual page descriptions
Jede Manpage umfasst mehrere durch
ls (1p) ‑ list directory contents
Überschriften in Großbuchstaben ge-
ls (1) ‑ list directory contents
trennte Bereiche. Welche eine Seite ent-
hält, hängt vom jeweiligen Abschnitt ab, ‑‑‑‑

einige grundlegende Typen finden sich


aber in fast allen Manpages wieder.
Auf jeder Seite gibt es den Bereich Eingeteilt
BEZEICHNUNG (englisch: NAME). Er ent- Abschnitt Beschreibung
hält den Namen des entsprechenden 1 ausführbare Programme, Shell-Befehle
Kommandos beziehungsweise der be- 2 Systemaufrufe (Kernel-Funktionen)
treffenden Funktion sowie eine kurze Be-
3 Bibliotheksaufrufe (Funktionen in Programmbibliotheken)
schreibung. Letztere nutzt unter ande-
4 spezielle Dateien (gewöhnlich in /dev/)
rem das Kommando whatis (Listing 1).
5 Dateiformate und Konventionen, etwa /etc/passwd
Der Bereich ÜBERSICHT (englisch:
6 Spiele
SYNOPSIS) vermittelt einen Überblick zu
7 Diverses (einschließlich Makropaketen und Konventionen)
den Einsatzmöglichkeiten eines Kom-
mandos. Dazu gehören nach einem defi- 8 Systemverwaltung (typische Befehle für root)
9 Kernel-Routinen

Listing 1
$ whatis man 2 Bei der
Eingabe des
man (1) ‑ eine Oberfläche
Begriffs hilft
für die Online‑Referenzhandbücher
die Vervoll-
man (7) ‑ macros to ständigung
format man pages
weiter.

05-06/2018 www.raspberry-pi-geek.de 25
Basics Hilfe zur Selbsthilfe

3 Einige Info-
Seiten gibt es bei
Debian nur in den
Repository-Zwei-
gen contrib und
non‑free.

das Verhalten des Kommandos steuern.


Man: Tastaturbefehle
Durch einen vertikalen Strich (Pipe) ab-
Tasten Funktion getrennte Angaben schließen sich ge-
[Q] Anzeige verlassen genseitig aus. Auslassungspunkte besa-
[Umschalt]+[7] Suche vorwärts gen, dass Sie mehrere Argumente ange-
[Umschalt]+[ß] Suche rückwärts ben dürfen, im Beispiel also mehrere Be-
[N] Suche in gleicher Richtung wiederholen griffe als Name. Das bedeutet im konkre-
[Umschalt]+[N] Suche in umgekehrter Richtung wiederholen ten Fall, dass das Kommando whatis bei
[F] / Leertaste Seite vorwärts Bedarf mehrere Stichwörter verarbeitet.
[B] Seite rückwärts
Für einen schnellen Blick fasst die
Übersicht gemeinsam einsetzbare para-
[D] halbe Seite vorwärts
meterlose Kurzoptionen (Schalter) typi-
[U] halbe Seite rückwärts
scherweise in eckigen Klammern zusam-
[G] Seitenanfang
men. Nur Optionen, die ein Argument
[Umschalt]+[G] Seitenende benötigen, sich gegenseitig ausschlie-
ßen oder für die es keine Kurzform gibt,
tauchen separat auf. Gemäß der Über-
Man: Nützliche Optionen 1
sicht aus Abbildung  handelt es sich
also beim Aufruf von Whatis aus Lis-
Aufruf Beschreibung
ting 2 um ein valides Kommando.
man ‑k Begriff Suche in den Handbuchseiten nach Begriff
Die Bereiche BESCHREIBUNG (DESCRIP-
(statt apropos Begriff)
TION) und OPTIONEN (OPTIONS) enthal-
man ‑f Begriff Übersicht über das Kommando Begriff ten eine detaillierte Beschreibung des
(statt whatis Begriff) Kommandos sowie eine nähere Erläute-
man ‑a Abschnitt Begriff Anzeige der zugehörigen Handbuchseiten aus rung der Optionen sowohl in der Kurz-
allen Abschnitten, bei mehreren Einträgen erfolgt als auch, sofern existent, in der Lang-
die Anzeige nacheinander form (Beispiel: ‑v und ‑‑verbose).
man ‑L en Begriff Anzeige der englischsprachigen Handbuchseite
Die Tabelle Man: Tastaturbefehle zeigt
zum Begriff einige nützliche Tastenkombinationen

man Abschnitt intro Übersicht über den Abschnitt (1 bis 9) anzeigen

TIPP
Bei Man dürfen Sie den Abschnitt auch
Debian und die Hilfe
direkt hinter dem Schlüsselwort angeben,
Bei Debian 9 „Stretch“ gehört das Info- ausschließlich über die Zweige contrib mit einem Punkt als Trennzeichen, also
System nicht zur Standardinstallation, und non‑free bereit. nach dem Schema man Begriff.Ab-
Sie müssen es bei Bedarf mittels sudo Möchten Sie diese Pakete ebenfalls in- schnitt. Außerdem unterstützen viele
apt install info nachziehen. stallieren, erstellen Sie zunächst eine Si- Distributionen eine Autovervollständigung
Des Weiteren unterliegen einige der cherungskopie der Apt-Konfigurations- des Suchbegriffs, samt optionaler Angabe
Man- und Info-Seiten der GNU Free datei /etc/apt/sources.list und des Abschnitts. Abbildung 2 zeigt die
Documentation License (GFDL), die fügen anschließend die beiden genann- Eingabe von man open und man 3 open,
Debian nicht als freie Lizenz bewer- ten Zweige in der Originaldatei der Kon- jeweils gefolgt von einem Druck auf die
tet . Das betrifft etwa die Seiten von 3
figuration hinzu . Anschließend in- Tabulatortaste. Im zweiten Fall erhalten
Info selbst oder unter anderem die des stallieren Sie die noch fehlenden Seiten Sie weniger Vorschläge, da Man nur im
GNU-C-Compilers GCC. Beide stehen mit den Befehlen aus Listing 3. Abschnitt 3 sucht.

26 www.raspberry-pi-geek.de 05-06/2018
Hilfe zur Selbsthilfe Basics

zum schnellen Navigieren innerhalb ei- Die Info-Seiten basieren auf einem
ner Manpage. Weitere Tastenkombinati- Hypertext-Format namens Texinfo, das
onen erhalten Sie, wenn Sie nach dem ähnlich wie HTML ein Verlinken der Sei-
Start [H] drücken. Einige interessante ten untereinander erlaubt. Eine einzelne
Optionen von Man fasst die Tabelle Seite heißt hier Knoten, englisch Node.
Man: Nützliche Optionen zusammen. Die Anzeige der Seiten erfolgt entweder
Handelt es sich beim gesuchten Be- mit dem eigenständigen Programm Info
griff nicht um ein Kommando, sondern im Terminal oder innerhalb des Textedi-
um eine Libc-Funktion, enthält der Be- tors Emacs. Bei Letzterem erhalten Sie
reich ÜBERSICHT die zugehörige Header- die Info-Seiten mitden Tastenkombinati-
Datei sowie die Parameter der Funktion. onen [Alt]+[X] oder [Strg]+[H],[I].
Die bei den Kommandos aufgeführten
Regeln gelten auch hier. Die Beschrei-
bung der Parameter sowie eventuelle Info: Navigation
Besonderheiten finden sich in weiteren Tasten Funktion
Bereichen der Manpage. [H] Anzeige der Hilfe zur Tastenbelegung
[Tab] Cursor auf nächsten Knoteneintrag
Info [Eingabe] Knoten unter Cursor öffnen
[T] Top des aktuellen Dokuments
Das Info-Dokumentationssystem, im Fol- [N] nächster Knoten im aktuellen Level
genden Info genannt, zählt zu den fes-
[P] vorheriger Knoten im aktuellen Level
ten Bestandteilen auf Linux-Systemen.
[U] übergeordneten Knoten öffnen
Es steht bei den meisten Desktop-Distri-
[S] oder [/] Suche vorwärts
butionen direkt nach der Installation be-
[AltGr]+[0] nächstes Vorkommen
reit. Der Kasten Debian und die Hilfe be-
[AltGr]+[7] vorheriges Vorkommen
schreibt einige Besonderheiten.
[Leertaste] Seite vor
[Entf] Seite zurück
[G] Info beenden
Listing 3
Tastenkürzel für mehrere Fenster
$ sudo apt‑update [Strg]+[X],[2] neues Fenster mit gleichem Inhalt
$ sudo apt‑get install gcc‑6‑doc [Strg]+[X],[1] andere Fenster schließen
$ sudo apt‑get install [Strg]+[X],[0] aktuelles Fenster schließen
texinfo‑doc‑nonfree [Strg]+[X],[O] in nächstes Fenster wechseln
Basics Hilfe zur Selbsthilfe

Weise. Je nach Distribution bringt die


Tastenkombination [Umschalt]+[H] oder
[Umschalt]+[ß] eine ellenlange Liste der
Tastenbelegungen auf den Bildschirm.
Die meisten davon benötigen Sie jedoch
für den täglichen Gebrauch nicht. Die ty-
pischen Navigationstasten funktionieren
wie erwartet; die Tabelle Info: Navigation
fasst weitere wichtige Tasten und Tasten-
kombinationen zusammen.
Das Info-System zeigt sich für Erwei-
terungen offen: Bringen nachträglich in-
stallierte Programmpakete entsprechen-
de Info-Dateien mit, lassen diese sich
ebenfalls ins System integrieren. Abbil-
4 Nach der Installation von OpenOCD gibt es eine neue Info-Seite, die Sie mit info 4
dung  zeigt das am Beispiel jener des
openocd aufrufen, und die Ihnen ein Benutzerhandbuch zur Software liefert. On-Chip-Debuggers OpenOCD. Existiert
zu einem Programm oder einem Paket
nur eine entsprechende Manpage, zeigt
Der Aufruf des eigenständigen Lesepro- Info diese an. Die Eigenschaft des Info-
gramms erfolgt nach dem Schema info Browsers, mit mehreren Fenstern zu ar-
Option Eintrag. Der Parameter Eintrag beiten, erweist sich bei umfangreicheren
enthält entweder das gesuchte Schlüs- Recherchen oder beim Stöbern in der
selwort oder den Bereich, den Sie ein- Dokumentation als sehr hilfreich  . 5
sehen möchten. Dabei können Sie Un-
terbereiche angeben. Der Aufruf von Fazit
Info ohne Parameter bringt Sie in ein
Hauptmenü, das die Themen anzeigt. Der Blick auf die Manpages und Info-
Die Navigation innerhalb der Seiten Seiten lohnt sich fast immer: Viele Man-
erfolgt auf eine für Nicht-Emacs-Benut- pages liegen in deutscher Sprache vor,
zer ein wenig gewöhnungsbedürftige bei den Info-Seiten lieferten allerdings
alle getesteten Distributionen aus-
schließlich englischsprachige Texte.
Während sich Man schwerpunktmäßig
an einem konkreten Sachverhalt orien-
tiert, wie etwa einem Kommando, han-
gelt sich Info mehr an Themenbereichen
entlang und liefert dazu umfangreiche
Beschreibungen. (agr) n

Weitere Infos und


interessante Links
www.raspi-geek.de/qr/40891

Der Autor
Roman Jordan arbeitet seit über 20 Jahren
mit Linux. Zu den Schwerpunkten seiner
Tätigkeit zählen unter anderem der Einsatz
des freien Betriebssystems als Entwick-
5 Der Info-Browser info ist in der Lage, mehr als ein Fenster zu öffnen, was die parallele lungsumgebung für kleine Controllerplati-
Lektüre von Informationen ermöglicht. In Klammern finden Sie die Angabe zum Thema. nen sowie die Kernel-Programmierung.

28 www.raspberry-pi-geek.de 05-06/2018
Software RaspAP

© Sarote Impheng, 123RF


Mit RaspAP das heimische Netz
um ein Gastnetzwerk erweitern

Ausgesperrt
Das Internet der Dinge flutet Moderne Router präsentieren sich als IoT-Geräte isolieren
wahre eierlegende Wollmilchsäue: Sie
den Haushalt mit netzwerk- fungieren als Druck- und Dateiserver, Aus der Perspektive der IT-Sicherheit
steuern das Smart-Home oder kombi- sind IoT-Geräte oft eine Katastrophe.
fähigen Geräten. Gibt es nur nieren eine DECT-Basis mit Anrufbeant- Viele Hersteller sichern ihre Geräte nur
worter und Faxgerät. Beinahe nebenbei unzulänglich ab oder versorgen sie nicht
einen Internet-Zugang, dann bringen sie auch Tablets, Smartphones zuverlässig mit Sicherheitsaktualisierun-
und Computer ins Internet. Doch nicht gen. In der (Wasch-)Küche tickt daher
sollten Sie diese IoT-Devices bei jedem Nutzer steht ein aktueller manch eine brisante Zeitbombe. Sie soll-
Router. Warum ein neues Gerät kaufen, ten also IoT-Geräte besser konsequent
besser in ein Gastnetzwerk wenn das alte seine Aufgabe zur vollen von der eigenen IT-Infrastruktur fern-
Zufriedenheit erledigt? halten und in ein separates Netzwerk
sperren. Christoph Langner
Manche der Router-Funktionen über- sperren: So richten Sie im Fall der Fälle
nehmen aus diesem Grund andere Ge- weniger Schaden an. Mit einem Rasp-
räte. Wer ein NAS oder einen Drucker mit berry Pi (am besten einem der dritten
Netzwerkanschluss nutzt, der braucht Generation mit integriertem WLAN) lässt
keinen Router mit Druck- und Datei- sich solch ein Zweit-WLAN leicht auf-
server. Andere zentrale Funktionen, wie spannen. Das Projekt RaspAP  verein-
etwa ein Gastnetzwerk, lassen sich hin- facht das Einrichten nochmals.
README gegen nicht so einfach umsetzen. Dies Für die Installation benötigen Sie
erscheint insbesondere dadurch be- einen Raspberry Pi 3 mit einer Raspbian-
Bietet der Router zu Hause kein Gastnetz-
denklich, dass immer mehr heimische „Stretch“-Installation. Den Mini-Rechner
werk, setzen Sie mit einem RasPi recht Geräte netzwerkfähig werden. Das Inter- verbinden Sie wie gewohnt per Ethernet
günstig selbst eines auf. Das Projekt RaspAP net der Dinge oder englisch Internet of mit dem Router und melden sich per
übernimmt die Installation und vereinfacht Things (IoT) bringt von der Waschma- SSH auf dem System an. Vor dem Ein-
schine bis zum Toaster den halben Haus- spielen der Software bringen Sie das
die Konfiguration mit einer Weboberfläche.
halt ins weltweite Netz. System noch auf den aktuellsten Stand

30 www.raspberry-pi-geek.de 05-06/2018
RaspAP Software

(Listing 1, Zeile 1 und 2). Danach laden


Sie das Installationsskript aus dem Netz,
machen es ausführbar und rufen es auf
(Zeile 3 bis 5). Das Einrichtungspro-
gramm lädt Lighttpd als Webserver, PHP
sowie den Hostapd und DNSMasq aus
den Paketquellen und richtet die Diens-
1
te ein  . Anschließend starten Sie den
Raspberry Pi neu.
RaspAP spannt nun automatisch ein
WLAN mit der SSID raspi-webgui auf. Das
WPA-Passwort lautet in der Voreinstel-
lung ChangeMe. Melden Sie sich mit
einem Rechner oder mobilen Gerät im
WLAN des RasPi-Access-Points an, errei-
chen Sie die Weboberfläche des RaspAP-
Systems über die IP-Adresse
2
10.3.141.1  . Die Zugangsdaten lau-
ten admin mit secret als Passwort. Zur
eigenen Sicherheit sollten Sie umge- 1 Die Installation von RaspAP erfolgt über ein Skript. Es braucht allerdings zusätzlich
hend das WLAN-Passwort über die Opti- ein wenig Handarbeit.
on Configure Hotspot | Security im Feld
PSK ändern, ebenso die Zugangsdaten
zum Webfrontend über Configure Auth. reitstellen soll. Die Lösung findet sich im
Bug-Tracker des Projekts : Sie müssen
Masquerading einrichten das Masquerading (also das Weiterleiten
von Paketen von der WLAN-Schnittstelle
In der Theorie sollte die Installation auf den Ethernet-Port und somit das In-
damit beendet sein, doch in der Praxis ternet) von Hand aktivieren.
zeigt sich ein Problem: Per WLAN über Dazu öffnen Sie die Datei /etc/sys‑
den RaspAP eingeloggte Geräte können ctl.conf mit Root-Rechten in einem
zwar untereinander kommunizieren, Editor. Dort entfernen Sie die Raute vor
doch sie kommen nicht ins Internet – der Zeile net.ipv4.ip_forward=1 und
etwas unglücklich für einen Access speichern die Änderung dann ab. Weiter
Point, der doch eben diese Funktion be- müssen Sie in der Iptables-Firewall das
Masquerading anlegen (Listing 2, Zei-
le 1). Die Drop-Anweisungen in den Zei-
Listing 1 len 2 bis 4 sorgen dafür, dass die im
WLAN des RaspAP eingebuchten Geräte
$ sudo apt update
keinen Zugriff auf das heimische Netz-
$ sudo apt full‑upgrade
werk bekommen .
$ wget ‑q https://git.io/voEUQ ‑O
Die Installation des Pakets iptables-
/tmp/raspap
persistent (Zeile 5) sorgt abschließend
$ chmod +x /tmp/raspap
dafür, dass die Firewall-Regeln perma-
$ /tmp/raspap nent im System hinterlegt werden  . 3

Listing 2
01 $ sudo iptables ‑t nat ‑A POSTROUTING ‑j MASQUERADE
02 $ sudo iptables ‑I FORWARD ‑d 10.0.0.0/8 ‑j DROP
03 $ sudo iptables ‑I FORWARD ‑d 172.16.0.0/12 ‑j DROP
04 $ sudo iptables ‑I FORWARD ‑d 192.168.0.0/16 ‑j DROP
2 Über der Weboberfläche von RaspAP
konfigurieren Sie die Funktionen des Ra-
05 $ sudo apt install iptables‑persistent sPi-Access-Point.

05-06/2018 www.raspberry-pi-geek.de 31
Software RaspAP

3 Bei der Installation von iptables-persistent sichert das System die Firewall-Regeln.

Dazu beantworten Sie die Fragen Save Eine praktische Funktion finden Sie in
current IPv4 (IPv6) rules? jeweils mit Yes. der Weboberfläche unter System | Con-
Das Ergebnis steht in den beiden Datei- sole: Dort bietet RaspAP ein Terminal,
en rules.v4 und rules.v6 im Verzeich- über das Sie den Raspberry Pi wie über
nis /etc/iptables/. Nach dem Setzen 4
SSH steuern  . Aufgrund fehlender Ver-
neuer Regeln müssen Sie die Konfigura- schlüsselung sollten Sie diese Funktion
tion aktualisieren (siehe Kasten Firewall aber nur im LAN nutzen. (cla) n
aktualisieren).

Fazit
RaspAP hilft beim Aufsetzen eines RasPi
als Access Point, obwohl das Masquera-
ding noch fehlt. Ein solches Gerät muss
nicht zwingend die Geräte in ein Gast-
netzwerk sperren. Möchten Sie etwa Ihr
LAN an einer Stelle, an der Sie nur über
eine Ethernet-Buchse verfügen, mit
WLAN erweitern, übergehen Sie die
Drop-Regeln aus den Zeilen 3 bis 5 in
Listing 2. Die Gäste gliedern sich dann
wie alle anderen Rechner ins LAN ein.

Firewall aktualisieren
Sollten Sie neue Regeln definieren, dann-
Listing 3
müssen Sie diese in den Dateien /etc/
$ sudo iptables ‑F iptables/rules.v4 sowie rules.v6
$ sudo sh ‑c "iptables‑save > aktualisieren. Daraus holt sich das System
/etc/iptables/rules.v4" bei jedem Start die Konfiguration. Für ei-
nen Neustart spülen (englisch „to flush“)
Sie zunächst sämtliche alten Regeln aus
dem System (Listing 3, erste Zeile). Dann
Weitere Infos und
übertragen Sie wie beim Installieren des
interessante Links
Pakets iptables-persistent die aktuelle 4 RaspAP bietet in seiner Weboberfläche
auch ein Terminal mit Zugriff auf das Rasp-
www.raspi-geek.de/qr/40744 Konfiguration (zweite Zeile).
bian-System.

32 www.raspberry-pi-geek.de 05-06/2018
Software Editor Micro

© Liligraphie, 123RF
Konsolenbasierter Texteditor Micro für gesteigerte Ansprüche

Smarter Schreiberling
Gerade kleine Texteditoren Schlanke Texteditoren für die Komman- Micro steht für alle gängigen Plattformen
dozeile erfreuen sich großer Beliebtheit, auf der Projektseite zum Herunterladen
für die Konsole verfügen oft etwa zum Editieren der /etc/fstab, aber bereit. Eine Installation im klassischen
auch zum schnellen Schreiben von Tex- Sinne erfordert er nicht. Es genügt, den
über erstaunlich umfangrei- ten. Neben Nano gibt es mit Micro  ei- passenden Tarball micro‑1.4.0‑linux‑
nen weiteren Vertreter dieser Program- arm.tar.gz von der Github-Seite herun-
che Fähigkeiten – da macht me, der eine genauere Betrachtung ver- terzuladen, ihn zu entpacken und das
dient. Da er keine Abhängigkeiten benö- darin enthaltene Binary micro ins Ver-
Micro keine Ausnahme. tigt, lässt sich der Editor einfach installie- zeichnis /usr/bin/ zu kopieren, womit
ren und unkompliziert konfigurieren. der Editor für alle Anwender bereitsteht.
Karsten Günther Micro kann mehrere Dateien gleichzei- Um die Zwischenablage des X-Win-
tig bearbeiten und bietet eine Syntaxher- dow-Systems zu nutzen, muss Xclip 
README vorhebung für viele Sprachen sowie ein installiert sein, das alle gängigen Distri-
gutes, mehrstufiges Undo. Daneben un- butionen in ihren Repositories anbieten.
Der bereits in der Grundausstattung funkti-
terstützt Micro Unicode und ermöglicht
onsreiche Texteditor Micro für die Konsole den Einsatz komplexer Makros ebenso Besonderes
lässt sich durch zahlreiche Plugins erweitern wie Linting und automatische Fehlersu-
und steht im Vollausbau vielen umfangrei- che für Programmquelltexte. Weitere Micro entstand als Weiterentwicklung
Funktionen lassen sich über in Lua ge- von Nano. Daher verfügt er über die we-
cheren Editoren kaum in etwas nach.
schriebene Plugins schnell hinzufügen. sentlichen Features seines Vorgängers,

34 www.raspberry-pi-geek.de 05-06/2018
Editor Micro Software

die er um einige recht angenehme Funk- einem Puffer und zeigt sie an. Zum einen
tionen erweitert. So bearbeitet Nano lassen sich in einem Fenster mehrere
beispielsweise keine Datenströme aus Puffer anzeigen, zum anderen bietet die
dem Standardeingabekanal, was jedoch Applikation auch die Ansicht in soge- Micro 1.4.0
in vielen Fällen wünschenswert wäre, nannten Tabs an. Dabei handelt es sich RPG/micro/
etwa beim Weiterverarbeiten von Feh- jedoch nicht um Reiter, sondern um je-
lermeldungen. Micro erledigt diese Auf- weils separate Fensteransichten.
gabe ohne besondere Vorkehrungen: Für die Ein- und Ausgaben verwendet
Der Aufruf dmesg | tail | micro bei- das Programm die Bibliothek Tcell . Sie
spielsweise öffnet das Editorfenster mit erlaubt unter anderem das Verwenden
den letzten zehn Zeilen von Dmesg  .1 der Maus auch im Terminal und kommt
Linting: Statische Code-Analyse zum
Ein wichtiges Feature stellt der von beim Verarbeiten von Unicode-Zeichen
Emacs abgeschaute Kommandoprompt zum Einsatz. Die durch diese Library be- Erkennen inhaltlicher Fehler und frag-
dar: Über ihn können Sie direkt editor- reitgestellte Mausunterstützung fällt würdiger Konstrukte vor dem Übersetzen.
interne Befehle ausführen, die sich darü- recht umfangreich aus: Neben dem Plat-
Von engl. „lint“ für Fussel.
ber hinaus auch noch automatisch kom- zieren des Cursors erlaubt sie auch die
plettieren lassen. Dazu öffnen Sie mit Textauswahl mit Doppel- oder Dreifach-
[Strg]+[E] das Eingabefenster am unteren klick sowie durch Ziehen bei gehaltener
Fensterrand. Geben Sie dort beispiels- Maustaste.
weise he ein, lässt sich das mittels des
Tabulators zu help ergänzen. Ein beherz- Plugins und Tastatur
ter Druck auf die Eingabetaste öffnet install Name eingeben. Nach einem
2
dann die Übersichtsseite der Hilfe  . Eine wichtige Erweiterung von Micro Neustart des Editors steht die Erweite-
Der Befehl help commands fördert eine gegenüber dem Nano besteht in der rung zum Einsatz bereit.
Zusammenstellung aller verfügbaren Möglichkeit, Plugins zu verwenden oder Tastenbindungen erzeugt der Editor
internen Befehle von Micro zutage. Eine selbst zu schreiben, die komplexe Forma- mit dem internen Befehl bind. Um sie zu
komplette Übersicht der voreingestellten tierungen oder andere Bearbeitungen nutzen, öffnen Sie mit [Strg]+[E] die Be-
Tastenbindungen erhalten Sie mit help erlauben. Dabei kommt die Program- fehlsschnittstelle und definieren mittels
defaultkeys. Alle Tastenbindungen las- miersprache Lua zum Einsatz, die sich bind Taste Aktion eine neue Tasten-
sen sich in der Datei ~/.config/micro/ einfach erlernen lässt und deren schlan- bindung. Das Kommando unbind löscht
bindings.json überschreiben oder er- ker Interpreter recht schnell arbeitet. sie bei Bedarf wieder. Welche Aktionen
gänzen, die Sie gegebenenfalls erst ein- Im Plugin-Channel  von Micro finden Micro in dieser Hinsicht erlaubt, verrät
mal anlegen müssen. Wie Sie dann die Sie etliche interessante Erweiterungen die Hilfe im Bereich help keybindings
Tastenbindungen definieren, zeigt das wie beispielsweise Textschnipsel, einen im Abschnitt ## Bindable actions and bin-
Micro-Kommando help keybindings. Dateimanager, eine Rechtschreibprüfung dable keys. Die oben in der init.lua
Die Standardbelegung fasst die Tabelle und ein Tool für automatische Textforma- definierte Funktion gorun beispielsweise
Wichtige Shortcuts zusammen. tierungen. Sie lassen sich über den einge- lässt sich mit folgendem Befehl an die
Auch mehrere Dateien lassen sich bauten Plugin-Manager des Editors ein- Tastaturkombination [Ctrl]+[R] binden:
beim Micro gleichzeitig und nebenein- richten, indem Sie mit [Strg]+[E] in den
ander laden. Jede davon hält das Tool in Kommandomodus wechseln und plugin BindKey("CtrlR", "init.gorun")

1 Cooles Fea-
ture: Der Textedi-
tor Micro verar-
beitet Eingaben
via STDIN wie nor-
male Dateien.

05-06/2018 www.raspberry-pi-geek.de 35
Software Editor Micro

Analog zu Nano kennt die Software auch und einem Kurznamen für den Snippet.
Tastenmakros. Die Funktion ToggleMacro Darunter beginnt die Definition eines
(Voreinstellung: [Strg]+[U]) startet bezie- Schnipsels, das sich dann über die fol-
hungsweise beendet das Aufzeichnen ei- genden Zeilen erstrecken darf, wobei alle
nes Makros, das sich anschließend durch Zeilen mit einem Tabulator beginnen
PlayMacro ([Strg]+[J]) abspielen lässt. müssen. Innerhalb der Definition lassen
Alle Konfigurationsdaten legt Micro sich Platzhalter in der Form ${Nummer}
unter ~/.config/micro/ ab. So enthält definieren. Durch ${Nummer:Vorgabe} er-
settings.json wesentliche Voreinstel- halten Sie bei Bedarf auch Vorgabewerte.
lungen. Die Datei lässt sich auch mit Ein Beispiel in der Hilfe (help snippets)
Micro bearbeiten, wobei die Syntaxher- verdeutlicht das Verfahren.
vorhebung hilft, Tippfehler zu vermeiden. Es stehen vier Funktionen für die Arbeit
Im interaktiven Modus ([Strg]+[E]) verän- mit Snippets zur Verfügung: Zum Einfü-
derte Einstellungen speichert Micro beim gen dient snippetinsert ([Alt]+[S]), ge-
YAML: Yet another Markup Language. An Beenden automatisch in dieser Datei. folgt von einem optionalen Kurznamen,
XML sowie Perl/Python-Datenstrukturen an- der den gewünschten Schnipsel angibt.
Snippets Ohne diese Angabe verwendet Micro das
gelehnte, gegenüber diesen aber stark ver-
Wort im Text vor dem Cursor als Name.
einfachte Datenauszeichnungssprache. Die Erweiterung snippets gilt als eine der snippetnext ([Alt]+[W]) wechselt zum
wichtigsten für viele Szenarien, etwa nächsten Platzhalter im Schnipsel, snip‑
beim Programmieren. Sie imitiert das petcancel ([Alt]+[D]) löscht alle Text-
Verhalten der Vim-Snippets  und stellt schnipsel. Das Kommando snippet‑
Textblöcke bereit. Dabei stehen abhän- accept ([Alt]+[A]) beendet das Bearbei-
gig vom Dateityp kleine, immer wieder ten des aktuellen Snippets.
benötigte Textschnipsel zur Verfügung.
Die Snippets lagern in Dateien des Highlighting
Typs Dateityp.snippets im Verzeichnis
~/.config/micro/plugins/snippets/ Weitgehend fertiggestellt präsentiert sich
snippets/. In einer solchen Datei defi- die Syntaxhervorhebung. Für jede unter-
nieren Sie Textschnipsel mit dem Befehl stützte Programmiersprache benötigt der
snippet, gefolgt von einem Leerzeichen Editor eine YAML-Datei mit den entspre-
chenden Regeln unter ~/.config/mic‑
ro/syntax/. Die zu großen Teilen abstra-

Wichtige Shortcuts
Tastenbindung Wirkung
[Strg]+[A] alles auswählen
[Strg]+[D] Zeile duplizieren
[Strg]+[E] interne Befehle eingeben
[Strg]+[F] suchen
[Alt]+[G] Tastenmenü anzeigen
[Strg]+[G] Hilfe
[Strg]+[K] Zeile löschen
[Strg]+[Q] beenden
[Strg]+[S] speichern
[Strg]+[T] neuer Tab
[Strg]+[O] Buffer öffnen
[Strg]+[W] nächster Puffer
[Strg]+[Y] Redo
[Strg]+[Z] Undo
Pfeiltasten Bewegen im Puffer
[Umschalt] + Bewegen im Puffer
2 Oben: Die integrierte Hilfe beginnt mit einer Übersichtsseite. Unten: Für bestimmte Pfeiltasten mit Auswahl
Stichworte gibt es zusätzliche Hilfstexte, etwa für die voreingestellten Tastenbindungen.

36 www.raspberry-pi-geek.de 05-06/2018
Editor Micro Software

hierte Syntax erfordert nicht jedes Mal es auf rund 10 MByte. Zum Teil liegt das
neue Muster in Form von regulären Aus- allerdings auch daran, dass die Software
drücken, erlaubt sie aber. Schlüsselwör- zugunsten der Kompatibilität statisch
ter wie filetype, detect, rules definie- kompiliert wurde. Funktional schlägt
ren spezielle Bereiche in der Datei. Dort Micro seinen Vorgänger um Längen. Al-
stellen dann zusätzliche Angaben wie lein das Plugin-System katapultiert Micro
filename, header oder statement die in die Riege der vollwertig ausgestatte-
konkreten Regeln bereit, die reguläre ten Editoren für Schreib- und Program-
Ausdrücke enthalten dürfen. Das Kom- mierarbeiten. Das zeigen auch die Dis-
mando help colors erklärt die Zusam- kussionen zu neuen Plugins, die bei-
menhänge des ziemlich einfachen und spielsweise die Komplettierungen und
recht übersichtlichen Verfahrens . viele weitere Themen betreffen. Weitere Infos und
interessante Links
Nano vs. Micro Fazit www.raspi-geek.de/qr/40976

Wie der unter Raspbian vorinstallierte Micro präsentiert sich als gleichermaßen
Kommandozeileneditor Nano lehnt sich ausgewachsener wie schnörkelloser Text-
auch Micro sowohl hinsichtlich der Kon- editor. Zwar verfügt er nicht über die TIPP
zepte als auch der Funktionen an den le- mächtigen Funktionen von Vim oder
Erkennt Micro einen Dateityp einmal nicht
gendären Emacs an. In der Praxis zeigen Emacs, steckt aber aufgrund des guten
von sich aus korrekt, wechseln Sie mit
sich aber erhebliche Unterschiede zwi- Konzepts viele kleinere Konkurrenten
[Strg]+[E] in den Kommandomodus und
schen beiden Programmen. Das beginnt locker in die Tasche – insbesondere wenn
setzen anschließend mit dem Befehl set
schon beim Umfang der Binaries: Nano es um die Bedienbarkeit und Erweiter-
barkeit geht. (tle) n
filetype "Typ" den gewünschten Typ.
begnügt sich mit 240 KByte, Micro bringt
Software Logisim

© Marco Guidi, 123RF


Mit Logisim digitale Schaltungen simulieren

Logisch, oder?
Digitale Schaltungen mit Bleistift und Papier zu zeichnen,
gerät auf die Dauer umständlich. Mit Logisim dagegen
entwerfen Sie Schaltungen nicht nur, sondern können sie
außerdem direkt testen. Anzela Minosi

Prozessoren bilden das Herzstück eines Schaltungen wie etwa CPUs umgehen
jeden Computers, von PCs über Tablets zu können, braucht es ein Programm,
bis zu Smartphones läuft ohne sie nichts. das solche Schaltungen entwirft und
Je mehr Rechenleistung eine CPU auf­ anschließend nach Möglichkeit testet.
weist, desto mehr Befehle kann der Ubuntu und Fedora führen Logisim als
README Computer verarbeiten. Da wundert es gleichnamiges Paket in ihren Reposito­
nicht, dass die Architektur von Compu­ ries, sodass Sie es dort über die Paket­
Logisim eignet sich dazu, den Umgang mit
tern zu den Inhalten jeder Informatik­
digitalen Schaltungen zu erlernen. Damit ausbildung zählt. Vor allem im Studium
lassen sich sowohl elektronische Designs bekommt man Einblick hinter die Fassa­ Listing 1
entwerfen als auch kleine Schaltungen oder de eines Computers und lernt, digitale
$ java ‑jar
Schaltungen zu konstruieren. Genau hier
sogar ganze Mikroprozessoren simulieren. logisim‑generic‑Version.jar
setzt Logisim  an: Um mit digitalen

38 www.raspberry-pi-geek.de 05-06/2018
Logisim Software

verwaltung der Distribu- 1 Um eine Schaltung von Logisim


tion einrichten und via aufbauen zu lassen, benötigen Sie
Menü aufrufen können. zunächst einmal Eingänge.
Für Raspbian laden Sie
die generische Version
der Software via Source-
forge herunter  und
starten sie mittels des
Befehls aus Listing 1.
Bei der Logisim-Ge-
neric-Variante handelt
es sich um eine Java-Ap-
plikation, die ein funkti-
onsfähiges Java Runtime
Environment voraus-
setzt. Das beziehen Sie
entweder über die Rasp- Logisim 2.7.1
bian-Repositories oder direkt von der gaben. Löst ein Bewerber mindestens (Generic, MacOS, Windows)
Oracle-Webseite . Neben dieser gene- zwei davon, erhält er einen Ausbildungs- RPG/logisim/
rischen Version finden sich bei Source- vertrag, anderenfalls fällt er durch und
forge auch spezielle Varianten für MacOS muss sich woanders bewerben.
(TAR.GZ) und Windows (EXE). Um daraus eine digitale Schaltung zu
Mit Logisim lassen sich einfache logi- realisieren, müssen Sie zunächst die Ein-
sche Funktionen wie XOR realisieren. gänge und Ausgänge identifizieren. Hier
Darüber hinaus beherrscht das Pro- stellen die Eingänge a1 bis a3 die drei
gramm das Erstellen von Multiplexern Aufgaben dar. Die beiden Ausgänge b
und Dekodern. Zusätzlich können Sie und d stehen für die Zustände bestanden
Bauelemente erstellen, die Daten spei- beziehungsweise durchgefallen.
chern, wie zum Beispiel Flipflops, Würden Sie die Schaltung manuell er-
Arbeitsspeicher und Register . stellen, bräuchten Sie zunächst die Funk-
tionen für die Ausgänge. Dazu richten XOR: Eine XOR-Funktion liefert als Ergebnis
E wie Einstieg Sie erst einmal eine Wahrheitstabelle ein logisch 1 (wahr), wenn sich der Zustand
und legen anschließend die Ausgänge zweier Eingänge unterscheidet (1/0, wahr/
Anhand eines einfachen Beispiels lassen fest. Bei Zeilen, die aus mindestens zwei
falsch).
sich die Grundlagen von Logisim besser Einsen bestehen, setzen Sie unter b eine
erklären. Bei dem Exempel handelt es 1, ansonsten eine 0. Bei d verhält es sich Flipflop: Deutsch Kippstufe. Das Ergebnis
sich um einen Eignungstest mit drei Auf- genau umgekehrt: Es ist dann wahr, eines Flipflops entspricht dem Wert, der im
wenn b falsch ist, und Element gespeichert wurde, wobei sich der
1
umgekehrt  .
interne Zustand nur durch Taktflanken än-
Aus der Wahrheitsta-
dert. D-Flipflops haben je zwei Eingänge
belle lassen sich dann
die Funktionen für die (Wert D und Taktsignal C) und Ausgänge
beiden Ausgänge ab- (interner Zustand Q, Komplement ~Q).
lesen. Um die jeweilige Multiplexer: Auch Selektor genannt. Die
Funktion korrekt aufzu-
Ausgabe entspricht einem der Inputs, wobei
die Steuerung beziehungsweise der Steuer-
pin das Ergebnis auswählt. Ein n-Bit-Multi-
2 Die Einträge für die plexer hat n Steuerpins und 2n Inputs.
Eingänge erledigt Logi-
Wahrheitstabelle: Die Wahrheitstabelle
sim automatisch. Sie
braucht man für logische Blöcke. Ein Block
müssen sich lediglich um
das Ergebnis der Aus- mit n Eingängen ergibt dabei eine Tabelle
gänge kümmern. mit 2n Zeilen.

05-06/2018 www.raspberry-pi-geek.de 39
Software Logisim

3 Im Tab Minimierung
legen Sie die Normalform
der Funktion fest.

stellen, betrachten Sie


nur jene Zeilen der Ein-
gänge, in denen sich b
Gatter: Gatter implementieren logische beziehungsweise d eine
Basisfunktionen; so realisiert ein UND- 1 ergibt, und fügen sie
in die Funktionen ein
Gatter die UND-Funktion.
(Listing 2).
UND: Eine UND-Funktion liefert als Ergeb-
In der Booleschen Al-
nis eine 1, wenn beide Eingänge wahr sind. gebra steht das Plus für
ODER: Eine ODER-Funktion liefert als Ergeb- ein ODER-Gatter und
nis eine 1, wenn mindestens einer der bei- das Malzeichen für das
den Eingänge wahr ist. UND-Gatter. Da für die bisherige Schal- cher Bedingung die Ausgänge die Werte
tung pro Funktion jeweils drei ODER- wahr beziehungsweise falsch erhalten,
Sum of Products: Die Funktion einer Schal-
Gatter sowie acht UND-Gatter benötigt indem Sie solange auf die X in den Spal-
tung wird in disjunktiver Normalform ange-
würden, überprüfen Sie noch einmal, ob ten der Ausgänge klicken, bis der ge-
geben, sodass die Variablen durch ODER-
Symbole miteinander verbunden sind.
sich die Funktion minimieren lässt. Das wünschte Wert erscheint  . 2
erfolgt anhand der Gesetze der Boole- Zu guter Letzt legen Sie fest, wie Logi-
Product of Sums: Die Funktion einer Schal- schen Algebra – allerdings können Sie sim die Funktion minimieren soll – Sie
tung wird in konjunktiver Normalform an- diese Aufgabe Logisim übertragen. haben hier die Wahl zwischen Sum of
gegeben, sodass die Variablen durch UND- Products oder Product of Sums. In unse-
Symbole miteinander verbunden sind. Weniger ist mehr rem Beispiel verwenden wir Sum of Pro-
ducts. Sobald Sie im Reiter Minimierung
Dazu starten Sie Logisim und erstellen die Entscheidung getroffen haben  , 3
zunächst ein neues Projekt, indem Sie wechseln Sie zum Tab Ausdruck. Dort er-
auf Datei | Speichern unter klicken. An- scheinen die minimierten Versionen der
schließend geben Sie unter Fenster  | beiden Funktionen, mit denen sich die
Kombinatorik auf den Reitern Eingänge 4
Schaltung realisieren lässt  .
und Ausgänge die eingangs genannten
1
Variablen ein  . Aufbauen
Dann wechseln Sie auf den Reiter
Tabelle. Dort legen Sie fest, unter wel- Bevor Sie das Fenster Kombinatorik
verlassen, klicken Sie auf den Schalter
Schaltung aufbauen und vergeben einen
5
Namen für die neue Schaltung  . An-
schließend zeichnet Logisim für Sie die
Schaltung, wobei es die Wahrheitstabel-
6
le als Basis verwendet  . Auf der linken
Seite des Übersichtsfensters greifen Sie
bei Bedarf durch einen Doppelklick auf
die erstellten Schaltungen zu.

Listing 2
f_b(a1,a2,a3) = (¬a1a2a3)+(a1¬a2a
4 Logisim vereinfacht 3)+(a1a2¬a3)+(a1a2a3)
auf Wunsch Funktionen –
f_d(a1,a2,a3) = (¬a1¬a2¬b3)+(¬a1¬
hier die des Ausgangs b
a2a3)+(¬a1a2¬a3)+(a1¬a2¬a3)
aus unserem Beispiel.

40 www.raspberry-pi-geek.de 05-06/2018
Logisim Software

Bei Flipflops hingegen 5 Logisim kann die Schaltung wahlweise


zaubert das Kombina- mit Gattern aus zwei Eingängen oder nur
torik-Fenster keine mit NAND-Gattern zeichnen.
Schaltung hervor – das
klappt nur mit Handar-
beit. Als Beispiel dient
hierfür ein flankenge-
triggertes D-Flipflop. Zu-
nächst vergeben Sie ei-
nen Namen für die Schal-
tung, indem Sie auf der
linken Seite einen Rechtsklick auf den dem Zeichenblatt, verbinden Sie sie
Projektnamen machen und Schaltung stattdessen miteinander. Dazu fahren Sie
hinzufügen auswählen. Logisim erzeugt mit dem Mauszeiger über die Ein- bezie-
daraufhin ein leeres Zeichenblatt, auf hungsweise Ausgänge eines Bauele-
das Sie die Bauelemente ziehen können. ments, klicken darauf und ziehen eine
Unterhalb der importierten bezie- Leitung bis zum nächsten Ein- bezie-
hungsweise erstellten Schaltungen fin- hungsweise Ausgang. Um eine Leitung Kombinatorik: Blöcke ohne Speicher nennt
den Sie die bereit gestellten Bauelemen- mit Ecken zu zeichnen, erstellen Sie zu- man kombinatorisch. Das Ergebnis einer
te. Flipflops tauchen hier im Register nächst eine Gerade und lassen dann die kombinatorischen Logik hängt nur von der
Speicher auf. Durch einen Klick auf das Maustaste los, um anschließend in eine
aktuellen Eingabe ab.
Leitungssymbol links vom Register öff- andere Richtung weiterzuzeichnen.
net sich dieses und Sie können das Es empfiehlt sich außerdem, die ein- Inverter: Ein Gatter, das die NOT-Funktion
D-Flipflop bei gedrückter linker Maus- zelnen Bauelemente zu beschriften, so- realisiert: Es macht aus einer 0 eine 1 und
taste auf das Zeichenblatt ziehen. dass andere Anwender der Schaltung umgekehrt.
Zusätzlich stellt Logisim Attribute zu später erkennen können, was die Bau-
den Bauelementen bereit, die unterhalb elemente bedeuten. Dazu klicken Sie
des Übersichtsfensters erscheinen, so- oben in der Menüleiste auf das Buch-
bald Sie das Bauelement mit der linken staben-Icon und setzen anschließend
Maustaste markieren. Unser D-Flipflop den Cursor auf das Zeichenblatt, um den
soll nur reagieren, wenn die Uhr den Namen einzugeben.
Wert 1 aufweist. Daher setzen Sie das
Attribut Trigger auf steigende Flanke.
Danach markieren Sie mit der Maus
das Bauelement und erstellen ein Dupli-
kat, indem Sie mit [Strg]+[C] das Ele-
ment kopieren und mit [Strg]+[V] ins
Duplikat einfügen. Die Attribute kopiert
Logisim dabei mit, sodass Sie sie nicht
erneut anzupassen brauchen.
Zusätzlich benötigen Sie Ein- und Aus-
gabepins sowie eine Uhr, die sich im Re-
gister Wiring findet. Hinzu kommt ein
Inverter aus dem Register Gatter. Nach-
dem Sie die Bauelemente auf das Zei-
chenblatt gezogen haben, lässt sich de-
ren Ausrichtung ändern. In der Regel zei-
gen die Ein- und Ausgabepins in entge-
gengesetzte Richtungen. Darüber hin-
aus sollten Sie bei den Ausgabepins das
Attribut Ausgang auf logisch Ja setzen.
Eine Wahrheitstabelle brauchen ma- 6 Unterhalb des Projektordners mit den Schaltungen stehen die Bauelemente.
nuell erstellte Schaltungen nicht. Liegen Sobald Sie ein Bauelement rechts auf dem Zeichenblatt markieren, erscheint links
erst einmal alle Zeichenelemente auf unten das dazugehörige Attributfenster des Elements.

05-06/2018 www.raspberry-pi-geek.de 41
Software Logisim

7 Dieses D-Flipflop hat eine Zeitsteuerung: Es ändert erst dann seinen Zustand, wenn
die Uhr auf 1 umschaltet.

Die Multiplex-Connection gen nehmen Sie am besten im Attribut-


fenster vor. Hinzu kommen vier Ein-
In Multiplex-Kinos strömen die Leute am gänge, ein weiterer Eingang für den
Eingang hinein und lassen sich im ge- Selektorpin sowie ein Ausgang. Dazu
NAND: Der NAND-Operator entspricht dem
wünschten Kinosaal nieder. So ähnlich verbinden Sie die Eingabepins mit den
invertierten UND-Operator. NAND-Gatter
funktioniert das auch bei einem n-Bit- Eingängen des Multiplexers.
gelten als universell, da sich jede beliebige Multiplexer. Wir sehen uns hier jedoch Das Steuersignal – es findet sich am
logische Funktion allein durch diesen Typ einen Encoder näher an, mit dem es sich unteren Ende des Multiplexers – besteht
realisieren lässt. so ähnlich verhält wie mit dem Ende ei- in unserem Beispiel aus zwei Bits. Sie
nes Kinoabends: Die Besucher (Daten) können die Anzahl der Bits wieder über
verlassen die einzelnen Kinosäle und das Attributfenster ändern. Für den Aus-
nehmen anschließend den Ausgang des gang bietet sich diesmal eine LED an, die
Kinos, um aus dem Gebäude herauszu- Sie unter Eingabe/Ausgabe | LED finden.
kommen.
Die elektronische Parallele, einen Teile und herrsche
8
1-Bit-Multiplexer  , zeichnen Sie wie-
derum über das Kombinatorik-Fenster. Beim Programmieren achtet man darauf,
Dazu erstellen Sie wie gehabt zunächst Code wiederzuverwenden, indem man
die passende Wahrheitstabelle und Funktionen nutzt. Bei Logisim ist das
klicken dann auf Schaltung aufbauen. Im nicht anders: Was der Programmierer
sich daraufhin öffnenden Fenster wäh- Funktionen oder Methoden nennt, heißt
len Sie NAND-Gatter aus und vergeben unter Logisim Teilschaltung.
einen Namen für die Schaltung. Angenommen, das Beispiel mit dem
Um einen Multiplexer manuell zu er- Eignungstest soll zeitlich gesteuert ab-
stellen, klicken Sie auf der linken Seite laufen: Dann könnten Sie den Eignungs-
auf Auswahlschaltungen | Multiplexer test, der in diesem Fall die Logik darstellt,
und ziehen das Bauelement dann auf zwischen zwei D-Flipflops integrieren.
das Zeichenblatt. Für einen 2-Bit-Multi- Dazu erstellen Sie zunächst eine neue
plexer benötigen Sie zwei Datenleitun- Schaltung, indem Sie das Kontextmenü
gen und ein Datenbit; diese Einstellun- des Projektordners mit der rechten
Maustaste aufrufen und anschließend
auf Schaltung hinzufügen klicken.
Um die Teilschaltung zwischen zwei
8 Eine logi- D-Flipflops einzufügen, klicken Sie ein-
sche Schaltung mal auf der linken Seite auf den Namen
wie der 1-Bit- der Teilschaltung. Dann wandelt sich der
Multiplexer Mauszeiger in einen Block um. Dieser
lässt sich nur Block stellt die Teilschaltung dar, die Sie
mithilfe von nun mit den D-Flipflops verbinden.
NAND-Gattern Da der D-Flipflop nur einen Ausgang
realisieren. aufweist, der gleichzeitig für den Ein-

42 www.raspberry-pi-geek.de 05-06/2018
Logisim Software

gang der Teilschaltung gebraucht wird,


fügen Sie einfach noch zwei weitere Ein-
gabepins hinzu. Außerdem hat die Teil-
schaltung zwei Ausgänge, von denen
Sie einen mit dem Eingang des zweiten 9 Bei diesem Multiplexer
D-Flipflops verbinden. Der andere Aus- stehen die Eingänge auf der
gang verläuft zum Reset-Eingang (~R) linken Seite und das Steuer-
des zweiten D-Flipflops. pin unten. Der Ausgang
wird durch die LED realisiert,
Testen die sich rechts vom Multi-
plexer befindet.
Es empfiehlt sich, Ihre Schaltung vorab
zu testen. Dafür müssen Sie bei logi-
schen Schaltungen wie dem Eignungs- sodass Sie nur noch die Dateneingänge
test oben in der Menüleiste lediglich auf ändern müssen. Zusätzlich bietet Logi-
das Handsymbol klicken. Anschließend sim eine Exportfunktion an, die eine
verändern Sie durch mehrmaliges An- Zeichnung der Schaltung erzeugt. Dazu
klicken die Werte der Eingabepins. Mo- klicken Sie auf Datei | Bild exportieren.
mentan aktive Leitungen – solche also,
durch die gerade die Datenbits fließen – Fazit
hebt Logisim während der Simulation
farblich hervor. Logisim ermöglicht Ihnen, sich beim
Für Schaltungen, die zeitgesteuert ab- Elektronikdesign ganz auf das Wesent-
laufen, hält Logisim eine Besonderheit liche zu konzentrieren. Das Malen grafi-
bereit: Unter Simulieren | Weiterschalten scher Elemente dürfen Sie dabei getrost
aktivieren lässt sich die Uhr simulieren, dem Programm überlassen. (jlu) n

Weitere Infos und


interessante Links
www.raspi-geek.de/qr/40750

Der Autorin
Auf ihrem PC setzt Anzela Minosi die
Linux-Distribution Sabayon ein. Wenn sie
nicht gerade ihren eigenen PC-Support
betreibt oder programmiert, treffen Sie sie
beim Sonnenbaden.
0 Will man eine Teilschaltung integrieren, dann zeigt Logisim diese als Block an.
Software Raspberry Digital Signage

Infoterminals mit Raspberry Digital Signage

Informativ

© Weerayut Ranmai, 123RF


Ein Kiosksystem als inter- Multimedia-Informationssysteme fin- Auch der Aufwand für Betrieb und War-
den sich mittlerweile überall im öffent- tung liegt im Vergleich zu herkömmli-
aktives Informationsangebot lichen Raum, etwa an Bahnhöfen, Flug- chen Rechnersystemen deutlich niedri-
häfen, in Behörden, Hotels, Banken und ger, vor allem dank des geringen Ener-
verursacht oft erhebliche Geschäften. Der Anwender kann an ei- giebedarfs des Mini-Rechners.
nem solchen Info-Kiosk spezifische In- In Form von Raspberry Digital Signage
Kosten. Raspberry Digital formationen abfragen und Transaktio- (RDS) steht zudem ein einfach zu bedie-
nen vornehmen. nendes Kiosksystem bereit, das nicht nur
Signage dagegen bietet eine Dabei kommen die Digital-Signage- vorgegebene Inhalte aus dem Web oder
Systeme sehr flexibel für jeweils einen einem lokalen Netz verfügbar macht,
Lösung für das kleine Budget. einzigen Zweck zum Einsatz: Es läuft ein sondern auch von der lokalen Speicher-
Eric Bärwaldt Webbrowser im Vollbildmodus, für den karte des Raspberry Pi.
ein lokaler Webserver die zugehörigen
Inhalte liefert. Bei den interaktiv genutz- Auf die Karte
ten Kiosksystemen kann der Anwender
in aller Regel per Touchscreen auf der Raspberry Digital Signage erhalten Sie
Webseite navigieren, gelegentlich auch als rund 710 MByte großes Archiv auf
per Tastatur mit integrierter Maus. Un- der Projektseite . Nach dem Herunter-
README eingeschränkten Internet-Zugriff erhält laden entpacken Sie das Archiv und in-
er dagegen nicht, er kann die vorgege- stallieren das entpackte Abbild auf einer
Elektronische Informationssysteme finden
benen Webseiten nicht verlassen. mindestens 4 GByte großen Micro-SD-
sich inzwischen überall. Mit dem RasPi und
Mit entsprechend angepasster Soft- Karte. Dazu empfiehlt sich der Befehl
Raspberry Digital Signage setzen Sie im Nu ware bietet inzwischen auch der Rasp- dcfldd, der im Gegensatz zu dd den
ein individuelles System auf, ohne dabei berry Pi die Möglichkeit, ein solches Fortgang des Schreibvorgangs anzeigt
allzu tief in die Tasche greifen zu müssen.
Kiosksystem zu betreiben – und das zu (Listing 1). Achten Sie darauf, dass die
unschlagbar niedrigen Einstiegskosten. Micro-SD-Karte mindestens der Class-

44 www.raspberry-pi-geek.de 05-06/2018
Raspberry Digital Signage Software

10-Spezifikation entspricht, damit später


beim installierten System keine Latenz-
zeiten mit ruckelnden Bewegungen am
Bildschirm auftreten.
Nach dem Einrichten des Systems auf
der Speicherkarte setzen Sie diese in ei-
nen RasPi ein und starten das Gerät. Ne-
ben dem eigentlichen Betriebssystem ak-
tivieren sich nun alle für den Kioskbetrieb
nötigen Dienste, wie ein MariaDB-Daten-
bankserver und ein Apache-Webserver.
Die Startroutine öffnet anschließend ein
auf HTML und Javascript basierendes,
schnörkelloses Webinterface, das der
Administration dient. Das Interface er-
laubt dabei das Konfigurieren des Netz-
werks, wobei die Software die im RasPi 3
vorhandene WLAN-Schnittstelle erkennt
und korrekt anspricht.
Nutzen Sie RDS auf einem RasPi der 1 Das Webinterface für die Systemeinstellungen fällt weitgehend selbsterklärend aus.
ersten oder zweiten Generation, müssen
Sie für die Netzanbindung per WLAN
einen passenden USB-Adapter an das Die RDS-Vollversionen bieten in diesem
Gerät anstecken und die im Betriebssys- Dialog zusätzliche Einstellungen an,
tem noch nicht vorhandenen Firmware- etwa für den Einsatz eines Proxy-Servers
Dateien nachinstallieren. Das klappt oder das tägliche Herunterfahren des
aber nur in den kostenpflichtigen Voll- Systems zu einem definierten Zeitpunkt,
versionen des Systems und erfolgt über um Energie zu sparen. Haben Sie alle
einen SSH-Zugang von einem entfern- Einstellungen abgeschlossen, starten Sie
Raspberry Digital Signage 10.0
ten Rechner aus, der Zugriff auf die Kom- den Kioskmodus anschließend durch
RPG/rds/
mandozeile mit der Paketverwaltung einen Klick auf den Button Start kiosk
bietet. Eine detaillierte Beschreibung, mode, wobei RDS alle von Ihnen ge-
welche Firmware-Dateien Sie aus den machten Modifikationen an der Konfi-
Repositories nachziehen müssen, bietet 1
guration automatisch sichert  .
die Online-Dokumentation .
Weitere Einstellungen betreffen die
Lokalisierung, den Videomodus, die
Audiounterstützung sowie die Konfigu-
ration des Kioskmodus. Dabei geben Sie
eine Ziel-URL an, die das System anzei-
gen soll, und deaktivieren bei Bedarf
Tastatur und Maus. Die angegebene URL
darf dabei ins Internet, ins lokale Netz
oder eine Datei auf dem Rechner selbst
verweisen. An dieser Stelle können Sie
zudem für die Nutzung von Touch-
screens eine virtuelle Tastatur einschal-
ten, die es aber nur mit US-Layout gibt.

Listing 1
$ dcfldd if=/Pfad/zum/Image.img
of=/dev/Gerät bs=1M
2 Der Kioskmodus erlaubt keine wahlfreien Eingaben des Anwenders – das
verhindert in der Regel einen Missbrauch von Hard- und Software.

05-06/2018 www.raspberry-pi-geek.de 45
Software Raspberry Digital Signage

3 Das Abschalten der


Netzwerkprüfung erfordert
ein wenig Handarbeit.

Raspberry Digital Signage verzweigt nun schirm per Passwort sichern und können
in die angegebene Ziel-URL, wobei der das System komplett per SSH von ent-
recht ressourcenschonende Chromium- fernten Rechnern aus warten. Außerdem
Browser ohne Menü- und URL-Zeile, ist die Bildschirmrotation aktiviert, so-
2
aber mit Buttons erscheint  . Unter der dass Sie bei Bedarf die Inhalte auch im
Haube kommt der Browser mit HTML5-, Hochformat präsentieren können. Dazu
Flash- und H.264/AVC-Inhalten zurecht, müssen Sie lediglich die Datei /boot/
sodass sich auch Seiten mit anspruchs- config.txt entsprechend modifizieren.
vollen Multimedia-Inhalten anzeigen
lassen, ohne den Raspberry Pi dabei an Zeitgesteuert
seine Leistungsgrenzen zu treiben.
Darüber hinaus bieten die kostenpflich-
Versionen tigen Versionen die Option, nach einer
wahlfrei vordefinierten Phase der Inakti-
Der italienische Entwickler Marco Bu- vität einen kompletten Browser-Reset
ratto bietet Raspberry Digital Signage in vorzunehmen. Das erweist sich insbe-
drei Varianten an: Die frei verfügbare sondere bei frei zugänglichen, öffentli-
Version (die Sie auch auf der Heft-DVD chen Kiosksystemen als nützlich, die vie-
finden) bietet alle Grundfunktionen zum le Anwender frequentieren und dabei
Ausprobieren des Komplettsystems und möglichst stets eine vorgegebene Start-
für den produktiven Einsatz in einge- seite zu sehen bekommen sollen. Ähn-
schränktem Rahmen. lich verhält es sich mit der automati-
Benötigen Sie mehr Funktionen, dann schen Abschaltfunktion des Systems, die
greifen Sie zu den sogenannten Donor’s- den Kiosk täglich zu einem vorgegebe-
Versionen. Mit diesen Varianten, für die nen Zeitpunkt deaktiviert.
Buratto einen Unkostenbeitrag von Unabhängig von den Nutzereingaben
16,90 Euro (Personal Edition) bezie- können Sie bestimmte Inhalte nach einer
hungsweise 29,90 Euro (Professional Edi- festen Zeitspanne zwangsweise anzei-
tion) aufruft, erhalten Sie einen erweiter- gen lassen. Die Donor’s-Versionen schal-
ten Funktionsumfang. Funktionell be- ten zudem einen Auflösungsdialog frei,
steht zwischen den beiden Donor’s- mit dessen Hilfe Sie das System auf eine
Versionen kein funktionaler Unterschied, feste Bildschirmauflösung einstellen. Zu
die teurere Variante umfasst jedoch zu- guter Letzt enthalten die kostenpflichti-
sätzlich zur Software auch kostenlosen gen Varianten Proxy-Server-Optionen.
Support per E-Mail . In den kostenpflichtigen Varianten
Die kostenpflichtigen Versionen bie- können Sie zudem das Dateisystem auf
ten vielfältige Zusatzfunktionen für den der Speicherkarte expandieren, um
professionellen Einsatz der Software: So mehr Speicherplatz für Inhalte zu erhal-
dürfen Sie hier den Konfigurationsbild- ten. Das erweist sich vor allem dann als

46 www.raspberry-pi-geek.de 05-06/2018
Raspberry Digital Signage Software

nützlich, wenn die präsentierten Web- den User www-data an (Listing 2) und
seiten umfangreiche Multimedia-Datei- geben anschließend als Startseite die
en abspielen. Dazu müssen Sie lediglich URL http://127.0.0.1/Seite an.
am Prompt das Werkzeug Raspi-config Damit das System die fragliche Seite
aus den Repositories nachinstallieren, bei jedem Hochfahren des Systems so-
mit dessen Hilfe Sie anschließend den fort ohne Umweg über die Konfigurati-
Massenspeicher in wenigen Schritten onsseite anzeigt, fügen Sie der Datei
auf die komplette Kapazität des Spei- /etc/rc.local noch die Zeile touch
chermediums erweitern. /tmp/iwk.strictKioskMode hinzu. Diese
Modifikation erledigen Sie entweder
Eigene Inhalte über eine SSH-Verbindung von einem
entfernten Rechner aus oder direkt auf
Um eigene Inhalte auf dem System an- der Speicherkarte des RasPi, indem Sie
zuzeigen, greifen Sie auf die vorhandene diese auf einem anderen Rechner ins
Wordpress-Installation zurück oder ko- Dateisystem einhängen.
pieren eigene Webseiten auf die Spei-
cherkarte und legen die entsprechende Offline arbeiten
Startseite als Ziel-URL fest. Um das be-
reits vorinstallierte Wordpress zu nutzen, Arbeitet das Kiosksystem offline und
sorgen Sie zunächst dafür, dass Ihr Desk- möchten Sie daher vermeiden, dass RDS
top-Rechner auf die auf dem Kiosk-RasPi beim Hochfahren des Rechners stets
lagernden Webseiten zugreifen kann. zeitraubend versucht, eine Netzwerkver-
Dazu sorgen Sie zunächst für eine bindung herzustellen, dann modifizieren
Namensauflösung, indem Sie der Datei Sie im Dateisystem des RasPi die verbor-
/etc/hosts (beziehungsweise C:\Win‑ gene Datei /home/pi/.xinitrc: Setzen
dows\System32\drivers\etc\hosts un- Sie dort beim Prüfen des Netzwerkzu-
ter Windows) die Zeile RasPi‑IP rds. gangs den Rückgabewert stets auf 0  .3
local hinzufügen. Damit erkennt Ihr PC,
dass die Adresse http://rds.local den Fazit
Raspberry Pi referenziert, was den Aufruf
und das Modifizieren der Seite(n) via Raspberry Digital Signage macht den
Wordpress ermöglicht. Einsatz kostspieliger und energiehung-
Anschließend rufen Sie die Kioskseite riger Infoterminals weitgehend überflüs-
per SSH-Zugang vom entfernten Rech- sig. Für wenig Geld erhalten Sie ein voll-
ner aus auf und melden sich mit dem Be- wertiges und dank entsprechender Un-
nutzernamen root und dem Passwort terstützung von Industriestandards flexi-
changeThisPassword auf dem Mini-PC bel einsetzbares Kiosksystem. Dabei er-
an. Nun können Sie die voreingestellten leichtert insbesondere die unkomplizier-
Inhalte gegen Ihre eigenen austauschen. te Konfiguration die Arbeit, indem sie
Wollen Sie dagegen ohne den Umweg den Einsatz der Kommandozeile weit-
über Wordpress Ihre Inhalte einfach auf gehend überflüssig macht.
die Speicherkarte des Raspberry Pi trans- Zudem spart es Energie ein, ohne
ferieren und von dort zur Startseite des dafür Abstriche an der Leistungsfähig-
Kiosksystems machen, dann kopieren keit des Infosystems in Kauf nehmen zu
Sie die fraglichen Dateien einfach in das müssen: Zum einen setzt RDS selbst kei-
Verzeichnis /var/www/Seite auf dem nen ständigen Internet-Zugang voraus,
RasPi. Danach passen Sie die Rechte für zum anderen gibt sich der RasPi mit ei-
ner geringen Leistungsaufnahme zufrie-
den. Für den professionellen Einsatz des
Listing 2 Duos empfiehlt es sich, eine der beiden
kostenpflichtigen Varianten des italieni- Weitere Infos und
# chmod ‑R 700 /var/www/Seite
schen Raspbian-Derivats zu erwerben, interessante Links
# chown ‑R www‑data:www‑data da diese zahlreiche zusätzliche Funktio-
nen unterstützen. (jlu) n
/var/www/Seite www.raspi-geek.de/qr/40954

05-06/2018 www.raspberry-pi-geek.de 47
Server Caddy

Sicherer Webserver out of the box mit Caddy

HTTPS für alle


Mit Caddy gelingt es auch Primär dient ein Webserver dazu, Web- nistratoren immer stärker in Bedrängnis
seiten und deren Inhalte bereitzustellen und verunsichern die Nutzer. Um das
unerfahrenen Anwendern, und auszuliefern. Er erhält die Anfrage Vertrauen zu erhalten, gehen mehr und
beispielsweise dann, wenn Sie mit Ihrem mehr Admins dazu über, ihre Webseiten
einen Webserver vernünftig Webbrowser eine Webseite via HTTP SSL/TSL-verschlüsselt via HTTPS auszu-
oder HTTPS ansurfen. Der Browser sen- liefern. Das erfordert üblicherweise
und sicher aufzusetzen. Da- det eine Anfrage als HTTP-Request zum mehrere Schritte zum Beantragen, In-
Webserver; der nimmt sie entgegen, be- stallieren, Pflegen und regelmäßigen Er-
bei reduziert er das üblicher- reitet die angeforderten Inhalte auf be- neuern der dafür genutzten Zertifikate.
ziehungsweise rendert sie und stellt sie Sie gelten nur zeitlich begrenzt, je nach
weise komplexe Setup von anschließend dem Webbrowser bereit. Certification Authority und Budget zwi-
Die Statistik der am meisten eingesetz- schen 3 Monaten und 10 Jahren.
HTTPS auf ein Minimum.
ten Webserver führen der Apache HTTP Die Initiative Let’s Encrypt  setzt sich
Server, Microsofts Internet Information zum Ziel, den ganzen Prozess zu verein-
Frank Hofmann, Mandy Neumeyer
Services (IIS) sowie Nginx an. Bei den ers- fachen, und verbucht damit bereits be-
ten beiden handelt es sich um Veteranen achtliche Erfolge (siehe Kasten Einfach
aus den 1990ern, die über vorbereitete verschlüsselt). Zum derzeitigen Stand
README Konfigurationen oder Zusatzmodule im- stellte das Projekt bereits für 63 Millio-
mer wieder an die sich ändernden Be- nen Domains Zertifikate aus.
Der schlanke und flinke Webserver Caddy
dürfnisse der IT-Infrastruktur angepasst
verspricht Unterstützung für HTTP/2 und
wurden. Die umfangreichen Bücher und Caddy
HTTPS samt automatischer Erneuerung von Tutorials zu Apache und IIS sprechen
Zertifikaten. Bereits auf der Webseite legen Bände über deren Komplexität. Nginx An dieser Stelle kommt der Webserver
Sie fest, welche Erweiterungen die Software erblickte 2004 das Licht der Welt, gilt als Caddy  ins Spiel, der sowohl HTTP/2
enthalten soll. Die kinderleichte Implemen- modern, leichtgewichtig und flexibel (siehe Kasten Von HTTP 1.1 zu HTTP/2)
tierung von Let’s Encrypt gestattet es buch- und verrichtet seinen Dienst ebenso zu- als auch eine Anbindung an Let’s En-
verlässig und flink wie die Konkurrenten. crypt von Haus aus mitbringt. Seit seiner
stäblich jedem, seine Webseiten verschlüs-
Die vielfachen Angriffe auf Webserver Veröffentlichung 2015 gilt er als erster
selt auszuliefern.
und deren Dienste bringen Systemadmi- Allzweck-Webserver, der für diese Kom-

48 www.raspberry-pi-geek.de 05-06/2018
Caddy Server

© Michael Borgers, 123RF

1 Bereits auf der Projektseite legen Sie fest, welche Erweiterungen die Software
enthalten soll. Das reduziert die Komplexität unter Umständen erheblich.

Einsatz als kostenfreie Community-Ver-


sion bereit. Möchten Sie den Webserver
kommerziell nutzen, freuen sich die Ent-
wickler über eine einmalige Zahlung
von 25 US-Dollar. Das Projekt steht unter
bination dem Webmaster nur eine mini- der Apache-2.0-Lizenz.
male Vorbereitung abfordert. Für Apa- Die folgende, auf Debian 9 alias
che , Nginx  und IIS  gibt es zwar „Stretch“ angepasste Beschreibung ba-
zu diesem Zweck ebenfalls Module und siert auf dem Blogbeitrag von Supriyo
Lösungen, doch die befinden sich ent- Biswas . Sie lässt sich komplett auf
weder noch in der Entwicklung oder ihr Raspbian übertragen, das ja bekannter-
Setup gestaltet sich deutlich komplexer. maßen auf Debian basiert. Darüber hin-
Das in der Programmiersprache Go aus haben wir hier die Entwicklungen
entwickelte Caddy steht für den privaten seit seiner Veröffentlichung des Beitrags

Einfach verschlüsselt
Das Projekt Let’s Encrypt ist die erste große Initiative der gemeinnüt- Domain. Danach erfolgt eine Web- oder DNS-Abfrage, bei der sich die
zigen Organisation Internet Security Research Group (ISRG). Sie will Domain durch einen von diesem Token abgeleiteten Schlüssel verifi-
verschlüsselte WWW-Verbindungen zum Standard erheben. Let’s ziert. Das stellt sicher, dass die Inhalte auch tatsächlich vom Betreiber
Encrypt setzt beim Verschlüsseln auf das Ausstellen sogenannter der Webseite stammen. Für die eigene Vertrauenswürdigkeit setzt
Domainvalidierungszertifikate. Um zu prüfen, ob die Person, die eine Let’s Encrypt außerdem auf größtmögliche Transparenz. Dafür nutzt
Zertifizierungsanfrage stellt, auch tatsächlich Inhaber der Domain ist, das Projekt freie Software und offene Standards in Kombination mit
erstellt und versendet Let’s Encrypt einen Token zur anfragenden der regelmäßigen Veröffentlichung von Transparenzberichten.

Von HTTP 1.1 zu HTTP/2


Nach langer Diskussion steht seit Februar 2015 die Version 2.0 des etliche Neuerungen  mit sich, darunter eine Datenkompression der
Hypertext Transfer Protocols  zur Verfügung. Im RFC 7540  be- HTTP-Header sowie das parallele Ausführen von Requests über eine
schrieben, löst HTTP/2 nach und nach das aus dem Jahr 1997 stam- einzige TCP-Verbindung („Pipelining“). Generell zielt das Protokoll
mende HTTP 1.1 ab. Auswertungen des WWW-Datenverkehrs ergaben darauf ab, die zur Verfügung stehende Rechenleistung besser auszu-
Ende 2017 bereits einen HTTP/2-Anteil von 20 Prozent. HTTP/2 bringt nutzen und die Zeit für die Übermittlung der Anfrage zu minimieren.

05-06/2018 www.raspberry-pi-geek.de 49
Server Caddy

Plugins zeigt eine kleine Auswahl der


zahlreichen verfügbaren Erweiterungen.

Grundlegendes Setup
Zum Funktionstest legen Sie im aktu-
ellen Verzeichnis der Einfachheit halber
eine index.html an, die lediglich aus
dem HTML-Header sowie dem Body mit
der Überschrift „Hallo Welt“ besteht. Da-
2 Die Webseite zum nach starten Sie Caddy aus demselben
Funktionstest sowie der Verzeichnis. Zum Aufruf der Seite im
Aufruf im Webbrowser. Browser verwenden Sie entweder die IP-
Adresse des Hosts oder localhost bezie-
hungsweise 127.0.0.1 und ergänzen die
sowie die stärkere Verwendung von Angabe um die Portnummer 2015, auf
Markdown berücksichtigt. der Caddy ohne weitere Einstellungen
auf HTTP-Anfragen lauscht  .2
Installation Um den Webserver abzusichern und
ihn als Systemdienst einzurichten, legen
Für Caddy stehen derzeit noch keine spe- Sie zunächst einen eigenen Benutzer für
zifischen Pakete für bestimmte Distribu- Caddy an, dem Sie über den Schalter
tionen bereit. Im Download-Bereich der ‑rmd das Heimatverzeichnis /opt/cad‑
Projektseite finden Sie jedoch einen Kon- dy/ zuordnen (Listing 2, erste Zeile). Dar-
figurator, mit dessen Hilfe Sie das für Ihr in befinden sich später auch die Konfi-
System passende Binary auswählen. gurationsdateien und die realen Inhalte
Dazu zählen auch Varianten für ARMv5 der Webseite.
bis ARMv7. Darüber hinaus legen Sie hier Hier legen Sie die drei Unterverzeich-
auch fest, welche Plugins Sie integrieren nisse store, logs und web an (Listing 2,
1
möchten  . Abschließend generiert die zweite Zeile). Ersteres enthält unter an-
Software das nach Ihren Wünschen zu- derem die SSL-Zertifikate, das zweite die
sammengestellte Paket. Caddy gibt es Protokolldateien des Webservers und das
daneben unter anderem auch für Win- dritte die tatsächliche Webseite. Damit
dows, viele BSD-Varianten und Mac OS. Caddy auch darauf zugreifen darf, über-
Möchten Sie Caddy lieber über die Kom- eignen Sie die drei Verzeichnisse dem zu-
mandozeile einrichten, etwa für den Ein- vor angelegten Benutzer caddy (Listing 2,
satz auf einem Headless-System, bezie- letzte Zeile).
hen Sie dazu als Erstes als Nutzer Root Anschließend kopieren Sie die zuvor
ein Shell-Skript von der Caddy-Projekt- angelegte Datei index.html nach /opt/
webseite (Listing 1, Zeile 1), geben die- caddy/web/. Caddy benötigt nun noch
sem Ausführungsrechte (Zeile 2) und la- etwas Hilfe in Form einer Konfigurations-
den über den Aufruf des Skripts das ge- datei, um die Inhalte zu finden. Den Na-
wünschte Software-Image herunter (Zei- men der Konfigurationsdatei wählen Sie
le 3). Zusätzliche Plugins geben Sie im frei – im Rahmen dieses Artikels heißt sie
Aufruf als durch Kommas separierte Pa- /opt/caddy/caddy.config. Darin tragen
rameter an (Zeile 4). Die Tabelle Caddy- Sie den Inhalt aus Listing 3 ein; es ent-
Listing 1 hält die Konfiguration für eine einzige
01 # wget https://getcaddy.com Website auf dem lokalen Rechner.
‑O getcaddy Listing 2 Zeile 1 kennzeichnet die Bereitstellung
# useradd ‑rmd /opt/caddy caddy via HTTP über Port 80, Zeile 2 das Wur-
02 # chmod +x getcaddy
zelverzeichnis der Website und Zeile 3
03 # ./getcaddy personal # mkdir /opt/caddy/{store,logs,
web} die zugehörigen Logfiles. Zeile 4 bindet
04 # ./getcaddy personal http. das Modul Gzip ein, das dafür sorgt, dass
ipfilter,http.cache # chown ‑R caddy: /opt/caddy
Caddy HTML- und Textdateien kompri-

50 www.raspberry-pi-geek.de 05-06/2018
Caddy Server

miert ausliefert. Bei der Leistungsfähig- Nun gilt es, Caddy als regulären Dienst
keit heutiger Systeme verursacht das einzurichten. Dazu legen Sie bei Syste-
Komprimieren nur eine minimale Verzö- men mit Systemd, zu denen auch Rasp-
gerung, was die damit gesparte Übertra- bian zählt, einen separaten Eintrag in
gungszeit mehr als ausgleicht. der Datei /etc/systemd/system/caddy.
Möchten Sie mehrere Webdienste auf service an (Listing 5). Im Abschnitt Unit
dem System bereitstellen, legen Sie für benennen Sie den Dienst und vergeben
jeden davon einen eigenen Block an. In eine Beschreibung. Der Service-Teil de-
Listing 4 beschreibt der dritte davon ei- finiert den Benutzer und die Gruppe, die
nen Webserver, der seine Daten über Umgebungsvariablen, die Startparame-
Port 8080 ausliefert. Dazu genügt die An- ter, den Umgang bei Neustart des Pro-
gabe :8080 hinter dem Domainnamen. zesses sowie die Begrenzungen für die

Caddy-Plugins
Name des Plugins Bedeutung
dyndns Dynamisches DNS, etwa via Cloudflare Listing 3
http.cache Caching für HTTP 01 http:// {
http.cgi Erweiterung um CGI-Skripte 02 root /opt/caddy/web/default
http.expires Setzen eines Verfallsdatums 03 log /opt/caddy/logs/default.
http.git Veröffentlichung/Aktualisierung via Git-Kommandos log
http.ipfilter Zugriff ausgewählter IP-Adressen blockieren 04 gzip
http.webdav Erweiterung um WebDAV 05 }
Server Caddy

Anzahl der geöffneten Dateien und par­ Etablieren gesicherter HTTPS­Verbin­


allelen Prozesse. Der Abschnitt Install dungen. Dazu müssen Sie über eine ei­
schließlich legt fest, für welches Target gene Domain verfügen. Im zweiten
beziehungsweise Runlevel der Dienst Block aus Listing 4 schreiben Sie in der
dann verfügbar ist. ersten Zeile http zu https um. Die Zei­
Über die beiden ersten Kommandos le 5 kommt noch zum Block hinzu (Lis­
aus Listing 6 starten Sie den zuvor ein­ ting 7). Über die darin angegebene
gerichteten Dienst und prüfen, ob er E­Mail­Adresse informiert Let’s Encrypt
3
richtig läuft  . Danach surfen Sie die Sie über Änderungen im Zertifikat für
Webseite an und prüfen deren Erreich­ HTTPS, insbesondere bevor es abläuft
barkeit. Diesmal lauscht Caddy nicht und erneuert werden muss.
mehr auf Port 2015, sondern wie für Eine explizite Angabe für HTTP benö­
HTTP üblich auf Port 80. tigen Sie nicht. Sämtliche Anfragen für
Ändern Sie später die Konfiguration, dieses Protokoll biegt Caddy automa­
müssen Sie den Dienst wie in der letzten tisch nach HTTPS auf den Port 443 um.
Zeile von Listing 6 gezeigt neu starten, Starten Sie nun Caddy neu, verbindet er
damit er die Änderungen übernimmt. sich automatisch mit Let’s Encrypt und
Die grundlegende Einrichtung ist damit richtet das passende Zertifikat ein.
abgeschlossen.

Umschalten auf HTTPS Listing 6


Listing 4 # systemctl enable caddy.service

http:// { Wie bereits erwähnt glänzt Caddy mit # systemctl status caddy.service
der Integration von Let’s Encrypt zum # systemctl restart caddy.service
root /opt/caddy/web/default
log /opt/caddy/logs/default.log
gzip
} Listing 5
[Unit]
http://out‑of‑space.example.net {
Description=Caddy HTTP/2 web server
root /opt/caddy/web/
out‑of‑space
[Service]
log /opt/caddy/logs/
User=caddy
out‑of‑space.log
Group=caddy
gzip
Environment=CADDYPATH=/opt/caddy/store
}
ExecStart=/usr/local/bin/caddy ‑agree=true ‑log=/opt/caddy/logs/caddy.
log ‑conf=/opt/caddy/caddy.config ‑root=/dev/null
http://on‑the‑road.example.
net:8080 { ExecReload=/bin/kill ‑USR1 $MAINPID
root /opt/caddy/web/on‑the‑road LimitNOFILE=1048576
log /opt/caddy/logs/ LimitNPROC=64
on‑the‑road.log
gzip [Install]
} WantedBy=multi‑user.target

3 Die Sta-
tusanzeige
von Systemd
verrät, dass
Caddy wie
gewünscht
seinen Dienst
verrichtet.

52 www.raspberry-pi-geek.de 05-06/2018
Caddy Server

Inhalt als Markdown


Viele Webmaster und Webdesigner pfle-
gen beim Erstellen der Webseiten eigene
Vorlieben. Mithilfe der Beschreibungs-
sprachen Markdown  oder Asciidoc 
fallen weitere Hürden beim Erstellen der
Inhalte weg. Caddy interpretiert Mark-
4
down nativ  . Dessen Einsatz erfordert
zwei Dinge: zum einen die Datei der
Webseite im Markdown-Format, zum
anderen eine zusätzliche Direktive in der
Konfiguration von Caddy.
Listing 8 enthält in den Zeilen 5 bis 7
den Eintrag markdown, gefolgt von einem
/ und einem Block in geschweiften
Klammern. Caddy interpretiert die Mark-
down-Erlaubnis für die gesamte Websei-
te. In Zeile 6 legen Sie fest, welche Na- 4 Der Texteditor zeigt den Quelltext der Datei index.md in Markdown, dahinter
menserweiterungen Caddy akzeptiert, sehen Sie das Browserfenster mit dem daraus gerenderten Text.
im Beispiel Markdown (.md) und Plain-
text (.txt). Zusätzlich verarbeitet Caddy
Angaben zu CSS und Javascript sowie in- einen sicheren Webserver einzurichten.
dividuelle Vorlagen . Das große Plus besteht dabei in der
Möglichkeit, Webseiten gleich verschlüs-
Fazit selt im Netz auszuliefern. Dank der mo-
dularen Konfiguration präsentiert sich
In unseren Tests lief Caddy sehr flink und Caddy obendrein äußerst flexibel. Daher
zuverlässig. Es war noch nie so einfach, gibt es von uns fünf von fünf Sternchen
für den Webserver. (tle) n

Listing 7
01 https://out‑of‑space.example. Listing 8
net { 01 http:// {
02 root /opt/caddy/web/ 02 root /opt/caddy/web/default
out‑of‑space 03 log /opt/caddy/logs/default.
03 log /opt/caddy/logs/ log
out‑of‑space.log 04 gzip
04 gzip 05 markdown / { Weitere Infos und
05 tls admin@out‑of‑space. 06 ext .md .txt interessante Links
example.net 07 }
www.raspi-geek.de/qr/40915
06 } 08 }

TIPP Die Autoren


Liegt Ihnen eine sichere Verbindung auch um, auch wenn Sie HTTP angesurft haben. Frank Hofmann arbeitet unterwegs, be-
für weitere Seiten am Herzen, die Sie im Ein grünes Schloss in der Adresszeile signa- vorzugt von Berlin, Genf und Kapstadt
Alltag ansurfen, ist HTTPS Everywhere einen lisiert den Wechsel zur sicheren Übertra- aus, als Entwickler, Trainer und Autor. Er
Blick wert: Die von der Electronic Frontier gung. Allerdings implementieren viele Web- ist Koautor des Debian-Paketmanage-
ment-Buchs (https://www.dpmb.org/).
Foundation (EFF) und dem Tor-Projekt ent- seiten auch Inhalte von Drittanbietern, die
Mandy Neumeyer lebt seit neun Jahren in
wickelte freie Software schaltet automatisch eventuell kein HTTPS nutzen. HTTPS Every-
where steht für Mozilla Firefox  und
Südafrika, arbeitet im Tourismus und baut
von einer unsicheren HTTP-Übertragung zu
Google Chrome  zur Installation bereit.
zurzeit ein zusätzliches Einkommen als
einer verschlüsselten HTTPS-Übertragung
digitaler Nomade auf.

05-06/2018 www.raspberry-pi-geek.de 53
Hacks Pi-Zero-Messmodul

123RF
© Anna Ivanova,
Messmodul für Strom und Spannung mit dem Pi Zero

Laboreinsatz
Es gibt Situationen, die eine genauere Analyse erfordern, als
dem Strommesser aus dem Baumarkt sie liefert. Ein Selbst-
baumodul samt Pi Zero zeichnet Messdaten für die spätere
Auswertung auf. Bernhard Bablok, Lothar Hiller

Im Handel gibt es Strommessgeräte, die den Verbrauchern. Beide Typen haben


primärseitig messen oder die Sie in das gemeinsam, dass sie abgesehen vom
1
USB-Kabel einschleifen  . Erstere eig- Maximum und dem Gesamtverbrauch
nen sich nicht für den Schwachlastbe- keine Aufzeichnung über längere Zeiträu-
reich, die Geräte der zweiten Kategorie me erlauben. Daher lassen sich bestimm-
sind schwierig abzulesen und sorgen oft te Fragestellungen nur mit Mühe beant-
aufgrund von Spannungs- worten – etwa wie eine Festplatte beim
abfall für Probleme mit Schreiben am RasPi den Stromverbrauch

README
Kleinrechner wie der RasPi und seine Kolle-
gen brauchen nur wenig Strom. Trotzdem
gibt es Situationen, die eine genauere Ana-
lyse erfordern als die mit dem Strommesser
aus dem Baumarkt. Ein Selbstbaumodul auf
Basis des Pi Zero zeichnet dazu die Mess-
daten für die spätere Auswertung auf.
1 Nicht unproblematisch: Ein typisches Strommess-
gerät zum Einschleifen ins USB-Kabel.

54 www.raspberry-pi-geek.de 05-06/2018
Pi-Zero-Messmodul Hacks

beeinflusst oder wie sich ein Spindown


der Platte auf den Verbrauch auswirkt.
Im Folgenden stellen wir ein Mess-
modul zum Eigenbau vor, das Stromver-
brauch und Spannung über längere Zeit
misst und mithilfe eines Pi Zero auf-
zeichnet. Die Software zum Projekt 
macht dabei nicht nur die Aufzeichnung
zum Kinderspiel, sondern auch das Aus-
werten der Daten. Die Installation be-
schreibt der Kasten Pi-Vameter: Aufbau,
Installation und Konfiguration.

Das Messmodul
3
Das Messmodul  besteht nur aus
wenigen Komponenten, die Sie den
4
Schaltplänen in Abbildung  und Ab-
5
bildung  entnehmen können. Im Zen-
trum steht ein Analog-Digital-Konverter
(ADC) mit mindestens zwei Kanälen. Er
misst auf jedem davon die Eingangs-
spannung im Verhältnis zu einer Refe- 2 Der Plan für den Anschluss des ADCs and die SPI-Pins des Pi Zero.
renzspannung und gibt (bei einer 10-Bit-
Auflösung) das Ergebnis als Hexadezi-
malzahl zwischen 0 und 1023 aus. zusätzlich berechnet er daraus die
Mit dem Messmodul misst der Rasp- Leistung. Das Layout wurde für die
berry Pi Spannungen von 0 bis 5,5 Volt Spannungsmessung mit den ADCs
und Gleichströme von 0 bis 5 Ampere, Microchip MCP3002 (10 Bit) bezie-

Pi-Vameter: Aufbau, Installation und Konfiguration Projektcode und Schaltpläne


RPG/vameter/
Für die Platine verwenden Sie die auf dem bis 5). Möchten Sie die Messung per Hard-
Schaltplan verzeichneten Komponenten. ware-Taster steuern, so benötigen Sie zu-
Eine Bestückungsliste finden Sie im Ver- sätzliche Software (Zeilen 7 bis 9). Da die
zeichnis doc/ des Github-Projekts . Installationsskripts auch die Hardware-
Der Anschluss an den Pi Zero erfolgt per Konfiguration ändern, müssen Sie zum
SPI über die physischen Pins 19 (MOSI), Abschluss den Pi Zero neu booten.
21 (MISO), 23 (CLK), 24 (SPI CS0) und 25 Als letzter Schritt steht das Anpassen des
(GND) .2 Messprogramms an den verwendeten
Das LCD-Modul verbinden Sie über I2C, ADC-Baustein an. Der Einfachheit halber
Listing 1
also die Pins 3 (SDA) und 5 (SCL). Den erledigen Sie das direkt im Programm
Strom bekommt das Display über Pin 2 vameter.py, etwa mit dem Editor Nano. 01 $ sudo apt‑get update
oder 4, den anderen 5-Volt-Pin verbinden Im Abschnitt configuration finden Sie 02 $ sudo apt‑get ‑y install git
Sie für die Speisung des Mess-Pi mit dem die Variable ADC, in die Sie den von Ihnen 03 $ git clone https://github.com/
5-Volt-Eingang des Messmoduls. verwendeten ADC-Baustein eintragen. bablokb/pi‑vameter.git
Für den Mess-Pi benötigen Sie die Lite- Überprüfen Sie anhand der Variable ADC_ 04 $ cd pi‑vameter
Version von Raspian „Stretch“. Mit „Jessie“ VALUES, ob das Programm den Baustein 05 $ sudo tools/install
funktioniert die Software wegen veralteter bereits unterstützt. Falls nicht, müssen Sie 06 $ cd ..
RRD-Tools nicht. Nach der Ersteinrichtung das Datenblatt konsultieren und den Chip 07 $ git clone https://github.com/
installieren Sie noch das Paket git (Li- in ADC_VALUES eintragen. Wichtig sind bablokb/gpio‑poll‑service.git
sting 1, Zeilen 1 und 2) und mit dessen hier die Kommando-Bytes für das Ausle- 08 $ cd gpio‑poll‑service
Hilfe dann die Projektsoftware (Zeilen 3 sen und die Auflösung des ADCs in Bits. 09 $ sudo tools/install

05-06/2018 www.raspberry-pi-geek.de 55
Hacks Pi-Zero-Messmodul

hungsweise MCP3202 (12 Bit), beide für also erst das Modul kaufen und dann
eine 8-polige DIP-Fassung, entworfen. das Layout entsprechend anpassen.
Huckepack auf der Platine befindet Die für die Messungen erforderlichen
sich das Strommessmodul ACS712-05 genauen Referenzspannungen hebt der
der Firma Allegro. Da der chinesische DC-DC-Konverter SX1308 von 5 auf
Hersteller die Module mit unterschiedli- 4
7,5 Volt an  und erzeugt dann daraus
chen PCB-Maßen produziert, lässt sich über zwei Spannungsregler LM317M
kein festes Layout vorgeben. Sie müssen (SMD) die Referenzspannungen 5,00 Volt
5
und 3,30 Volt  . Das ist zwingend nö-
tig, weil Abweichungen der Betriebs-
spannungen des ADC und ganz beson-
ders des Stromsensors sich direkt nega-
tiv auf das Messergebnis (Nullpunkt bei
2,5 Volt) auswirken.
Pegelprobleme ergeben sich bei
Messungen der eigenen 5-Volt-Betriebs-
spannung des RasPi, die je nach Schalt-
netzteiltyp auch 5,1 Volt oder mehr be-
tragen kann. Deshalb kommt ein Ein-
gangsspannungteiler (R1=10k, R2=15k)
zum Einsatz, der bei Umess=+5,5V eine
6
Spannung von 3,3 Volt erreicht  .
Der ADC wird ebenfalls mit 3,3 Volt
gespeist, sodass der RasPi spannungs-
mäßig keine Probleme bekommt. Das
Python-Programm muss diesen Mess-
spannungsteiler mit einem Korrektur-
wert von 5/3 berücksichtigen:

3 Das Messmodul – der Pi Zero findet auf den Abstandsbolzen seinen Platz. Spannung = 3,3*(ADC‑Wert/1024)*5/3

Die obige Formel geht von der Verwen-


dung eines MCP3002 als ADC aus, der
10-Bit-Werte von 0 bis 1023 liefert.

Die Strommessung
Für die Strommessung bedarf es mit
dem bereits erwähnten ACS712 eines
weiteren Bausteins, eines sogenannten
Hall-Sensors. Hier induziert Strom ein
Magnetfeld, das wiederum eine Span-
nung erzeugt. Diese liegt dann am zwei-
ten Eingangskanal des ADC an. Der
Mess-Pi kann so aus dem vom ADC ge-
lieferten Wert auf einfache Weise die
Stromstärke zurückberechnen.
Da der ACS712 für eine bidirektionale
Strommessung konzipiert wurde, lassen
sich sowohl Gleich- als auch Wechselströ-
me messen. Anhand der Wandlerkennli-
7
nie  ergibt sich eine Viout von +2,5 Volt
bei 0 Ampere Stromfluss durch die An-
4 Der Schaltplan für das Messmodul … schlüsse +Ip und -Ip. Wird der Strom posi-

56 www.raspberry-pi-geek.de 05-06/2018
Pi-Zero-Messmodul Hacks

tiver, steigt Viout – bei 5 Ampere ergibt


das eine Vioutmax von 2,5V + 5 • 0,185V =
3,425V. Wird er negativer, dann fällt die
Ausgangsspannung.
Damit wir an Viout Spannungen über
3,3 Volt ohne Pegelanpassstufe messen
können, betreiben wir das Modul in ne-
gativer Stromflussrichtung also mit +I
vom Schaltnetzteil SNT an -Ip und -I von
+Ip in Richtung Last. Durch diesen Schal-
tungstrick, eine Verpolung, erreichen 5 … und die Details
wir, dass die gemessene Hall-Spannung zum Spannungsregler.
des Wandlers von der Mittenspannung
(2,5 Volt) abgezogen wird: Viout = 2,5V -
5V • 0,185V = 1,575V fällt also mit stei-
gendem Strom.
Die Spannungsmessung an Viout er-
folgt direkt, was Pegelkorrekturen über-
flüssig macht. Allerdings ist es notwen-
dig, aus dem gemessenen Spannungs-
wert den dazugehörigen Stromwert un-
ter Verwendung der oben genannten
Formel zu berechnen; das erledigt in
diesem Fall die Software.

Das LCD
Der Hauptgrund, dieses Projekt anzu-
gehen, war der Wunsch, Messdaten über
einen bestimmten Zeitraum aufzuzeich- 6 Der Spannungsteiler sorgt für eine gleichmäßige Stromversorgung.
nen. Daneben besitzt aber auch eine
Live-Anzeige der Messdaten durchaus
einen Informationswert. Wir nutzen da-
für ein gängiges LC-Display mit vier Zei-
8
len zu je 20 Zeichen  , wie es günstig
im Online-Handel zu haben ist. Typi-
scherweise gibt die Bezeichnung des
Anzeigemoduls Aufschluss über dessen
Größe: So hat ein 2004-LC-Display die
von uns gesuchte Größe; weitverbreitet
und ebenso nutzbar wären 1604- oder
1602-Displays.
Die LCDs lassen sich parallel oder seri-
ell ansteuern. Im letzterem Fall benöti-
gen Sie neben VCC und Masse nur zwei
Pins auf dem RasPi, im Gegenzug aber
auch einen Parallel-zu-Seriell-Konverter.
Der Handel bietet fertig montierte Dis-
plays an, auch mit 3,3 Volt Betriebsspan-
nung, die diesen Wandlerbaustein be-
reits enthalten. Das im Artikel verwende-
te LCD arbeitet mit einer Betriebsspan-
nung von 5 Volt, die Speisung kann zum 7 Die Wandler-Kennlinie des Hall-Sensors ACS712-05 steigt in gerade Linie durch
Beispiel aus einem der beiden 5-Volt- den Nullpunkt des Koordinatensystems an. (Bild: Datenblatt Allegro ACS712)

05-06/2018 www.raspberry-pi-geek.de 57
Hacks Pi-Zero-Messmodul

Pins des RasPi erfolgen. Lassen Sie bei gleichnamigen Pins des RasPi-Headers.
der Kommunikation mit dem Kleinrech- Eine anschließende Messung ergibt je-
ner aber Vorsicht walten, denn er weils +3,3 Volt auf diesen Pins, also den
braucht 3,3-Volt-Pegel. High-Pegel im Ruhezustand des Busses.
Der von uns verwendete Konverter Nach bestandener Kontrolle erfolgt
eines chinesischen Fabrikats ist für den der Anschluss an das LCD unter Berück-
Arduino konzipiert und arbeitet mit sichtigung der korrekten Richtung. Der
5 Volt. Weil bei ihm die Pins SDA und SCL Pin 1 befindet sich in Höhe der Bus-An-
über 4,7k-Widerstände an +5V liegen, schlussseite GND, der Pin 16 auf der
darf er keinen direkten Kontakt zum Jumperseite LED.
I2C-Bus des RasPi aufnehmen. Hier Für den Zugriff auf die LC-Displays
kommt ein zwischengeschalteter Level- gibt es im Internet diverse Bibliotheken
Konverter zum Einsatz, der die Span- für alle denkbaren Programmierspra-
nungspegel umsetzt. chen. Für unser in Python realisiertes
Versierte Löter richten sich die Pegel- Projekt haben wir den Code von Cap-
anpassung gegebenenfalls selbst ein: tain Stouf  direkt integriert.
Die beiden Widerstände R8 und R9 müs-
9
sen weg  . Dazu greifen Sie mit einer Auslesen des ADC
Pinzette die eine Kappe des Widerstands
und halten den heißen Lötkolben mit Neben seinen Eingängen (Referenzspan-
etwa 400 Grad Celsius für zwei bis drei nung, Eingangskanäle) besitzt ein ADC
Sekunden daran. Bei vorsichtigem Zie- auch Ausgänge, die am am SPI-Interface
hen an der Pinzette klappt der Wider- des RasPi hängen. Er muss hier aktiv in
stand etwas hoch oder löst sich schon einer Schleife die Werte abfragen. Lis-
ganz ab. Danach hilft ein Stück Absaug- ting 2 zeigt die (leicht vereinfachten)
litze für Sauberkeit auf den Lötpads die- Zeilen des Python-Codes.
ser SMD-Bauteile. In einer Endlosschleife (ab Zeile 25)
Nun kontrollieren Sie mit einem Digi- liest das Programm jeweils den ersten
talvoltmeter die Spannung. Dazu legen Kanal (Spannung) und zweiten Kanal
Sie – noch ohne LCD – Masse (GND) und (Ausgang des Hall-Sensors) aus, konver-
+5V (VCC) an und messen die Pegel an tiert die Rohwerte und speichert die
SDA und SCL. Beide Pegel sollten Low Daten in der RRD-Datenbank. Die ge-
sein. Im Erfolgsfall verbinden Sie die bei- nauen Bitfolgen für die Abfrage des
den Busanschlüsse SDA und SCL mit den ADCs (Zeile 3 und Zeile 11) sind dabei
ADC-spezifisch. Zu schnell darf der RasPi
nicht pollen, denn der ADC braucht zwi-
schen zwei Messungen etwa 10 Millise-
kunden Erholzeit. Da die RRD-Tools aber
per se nur eine minimale Auflösung von
1 Sekunde aufweisen, spielt das Limit
hier keine Rolle.
Nachdem der RasPi die Rohwerte
gelesen hat, rechnet er sie gemäß den
bereits beschriebenen Formeln um. An-
schließend erfolgt das Speichern in einer
sogenannten Round-Robin-Datenbank
(RRD). Deren Prinzip ist einfach: Es gibt
eine begrenzte Anzahl Slots; laufen sie
voll, dann überschreibt die nächste Mes-
sung die Werte der ersten und so weiter.
Damit enthält die Datenbank gleitend
immer die letzten Messungen.
Als Quasi-Standard für RRDs dienen
8 Das LCD für die Live-Anzeige gibt in vier Zeilen je 20 Zeichen aus. die RRD-Tools . An sich eine Sammlung

58 www.raspberry-pi-geek.de 05-06/2018
Pi-Zero-Messmodul Hacks

9 Frisieren des I2C­Konverters: Das Bild zeigt den an der Oberkante bereits abgelöteten
R8. Auch R9 rechts daneben ist auf diesem Bild schon entlötet.

von Kommandozeilenprogrammen, bie- Im Prinzip gibt es drei Möglichkeiten,


tet das Paket für fast jede Programmier- eine Messung anzustoßen: über die Kom-
sprache eine Schnittstelle, auch für das mandozeile, per Taster oder per Web-
im Projekt verwendete Python. Das Be- interface. Die beiden letzten Methoden
sondere an dieser RRD-Implementation greifen intern auch auf das Kommando-
ist die Ausrichtung auf Messdaten auf
der Zeitachse – das RRD-Tools-Projekt
diente ursprünglich zum Monitoring von Listing 2
Netzwerkkomponenten. 01 import spidev
02
Auf der Zeitachse 03 ADC_BYTES = [[0,104,0],[0,120,0]] # MCP3002
04 U_REF = 3.3 # Referenzspannung
Einmal angelegt, aggregiert die RRD 05 U_FAC = 5.0/3.0 # abhängig von der Schaltung
Daten auf der Zeitachse: Das Projekt hält 06 U_RES = U_REF/1024 # MCP3002 hat 10 Bit Auflösung
beispielsweise Sekundendaten für eine 07 U_CC = 5.0 # Spannung Hall‑Sensor
Stunde vor, was 3600 Datenslots ent- 08 CONV_VALUE = 0.185 # V/A des Hall‑Sensors
spricht. Für zusammengefasste Minuten- 09
werte reserviert die RRD Slots für einen 10 def read_spi(channel):
ganzen Tag (also 24 mal 60 Werte), Stun- 11 data = spi.xfer(ADC_BYTES[channel])
denwerte speichert die Datenbank ei- 12 return ((data[1] & 3) << 8) + data[2]
13
nen Monat lang, Tageswerte für zwölf
14 def convert_data(u_raw,ui_raw):
Monate. Die Gesamtgröße der Daten-
15 u = u_raw*U_RES*U_FAC
bankdatei liegt also beim Erstellen fest
16 i = (U_CC/2 ‑‑ ui_raw*U_RES)/CONV_VALUE
und ändert sich nicht mehr. Der Informa-
17 p = u*i
tionsverlust durch die Aggregation stellt
18
kein Problem dar: Je weiter man in die 19 [... weiterer Code ...]
Vergangenheit blickt, umso weniger 20
interessieren Details. 21 spi = spidev.SpiDev()
Einen Fallstrick gibt es im RasPi-Um- 22 spi.open(0,0)
feld aber bei den mit den RRD-Tools er- 23 spi.max_speed_hz = 50000
stellten Datenbanken: Sie sind architek- 24
turabhängig und lassen sich entspre- 25 while True:
chend nur auf 32-Bit-Plattformen öffnen, 26 u_raw = read_spi(0)
nicht jedoch auf 64-Bit-Plattformen. Aus 27 ui_raw = read_spi(1)
diesem Grund erledigt die Messsoftware 28 (u,i,p) = convert_data(u_raw,ui_raw)
auf dem RasPi sowohl das Aufzeichnen 29 rrdtool.update(...)
als auch das Auswerten. 30 time.sleep(1.0)

05-06/2018 www.raspberry-pi-geek.de 59
Hacks Pi-Zero-Messmodul

zeilenprogramm vameter.py zu, weshalb auf dem Rechner anmelden. Einfacher


wir kurz einen Blick darauf werfen. geht es per Taster oder Webinterface.
Listing 3 zeigt einige Möglichkeiten Für die einfache Bedienung des Mess-
des Programms. Wie üblich erhalten Sie moduls verwenden wir einen Taster. Ein
mit dem Parameter ‑h eine Kurzhilfe kleines Programm überwacht dabei den
(Zeile 1). Die zweite Zeile startet eine Pin GPIO23 und startet das oben be-
Aufzeichnung und speichert die gewon- schriebene Messprogramm. Da die
nenen Daten in der Datei meinpi.rrd. Details dazu den Umfang des Artikels
Sie beenden die Aufzeichnung mittels sprengen würden, sei hier auf das Git-
[Strg]+[C]. Die dritte Zeile wertet die hub-Projekt des Autors verwiesen, das
Daten aus und erstellt mit der Option ‑g sich softwareseitig um die Details des
IUP drei Grafiken für den Stromver- Aufbaus kümmert.
brauch, die Spannung und die auf- Die per Taster gestarteten Messungen
genommene Leistung. generieren einen Dateinamen aus dem
Zeitstempel und legen die Daten im Ver-
Start und Stop zeichnis /var/lib/vameter/data/ ab.
Hier kommt dann das Webinterface für
Die Zeilen 2 und 3 des Listings muss die Visualisierung und das Herunter-
man nicht hintereinander ausführen; es laden der Werte ins Spiel.
genügt Zeile 3 mit der zusätzlichen Opti- Das Installationsprogramm richtet auf
on ‑r (bei der zweiten Zeile optional). dem Mess-Pi einen kleinen Webserver
Listing 3 Die vierte Zeile gibt die gespeicherten ein, der auf Port 8026 lauscht. Rufen Sie
01 $ vameter.py ‑h
Daten in Textform aus, die letzte liefert die Homepage über einen beliebigen
eine Zusammenfassung der Ergebnisse. Webbrowser auf, sehen Sie die vorhan-
02 $ vameter.py meinpi.rrd
Die Messung auf der Kommandozeile denen Messungen im erwähnten Ver-
03 $ vameter.py ‑g IUP meinpi.rrd
04 $ vameter.py ‑p meinpi.rrd
zu starten und zu stoppen gestaltet sich 0
zeichnis  . Die zweigeteilte Darstellung
nicht sehr anwenderfreundlich, denn zeigt oben eine Liste der Messungen in-
05 $ vameter.py ‑S meinpi.rrd dafür müssen Sie sich jedes Mal per SSH klusive ein paar wichtiger Kennzahlen,

0 Das Webinterface, unten die grafische Darstellung des Stromverbrauchs.

60 www.raspberry-pi-geek.de 05-06/2018
Pi-Zero-Messmodul Hacks

unten verschiedene Reiter für Strom- Fazit


verbrauch, Spannung und Leistungs-
aufnahme als Diagramm. Das RasPi-basierte Messmodul misst und
Über den Startknopf im Webinterface visualisiert den Stromverbrauch über die
stoßen Sie eine Messung an oder be- Zeit und beantwortet so ein paar inter- Weitere Infos und
enden sie wieder. Das gelingt sogar im essante Fragen – etwa wie lange es dau- interessante Links
Remote-Betrieb. Die Daten landen dabei ert, bis das System nach dem Boot zur www.raspi-geek.de/qr/40630
wieder im selben Verzeichnis wie die per Ruhe kommt, oder wie es auf Netzwerk-
Taster gestarteten Messungen. Als wei- transfers oder andere Belastungen re-
tere Möglichkeiten stehen das Löschen agiert. Besonders nützlich ist das beim
von Messungen (ohne Rückfrage) und Vergleich von verschiedenen Mini-Rech- Die Autoren
das Herunterladen der Daten zur Aus- nern und beim Optimieren für spezielle
Bernhard Bablok arbeitet bei der Allianz
wahl. Wie oben beschrieben fallen die Einsätze (etwa den Batteriebetrieb).
Technology SE als SAP-HR-Entwickler. In
Rohdaten architekturabhängig aus, wes- Die für das Projekt verwendete Soft-
seiner Freizeit beschäftigt er sich unter
wegen der Schalter Download eine XML- ware lässt sich mit wenigen Änderungen
anderem mit Themen rund um Linux,
Datei erzeugt. Die müssen Sie dann lokal für andere Projekte einsetzen, die analo- Programmierung und Kleincomputer. Sie
mit dem Befehl aus Listing 4 wieder ins ge Messdaten über längere Zeiträume erreichen ihn unter mail@bablokb.de.
RRD-Format umwandeln. erfassen. Der Aufwand steckt dabei we- Lothar Hiller, ein pensionierter Ingenieur
niger im Anpassen der Messungen als in für Nachrichtenbetriebsdienst, schaltet
der Darstellung: Sowohl die Ausgabe auf seinen Lötkolben fast nie ab. Der leiden-
Listing 4 dem Display wie die grafische Anzeige schaftliche Elektronikbastler programmiert
sind speziell zugeschnitten. Mit ein we- unter anderem kleine Mikrocomputer wie
$ rrdtool restore meinpi.xml >
nig Python-Kenntnissen geht aber auch PICs in Assembler.
das flink von der Hand. (tle/jlu) n
meinpi.rrd
Hacks Indoor-Farming

als MQTT-Client. Zusätzlich installieren


Mit Teamviewer IoT eine Indoor-Farm überwachen Sie eine Bibliothek, die Sie zum Betrieb
von Teamviewer IoT benötigen. Im wei-

Laubenpieper teren Verlauf des Projekts brauchen Sie


außerdem noch die Bibliothek Wiring-
Pi . Alle nötigen Befehle fasst Listing 1
zusammen.

Mit der Variante Teamviewer IoT passt der Remote-Desktop- Teamviewer einrichten
Spezialist seine Software an die Anforderungen im Internet Als zentrale Komponente von Team-
viewer IoT fungiert ein Webinterface .
der Dinge an. Dabei bleibt der Raspberry Pi ein wichtiges Um damit zu arbeiten, benötigen Sie ein
entsprechendes Konto, das Sie in weni-
Element innerhalb des Monitorings. Martin Mohr gen Minuten erstellen, indem Sie auf der
Seite auf die Schaltfläche Konto erstellen
klicken und anschließend den Hinwei-
Will man Gemüse und Blumen in einem 1
sen folgen  . Falls Sie schon einen
Gewächshaus aufziehen, erfordert das Teamviewer-Account haben, dürfen Sie
die passenden Rahmenbedingungen. diesen direkt verwenden.
Ein Raspberry Pi mit Teamviewer IoT  Nach dem Registrieren sehen Sie die
hilft Ihnen dabei, alle Parameter zu über- Startseite der Teamviewer-Applikation.
wachen. Das ganze System benötigt da- Um nun einen Raspberry Pi als Gerät
bei eine stabile Basis. hinzuzufügen, klicken Sie auf add de-
Im Test kommt dazu ein aktuelles 2
vice  . Die Applikation beschreibt die
Raspbian Lite zum Einsatz, das den Vor- notwendigen Schritte zum Anbinden ei-
README teil hat, auf eine hier überflüssig aufwen- nes Geräts verständlich und detailliert.
dige grafische Oberfläche von vornhe-
Teamviewer dient als Software für Video-
rein zu verzichten. Sie laden das Image
konferenzen, zum Screensharing oder zur
von der Projekt-Homepage  und über- Listing 1
Fernwartung. Nur wenige wissen, dass es tragen es mit einem Tool Ihrer Wahl auf
$ sudo apt‑get update && sudo
mittlerweile eine IoT-Variante gibt, die den eine SD-Karte .
apt‑get upgrade
RasPi als Gerät unterstützt. Wir prüfen am Nun booten Sie den Raspberry Pi von
dieser Karte und bringen als Erstes die $ sudo apt‑get install
Beispiel einer kleinen Indoor-Farm, was sich libavahi‑client3
Installation auf den neuesten Stand. An-
mit dieser Software alles anstellen lässt. mosquitto‑clients wiringpi
schließend installieren Sie Mosqitto 

62 www.raspberry-pi-geek.de 05-06/2018
Indoor-Farming Hacks

© Alexander Raths, 123RF

In der aktuellen Version von Teamviewer


IoT sprechen Sie die komplette API über 1 Teamviewer IoT verfügt über ein eigenes Portal, über das Sie die angeschlossenen
den MQTT-Client Mosqitto an. Dahinter Geräte per Webbrowser von jedem Internet-fähigen PC aus verwalten.
verbirgt sich eine weit verbreitete Imple-
mentation des MQTT-Protokolls. Die API
erlaubt nur verschlüsselte und über Zer- verdeutlicht, wie diese zusammenhän-
tifikate abgesicherte Verbindungen. Da- gen. Sie sprechen jede Komponente
her müssen Sie eine Zertifikatsanforde- über eine ID in Form eines 16-Byte-Hex-
rung erstellen, aus der die API die ent- Werts an. Aufgrund des hierarchisch auf-
sprechenden Daten für den Transfer ge- gebauten Systems müssen Sie beim Zu-
neriert. Die komplette Kommunikation griff auf eine Komponente die IDs aller
mit der API erfolgt über MQTT. übergeordneten Elemente angeben. Listings, Skripte und Programme,
Die API kennt die Komponenten Con- Um den Überblick zu wahren und Raspbian „Stretch“ Lite 2017-11-29
nector, Sensor und Metric. Abbildung  3 Schreibarbeit zu sparen, speichern Sie RPG/indoor‑farm/

MQTT: Message Queue Telemetry Transport.


Industriestandardprotokoll zum Überwa-
chen verteilter Messstellen. Einen ausführ-
lichen Artikel zu MQTT finden Sie in der
Rubrik „Know-how“ in diesem Heft .

2 Nach der Anmeldung im Portal haben Sie die Möglichkeit, neue Geräte hinzuzufügen,
deren Daten Sie erfassen und auswerten möchten.

05-06/2018 www.raspberry-pi-geek.de 63
Hacks Indoor-Farming

3 Die Kommunikation über die API von Teamviewer IoT setzt voraus, dass Sie die
Komponenten Connector, Sensor und Metric verwenden.

am besten alle Werte in Shell-Variablen. le). Tragen Sie alle nötigen Werte für den
Diese können Sie später in den Kom- Request ein; die Extra-Attribute dürfen
mandos verwenden. Achten Sie darauf, Sie ignorieren. Um das Zertifikat über
dass die folgenden Kommandos nur die API zu holen, benötigen Sie den
dann fehlerfrei funktionieren, wenn Sie SHA256-Hash des Requests (zweite Zei-
alle Variablen akkurat gesetzt haben. le). Zu Letzt speichern Sie den Hash in
Im ersten Schritt erstellen Sie eine Zer- der Shell-Variablen hash (letzte Zeile).
tifikatsanforderung (Listing 2, erste Zei- Nun verwenden Sie ein zweites Ter-
minal. Im ersten öffnen Sie einen MQTT-
Subscriber, um das Zertifikat zu empfan-
Listing 2 gen. Im zweiten Fenster setzen Sie die
Vererbt Anfrage für das Zertifikat ab. Achten Sie
$ openssl req ‑nodes ‑new ‑newkey
rsa:2048 ‑sha256 ‑out csr.pem
darauf, dass die Variable $hash in der
Variablen, die Sie zur Laufzeit setzen,
Shell bekannt ist, die Sie verwenden.
gelten in einer Shell wie der Bash nur für $ sha256sum csr.pem
Speichern Sie dazu alle Export-Kom-
den aktuellen Prozess. Möchten Sie (wie $ export hash=SHA256‑Hash
mandos in eine Datei. So enthalten die
in diesem Beispiel) Werte in einem ande-
Variablen immer auf den korrekten Wert.
ren Prozess nutzen, teilen Sie dieser Shell
Die Datei heißt im Test tvenv.sh (siehe
dies explizit mit. Dazu bietet es sich etwa
Listing 3 Kasten Vererbt). Den Ort für das Team-
an, eine Datei einzulesen. Um also die
$ echo $hash
viewer-Zertifikat speichern Sie am bes-
Variablen wieder aus der Datei in die Shell
ten in einer Shell-Variable (Listing 4,
zu bekommen, nutzen Sie das Kommando
erste Zeile). Das gestaltet die folgenden
source (Listing 3). Die vereinfachte $ source tvenv.sh
Kommandos kürzer und leserlicher.
Schreibweise lautet . tvenv.sh (Punkt, $ echo $hash
In einem Fenster, in dem alle Shell-
Leerzeichen, Dateiname). SHA256‑Hash
Variablen definiert sind, starten Sie nun

64 www.raspberry-pi-geek.de 05-06/2018
Indoor-Farming Hacks

den MQTT­Subscriber (Listing 4, letzte


Listing 4
Zeile). In einem zweiten Fenster, eben­
falls mit allen Shell­Variablen, setzen Sie $ export cafile=/var/lib/teamviewer‑iot‑agent/certs/
dann den Request zum Erstellen eines TeamviewerAuthority.crt

Zertifikats ab (Listing 5, Zeile 2). Kurz $ mosquitto_sub ‑h localhost ‑p 1883 ‑‑cafile $cafile ‑t


nachdem Sie den Request abgesendet /certBack/$hash

haben, erscheint im ersten Fenster das


Zertifikat. Dieses kopieren Sie und spei­
chern es in einer Datei, die im Beispiel Listing 5
myConnector.crt heißt.
01 $ . tvenv.sh
Nun parsen Sie aus dem Connector­
Zertifikat die ID des Connectors heraus. 02 $ mosquitto_pub ‑h localhost ‑p 1883 ‑‑cafile $cafile ‑t
Diese benötigen Sie später für alle Zu­ /createConnector ‑f csr.pem

griffe auf die API. Daher legen Sie sie 03 $ openssl x509 ‑noout ‑subject ‑in myConnector.crt ‑nameopt
ebenfalls in einer Shell­Variable ab (Lis­ multiline | grep commonName | sed ‑r 's/commonName/ /g' | sed ‑r
ting 5, Zeile 3 bis 7). 's/=/ /g' | xargs | tr ‑d " \t\n\r"
Im nächsten Schritt legen Sie den Sen­ 04
sor an. Er darf mehrere Metriken liefern; 05 Connector‑ID
in unserem Beispiel stellt er alle drei Met­
06
riken der Indoor­Farm bereit. Wie gehabt
07 $ export conID=Connector‑ID
starten Sie zuerst einen Subscriber, um
das Ergebnis über MQTT zu empfangen
(Listing 6, Zeile 2). Wenn Sie den Subscri­
ber starten, liegt das Ergebnis noch nicht Listing 6
vor; erst mit dem Request stehen die $ . tvenv.sh
Daten bereit. Danach erstellen Sie den
$ mosquitto_sub ‑h localhost ‑p 8883 ‑‑cert myConnector.crt ‑‑key
Sensor (ab Zeile 3). Er erhält wieder eine
privkey.pem ‑‑cafile $cafile ‑t /v1.0/$conID/sensor/inbox
ID, die Sie in einer Shell­Variable spei­
chern. Die ID erscheint im Fenster der {

Empfangsseite. Sie kopieren sie von dort "name" : "Farm",

einfach wieder in eine Variable. Verges­ "sensorId" : "Sensor‑ID"


sen Sie dabei nicht, alle Export­Kom­ }
mandos in tvenv.sh anzulegen. $ mosquitto_pub ‑h localhost ‑p 8883 ‑‑cert myConnector.crt ‑‑key
Bei einem anschließenden Blick auf die privkey.pem ‑‑cafile $cafile ‑t /v1.0/$conID/sensor/create ‑m
Weboberfläche von Teamviewer IoT un­ "{\"name\":\"Farm\"}"

ter dem Menüpunkt Devices fällt Ihnen $ export sensorID=Sensor‑ID

vermutlich auf, dass ein neuer Sensor da­


zugekommen ist. Da er bis jetzt über kei­
ne Metriken verfügt, lässt er sich noch
nicht abfragen. Die notwendigen Metri­
ken erstellen Sie jedoch schnell.
Dazu verbinden Sie sich zunächst, wie
bei allen Komponenten, auf den Kanal
für den Empfang. Damit bekommen Sie
die IDs der Metriken (Listing 7, Zeile 2
bis 18). Nun legen Sie auf dem Farm­
Sensor drei neue Metriken an: Boden­
feuchte, Temperatur und Licht (Zeile 19).
Aus der API erhalten Sie die drei dazuge­
hörigen IDs, die Sie wie allen anderen
Variablen in die Datei tvenv.sh spei­
chern (Zeile 20 bis 22).
In Teamviewer IoT sehen Sie jetzt die
neuen Metriken, die Sie mit einem Klick 4 Über das Dashboard haben Sie die Werte aller Sensoren im Blick.

05-06/2018 www.raspberry-pi-geek.de 65
Hacks Indoor-Farming

auf Pin to dashboard ins Dashboard ko- Wert von 22 Grad Celsius für den Tempe-
pieren. Dort ordnen Sie die Charts nach ratursensor. Der Messwert erscheint mit
4
Belieben an. Abbildung  zeigt, wie einer kleinen Verzögerung auf dem
das Dashboard im Test aussah – es Dashboard. Die Dokumentation der API,
waren schon einige Testeinträge für den die alle Möglichkeiten ausführlich be-
Temperatursensor vorhanden. schreibt, finden Sie online .
Nun ist die Umgebung vollständig
aufgebaut, und Sie fangen damit an, Probleme lösen
Messwerte in die API zu schicken. Das
Kommando aus Listing 8 sendet einen Sollten Sie beim Experiment stecken-
bleiben, sind Sie nicht auf sich alleine
gestellt: Als Erstes lohnt es sich immer,
Listing 7 einen Blick in die Logfiles unter /var/
log/teamviewer‑iot‑agent/ zu werfen.
$ . tvenv.sh
Gelegentlich kommt es vor, dass die API
$ mosquitto_sub ‑h localhost ‑p 8883 ‑‑cert myConnector.crt ‑‑key
privkey.pem ‑‑cafile $cafile ‑t /v1.0/$conID/sensor/$sensorID/
im Fehlerfall über einen Kanal antwortet,
metric/inbox den Sie nicht erwartet haben und daher
[ nicht beobachten. In einem solchen Fall
hilft es, alle Nachrichten unter dem Con-
{
nector zu empfangen (Listing 9).
"matchingId" : "1",
Liefern die Logfiles und die Nachrich-
"metricId" : "Feuchte‑ID"
ten keinen Hinweis auf den Fehler, sehen
}, Sie sich in der Teamviewer-Knowledge-
{ Base  nach dem Problem um. Zusätz-
"matchingId" : "2", lich gibt es noch ein moderiertes Forum,
"metricId" : "Temperatur‑ID" über das sich User austauschen. Übli-
}, cherweise landen Anfragen, bei denen
{ die Community nicht antwortet, direkt
beim Support. Sie können sich auch
"matchingId" : "3",
direkt an den Support wenden, der er-
"metricId" : "Licht‑ID"
fahrungsgemäß recht schnell reagiert.
}
]
Indoor-Farming
new metrics created Als Basis für die kleine Indoor-Farm im
$ mosquitto_pub ‑h localhost ‑p 8883 ‑‑cert myConnector.crt ‑‑key Test dient ein altes Aquarium. Das hat
privkey.pem ‑‑cafile $cafile ‑t /v1.0/$conID/sensor/$sensorID/ mehrere Vorteile: Zum einen ist es ab-
metric ‑m "{\"metrics\" : [{\"matchingId\" : \"1\", \"valueUnit\": solut wasserdicht, zum anderen fasst es
\"NoSI.Dimensionless.PERCENT\", \"name\" : \"Bodenfeuchte\" mehr Wasser als der Vorratstank, eine
},{\"matchingId\" : \"2\",\"valueUnit\": \"SI.Temperature. Mineralwasserflasche, aufnimmt. So be-
CELSIUS\", \"name\" :\"Temperatur\" },{\"matchingId\" : \"3\",
kommen Sie keine Probleme, wenn die
\"valueType\" : \"integer\" , \"valueAnnotation\": \"Licht\",
Pumpe einmal zu viel Wasser fördert.
\"name\" : \"Licht\"}]}"
Als Deckel für das Aquarium dient
$ export FeuchteID=Feuchte‑ID
eine Platte aus Sperrholz. Sie sollte einen
$ export TempID=Temperatur‑ID
Abstand zum Aquarium aufweisen, um
$ export LichtID=Licht‑ID
einen Luftaustausch zu ermöglichen. Die
einfachste Lösung: Sie legen zwei Bret-
ter zwischen Platte und Aquarium.
Listing 8 Damit die Pflanzen gut gedeihen,
kommen spezielle Pflanzenlicht-LEDs
$ . tvenv.sh
(3 Watt, volles Spektrum ) zum Ein-
$ mosquitto_pub ‑h localhost ‑p 8883 ‑‑cert myConnector.crt ‑‑key
privkey.pem ‑‑cafile $cafile ‑t /v1.0/$conID/sensor/$sensorID ‑m
5
satz  . Diese Lampen heizen sich bei
der Nennleistung so weit auf, dass man
"{\"metrics\" : [{\"metricId\" : \"$TempID\", \"value\" : 22 }]}"
sie kühlen muss. Daher liefen sie im Test

66 www.raspberry-pi-geek.de 05-06/2018
Indoor-Farming Hacks

weit unterhalb der maximalen Leucht­ Der SMT50 verfügt über einen Tempe­
kraft, was den Kühlkörper überflüssig ratursensor, mit dem Sie zusätzlich über­
machte. Um den Verlust insgesamt zu wachen, ob es warm genug für die Pflan­
kompensieren, bauen Sie bei Bedarf ein­ zen ist. Der Baustein kommt mit Betriebs­
fach mehr LEDs in die Indoor­Farm ein. spannungen von 3,3 bis 30 Volt zurecht.
Die LEDs schalten Sie über den GPIO­ Er lässt sich also direkt an einen kleinen
Port 0 des Raspberry Pi ein. Dabei ver­ Mikrocontroller anschließen. Die Mess­
binden Sie die Elemente nicht direkt mit werte gibt er analog aus. Sie müssen sie
der GPIO, sondern schalten sie über ei­ deshalb über einen Analog/Digital­
nen Leistungstransistor (Q1 im Schalt­
6
plan in Abbildung  ). Die LEDs benöti­
gen eine Spannung von 3,3 Volt. Achten Listing 9
Sie bei der Montage darauf, die LEDs gut
$ . tvenv.sh
belüftet und mit etwas Abstand zum
$ mosquitto_sub ‑h localhost ‑p 8883 ‑‑cert myConnector.crt ‑‑key
Deckel einzubauen: Sie erwärmen sich
privkey.pem ‑‑cafile $cafile ‑t /v1.0/$conID/#
selbst unterhalb der Nennleistung.
Das Bewässern übernimmt eine kleine
Pumpe, die schon bei 3,3 Volt Wasser för­
dert. Das Ein­ und Ausschalten dieses
Bauteils erfolgt wie bei den LEDs über
einen Leistungstransistor vom RasPi aus.
Achten Sie bei der Wahl der Pumpe da­
rauf, dass Sie ein Modell verwenden, das
nicht all zu viel Strom benötigt.
Das DC/DC­Modul , das im Test zur
Erzeugung der 3,3 Volt zum Einsatz kam,
liefert dauerhaft maximal 2 Ampere.
Zieht die Pumpe mehr Strom, macht das
DC/DC­Modul mit diskreten Rauchzei­ 5 Damit die Pflanzen im selbstgebauten Gewächshaus gut gedeihen, liefern moderne
chen und einem höllischen Gestank auf LEDs mit vollem Spektrum das entsprechende Licht.
sich aufmerksam.
Der Sensor für die Bodenfeuchte ist
nach dem RasPi die wichtigste Kompo­
nente für das Projekt. Legen Sie bei der
Auswahl also Wert auf Qualität. Im Test
kam der SMT50  zum Einsatz, der nach
dem kapazitiven Messprinzip arbeitet
(siehe Kasten Sensorwahl). Er muss also
keinen Strom durch das Erdreich fließen.

Sensorwahl
Von Sensoren, die mittels Stromfluss
messen, raten wir ab. Die Elektroden
dieser oft sehr billigen Sensoren lösen
sich mit der Zeit auf, und dann wandern
die Metalle in den Pflanzboden. Letztend-
lich bildet der Mensch das Ende der Nah-
rungskette, und diese Schadstoffe landen
in unserem Körper. Verwenden Sie daher
einen etwas teureren, kapazitiven Sensor.
Ein solcher hat zudem eine längere Lebens- 6 Da der Bodenfeuchte-Sensor SMT50 die Werte für Bodenfeuchte und Temperatur
lediglich analog liefert, ist es notwendig, einen Analog/Digital-Wandler in das Setup zu
dauer und eine höhere Genauigkeit.
integrieren. Diese Aufgabe übernimmt im vorliegenden Aufbau der MCP3088.

05-06/2018 www.raspberry-pi-geek.de 67
Hacks Indoor-Farming

7 Die Steuerelektronik sitzt huckepack auf dem Raspberry Pi.

Wandler aufbereiten, damit der Rasp­ Für den Aufbau benötigen Sie also ins­
berry Pi sie verarbeiten kann. Das erle­ gesamt drei analoge Eingänge, die der
digt ein MCP3008. MCP3008 liefert. Ein MCP3004 würde
Um zu überwachen, ob die Leucht­ mit seinen vier analogen Eingängen aus­
dioden die erwartete Menge an Licht reichen, war aber in der Bastelkiste des
liefern, kommt ein Fotowiderstand zum Autors nicht vorrätig. Wie Sie die Ele­
Einsatz. Dabei handelt es sich jedoch mente verdrahten, entnehmen Sie dem
nicht um ein geeichtes Messgerät – die 6
Schaltplan aus Abbildung  .
Messwerte zeigen nur,
ob es in der kleinen In­
door­Farm heller oder Listing 10
dunkler ist. /*
temp.c
*/
#include <stdio.h>
#include <wiringPi.h>
#include <wiringPiSPI.h>

int aread(int channel) {


unsigned char buffer[3] = {1};
buffer[1] = (8+channel)<<4;
wiringPiSPIDataRW(0, buffer, 3);
return ((buffer[1] & 3) << 8) + buffer[2];
}
int main() {
wiringPiSPISetup(0,1000000) ;
int value = aread(0);
double voltage = (value*3.3)/1024;
double temperature = (voltage‑0.5)/0.01;
printf("%f",temperature);
return 0;
8 Das frühere Aquarium erstrahlt in gleißendem Licht: Die speziellen
LEDs liefern das von den Pflanzen benötigte Lichtspektrum. }

68 www.raspberry-pi-geek.de 05-06/2018
Indoor-Farming Hacks

7
Abbildung  zeigt die Platine mit allen Bevor Sie die Programme starten, fällt
8
Bauteilen, Abbildung  die komplette ein weiterer Arbeitsschritt an: Normaler-
Indoor-Farm im Betrieb. Die Farbe der weise ist die SPI-Schnittstelle des Rasp-
LEDs wirkt unter Umständen etwas ei- berry Pi nach der Installation deaktiviert.
genartig. Die Leuchtdioden liefern aber Sie benötigen sie aber, um mit dem
genau die Spektren, die Pflanzen zum MCP3008 zu kommunizieren. Daher akti-
Wachsen benötigen. vieren Sie sie über das Tool Raspi-config
(5 Interfacing Options | P4 SPI | Yes). Um
Programm sicherzugehen, dass der SPI-Treiber ge-
laden ist, starten Sie den RasPi neu. Nun
Das Projekt besteht aus zwei Teilen, die lesen Sie mit den drei Programmen die
Sie über Software miteinander verbin- Werte für Temperatur, Bodenfeuchte
den. Zum einen gilt es, die Werte der und Helligkeit aus (Listing 14).
Sensoren auszulesen und diese an die Um die Ausgaben der Programme an
API von Teamviewer zu schicken. Den die Teamviewer-API zu senden, kommt
einfachsten Weg dafür bietet ein Shell- das Shell-Skript updateData.sh zum Ein-
Skript, das Sie zyklisch über Cron starten. satz (Listing 15). Es besteht nur aus be-
Von der Shell aus haben Sie keinen reits bekannten Kommandos; das einzig
direkten Zugriff auf die SPI-Schnittstelle. Neue stellt die Integration der Ausgabe
Hier schlagen drei kleine C-Programme der drei Programme in die MQTT-Nach-
(Listing 10, Listing 11 und Listing 12) die richt dar. An dieser Stelle verwenden Sie
Brücke, um die entsprechenden Mess- einen Unix-Mechanismus, der es erlaubt, Listing 13
werte zu liefern. Alle drei arbeiten nach die Ausgaben von Programmen als Vari-
$ gcc ‑Wall ‑o temp temp.c
demselben Muster: Schnittstelle öffnen ablen direkt in ein Shell-Kommando ein- ‑lwiringPi
analogen Wert aus dem Kanal auslesen zubauen: $(Programm).
$ gcc ‑Wall ‑o hum hum.c
und ausgeben. Vor der Ausgabe rechnen In updateData.sh definieren Sie auch
‑lwiringPi
sie die Werte des SMT50 entsprechend die GPIOs für die Lichtsteuerung und die
dem Datenblatt um. Listing 13 zeigt, wie Pumpe als Ausgänge. Um das Skript via $ gcc ‑Wall ‑o light light.c
‑lwiringPi
Sie die Programme übersetzen. Crontab regelmäßig starten zu können,

Listing 11 Listing 12
/* /*
hum.c light.c
*/ */
#include <stdio.h> #include <stdio.h>
#include <wiringPi.h> #include <wiringPi.h>
#include <wiringPiSPI.h> #include <wiringPiSPI.h>

int aread(int channel) { int aread(int channel) {


unsigned char buffer[3] = {1}; unsigned char buffer[3] = {1};
buffer[1] = (8+channel)<<4; buffer[1] = (8+channel)<<4;
wiringPiSPIDataRW(0, buffer, 3); wiringPiSPIDataRW(0, buffer, 3);
return ((buffer[1] & 3) << 8) + buffer[2]; return ((buffer[1] & 3) << 8) + buffer[2];
} }

int main() { int main() {


wiringPiSPISetup(0,1000000); wiringPiSPISetup(0,1000000);
int value = aread(1); int value = aread(2);
double voltage = (value*3.3)/1024; //double voltage = (value*3.3)/1024;
double hum = (voltage/3)*50; //double light = voltage*10;
printf("%f",hum); printf("%d",value);
return 0; return 0;
} }

05-06/2018 www.raspberry-pi-geek.de 69
Hacks Indoor-Farming

müssen Sie es nach dem Speichern mit sorgt dafür, dass der Dienst das Skript
folgendem Befehl ausführbar machen: updateData.sh alle fünf Minuten aufruft.
Über Cron steuern Sie zusätzlich auch
$ chmod +x updateData.sh die Beleuchtung und die Bewässerung.
Listing 14 Letztere startet nur, wenn die Boden-
Um das Skript in regelmäßigen Zeit- feuchte unter den Wert 10 fällt. Diese
$ ./temp
abständen laufen zu lassen, müssen Sie Schwelle eignet sich auf jeden Fall für
$ ./hum
noch einen entsprechenden Eintrag in erste Tests, hängt aber vom verwende-
$ ./light
der Crontab vornehmen (Listing 16). Er ten Erdreich ab und variiert bei Ihnen
unter Umständen etwas.
Zum Bewässern startet die Pumpe in
Listing 15 unserem Beispiel für 30 Sekunden. Diese
#!/bin/sh Zeitspanne hängt von der Förderleistung
# ‑‑‑‑‑‑‑‑‑‑‑‑‑ der konkret verwendeten Pumpe ab.
# updateData.sh Zum Steuern kommt ein weiteres C-Pro-
# ‑‑‑‑‑‑‑‑‑‑‑‑‑ gramm (Listing 17) zum Einsatz, das Sie
. /home/pi/tvenv.sh über Cron starten. Um das Programm zur
Pumpensteuerung zu kompilieren, ver-
LHOST="localhost" wenden Sie die Zeile aus Listing 18.
LPORT="8883" Die Beleuchtung schalten Sie einfach
CERT="/home/pi/myConnector.crt" mit dem Kommando gpio an und aus,
KEY="/home/pi/privkey.pem" das Sie direkt in die Crontab schreiben.

V_TEMP="$(/home/pi/temp)"
9
Abbildung  zeigt das Dashboard mit
den Messwerten für einige Tage.
V_HUM="$(/home/pi/hum)"
V_LIGHT="$(/home/pi/light)"
Fazit
LOGFILE="/tmp/farm.data"
Es macht zwar etwas Mühe, ein eigenes
call_tv_api () { Projekt mit einem Raspberry Pi in die
/usr/bin/mosquitto_pub \ IoT-Umgebung von Teamviewer zu inte-
‑h ${LHOST} \ grieren. Das liegt aber nicht zuletzt dar-
‑p ${LPORT} \ an, dass hier Sicherheit an erster Stelle
‑‑cert ${CERT} \ steht, was immer etwas Aufwand erfor-
‑‑key ${KEY} \ dert. Haben Sie die ersten Hürden über-
‑‑cafile $cafile \
‑t /v1.0/$conID/sensor/$sensorID \
‑f ${LOGFILE} Listing 16
}
*/5 * * * * /home/pi/updateData.
touch ${LOGFILE} sh
1 8 * * * /usr/bin/gpio write 0 1
cat << EOM > ${LOGFILE} 1 20 * * * /usr/bin/gpio write
{"metrics": 0 0
[ 2 20 * * * /home/pi/runPump
{"metricId" : "$TempID", "value" : ${V_TEMP:‑0.0} },
{"metricId" : "$FeuchteID", "value" : ${V_HUM:‑0.0} },
{"metricId" : "$LichtID", "value" : ${V_LIGHT:‑0} }
] Der Autor
} Martin Mohr entwickelte schon in früher
EOM Jugend eine Vorliebe für alles, was blinkt.
Nach einer Ausbildung zum Elektroniker
call_tv_api und einem Informatikstudium program-
mierte er überwiegend Java-Applikati-
/usr/bin/gpio mode 0 out onen. Mit dem Raspberry Pi erwachte die
/usr/bin/gpio mode 1 out alte Liebe zur Elektronik wieder.

70 www.raspberry-pi-geek.de 05-06/2018
Indoor-Farming Hacks

9 Das Dashboard von Teamviewer IoT liefert einen guten Überblick über die bereits gesammelten Daten aus den Sensoren.

wunden, dann lassen sich über die Listing 17


MQTT­Schnittstelle der API problemlos /*
neue Komponenten hinzufügen. runPump.c
Die intuitiv bedienbare Weboberfläche */
von Teamviewer IoT erweist sich als gut #include <stdio.h>
durchdacht und betriebssicher. Über sie #include <wiringPi.h>
lösen Sie bei Bedarf auch Alarme aus und #include <wiringPiSPI.h>
starten Aktionen, wie im vorliegdenden
Fall etwa ein Anspringen der Pumpe, int aread(int channel) {
wenn das Wasser knapp ist. unsigned char buffer[3] = {1};
Innerhalb der nächsten Monate will buffer[1] = (8+channel)<<4;
der Hersteller ein C­basiertes Develop­ wiringPiSPIDataRW(0, buffer, 3);
return ((buffer[1] & 3) << 8) + buffer[2];
ment­Kit herausbringen, das die Funkti­
}
onen der API kapselt – dann lohnt sich
ein entsprechendes Update der invol­
int main() {
vierten Programme, da sich Vieles dann
vereinfacht. (agr) n
wiringPiSPISetup(0,1000000);
wiringPiSetup();
pinMode(1,OUTPUT);
int value = aread(1);
Listing 18 double voltage = (value*3.3)/1024;
double hum = (voltage/3)*50;
$ gcc ‑Wall ‑o runPump runPump.c
printf("%f",hum);
‑lwiringPi
if(hum < 10) {
digitalWrite(1,HIGH);
delay(30000) ;
Weitere Infos und digitalWrite(1,LOW) ;
interessante Links }
return 0;
www.raspi-geek.de/qr/40742
}

05-06/2018 www.raspberry-pi-geek.de 71
Open Hardware WDLabs Mediastick mit CM1

F
3R 2
ov, 1
© Sergii Tepl

WDLabs Mediastick
im Kurztest

Einfach
eingesteckt
Mit dem Mediastick von Beim WDLabs Mediastick handelt es sich außen geführte USB-Anschlüsse sowie
um eine minimale Trägerplatine samt einen Taster. Das Compute-Modul bringt
Western Digital erweitern Gehäuse  für ein RasPi-Compute-Mo- zusätzliche 4 GByte Flash-Speicher für
1
dul  . Sein Alleinstellungsmerkmal ist das Betriebssystem mit. Sie montieren
Sie einen Fernseher auf ein HDMI-Stecker statt einer Buchse. So das Gehäuse mit vier kleinen Schrauben;
lässt sich der Stick direkt mit dem Fernse- das klappt so einfach, dass sich der Her-
einfache Weise um ein her verbinden: einstecken, mit Strom steller jegliche Anleitung geschenkt hat.
versorgen, fertig. Mit einem kurzen USB- Fertig zusammengebaut wirkt der
Compute-Modul. In der Kabel versehen, kommt der Saft eben- WDLabs Mediastick wie ein überdimen-
falls aus dem Fernseher, ein zusätzliches sionaler USB-Dongle. Der Taster fungiert
Praxis lauern aber einige Kabel zur Steckdose kann entfallen. als Ein- und Ausschalter. Außerdem ver-
Allerdings bewegt sich nur das Com- setzen Sie damit das Compute-Modul in
Fußangeln. Bernhard Bablok
pute-Modul 1 vom Strombedarf her im einen Modus, in dem es sich program-
Rahmen der USB2-Spezifikation mit mieren lässt. Das Gesamtpaket ähnelt in
maximal 500 mA. Das in seiner Leistung Bezug auf die Leistungsfähigkeit einem
dem RasPi 3 entsprechende CM3 passt Pi Zero. Beim Kostenvergleich stehen auf
README zwar ebenfalls in den Stick, überfordert
mit seiner Leistungsaufnahme aber
Der Mediastick aus den WD-Laboren hat
möglicherweise die USB-Buchse am TIPP
einen schmalen Formfaktor und nimmt ein
Fernseher. Zum Glück genügt die Leis-
Wie Sie an das Usbboot-Programm kom-
Compute-Modul auf, das die Hardware in tung des CM1 zum Abspielen von
men und wie das Aufspielen der Abbild-
einen Mini-PC verwandelt. Ein Kurztest Videos und Musik mittels Kodi.
datei im Detail funktioniert, lesen Sie in
einem älteren Artikel nach , den Sie als
zeigt, ob sich die Kombination tatsächlich Die Hardware des Mediasticks fällt
recht minimalistisch aus. Neben der Trä-
für den Alltag eignet. PDF auch auf der Heft-DVD finden.
gerplatine gibt es nur noch zwei nach

72 www.raspberry-pi-geek.de 05-06/2018
Open Hardware WDLabs Mediastick mit CM1

zu blinken anfängt. Läuft alles glatt, mel-


det sich das Compute-Modul als USB-
Massenspeicher am Rechner. Sie sehen
also unter Windows ein neues Laufwerk,
unter Linux ein neues Block-Device.
Ab jetzt läuft die Installation wie ge-
wohnt – aus Sicht des PCs gibt es keinen
Unterschied zwischen einer SD-Card im
der einen Seite der Mediastick und ein Kartenleser und dem vom CM bereitge-
1 Das Innere des WLAN-Dongle. Auf der Seite des Pi Zero stellten Massenspeicher. Die 4 GByte
WDLabs Mediasticks bietet Platz für ein gilt es, ein Gehäuse und ein HDMI-Kabel Flash des Moduls genügen locker für das
Compute-Modul sowie eine Trägerplatine in die Rechnung einzubeziehen. Betriebssystem einer der gängigen
mit einem HDMI-Stecker. Der Mediastick kostete ursprünglich Mediaplayer-Distributionen. Die eigentli-
rund 25 Euro, aktuell liegt der Straßen- chen Medien kommen später per WLAN
preis bei 13 Euro. Das CM1 schlägt regu- vom Server oder über einen USB-Stick im
lär mit 30 Euro zu Buche, bei Ebay finden zweiten USB-Anschluss des Sticks.
sich aber oft Angebote um die 20 Euro.
In Summe macht das also rund 40 Euro. Am Fernseher
Die Alternative mit dem Pi Zero W ist
10 bis 15 Euro günstiger, je nachdem, Ging bis jetzt alles glatt, lauert beim
welches Gehäuse und Kabel Sie sich leis- Einstöpseln am Fernseher der erste Frust:
ten. Allerdings lässt sich der Pi Zero nicht Der Stick ist so breit, dass er benachbarte
einfach an den Fernseher anstecken: HDMI-Steckplätze blockiert. Ein kleiner
Den dafür idealerweise gewinkelten Adapter, je nach Ausrichtung der Buch-
Artikel zum CM3
RPG/cm3/
Adapter von Mini- auf regulären HDMI- 2
sen gewinkelt, löst das Problem  .
Stecker gibt es so nicht zu kaufen. Zudem versorgen manche Fernseher
die USB-Buchsen nur dann mit Strom,
Installation wenn Sie sie einschalten. Das ist an sich
ein nützliches Feature, für ein laufendes
Zum Aufspielen des Betriebssystems LibreELEC aber ein Problem: Schalten Sie
(etwa LibreELEC) hängen Sie den Stick den Fernseher aus, beenden Sie automa-
per USB-Kabel an einen Rechner, starten tisch den Betrieb des Mini-Rechners mit
dort das Programm Usbboot und drü- einem harten Abbruch. Auf Dauer be-
cken den Taster des Mediasticks rund schädigt ein solches Vorgehen das Datei-
zehn Sekunden lang, bis die blaue LED system. Allerdings dreht sich LibreELEC

2 Über den Stecker schließen Sie den


WDLabs Mediastick direkt am Fernseher
an; er braucht lediglich noch eine USB-
Stromversorgung. Ein Winkelstecker sorgt
dafür, dass das Gehäuse des Sticks keine
anderen Steckplätze blockiert.

74 www.raspberry-pi-geek.de 05-06/2018
WDLabs Mediastick mit CM1 Open Hardware

gegebenenfalls bei einem Shutdown gen. Hier wäre das traditionelle Verhal-
selbst den Saft ab, denn vor dem Herun- ten der Raspberry-Pi-Modelle von Vor-
terfahren sendet es per HDMI-CEC-Signal teil, die booten, sobald Strom fließt.
einen Aus-Befehl an den Fernseher. Zum
Glück lässt sich dieses Verhalten über die Fazit
Kodi-Einstellungen ändern.
Die CEC-Konfiguration finden Sie gut Der WDLabs Mediastick zeigt, dass nicht
versteckt unter Einstellungen | System | jede pfiffige Idee auch voll praxistaug-
Eingabe | Geräte | CEC-Adapter. Dort set- lich ist. Wer nicht zufällig sowieso einen
zen Sie dann Beim Ausschalten von Kodi sinnvollen Einsatz für sein Compute- Weitere Infos und
ausschalten auf keine und verhindern so, Modul sucht oder keinen Platz mehr in interessante Links
dass das System angeschlossene Geräte der Steckdose hinter dem Fernseher hat,
www.raspi-geek.de/qr/40629
und damit insbesondere den Fernseher greift eher zum Pi Zero W und nimmt zu-
ausschaltet. Nach dieser Modifikation ist sätzliche Kabel in Kauf.
der Schalter sogar eher nützlich, denn Unabhängig davon war der Stick im
der Stick läuft damit nicht sinnlos durch. Alltagsbetrieb sparsam und zuverlässig. Der Autor
Einen letzten Grund zur Kritik bietet Es wäre schön, wenn mehr Produkte wie
Bernhard Bablok arbeitet bei der Allianz
der An- und Ausschalter, der dem Com- gerade Fernseher Compute-Module be- Technology SE als SAP-HR-Entwickler.
puter hart den Strom abdreht. Und da reits eingebaut mitbrächten. Das würde Wenn er nicht Musik hört, mit dem Rad
auch das Einschalten einen Druck auf für eine bessere Integration sorgen und oder zu Fuß unterwegs ist, beschäftigt er
den Taster erfordert, bleibt nichts ande- Problemquellen minimieren. Aber die sich mit Themen rund um Linux, Program-
res übrig, als nach dem Anschalten des großen Hersteller tendieren wohl dazu, mieren und Mini-Computer. Sie erreichen
Fernsehers aufzustehen, zum Stick zu Lösungen zu ignorieren, über die sie ihn unter mail@bablokb.de.
rennen und dort den Taster zu betäti- nicht selbst die Kontrolle haben. (agr) n
Know-how I2C-Workshop (Teil 19)

© Aubert Serge, 123RF


I2C-Workshop, Teil 19: MSP430F5529 als I2C-Master

Stabübergabe
Sobald das Prototyping Der Mikrocontroller MSP430F5529 von schäftigen möchten, werfen Sie einen
Texas Instruments arbeitet mit einem Blick auf die Homepage des Chips .
abgeschlossen ist, darf ein 16-Bit-Kern und hat eine Taktfrequenz Als IDE bieten sich Energia  oder die
von 25 MHz. Er verfügt über einen Pro- Professional Software Tools  an. Im
preisgünstiger Controller grammspeicher von 128 KByte und bie- Test kam Energia zum Einsatz (siehe
tet 8 KByte RAM für Daten. An I/O-Ports Kasten Energia installieren), eine der
wie der MSP430 das Ruder haben die Designer nicht gespart: Zu Arduino IDE nachempfundene Open-
den üblichen Ports, die Sie etwa vom Source-Software. Die Entwicklungs-
übernehmen. Martin Mohr Raspberry Pi kennen, kommen zusätz- umgebung lässt sich leicht bedienen,
lich noch 16 Analog-Eingänge mit einer schon nach wenigen Minuten haben Sie
Auflösung von 12 Bit hinzu. bei Bedarf ein erstes Programm in dem
README Im Test kam ein Evaluation Kit (Launch- Mikrocontroller geladen.
pad) zum Einsatz, das der Hersteller für Um zu überprüfen, ob die IDE wie ge-
Bislang diente als Bus-Master für alle I2C-
rund 13 US-Dollar anbietet . Dieses Kit wünscht funktioniert, schließen Sie das
Experimente stets ein Raspberry Pi – für hat alles an Bord, um direkt starten zu Launchpad an eine freie USB-Schnittstel-
viele Projekte ist das allerdings eine etwas können. Dazu gehören auch ein USB- le des PCs an. Für den Test eignet sich
überdimensionierte Lösung. Als Alternative Programminterface sowie zwei Taster das Blink-Programm, das Hello-World-
und LEDs. Wenn Sie sich etwas intensiver Programm der Mikrocontroller-Gemein-
bietet sich der Mikrocontroller MSP430 an.
mit den verschiedenen Varianten be- de. Sie finden es in der IDE unter Datei |

76 www.raspberry-pi-geek.de 05-06/2018
I2C-Workshop (Teil 19) Know-how

Beispiele | Basics  | Blink zu finden. Nach-


dem Sie das Beispiel geöffnet haben,
installieren Sie es mit der Schaltfläche
Hochladen (zweites von links in der Icon-
Leiste) im Controller. Danach startet es
direkt, und die rote LED beginnt lang-
sam zu blinken.

Hardware
Um das Lauchpad auf einem Bread-
board zu verwenden, wenden Sie einen
Trick an. Dazu modifizieren Sie einige
lange Stiftleisten  und verwenden sie
als Verbindung zwischen Breadboard
1
und Launchpad  . Nun verbinden Sie
die Bauteile dem Schaltplan aus Abbil-
2
dung  entsprechend.
Genau genommen haben Sie nur den 1 Mit etwas Geschick und sanftem Druck verschieben Sie den Verbindungssteg der
I2C-Bus des MSP430 mit dem LM75 eins Stiftleisten, um das Launchpad mit dem Breadboard zu verbinden.
zu eins verbunden. Eine Kleinigkeit ist
allerdings beim Aufbau sehr wichtig: Bei
den Widerständen R1 und R2 handelt es Will eines Ihrer I2C-Projekte überhaupt
sich um sogenannte Pullup-Widerstän- nicht funktionieren, schauen Sie nach,
de; ohne diese kann der MSP430 kein ob die I2C-Pullup-Widerstände vorhan-
Signal auf dem I2C-Bus erzeugen. den sind, und falls ja, welchen Wert sie
Nun drängt sich sofort die Frage auf, haben. Fallen sie zu hochohmig aus, ge- Schaltplan, Energia 1.6.10E18
warum wir bei den bisher erschienenen lingt es unter Umständen nicht, ein sau- (Linux, Windows)
18 Teilen dieser Workshop-Reihe so gut beres Signal auf dem Bus zu erzeugen. RPG/i2c‑19/
wie nie Pullup-Widerstände gebraucht
haben. Die schlichte Antwort: Beim
Raspberry Pi sind sie bereits mit auf der Energia installieren
Platine verbaut. Warum aber verbaut ein
Bei Bedarf laden Sie Energia aus dem sion der IDE herunterladen, passen Sie die
Netz herunter . Wählen Sie hier die für
Profi-Hersteller wie TI keine Pullup-
Pfade dementsprechend an.
Widerstände auf der Platine? Zum einen
Ihr Betriebssystem passende Version aus. Damit alle Änderungen greifen, starten Sie
hängt der notwendige Wert der Wider-
Versionen für Linux und Windows sowie das System einmal neu – das ist in diesen
stände von der Bus-Last ab (Anzahl der
die Rules-Datei finden Sie auch auf dem Fall nötig, weil Sie die Berechtigungen auf
angeschlossenen I2C-Slaves und Länge
Datenträger zum Heft. den USB-Geräten verändert haben. Um
des Busses), zum anderen verändern
Unter Linux funktioniert die Installation nach dem Neustart die IDE zu starten,
diese Widerstände die Charakteristik der
der IDE wie in den ersten fünf Zeilen von geben Sie die beiden letzten Zeilen aus
GPIOs, wenn diese nicht für I2C zum Ein-
Listing 1 gezeigt. Falls Sie eine andere Ver- Listing 1 ein.
satz kommen.

Testprogramm
Listing 1
Beides sind sehr gute Gründe, die Wider- 01 $ cd ~
stände nicht standardmäßig zu bestü-
02 $ cp ./Downloads/energia‑1.6.10E18‑linux64.tar.xz .
cken. Für die Entwickler des Raspberry Pi
03 $ tar ‑xvf energia‑1.6.10E18‑linux64.tar.xz
war es allerdings wichtiger, dem Hard-
04 $ wget http://energia.nu/files/71‑ti‑permissions.rules
ware-Anfänger ein auf Anhieb funktio-
05 $ sudo mv ./71‑ti‑permissions.rules /etc/udev/rules.d/
nierendes System zu bieten, selbst wenn
06 [... Neustart ...]
der kleine Rechner aus diesem Grund
07 $ cd ~/energia‑1.6.10E18/
etwas weniger Flexibilität in Bezug auf
den Einsatz bietet.

05-06/2018 www.raspberry-pi-geek.de 77
Know-how I2C-Workshop (Teil 19)

2 Der Schaltplan für den Testaufbau zeigt, wie Sie die einzelnen Teile miteinander verbinden.

Das Testprogramm (Listing 2) liest die lisiert mit Wire.begin() die I2C-Schnitt-
aktuellen Werte für die Temperatur aus stelle. Geben Sie Wire.begin() einen
einem LM75 aus und sendet sie an eine Wert mit, dann startet das I2C-Interface
serielle Schnittstelle. Die Ausgaben der im Slave-Modus. Der mitgegebene Wert
seriellen Schnittstelle sehen Sie sich bei definiert dabei die Adresse am I2C-Bus.
Bedarf auf dem Seriellen Monitor der Die Funktion Serial.begin(9600)
Energia IDE an (Lupen-Icon ganz rechts initialisiert die serielle Schnittstelle des
in der Icon-Leiste). Mikrocontrollers mit 9600 Baud. Über
Zum Hochladen der Programme dieses Interface fragen Sie bei Bedarf
verwendet die IDE /dev/ttyACM0 als Debug-Informationen des laufenden
Device. Um die Ausgaben des Mikro- Programms ab. Die Funktion loop()
controllers zu sehen, wählen Sie /dev/ baut eine Verbindung zum I2C-Gerät an
ttyACM1 als Port aus. Möchten Sie beim der Adresse 0x48 auf. Dort fordert sie
Entwickeln nicht ständig umschalten den Inhalt des Registers 0x00 an. Darin
(wobei nicht nur der Programmierer befindet sich der aktuelle Wert für die
durcheinanderkommt, sondern gele- Temperatur, den die Funktion auf die
gentlich auch die IDE), empfiehlt es sich, serielle Schnittstelle herausschreibt.
zwei Fenster zu öffnen: eines zum Pro- Dann wartet sie eine Sekunde und liest
grammieren und Hochladen und ein das Register erneut aus.
zweites zur Anzeige der Ausgabe des Als wichtiges Hilfsmittel sollten Sie
3
seriellen Monitors  . beim Test auf jeden Fall Kältespray  zu
Das Testprogramm selbst ist schnell Hand haben: Damit kühlen Sie den LM75
erklärt: Die Bibliothek Wire stellt alle schnell herunter, um zu sehen, ob der
3 Über den Seriellen Monitors sehen Sie, Funktionen bereit, um auf den I2C-Bus Aufbau richtig funktioniert. Das Pro-
welche Daten das Programm liefert. zuzugreifen. Die Funktion setup() initia- gramm ist nur für positive Temperaturen

78 www.raspberry-pi-geek.de 05-06/2018
I2C-Workshop (Teil 19) Know-how

ausgelegt. Wenn Sie zusätzlich negative


Listing 2
Temperaturen messen möchten, müssen
#include <Wire.h> Sie die Werte im Register 0x00 des LM75
void setup() { entsprechend interpretieren.
Wire.begin();
Serial.begin(9600); Fazit
Serial.println("start");
} Sobald ein Projekt den Prototyping-Sta-
tus verlässt, lohnt es sich, einen günsti-
gen Mikrocontroller für die Aufgabe in Weitere Infos und
void loop() {
Betracht zu ziehen. Der MSP430 von interessante Links
Wire.beginTransmission(0x48);
Texas Instruments steht hier beispielhaft www.raspi-geek.de/qr/40918
Wire.write((byte)0x00); für diese Klasse von Hardware, so gut
Wire.requestFrom(0x48, 1); wie jeder moderne Mikrocontroller
beherrscht heute I2C.
int temperatur; Möglicherweise genügt für Ihr nächs- Der Autor
temperatur = Wire.read(); tes Projekt ein MSP430. Mikrocontroller
Martin Mohr entwickelte schon in früher
weisen Einplatinen-Computern gegen- Jugend eine Vorliebe für alles, was blinkt.
Wire.endTransmission(); über einige nicht zu unterschätzende Nach einer Ausbildung zum Elektroniker
Vorteile auf: So sind sie etwa echtzeit- und einem Informatikstudium program-
Serial.print("Temperatur: ");
fähig, bringen viele I/O-Möglichkeiten mierte er überwiegend Java-Applikati-
Serial.println(temperatur);
mit (oft zusätzlich analog), haben einen onen. Mit dem RasPi erwachte die alte
delay(1000);
sehr geringen Stromverbrauch und – last Liebe zur Elektronik wieder.
} but not least – kosten weniger. (agr) n
Know-how MQTT

Mit MQTT Nachrichten via Netzwerk austauschen

Auf zahlreichen
Kanälen
In der IoT-Welt spricht man MQTT. Das robuste Protokoll
eignet sich aber nicht nur für die Industrie, sondern auch für
den Einsatz in den eigenen vier Wänden. Martin Mohr

README Die Abkürzung MQTT steht für den klärt sich recht schnell, was die einzel-
Begriff Message Queue Telemetry Trans- nen Punkte im Detail bedeuten.
Gehen die Clients im Netzwerk nur unregel-
port, was frei übersetzt etwa „warte- Worum es sich bei den entfernten
mäßig online, hilft ein asynchroner Dienst schlangenorientiertes Übertragungsver- Messeinrichtungen handelt, erscheint
beim Austausch von Nachrichten. MQTT hat fahren für entfernte Messeinrichtungen“ noch einigermaßen plausibel: Das könn-
sich in diesem Feld seine Sporen verdient. bedeutet. Das klingt erst einmal reich- te beispielsweise ein Temperatursensor
lich kompliziert. Nähern Sie sich dem im Garten sein. Stellen Sie sich nun vor,
Ein Blick lohnt also.
Thema jedoch nach und nach an, dann Sie hätten mehrere solcher Sensoren im

80 www.raspberry-pi-geek.de 05-06/2018
MQTT Know-how

1 Producer, Broker und Consumer bilden in MQTT die Strukturen, auf denen die
einzelnen Nachrichten in Topics gegliedert entlanglaufen.

Komponenten
© Phartisan, 123RF

Bei MQTT handelt es sich um ein leicht-


gewichtiges Protokoll. Es erzeugt sehr
wenig Last im Netzwerk und benötigt
kaum CPU-Leistung. Aus diesem Grund
eignet es sich perfekt für einfache Mikro-
Garten. In diesem Fall wäre es sehr sinn- controller wie den Arduino oder den Raspbian 2017-11-29 Lite
voll, wenn jeder der Sensoren seine ESP8266 sowie für die Kommunikation RPG/raspbian/
Messwerte auf dieselbe Weise überträgt, mit Mobilgeräten.
also dasselbe Protokoll verwendet. Nun Das Protokoll umfasst drei Kompo-
wissen Sie auch schon, was mit Übertra- nenten: Der Sender (Producer) erzeugt
gungsverfahren gemeint ist. Nachrichten, die er bei einer Zwischen-
Stellen Sie sich nun vor, dass die Sen- stelle (Broker) abliefert. Dieser Vorgang
soren die Messwerte nicht kontinuierlich nennt sich Publishen. Der Empfänger
übermitteln, sondern nur in unregelmä- (Consumer) nimmt die Nachrichten
ßigen Zeitabständen, um Energie zu entgegen. Die Nachrichten sind be-
sparen. Zudem ist eventuell das Note- stimmten Themen (Topics) zugeordnet.
book mit der Software, die die Messun- Über Topic-Filter teilt der Consumer dem
gen auswertet, nicht immer online. Da Broker mit, für welche Nachrichten er
wäre es hilfreich, so etwas wie einen sich interessiert (Subscribe).
Zwischenspeicher für die Daten zu ha- Der Broker fungiert bei MQTT also als
ben oder sogar eine Warteschlange, die zentrale Komponente: Er sorgt dafür,
dafür sorgt, dass die Werte dennoch in dass die Kommunikation zwischen Sen-
der richtigen Reihenfolge ankommen. der und Empfänger entkoppelt stattfin-
Das Beispiel zeigt schon recht gut, wie det. Das hat den Vorteil, dass Sender und
Ihnen MQTT hier weiterhilft. Empfänger nicht gleichzeitig online zu

Listing 1
$ unzip 2017‑11‑29‑raspbian‑stretch‑lite.zip
$ sudo dd if=2017‑11‑29‑raspbian‑stretch‑lite.img of=/dev/sdf

05-06/2018 www.raspberry-pi-geek.de 81
Know-how MQTT

2 Die Nachrichten eines MQTT-Senders lassen sich mit mehr als einem Empfänger auswerten.

sein brauchen. Zudem kann der Broker Werte aller Temperatursensoren im Ge-
beliebig komplexe Verbindungsstruktu- bäude auslesen, nutzen Sie den folgen-
ren aufbauen. Das reicht von Punkt-zu- den Topic:
Punkt-Connections bis hin zu kompli-
zierten Sternstrukturen. Abbildung 1 Gebäude/+/+/Sensor/Temperatur
verdeutlicht das Zusammenwirken von
Producer, Broker, Consumer und Topics. MQTT-Client-Bibliotheken gibt es für
Topics gliedern sich in MQTT in eine diverse Plattformen, unter anderem für
Baumstruktur, wobei Slashes die einzel- den Arduino und den ESP8266. Zudem
nen Bereiche in den Topics trennen, bei- unterstützen zahlreiche Programmier-
spielsweise Gebäude/Etage/Raum/Sen‑ sprachen das Protokoll, darunter C/C++,
sor/Temperatur. Innerhalb der Topics Go, Java, Javascript und PHP. Um tiefer in
dürfen Sie mit Wildcards arbeiten. Der das Thema einzusteigen, empfiehlt sich
Plus-Operator erfasst dabei immer nur ein Blick auf die Projekt-Homepage .
eine Stufe der Hierarchie. Ein Hash-Zei-
chen dagegen beinhaltet beliebig viele
Stufen, steht aber zwingend immer am Topaktuell
Ende. Möchten Sie im Beispiel etwa die
Brauchen Sie aus irgendeinem Grund die
aktuelle Version von Mosquitto, binden Sie
zuerst mit den Kommandos aus Listing 3
Listing 2 das entsprechende Repository ins System
$ sudo apt‑get update && sudo apt‑get upgrade ein. Dann rufen Sie zur Installation die in
$ sudo apt‑get install mosquitto mosquitto‑clients Listing 2 gezeigten Kommandos auf.

82 www.raspberry-pi-geek.de 05-06/2018
MQTT Know-how

Software installieren ellen Status anzeigen zu lassen, verwen-


den Sie die Kommandos aus Listing 4.
Als Basis für Experimente mit MQTT auf
dem RasPi bietet sich Raspbian „Stretch“ In der Praxis
Lite an. Sie laden es wie gewohnt von der
Download-Seite  herunter, entpacken Nach dem Einrichten des Mosquitto-
das Image und schreiben das System auf Servers auf dem RasPi nehmen Sie einen
eine SD-Karte (Listing 1). Achten Sie dar- ersten Funktionstest vor. Dazu benöti-
auf, das Ziel des Kommandos in Zeile 2 gen Sie drei offene Terminals auf dem
so anzupassen, dass es auf die SD-Karte Mini-Rechner. Diese dürfen Sie auch re-
schreibt. Mit dem so vorbereiteten Medi- mote über die Secure Shell erstellen. In
um booten Sie jetzt den RasPi und brin- zwei der Terminals starten Sie dann je
gen dann das Betriebssystem auf den einen Subscriber, der sich für Nachrich-
aktuellen Stand (Listing 2, Zeile 1). ten für den Topic raspi interessiert:
Um mit MQTT zu arbeiten, benötigen
Sie eine Implementation des Protokolls. $ mosquitto_sub ‑h localhost ‑v ‑tU
Im Beispiel fiel die Wahl auf Mosquitto. raspi
Die Software stellt alle Komponenten
bereit, die Sie benötigen, also Broker, Im dritten Terminal starten Sie nun einen
Producer und Consumer. Publisher, der unter ebendiesem Topic
Am simpelsten installieren Sie Mos- eine Nachricht sendet:
quitto direkt aus den Raspbian-Reposito-
ries (Listing 2, zweite Zeile). Die entspre- $ mosquitto_pub ‑h localhost ‑t raU
chenden Pakete sind etwas veraltet, spi ‑m "Raspi talks MQTT!"
funktionieren aber tadellos und genügen
für das Ausprobieren aller folgenden Bei-
spiele. Wie sie stattdessen die aktuellste
Mosquitto-Version aus dem Repository
der Entwickler einrichten, beschreibt der
Kasten Topaktuell. Es kann aber sein,
dass diese Version nicht optimal mit
Raspbian zusammenspielt.
Um den Mosquitto-Server zu starten,
ihn wieder zu stoppen und sich den aktu-

Listing 3
$ wget http://repo.mosquitto.org/
debian/mosquitto‑repo.gpg.key
$ sudo apt‑key add
mosquitto‑repo.gpg.key
$ rm mosquitto‑repo.gpg.key
$ cd /etc/apt/sources.list.d/
$ sudo wget http://repo.
mosquitto.org/debian/
mosquitto‑stretch.list

Listing 4
$ sudo service mosquitto status
$ sudo service mosquitto stop
$ sudo service mosquitto start
3 Mittels einer App für Chrome erstellen Sie einen neuen MQTT-Client, der an-
schließend die Daten vom Raspberry Pi ausliest oder an diesen sendet.

05-06/2018 www.raspberry-pi-geek.de 83
Know-how MQTT

4 Mit dem neu aufgesetzten MQTT-Client verfolgen Sie den Ablauf der Nachrichten zwischen den einzelnen Endpunkten.

Unmittelbar nach dem Senden der komplizierte Möglichkeit zur Verfügung,


Nachricht erscheint sie bereits in den eigene MQTT-Projekte auszutesten.
zwei Terminals mit den Subscribern, wie
2
Sie in Abbildung  erkennen können. Fazit
Das zeigt, wie einfach sich via MQTT
Nachrichten innerhalb eines Systems In diesem Artikel haben wir uns auf die
übermitteln lassen. Grundlagen von MQTT beschränkt. Tat-
Im nächsten Schritt geht es nun dar- sächlich bietet das Protokoll noch viel
um, passende Clients auf anderen Sys- mehr Möglichkeiten, wie etwa verschie-
temen einzubinden. Als einfacher und dene Formen von Quality of Service und
zum Testen äußerst nützlicher Subscri- sichere Kommunikation per SSL.
ber bietet sich die MQTT-Client-App für Bei MQTT handelt es sich keineswegs
Chrome  an, die Sie aus dem Chrome um eine Neuerung, die erst mit dem Inter-
Weitere Infos und Webstore herunterladen . Mit dieser net der Dinge entstand. Das ausgereifte
interessante Links App verbinden Sie sich anschließend auf Protokoll ist schon lange den Kinderschu-
den RasPi und hängen sich an den Topic hen entwachsen. Es entstand 1999 zum
www.raspi-geek.de/qr/40919
raspi an. Die Abbildung  3 zeigt, wie Überwachen von Öl-Pipelines und kommt
Sie einen neuen Client erstellen. Als IP- bis heute beim verteilten Messen im pro-
Adresse tragen Sie hier jene des Mini- fessionellen Bereich zum Einsatz.
Der Autor PCs in Ihrem LAN ein. Mittlerweile greifen immer mehr Her-
Martin Mohr hatte schon in früher Jugend
Sobald Sie den zusätzlichen Client ein- steller von Mobile- oder IoT-Anwendun-
eine Leidenschaft für alles, was blinkt. gerichtet haben, vermag er Nachrichten gen auf das Protokoll zurück. Es gibt also
Nach dem Informatikstudium entwickelte unter dem Topic raspi zu senden und zu gute Gründe, sich über diese kleine Ein-
er Java-Applikationen. Mit dem RasPi er- 4
lesen, wie Abbildung  zeigt. So steht führung hinaus eingehender mit MQTT
wachte die alte Liebe zur Elektronik wieder. Ihnen in Form der Chrome-App eine un- zu beschäftigen. (agr) n

84 www.raspberry-pi-geek.de 05-06/2018
Geek Bazar Anzeigen

Geek Bazar
Finden und gefunden werden...
Alles rund um den Raspberry Pi und die Maker-Szene fin- Folgende Rubriken bieten wir Ihnen:
den Sie im Geek Bazar. Das neue Nachschlagewerk listet Raspberry Pi Komplettkits
Produkte, Dienstleistungen und Unternehmen übersicht- Embedded (Arduino, Beaglebone, Cubieboard ...)
lich auf und hilft Ihnen bei all Ihren Projekten.
Zubehör (Kabel, Gehäuse, Peripherie, ...)
Geek Bazar erscheint in jeder Ausgabe von Raspberry Pi
Erweiterungen (Boards, elektronische Komponenten ...)
Geek und, stetig aktualisiert, im Internet unter www.geek-
bazar.de. Wir wollen Ihnen damit helfen, geeignetes Zube- 3D-Druck (Drucker, Filament ...)
hör, Hilfe und wichtige Tools zu finden – und das einfach, Entwickler (Entwicklerkits etc.)
schnell und topaktuell. Bücher

Möchten Sie Ihre Firma auch eintragen lassen, dann fordern Sie unter anzeigen@computec.de ein unverbindliches Angebot an.

3d Dinge 3D

Adolf-Hällmayr-Weg 24 3dDinge.de ist ein junges Unternehmen, das in Deutschland


D-85221 Dachau 3D-Drucker sowie zugehörige Services und Beratung anbietet.
+49 (0)179 9429701
http://www.3dDinge.de

dpunkt.verlag GmbH L
Wieblinger Weg 17 Der dpunkt.verlag ist ein deutscher Fachverlag für Computing
69123 Heidelberg und digitale Fotografie. Ein Schwerpunkt des Buchprogramms
+49 (0)6221 - 148 30 liegt auf Themen aus dem Hackerspace. Deutschsprachige
http://www.oreilly.de O'Reilly-Bücher werden vom dpunkt.verlag publiziert.

Franzis Verlag GmbH E 3D D L


Richard-Reitzner-Allee 2 Ob Raspberry Pi, Arduino oder 3D-Druck – beim Franzis Verlag
85540 Haar b. München finden Maker zu jedem Thema das richtige Buch.
+49 (0) 89 - 25556 - 1000
http://www.Franzis.de

iGo3D GmbH 3D

Am Stadtmuseum 12 Führender deutscher Trusted Shop, zertifizierter 3D-Drucker-


26121 Oldenburg Online-Shop und Dienstleister für 3D-Drucker, 3D-Scanner,
+49 (0) 44157045640 Filamente, 3D-Druck-Zubehör und vieles mehr.
https://www.igo3d.com

OCZ Technology Group B


Hans-Bunte-Straße 16 a OCZ ZD-XL SQL Accelerator-PCIe SSD – integrierte Flash-Hardware
79108 Freiburg & Software-Lösung für SQL-Server, OCZ Intrepid 3000 SATA 3.0
0761-20897942 Enterprise SSD, OCZ VXL VMware Acceleration Software
http://ocz.com

Raspberry Pi / RasPi-Komplettkits B Boards (Erweiterungen, elektronische D Developer (Entwicklerkits etc.)


86 Komponenten ...)
Anzeigen Geek Bazar

Open Source Automation Development Lab (OSADL) eG


Im Neuenheimer Feld 583 In der QA-Farm des OSADL (osadl.org/QA) sind Daten und
69120 Heidelberg Bauanleitungen des Echtzeit-Linux-Kernels für Raspberry Pi,
06221 98504-0 Panda- und Beagle-Boards verfügbar.
https://www.osadl.org

pi3g Maximilian Batz Z B


Karl-Marx-Ring 154 pi3g macht das Leben einfacher. Wir liefern Ihnen gut aufeinander
81737 München abgestimmte Raspberry-Pi-Lösungen und dazu den passenden
089-878-069-850 Service. Gute, freundliche Beratung, um Ihnen die optimale Lösung
http://pi3g.com anbieten zu können. Ihre Zufriedenheit steht in unserem Fokus.

Qube Solutions UG (haftungsbeschränkt) Z B D


Arbachtalstraße 6 Mit dem Evaluation-Board PiXtend arbeiten Sie dank der nach SPS-
72800 Eningen u. A. Norm 61131-2 ausgelegten Ein- und Ausgänge wie mit einer indus-
+49 (0)7121 8806920 triellen speicherprogrammierbaren Steuerung. Daneben finden Sie
http://www.pixtend.de bei uns diverse Raspberry-Pi-Modelle, Sensoren und Zubehörteile.

Redkea E D
Campus A1.1 Steuere alle DIY-Projekte mit deiner eigenen App. Redkea – Apps
66123 Saarbrücken erstellen mit einfachem Drag & Drop für RasPi, Arduino u.v.m.!
+49 (0)681 302 71241
http://www.redkea.com

Reichelt Elektronik E Z B 3D D L
Elektronikring 1 Raspberry All-In-Bundle, Arduino Starter Kit, TEK-BERRY Nerd,
26452 Sande Steckboard 4K7V, 3D-Printer K8200 Entwicklungsset,
+49 (0)4422 955-333 Rasp-Cam-Bundle.
http://www.reichelt.de

Terrashop GmbH Z L
Lise-Meitner-Str. 8 Bei Terrashop finden Sie reduzierte Fachbücher mit Rabatten bis
53332 Bornheim zu 90 Prozent aus dem Bereich IT, Elektronik und mehr sowie
Zubehör zu günstigen Preisen.
http://www.terrashop.de

Vesalia Computer E Z B L
Magdalenenweg 4 Der Onlineshop für Raspberry-Pi-Zubehör. Kabel, Gehäuse und
46483 Wesel vieles mehr.
0281/16443-0
http://www.vesalia.de

ZEDOnet GmbH E
Meinrad-Spieß-Platz 2 High-End-Druckertreiber mit Farbmanagement. Komfortables
87660 Irsee Druckermonitoring, Füllstände lokal oder über das Netzwerk auf
+49 8341 908 3 905 anderen TurboPrint-Clients verfügbar.
http://www.turboprint.de

E Embedded (Arduino, Beaglebone, ...) Z Zubehör (Kabel, Gehäuse, 3D 3D-Druck (Drucker, Filament ...)
Peripherie, ...) L Literatur 87
Service Vorschau/Autoren/Inserenten

Das nächste Heft


Raspberry Pi Geek 07-08/2018 erscheint am 07. Juni 2018

NanoPi-Duo
Der NanoPi-Duo ist nicht größer als zwei
50-Cent-Stücke, erweist sich aber hin-
sichtlich der Einsatzmöglichkeiten als
wahrer Riese: Von IoT-Anwendungen bis
hin zum autonomen Messpunkt gibt es
kaum etwas, was mit der handlichen
Hardware nicht geht. Vielfältige An-
schlüsse und eine für die Größe sehr

Themen zu ändern oder zu streichen.


ordentliche Performance erlauben viel

Die Redaktion behält sich vor,


Flexibilität. Wir zeigen, was der kleine
Rechner in der Praxis alles leistet.

Hatchapong, 123RF
Messgerät anzapfen
Daten, die Messgeräte über Bluetooth
weiterreichen, nimmt idealerweise ein
Raspberry Pi als Gegenstelle in Empfang. Einfach abschalten
Wir zeigen, wie Sie die Sensor-Hardware
mittels Bluetooth mit dem Mini-PC kop- Einfach den Stecker ziehen – das geht natürlich, führt beim RasPi unter Umständen
peln, die gemessenen Daten auslesen aber zu Datenverlusten. Mit etwas Know-how konfigurieren Sie den SBC aber so, dass
und anschließend mit Bordmitteln so Sie ihn einfach abschalten dürfen, ohne dass dabei Daten verlorengehen. Das ist ins-
aufbereiten, dass sie sich für eine ordent- besondere für Embedded-Geräte interessant, die sehr spezielle Aufgaben verrichten
lich formatierte Ausgabe eignen. und die ein Benutzer aus diesem Grund nicht zwingend als Computer wahrnimmt.

Autoren Inserenten
Bernhard Bablok Messmodul für Strom und Spannung mit dem Pi Zero 54 CEBIT OpenStack Day www.cebit.de 29
WDLabs Mediastick im Kurztest 72
Computec IT-Academy www.computec-academy.de 61, 85
Maximilian Batz Neu: Raspberry Pi 3 Modell B+ im Überblick 8
EasyLinux www.easylinux.de 27, 91
Erik Bärwaldt Infoterminals mit Raspberry Digital Signage 44
Fernschule Weber GmbH www.fernschule-weber.de 15
Karsten Günther Kompakter Texteditor Micro mit vielen Funktionen 34
Lothar Hiller Messmodul für Strom und Spannung für den Pi Zero 54 Linux-Community www.linux-community.de 51, 89

Frank Hofmann Sicherer Webserver out-of-the-box mit Caddy 48 Linux-Magazin www.linux-magazin.de 79


Roman Jordan Mit Man und Info Dokumentation zum Nulltarif 24 Linux-Magazin Online www.linux-magazin.de 19
Anzela Minosi Digitale Schaltungen mit Logism simulieren 38 Linuxhotel www.linuxhotel.de 23
Martin Mohr Mit Teamviewer IoT eine Indoor-Farm überwachen 62
LinuxUser www.linux-user.de 37, 75
I2C-Workshop, Teil 19: MSP430 als I2C-Master 76
PC Games Hardware www.pcgameshardware.de 73
Mit MQTT Nachrichten via Netzwerk austauschen 80
Raspberry Pi Geek www.raspberry-pi-geek.de 33, 43
Mandy Neumeyer Sicherer Webserver out-of-the-box mit Caddy 48
Pit Noack Einführung in den Texteditor Nano 16 Reichelt Elektronik www.reichelt.de 92
Uwe Vollbracht Angetestet: Aktuelle Software im Kurztest 6 Tuxedo Computers GmbH www.linux-onlineshop.de 2

88 www.raspberry-pi-geek.de 01-02/2017
Impressum Service

Ein Unternehmen der MARQUARD MEDIA GROUP AG


Verleger Jürg Marquard

Redaktion/Verlag Redaktionsanschrift: Verlagsanschrift:


Redaktion Raspberry Pi Geek Computec Media GmbH
Putzbrunner Str. 71 Dr. -Mack-Straße 83
81739 München 90762 Fürth
Telefon: (0911) 2872-110 Telefon: (0911) 2872-100
Fax: (0911) 2872-399 Fax: (0911) 2872-200
E-Mail: redaktion@raspberry-pi-geek.de
www.raspberry-pi-geek.de
Geschäftsführer Hans Ippisch (Vorsitzender), Rainer Rosenbusch
Chefredakteur Jörg Luther (jlu, v. i. S. d. P.), jluther@raspberry-pi-geek.de
Stellv. Chefredakteur Andreas Bohle (agr), abohle@raspberry-pi-geek.de
Redaktion Christoph Langner (cla), clangner@raspberry-pi-geek.de
Thomas Leichtenstern (tle), tleichtenstern@raspberry-pi-geek.de
Datenträger Thomas Leichtenstern (tle), cdredaktion@raspberry-pi-geek.de
Ständige Mitarbeiter Bernhard Bablok, Erik Bärwaldt, Wolfgang Dautermann, Werner Hein,
Frank Hofmann, Martin Loschwitz, Anzela Minosi, Martin Mohr,
Ferdinand Thommes, Uwe Vollbracht, Harald Zisler
Layout Kristina Fleischer
Bildnachweis: 123rf.com, Freeimages.com und andere
Titelgrafik Judith Erb (RasPi-Logo, Produktbilder: Raspberry Pi Foundation)
Sprachlektorat Britta Mümmler
Produktion Martin Closmann (Ltg.), martin.closmann@computec.de
Vertrieb, Abonnement Werner Spachmüller (Ltg.), werner.spachmueller@computec.de
Anzeigen Verantwortlich für den Anzeigenteil: Judith Gratias-Klamt
Es gilt die Anzeigenpreisliste vom 01.01.2018.
Mediaberatung D,A,CH Judith Gratias-Klamt, judith.gratias-klamt@computec.de
Tel.: (0911) 2872-252 • Fax: (0911) 2872 241
Mediaberatung USA Ann Jesse, ajesse@linuxnewmedia.com
und weitere Länder Tel. +1 785 841 8834
ISSN 2196-9159
Abonnement Die Abwicklung (Rechnungsstellung, Zahlungsabwicklung und
Versand erfolgt über unser Partnerunternehmen:
DPV Deutscher Pressevertrieb GmbH
Leserservice Computec
20080 Hamburg
Deutschland
Abo-Infoseite http://shop.computec.de
Abo-Bestellung http://shop.linux-magazin.de
Reklamationen Ansprechpartner für Reklamationen ist Ihr Computec-Team unter:
Deutschland – E-Mail: computec@dpv.de
Tel.: 0911-99399098, Fax: 01805-8618002*
(*14 Cent/Min. aus dem dt. Festnetz,
max. 42 Cent/Min. aus dem dt. Mobilfunk)
Österreich, Schweiz, weitere Länder – E-Mail: computec@dpv.de
Tel.: +49 911-99399098, Fax: +49 1805-8618002
Supportzeiten Montag 07:00 -20:00 Uhr, Dienstag - Freitag: 07:30 - 20:00 Uhr,
Samstag 09:00 - 14:00 Uhr
Pressevertrieb DPV Deutscher Pressevertrieb GmbH
Am Sandtorkai 74, 20457 Hamburg
http://www.dpv.de
Druck LSC Communications Europe, ul. Obr. Modlina 11, 30-733 Kraków, Polen
COMPUTEC MEDIA ist nicht verantwortlich für die inhaltliche Richtigkeit der Anzeigen und
übernimmt keinerlei Verantwortung für in Anzeigen dargestellte Produkte und Dienstleistungen.
Die Veröffentlichung von Anzeigen setzt nicht die Billigung der angebotenen Produkte und
Service-Leistungen durch COMPUTEC MEDIA voraus. Sollten Sie Beschwerden zu einem unserer
Anzeigenkunden, seinen Produkten oder Dienstleistungen haben, möchten wir Sie bitten,
uns dies schriftlich mitzuteilen. Schreiben Sie unter Angabe des Magazins, in dem die Anzeige
erschienen ist, inklusive der Ausgabe und der Seitennummer an: CMS Media Services, Annett
Heinze, Verlagsanschrift.
Raspberry Pi und das Raspberry-Pi-Logo sind eingetragene Warenzeichen der Raspberry Pi
Foundation und werden von uns mit deren freundlicher Genehmigung verwendet. Linux ist
ein eingetragenes Warenzeichen von Linus Torvalds und wird von uns mit seinen freundlichen
Genehmigung verwendet. »Unix« wird als Sammelbegriff für die Gruppe der Unix-ähnlichen Be-
triebssysteme verwendet, nicht als Bezeichnung für das Trademark »UNIX« der Open Group.
Eine Haftung für die Richtigkeit von Veröffentlichungen kann – trotz sorgfältiger Prüfung durch
die Redaktion – vom Verlag nicht übernommen werden. Mit der Einsendung von Manuskripten
oder Leserbriefen gibt der Verfasser seine Einwilligung zur Veröffentlichung in einer Publikation
der COMPUTEC MEDIA. Für unverlangt eingesandte Manuskripte wird keine Haftung übernom-
men. Autoreninformationen: http://www.linux-user.de/Autorenhinweise. Die Redaktion behält
sich vor, Einsendungen zu kürzen und zu überarbeiten. Das exklusive Urheber- und Verwertungs-
recht für angenommene Manuskripte liegt beim Verlag. Es darf kein Teil des Inhalts ohne schrift-
liche Genehmigung des Verlags in irgendeiner Form vervielfältigt oder verbreitet werden.

Marquard Media
Deutschsprachige Titel:
PC Games, PC Games MMORE, PC Games Hardware, Play 4, N-ZONE, Games Aktuell, XBG Games, SFT,
Linux-Magazin, LinuxUser, EasyLinux, Raspberry Pi Geek, Widescreen, Making Games
Internationale Zeitschriften:
Polen: Cosmopolitan, Harper’s Bazaar, Joy, HOT Moda, Shape, Esquire, Playboy, CKM, Jami
Ungarn: Joy, Éva, InStyle, Shape, Men’s Health, Runner’s World, Playboy, Apa

89
Service Heft-DVD-Inhalt

Kiosksystem mit dem RasPi

Multimedia-Informationssysteme finden
sich mittlerweile überall im öffentlichen
Raum, etwa an Bahnhöfen, Flughäfen, in
Behörden, Hotels oder Banken. Sol-
che Info-Kioske erlauben es dem
Kunden, spezifische Informatio-
nen abzufragen oder Transakti-
onen vorzunehmen. Mit ent-
sprechend angepasster Soft-
ware bietet inzwischen
auch der Raspberry Pi die
Möglichkeit, ein solches
Kiosksystem zu betreiben –
und das zu unschlagbar
niedrigen Einstiegskosten.
In Form der Distribution
Raspberry Digital Signage
10.0 (RDS) steht ein einfach
zu bedienendes Kiosksystem
bereit, das nicht nur vorgegebe-
ne Inhalte aus dem Internet oder
einem lokalen Netz verfügbar
macht, sondern auch direkt von der
Speicherkarte des Raspberry Pi. Mehr
darüber lesen Sie in einem ausführlichen
Artikel ab Seite 44. (tle) n

Die DVD enthält viele Programme und Distributionen, die das Heft in den Artikeln bespricht.
Sollten Sie Probleme mit dem Datenträger haben, wenden Sie sich bitte an computec@dpv.de.

Weitere DVD-Inhalte
Bei Raspbian „Stretch“ 2017-11-29. Dabei handelt es sich um eine Der schlanke Texteditor Micro 1.4.0 für die Konsole lässt sich durch
angepasste Variante von Debian GNU/Linux. Es stehen Ihnen etwa zahlreiche Plugins erweitern und steht im Vollausbau wesentlich
35 000 Pakete aus den Debian-Paketquellen zur Installation bereit. umfangreicheren Editoren in kaum in etwas nach. Mehr lesen Sie
Die Desktop-Distribution Ubuntu Maté 16.04.2 basiert funktional in einem ausführlichen Artikel ab Seite 34.
auf dem Armhf-Ableger des Systems. Sie kommt mit einem regu- Mit Logisim 2.7.1 entwerfen Sie elektrische Schaltungen und testen
lären Maté-Desktop und bringt den bewährten Paketmanager Dpkg sie direkt. Das Programm ermöglicht es, sich beim Elektronikdesign
mit. Zum Betrieb benötigen Sie einen Raspberry Pi 2/3 und eine auf das Erlernen von Schaltungen zu konzentrieren. Ob das in der
SD-Karte mit mindestens 8 GByte Speicherplatz. Praxis auch entsprechend funktioniert, zeigt ein Artikel ab Seite 38.
Wer sein RasPi-Mediacenter für mehr nutzen möchte, als nur um Bei RISC OS 2017-04-13.15 handelt es sich um ein schlankes und
Filme zu schauen, der kommt mit dem Platzhirsch LibreELEC nicht schnelles Multitasking-Betriebssystem, speziell für Rechner mit
weit. Das Open Source Media Center oder kurz OSMC 20180307 ARM-Prozessoren. Der Kern des Betriebssystems hat nur einen
baut im Gegensatz zu LibreELEC auf Debian auf. Damit bietet es minimalen Footprint, da eine Vielzahl austauschbarer Module für
dieselbe Flexibilität wie der Linux-Klassiker, verliert dabei aber dank das Dateisystem, den Festplattenzugriff, die grafische Oberfläche
Kodi auch den Fokus auf den TV-Einsatz nicht aus den Augen. und Ähnliches verantwortlich zeichnen.
Mit Bmon 4.0 behalten Sie den aktuellen Datendurchsatz auf der Mit Phpservermon 3.2.0 behalten Sie Headless-Raspberrys im Netz
Netzwerkschnittstelle des RasPi im Auge. Das Tool bietet eine jederzeit im Blick: Mit dem Tool prüfen Sie automatisch die Verfüg-
strukturierte Oberfläche auf der Konsole und stellt Graphen als barkeit einzelner Remote-Dienste, wobei Phpservermon das Ergeb-
ASCII-Grafiken dar – ideal für den Headless-Zugriff. nis übersichtlich in einem Dashboard darstellt.

90 www.raspberry-pi-geek.de 05-06/2018