Home Improvement
TV-Streaming, E-Ink-Infoscreen, Raumklima überwachen
Anydesk
Unkomplizierter Fernzugriff auf
den RasPi von jedem OS aus
I2C-Praxis
Spannungen exakt messen mit
dem A/D-Wandler MCP3424
Sonic Pi 3
MIDI- und OSC-Nachrichten
ereignisgesteuert verarbeiten
Witty Pi Mini
Real Time Clock und Zeitsteuerung
als kompakter pHAT für alle Raspberry-Pi-Modelle
Keep calm …
Jörg Luther
Chefredakteur
nach der Abgabe einer RasPi-Geek-Aus- wohl auf die Verfügbarkeit und die Preise zwangsläufig die Lieferkette vom Spedi-
gabe in die Druckerei dauert es exakt des Mini-Rechners und des zahlreichen teur bis zum Endkunden hochwandern.
14 Tage, bis das Heft am Kiosk liegt. Zubehörs auswirkt, das die Raspberry Pi Aber Hand aufs Herz: Würden Sie bei
Möglicherweise kennen Sie also, wenn Foundation anbietet. Ihrem nächsten Projekt auf einen Rasp
Sie diese Zeilen lesen, schon die Antwort Fürs Erste lässt sich da aber weitgehend berry Pi verzichten, wenn er ein paar
auf eine Frage, die ich mir bei Tippen am Entwarnung geben, auch ohne zu wis- Euro teurer käme? Ich nehme an, die
21. März noch stelle: Kommt der harte sen, wann und wie das Brexit-Drama Reaktion auf diese Frage fällt bei Ihnen
Brexit am 29.03., oder wird er auf Mitte endet. Zum einen haben sich die großen ebenso aus wie bei mir und besteht in
Mai (vor den Europa-Wahlen) oder gar Anbieter hierzulande in weiser Voraus- einem energischen Kopfschütteln. Inso-
bis Juni verschoben? Finden UK und EU sicht mit großen Mengen an RasPis aller fern bleibt uns nichts anderes übrig, als
sogar noch eine Einigung, die ein unge- Modelle und passendem Zubehör ein abzuwarten und uns ins Unvermeidliche
regeltes Ausscheiden des Vereinigten gedeckt, um nicht in Lieferengpässe zu zu fügen. Keep calm and carry on, wie
Königreichs aus der Union verhindert? laufen. Zum anderen fallen die SBCs zoll- der Brite sagt …
Zwar betreffen diese Fragen letztlich technisch in die Rubrik der „automati-
jeden Europäer, doch gerade wir Rasp- schen Datenverarbeitungsmaschinen“, Herzliche Grüße,
berry-Anwender sehen da mit besonde- die bei der Einfuhr in die EU aus Dritt-
rem Interesse hin. Schließlich wurde staaten regelmäßig mit null Prozent ver-
unser Lieblingsrechner nicht nur auf den zollt werden. Der Wermutstropfen: Das
britischen Inseln erfunden, sondern wird gilt nur für die Mini-Rechner selbst, nicht
dort auch gefertigt: Sony baut jeden aber für Zubehör wie etwa die RasPi-Cam
Monat rund 50 000 der Single-Board- oder einen DVB-T-µHAT.
Computer in einer Fabrik im südwalisi- Zudem könnten sich bei einem harten
schen Pencoed, zwischen Cardiff und Brexit die Transportkosten für die RasPis
Swansea. Und so stellt sich just zum erhöhen, etwa wenn die Lkw bei der
7. Geburtstag des Raspberry Pi die bange dann notwendigen Zollabfertigung in
Frage, wie sich der Brexit, insbesondere Calais stundenlang warten müssten.
in der harten Variante ohne Abkommen, „Deutsche Speditionen und Logistik
unternehmen werden durch Grenzkon
trollen und damit verbundene Wartezei-
ten, höhere Kosten und enorme Hürden
durch Zollabfertigung und Nachweis-
pflichten belastet“, fürchtet da der Deut-
sche Speditions- und Logistikverband.
Die entstehenden Mehrkosten würden
05-06/2019 www.raspberry-pi-geek.de 3
05-06
4 www.raspberry-pi-geek.de 05-06/2019
42 E-Ink-Displays behalten auch
ohne Strom ihre Anzeige − ideal
60 Sie haben eine wichtige Präsen
für Infos, die Sie immer im Blick haben
wollen. Mit wenigen Befehlen laden Sie
die passende Anwendung samt komplet-
tationsdatei zu Hause vergessen?
Kein Problem: Mit der Pintexx Pinbox grei-
fen Sie mühelos auf den heimischen Rech-
80 Unser I2C-Workshop stellt diesmal
den A/D-Wandler MCP3424 vor,
der Bastlern aufgrund seinerw seiner pfiffi-
tem Applikationsserver auf einen RasPi. ner zu und laden sie herunter. gen Konstruktion das Leben einfach macht.
Geek Bazar������������������������������������������ 86
Impressum������������������������������������������ 89
Vorschau/Autoren/Inserenten���������� 90
05-06/2019 5
Aktuelles Angetestet
6 www.raspberry-pi-geek.de 05-06/2019
Angetestet Aktuelles
05-06/2019 www.raspberry-pi-geek.de 7
Aktuelles Ausgepackt
8 www.raspberry-pi-geek.de 05-06/2019
Aktuelles Ausgepackt
10 www.raspberry-pi-geek.de 05-06/2019
Report Make Munich 2019
Erneut gewachsen
© Computec Media
Ob 3D-Druck, Mini-PC oder Wenn die Make Munich ruft, folgen etwa Fahrräder aus Bambus oder ein Pro-
die Maker: Wie bereits in den letzten jekt, das sich mit dem Aufbereiten von
analoge Projekte – auf der Jahren waren die zwei Tage Anfang März Plastik beschäftigte und es damit sogar
prall gefüllt mit Vorträgen, Workshops in die Abendnachrichten des Bayeri-
Make Munich Anfang März und Diskussionen. Neben lokalen Maker- schen Fernsehens schaffte .1
Gruppen präsentierten auf der Ausstel- Solche Projekte waren jedoch eindeu-
fanden Besucher aller Alters- lungsfläche sowohl Firmen als auch freie tig in der Minderheit: Gefühlt lief an min-
Projekte ihre Produkte und Entwürfe. destens jedem zweiten Stand ein 3D-
klassen die passenden Aus- Passend zum Anlass stammte das Bier Drucker. Wer also für eine eigene An-
statt von einer industriellen Großbraue- schaffung Informationen und Anregun-
steller. Bernhard Bablok rei von einer kleinen Münchner Bier gen brauchte, schöpfte hier bei Bedarf
manufaktur. aus dem geballten Wissen der Maker. Bei
Das Wetter meinte es zumindest am vielen Projekten stand allerdings der 3D-
ersten Tag gut mit den Veranstaltern, Druck nicht im Zentrum, sondern war ein
und so war die Zenith-Halle schon früh selbstverständliches Werkzeug.
gut gefüllt. Diese Halle war der Maker- Ebenso verhielt es sich mit dem Ras-
Szene vorbehalten, während Allnet – pberry Pi: Während auf den britischen
neben Siemens einer der Hauptsponso- Inseln am selben Wochenende diverse
ren – mit seiner Hausmesse den größten Gruppen mit großen Partys dessen sieb-
Teil des Kohlebunkers nebenan füllte. ten Geburtstag feierten, blieb es um den
README Auf der restlichen Fläche blieb Platz für Mini-PC in der Münchener Messehalle
diverse Workshops, etwa einem von überraschend ruhig. Der RasPi war an
Alle zwei Jahre trifft sich die Maker-Szene in
Watterot zum Thema Löten. vielen Ständen präsent und an manchen
München. Dieses Jahr platzte das Treffen sogar käuflich zu erwerben, zählt aber
aus allen Nähten, zur bekannten Zenith- Nicht nur Elektronik inzwischen eindeutig zum Maker-Main-
Halle kam als Veranstaltungsort noch der stream – niemand verliert mehr große
Obwohl die Elektronik im Mittelpunkt Worte darüber, dass der Mini-Rechner
Kohlebunker nebenan hinzu.
stand, gab es viele alternative Themen, eine Maschine steuert.
12 www.raspberry-pi-geek.de 05-06/2019
Make Munich 2019 Report
1 Neben der Elektronik fanden sich auf der Make Munich 2019 auch Projekte, die sich
mit Themen wie Umweltschutz oder alternativen Transportmitteln beschäftigten.
05-06/2019 www.raspberry-pi-geek.de 13
Report Make Munich 2019
14 www.raspberry-pi-geek.de 05-06/2019
Report Embedded World 2019
© NürnbergMesse GmbH
Funkmodule, Displays und Besuch auf der Embedded World 2019
Eingebettet
Analysegeräte für den Rasp
berry Pi: Auf der Embedded
World präsentieren sich zahl-
reiche Unternehmen inter
Ende Februar präsentierten mehr als auf einem Raspberry Pi 3, der in einem
essierten Elektronikbastlern 1000 Aussteller ihre Produkte und Dienst- stabilen Industriegehäuse steckt. Die
leistungen auf der Embedded World. Wie Spannungsversorgung wie auch die IOs
und Entwicklern. Martin Mohr auch die letzten Jahre fand die Ausstel- sind für den Betrieb in Industrieanlagen
lung auf dem Messegelände in Nürnberg ausgelegt, das komplette Gerät arbeitet
statt. Schon 2018 strömten mehr als mit Pegeln von 24 Volt.
30 000 Besucher in die Hallen, für dieses Der emPC-A/RPI3 verfügt über je vier
Jahr erwarteten die Veranstalter ein wei- galvanisch getrennte digitale Ein- und
teres Plus an Interessenten. Ausgänge. Eine RS232-Schnittstelle und
Unter den Ausstellern fanden sich alle ein CAN-Bus-Adapter ergänzen die Port-
bekannten Hersteller von elektronischen Auswahl. Als Betriebssysteme stehen
Bauelementen, Modulen und Komplett- Raspbian sowie Windows 10 IoT Core zur
systemen wieder. Auch viele Produzenten Auswahl, zum Erstellen von Programmen
von Software-Lösungen und Entwick- lassen sich beliebige Programmierspra-
lungswerkzeugen für Embedded-Syste- chen verwenden. Alternativ dazu läuft
README me zeigten ihre neuesten Produkte. Im auch die Codesys-Laufzeitumgebung auf
Folgenden geben wir Ihnen einen klei- dem industrietauglichen Mini-Rechner.
Auf der Nürnberger Embedded World
nen Überblick jener Aussteller, die aus
drehte sich 2019 alles um das Internet der
der Menge der Stände herausstachen. Hilscher
Dinge, verteilte Intelligenz und E-Mobility.
Aber auch die Sicherheit in elektronischen Janztec Bei der Integration des Raspberry Pi in
Systemen und Energieeffizienz spielten bei ein Industriegehäuse geht die Firma
Auf dem Stand von Janztec war der Hilscher noch einen Schritt weiter: Der
den Ausstellern eine entscheidende Rolle.
1
emPC-A/RPI3 zu sehen . Er basiert NetPi bietet eine zum RasPi 3 kompa-
16 www.raspberry-pi-geek.de 05-06/2019
Embedded World 2019 Report
05-06/2019 www.raspberry-pi-geek.de 17
Report Embedded World 2019
4 Guter Wirkungsgrad: die DC-DC-Wandler der TSR-Reihe von Traco. (Quelle: Traco)
3 Würth kann mehr als Schrauben: Sony runden Oberflächen verbauen. Ein mög-
Das LoRa-Modul Amber Pi von Würth liches Einsatzgebiet wären gefühlvolle
Elektronik. (Quelle: Würth Elektronik) Sony trat auf der Embedded World Greifer für Roboter, die schon vor dem
mit dem kompakten IoT-Entwickler- Kontakt mit einem Werkstück ihre Ge-
board Spresense auf, das auf einem schwindigkeit verringern, um dann mit
CXD6502-Mikroprozessor aufsetzt . 5 definiertem Druck zuzugreifen.
Die integrierte CPU basiert auf einem
ARM Cortex M4F mit sechs Kernen. Das Codesys
Board versteht von der Arduino-Entwick-
lungsumgebung erzeugten Code, für Codesys zählt zu den führenden Her-
komplexere Anwendungen steht jedoch stellern von Software für Industriesteue-
auch ein spezielles SDK bereit. Auf dem rungen. Die hauseigene Entwicklungs-
Messestand demonstrierte das Unter- umgebung unterstützt Steuerungen von
nehmen, wie einfach und schnell sich über 400 Herstellern, auch der Raspberry
mit dem Spresense und einem Kamera- Pi bleibt hier nicht außen vor. Codesys
modul eine Gestenerkennung bauen bietet zudem eine vollständige Unter-
TIPP lässt; als Beispiel wurde das bekannte stützung des KNX-Standards für die Ge-
Spiel „Schere, Stein, Papier“ implemen- bäudeautomation. In Kooperation mit
Falls Sie sich für einen Besuch auf der
tiert. Das Spresense verfügt über die ABB wurden ein Konfigurator für E/A-
Embedded World interessieren – sie fin-
üblichen Schnittstellen wie GPIO, SPI, I2C, Kanäle, ein KNXnet/IP-Protokollstack
det 2020 vom 25. bis 27. Februar statt –,
I2S und UART. Darüber hinaus bringt es sowie eine Datenaustauschfunktion mit
hat der Autor zwei kleine Tipps für Sie:
einen integrierten GPS-Empfänger mit. dem ETS5-Konfigurationssystem spezi
Viele Aussteller vergeben Freikarten und
fiziert, entwickelt und integriert.
möchten dafür oft nur Ihre E-Mail-Adresse.
Außerdem sollten Sie sich besser selbst Tacterion
verpflegen, denn die Gastronomie auf Demmel
Auch kleine und eher unbekannte Aus-
dem Messegelände ist keine Offenbarung
steller fanden sich auf der Messe. So ent- Das JoC-Modul (Java on Chip) der Wiener
und die Preise stehen in keinem Verhältnis
wickelt das junge Unternehmen Tacte Firma Demmel bietet Entwicklern die
zum dürftigen Angebot. Teilweise bieten
rion Sensoren, die sowohl kapazitiv Möglichkeit, Programme für den Mikro-
auch einzelne Messestände ihren Gästen
kleine Snacks an. Ein Getränk bekommen
arbeiten (also Annäherung detektieren) 6
controller in Java zu schreiben . Das
als auch den Anpressdruck messen. Die schließt im Vergleich zu C oder C++ eini-
Sie üblicherweise an jedem Stand, wenn
als flexible Folien ausgeführten Sensoren ge typische Fehlerquellen vornherein
Sie ein nettes Gespräch beginnen.
lassen sich auch auf gekrümmten oder aus, wie etwa die komplizierte Pointer-
18 www.raspberry-pi-geek.de 05-06/2019
Embedded World 2019 Report
STMicroelectronics vorbeizuschauen –
dort findet sich für praktisch alle denkba-
ren Anwendungen ein passender Chip.
Möchten Sie sich mit einer Technologie
intensiver beschäftigen, gibt es auch für
wenig Geld ein entsprechendes Starter-
oder Discovery-Kit. Stellvertretend seien
hier das STM32L4R9-Discovery-Kit mit
einem runden Touch-Display, das Blue-
Coin-Starter-Kit mit vielen Sensoren und
integriertem Bluetooth-Baustein sowie
das STM32F723-Discovery-Kit mit Audio-
und Videofunktionen genannt.
Fazit
Für alle, die sich etwas intensiver mit
Elektronik beschäftigen, ist die Embed-
ded World dank vieler interessanter Pro-
6 Gut erweiterbar: Das Java-on-Chip- dukte ein wahres Mekka. An den Stän-
Modul von Demmel bietet zahlreiche I/O- STMicroelectronics den der Unternehmen finden sich kom-
Schnittstellen und lässt sich bei Bedarf petente Mitarbeiter, die ausführliche In-
unkompliziert über Shields ausbauen. Besonders großer Andrang herrschte am formationen zu den Exponaten liefern.
(Quelle: Demmel) Messestand von STMicroelectronics . Oft haben die Hersteller außerdem
Das lag nicht zuletzt daran, dass sich je- Demo-Boards vorrätig, die man bei
der Besucher ein kostenloses Starter-Kit Interesse direkt mitnehmen kann. Das
seiner Wahl aussuchen durfte. kompakte Nürnberger Messegelände
Das Unternehmen war mit zahlreichen erspart zwar lange Wege zwischen den
unterschiedlichen Lösungen vertreten. Messehallen, doch wenn Sie sich aus-
Suchen Sie nach einer konkreten Lösung führlich informieren wollen, sollten Sie
für ein Elektronikproblem, lohnt es sich trotzdem mehr als einen Tag für den
in jedem Fall, auf der Homepage von Messebesuch einplanen. (cla) n
20 www.raspberry-pi-geek.de 05-06/2019
Software Anydesk
So nah und
doch so fern
© olegdudko, 123RF
Der RasPi kommt häufig als Sowohl Administratoren als auch en Anydesk
gagierte Heimanwender, die Freunden
Server oder Steuerrechner für oder Kollegen bei Problemen mit dem Die von dem in Stuttgart und Berlin
PC helfen möchten, nutzen dazu oft Re ansässigen Unternehmen Anydesk ent
spezielle Zwecke zum Ein- mote-Desktop-Lösungen. Das zu diesem wickelte gleichnamige Remote-Desktop-
Zweck häufig verwendete Programm Lösung steht für den privaten Einsatz
satz. Mit Anydesk erhalten Teamviewer krankt dabei an mehre kostenfrei zur Verfügung. Es gibt die
ren Stellen, die vor allem in heterogenen, Software in Versionen für Linux (auch
Sie dazu eine Steuersoftware gewachsenen IT-Infrastrukturen Proble auf dem Raspberry Pi), FreeBSD, Mac
me bereiten. So sind die einzelnen Ver und Windows . Für den kommerziellen
mit grafischer Oberfläche. sionen der Software untereinander nicht Einsatz fallen Lizenzkosten an, wobei
kompatibel, sodass auf allen beteiligten Anydesk dafür verschiedene Lizenz
Erik Bärwaldt
Rechnern stets dieselbe Version der modelle anbietet.
Applikation installiert sein muss. Die RasPi-Variante lässt sich nahtlos
Der Einsatz älterer Varianten auf aktu in das Raspbian-System integrieren. Sie
README ellen Distributionen scheitert zudem oft weist mit der aktuellen Versionsnummer
wegen veralteter Abhängigkeiten, es be 2.9.4 zwar nicht denselben Stand auf wie
Der kommerzielle Anbieter Anydesk bietet
steht quasi ein Update-Zwang. Doch es die Linux-Variante (4.0.1), das spielt aber
seine Fernsteuerungssoftware für den pri-
geht auch anders: Das Programm Any keine Rolle: Die unterschiedlichen Ver
vaten Gebrauch kostenfrei an, auch für den desk möchte diese Defizite bei der sionen arbeiten auch plattformübergrei
RasPi. Anydesk erlaubt ähnlich wie Team- Fernsteuerung und Fernwartung von fend tadellos zusammen.
viewer einen Fernzugriff via GUI, weist aller- Rechnern vermeiden. Zudem gibt es Anydesk zeichnet sich durch mehrere
dings erheblich weniger Kompatibilitätspro- auch eine Version für den Raspberry Pi, Innovationen aus: So enthält es mit
über die sich der Mini-Rechner fernsteu DeskRT einen eigenen Video-Codec, der
bleme mit verschiedenen Versionen auf als
ern lässt. Welche Anwendungsszenarien sich durch eine hohe Effizienz auch bei
der bekanntere Konkurrent.
sich daraus ergeben, klärt unser Test. geringen Bandbreiten auszeichnet. So
22 www.raspberry-pi-geek.de 05-06/2019
Anydesk Software
05-06/2019 www.raspberry-pi-geek.de 23
Software Anydesk
3 Der Pixel-Desktop des Raspberry Pi Desktop samt dem geöffnetem Menü auf einem entfernten Rechner. Über die Reiter oben wech-
seln Sie zwischen verschiedenen Sessions.
lige ID-Nummer des Zielrechners an. Dabei erscheint im Programmfenster von ner nicht in externen Fenstern erschei
Nach einem anschließenden Klick auf Anydesk ein neuer Reiter, in dem Sie den nen, sondern in den jeweiligen Reitern
Verbinden nimmt die Software Kontakt Desktop des entfernten Systems sehen. innerhalb des Anydesk-Fensters, wech
auf und informiert Sie darüber in einem Mit einem Klick auf Neue Sitzung in der seln Sie mit einem Klick zwischen den
eingeblendeten Fenster. Auf dem Ziel Reiterstruktur des Anydesk-Fensters unterschiedlichen Desktops .3
rechner erscheint währenddessen eine wechseln Sie wieder in den Startbild Die Sitzung beendet entweder der
Anfrage an den Nutzer, über die er die schirm zurück, um dort beispielsweise Partner am entfernten Computersystem,
Verbindung legitimieren muss. Bestätigt eine Verbindung zu einem weiteren ent indem er im Steuerfenster auf den But
er mit Annehmen, erhalten Sie Zugriff auf fernten Computer aufzubauen. Da die ton Abbrechen klickt, oder Sie schließen
den entfernten Rechner. einzelnen Desktops der entfernten Rech dazu den entsprechenden Reiter.
Im Test
Im Testbetrieb gab es mit dem Steuern
des RasPi 3 Modell B von einem entfern
ten Rechner aus über das WLAN keinerlei
4 Soll der RasPi andere Probleme. Der Kleinrechner ließ sich na
Computer fernsteuern, hezu in Echtzeit aus der Ferne dirigieren.
erreicht er seine Leis- Deutlich anders sah es aus, wenn der
tungsgrenze. Nach Her- Mini-Rechner seinerseits das Steuern
stellerangaben liegt das anderer Computer übernehmen sollte:
in erster Linie an der Die jeweilige Verbindung baute er zwar
fehlenden Grafikbe- schnell auf, bei der Anzeige des Remote-
schleunigung. Bildschirms traten allerdings enorme
24 www.raspberry-pi-geek.de 05-06/2019
Anydesk Software
L atenzen auf. Das machte ein sinnvolles uns, dass die schlechte Leistung des
Steuern nahezu unmöglich. Raspberry Pi als Steuerrechner an der Dateien zum Artikel
Hinzu kam, dass die CPU des Rasp fehlenden Grafikbeschleunigung liegt. herunterladen unter
berry Pi bei Aktivitäten im Anydesk-Fens Das Problem will Anydesk möglicher www.raspi-geek.de/dl/42733
ter auf dem entfernten Desktop ständig weise in einer der kommenden Versio
unter Volllast arbeitete. Das führte zur 4
nen beheben .
starker Hitzeentwicklung und daraus
resultierenden thermischen Problemen. Fazit
Auf dem Desktop erschien dementspre
chend ständig eine Temperaturwarnung. Anydesk eignet sich bestens, um einen
Erst nach einer Neukonfiguration, bei der Raspberry Pi aus der Ferne anzusteuern,
der LAN-Anschluss zur Datenübertragung etwa wenn der Einplatinencomputer als
zum Zuge kam, verbesserten sich die Re Medien-Server oder als Steuerung für
aktionszeiten; sie blieben aber dennoch heimische IoT-Geräte dient. In diesen
sehr unbefriedigend. Szenarien arbeitet Anydesk nahezu ohne
Auch bei der neuesten Variante, dem Latenzen, sodass man tatsächlich den
Raspberry Pi 3B+, änderten sich die Eindruck hat, direkt vor dem RasPi zu
Latenzzeiten nur unwesentlich. In allen sitzen. Für das Ansteuern anderer Com
Konfigurationsvariationen zeigte sich puter aus der Ferne via Anydesk eignet
eine nahezu vollständige Auslastung der sich der Raspberry Pi dagegen derzeit
CPU mit entsprechend schlechten Reak nicht: Hohe Latenzen und eine bedenk Weitere Infos und
tionszeiten auf dem Desktop des ent lich hohe Systemauslastung machen das interessante Links
fernten Rechners im Anydesk-Fenster. System in solchen Anwendungsfällen
www.raspi-geek.de/qr/42733
Der Hersteller der Software erläuterte nahezu unbedienbar. (tle) n
05-06/2019 www.raspberry-pi-geek.de 25
Multimedia Kodi 18.0 und LibreELEC 9.0
Popcorn-Kino
26 www.raspberry-pi-geek.de 05-06/2019
Kodi 18.0 und LibreELEC 9.0 Multimedia
1
zurück . Viele Emulatoren wie etwa
Mame unterstützen die Bibliothek
inzwischen direkt. Zusätzlich lassen sich
spieletypische Eingabegeräte wie Joy-
sticks, Gamepads und andere Controller
ins System einbinden. Auf diesem Weg
steht einer gepflegten Spielerunde mit
einem Jump’n’Run-Klassiker wie Super
Mario Bros. oder Giana Sisters nichts im
Weg, so Sie denn über die entsprechen-
den Titel verfügen.
Als vielseitige Ergänzung zur eigenen
Videosammlung liefern heutzutage
Streaming-Dienste wie Netflix oder
Amazon Prime Video Filme und Serien in
digitaler Form direkt ins Wohnzimmer.
Mit Zattoo gibt es auch einen Anbieter,
der dasselbe mit dem TV-Programm 1 Kodi integriert mit der Version 18.0 Retro-Spiele. Dazu unterstützt das System diverse
macht – auf diese Weise empfangen Sie Emulatoren, vom Amiga und C64 bis hin zu Spielekonsolen.
auch ohne Kabelzugang oder Satelliten-
anlage digitales Fernsehen.
Zum Schutz vor unlizenzierten Kopien
verschlüsseln solche Dienste ihre Inhalte
jedoch. Kodi 18 weiß nun mit diesen
DRM-Routinen umzugehen; allerdings
hängt die Kompatibilität wesentlich von
der eingesetzten Hardware und dem
Betriebssystem ab.
Auch um den Musikplayer und das
Verwalten der Musikbibliothek kümmer-
2
ten sich die Entwickler in Kodi 18 : Die
indexierten Titel lassen sich nun flexibler
organisieren. So gibt es beispielsweise
die Möglichkeit, Lieder nach der Quelle
oder dem Geschlecht des Künstlers zu
filtern. Die verbesserte API erlaubt einen
schnelleren Zugriff auf die Inhalte der
Musiksammlung, wodurch besonders
Nutzer einer Kodi-App auf dem Smart- 2 Mit der neuen Kodi-Version fällt es leichter, durch die Musikdatenbank zu stöbern.
phone oder Tablet profitieren. Auch der API-Zugriff auf die Musiksammlung wurde optimiert.
Speziell Besitzer eines ausgewachse-
nen Mediacenter-PCs werden sich über
den verbesserten Videoplayer freuen: Neues in LibreELEC 9.0 DRM: Digital Rights Management, wörtlich:
Er verarbeitet Inhalte in 4K- und 8K-Auf-
digitale Rechteverwaltung. Euphemismus
lösung sowie HDR-Filme schneller und LibreELEC strickt um Kodi herum ein voll-
besser. Der Mediaplayer hat gegenüber ständig lauffähiges System. Das im Zuge für technische Verfahren zur Kontrolle der
anderen Funktionen nun Vorrang bei Zu- der neuen Kodi-Version vorgestellte Lib- Nutzung und Verbreitung digitaler Medien.
griffen auf die CPU und GPU, um Inhalte reELEC 9.0 setzt auf den Kodi-18.x- Von Kritikern im Deutschen treffender auch
möglichst ruckelfrei wiedergeben zu Zweig auf und integriert die von dessen als digitale Rechteminderung apostrophiert.
können. Verfügt das Gerät, auf dem Sie Entwicklern präsentierten neuen Funkti-
Kodi 18 einsetzen, über Radioempfang, onen wie den DRM-Support für Netflix
zeigt es nun via RDS Senderinformatio- und Co. sowie den Retro-Player zum Aus- RDS: Radio Data System. Ermöglicht beim
nen an, wie man es beispielsweise vom führen von Konsolenspielen (ein entspre- analogen UKW-Rundfunk das Übermitteln
Autoradio her kennt. chendes Addon vorausgesetzt). Unter digitaler Zusatzinformationen.
05-06/2019 www.raspberry-pi-geek.de 27
Multimedia Kodi 18.0 und LibreELEC 9.0
28 www.raspberry-pi-geek.de 05-06/2019
Kodi 18.0 und LibreELEC 9.0 Multimedia
05-06/2019 www.raspberry-pi-geek.de 29
Multimedia Kodi 18.0 und LibreELEC 9.0
30 www.raspberry-pi-geek.de 05-06/2019
Kodi 18.0 und LibreELEC 9.0 Multimedia
05-06/2019 www.raspberry-pi-geek.de 31
Multimedia Kodi 18.0 und LibreELEC 9.0
0 Auch Amazon Prime Video lässt sich in LibreELEC integrieren, mit ähnlich hohem Aufwand wie das Pendant von Netflix. Amazon
begrenzt die Qualität der Streams allerdings auf (immerhin ruckelfreie) 540p.
Passwort einzugeben. Die speichert das flix, Amazon und Konsorten öffnet. Die
System allerdings nicht ab, sondern er- Situation rund um die Entschlüsselungs-
stellt ein individuelles Token, das in Zu- routine Widevine erinnert allerdings ein
kunft zur Authentifizierung gegenüber wenig an den Umstand, Video-DVDs mit-
Amazon dient. Wie auch das Netflix-Add hilfe der Libdvdcss unter Linux wie-
on listet Kodi die Amazon-Erweiterung derzugeben. Technisch geht es, doch es
unter Addons auf. Nach dem Start lässt gibt weder offiziellen Support noch ge-
sich die Videosammlung des Online-Ver- hen Installation und Konfiguration leicht
sandhändlers durchstöbern. Die Wieder- von der Hand.
gabe erfolgt bei Amazon im Gegensatz Mit der Integration von Spielen ar
zu Netflix stets ruckelfrei – allerdings beitet Kodi weiter konsequent daran, die
auch nur mit 540p und ohne Möglich- Software zu einer umfassenden digita-
keit zum Erhöhen der Auflösung . 0 len Unterhaltungsplattform auszubauen.
In der Praxis fällt es gar nicht schwer, alte
Fazit Retro-Games aus C64-Zeiten zum Laufen
zu bekommen. Es fehlt allerdings noch
Auf den ersten Blick erscheint Kodi 18.0 an einer Dokumentation der neuen
gegenüber seinem Vorgänger als nur Funktionen. Optimal wäre zusätzlich
behutsames Update ohne viele Änderun- eine Kooperation mit einer Spieledaten-
gen. Erst wer genauer hinsieht, bemerkt, bank, sodass sich die Games-Klassiker
dass sich unter der Haube mit dem In- mit wenigen Klicks installieren lassen.
Weitere Infos und putStream-Addon gewaltig etwas getan Aufgrund der oft nicht gerade einfachen
interessante Links hat. So lassen sich nun per DRM ver- rechtlichen Lage und unklarer Urheber-
www.raspi-geek.de/qr/42674
schlüsselte Streams wiedergeben, was rechte bleibt ein solcher Komfort jedoch
die Tür zu Streaming-Diensten wie Net wohl eher Utopie. (cla) n
32 www.raspberry-pi-geek.de 05-06/2019
Hacks Robotik mit PiXtend
© alphaspirit, 123RF
Mit einem RasPi und dem 4-Achsen-Roboterarm mit PiXtend ansteuern
Sanft berührt
Controllermodul PiXtend
lassen sich mühelos Roboter-
arme ansteuern und deren
Bewegung automatisieren. In der Zeichentrickserie „Pinky und der einem Roboter? Dieser Artikel beschreibt,
Brain“ versuchen jede Nacht zwei Labor wie Sie mit einem RasPi, dem PiXtend
Martin Mohr mäuse die Weltherrschaft zu erlangen. und der Steuersoftware von Codesys
Die meisten erinnern sich vermutlich da einen Roboterarm programmieren.
ran, wie schwierig sich das für Brain ge Zum Einsatz kommt der 4-Achsen-
staltet – besonders mit einem Partner wie Roboterarm von Sainsmart mit einem
Pinky, mit dem es vermutlich nie klappen guten Preis-Leistungs-Verhältnis und
wird. Wir müssen also nach einer besse großem Arbeitsbereich. Um ihn zu be
README ren Alternative suchen: Wie wäre es mit wegen, nutzen wir einfache Modellbau
Man nehme einen RasPi, einen PiXtend-
Controller, einen Roboterarm und ein paar
Beschriftung der Motoren
Servomotoren: Schon besitzt man eine
Beschriftung PiXtend-Anschluss Funktion
formidable Grundlage, um sich in die Ro
boter-Programmierung einzuarbeiten. Die M1 PWM2A Greifer öffnen und schließen
Codesys-Software liefert dafür die digitale M2 PWM1B Greifer drehen
Grundlage, als Programmiersprache kommt M3 PWM0B Arm ein- und ausfahren
das Pascal-ähnliche ST (Strukturierter Text) M4 PWM0A Arm heben und senken
zum Einsatz.
M5 PWM1A Arm in der Basis drehen
34 www.raspberry-pi-geek.de 05-06/2019
Robotik mit PiXtend Hacks
05-06/2019 www.raspberry-pi-geek.de 35
Hacks Robotik mit PiXtend
PiXtend im Überblick
Beim PiXtend V2 -L- handelt es sich um
ein professionelles Erweiterungsboard
für den RasPi. Es verfügt über industrie-
kompatible I/O -Ports und viele zusätzliche
Schnittstellen, die dem Raspberry Pi fehlen.
Dazu zählen neben analogen Ein- und
Ausgängen auch die Relaisausgänge mit
einer sehr hohen Schaltleistung.
Zur Programmierung stehen eine ganze
Reihe von Alternativen bereit. Die Linux-
Tools umfassen einige Kommandozeilen-
programme, mit denen sich die Funktio
nen des PiXtend aufrufen lassen. Damit
erstellen Sie auf einfache Weise Skripte,
die die Steuerung übernehmen. FHEM ist
eine weitverbreitete, auf Linux basierende
Hausautomationssoftware. Die PiXtend
Python Library stellt eine API bereit, die
es gestattet, einfach auf die Schnittstellen
des PiXtend zuzugreifen. Open PLC, eine
quelloffene SPS-Software, kommt oft an
Hochschulen zum Einsatz. Mit dem IoT-
Entwicklungswerkzeug Node-RED lassen
sich komplexe Abläufe in einem Web
frontend einfach grafisch darstellen. Der 2 Der Schaltplan zeigt die Verkabelung der Servomotoren mit dem PiXtend.
PiXtend-Hersteller Codesys liefert eine
IDE zum Erstellen von Programmen für
Industriesteuerungen, die viele Hersteller
von Steuerungen verwenden. Erlernen Sie
den Umgang mit dieser Programmier
umgebung, können Sie für fast alle auf
dem Markt befindlichen Steuerungen
Programme erstellen.
Das hier eingesetzte PiXtend-Board ist
nur eine von vielen PiXtend-Varianten.
Auf der Webseite des Herstellers finden
Sie ausführliche Informationen zu den
unterschiedlichen Typen . Während sich
das PiXtend V1 sehr gut für die Aus- und
Weiterbildung eignet, zielen die V2-Varian-
ten eher auf den professionellen Einsatz
in Anlagen ab. 3 Die Funktionsweise des PWM-Steuersignals: kurzer Impuls – kleiner Schritt des
Servomotors, langer Impuls – großer Schritt.
36 www.raspberry-pi-geek.de 05-06/2019
Robotik mit PiXtend Hacks
05-06/2019 www.raspberry-pi-geek.de 37
Hacks Robotik mit PiXtend
38 www.raspberry-pi-geek.de 05-06/2019
Robotik mit PiXtend Hacks
05-06/2019 www.raspberry-pi-geek.de 39
Hacks Robotik mit PiXtend
Fazit
Dieses kleine Projekt zeigt an einem ver
gleichsweise einfachen Beispiel, wie Sie
mit dem PiXtend einen kleinen Modell
roboter ansteuern. Es lässt etwa dazu
verwenden, um etwa Auszubildenden
die Grundlagen der Robotik näherzu
bringen. Das Verwenden der Program
miersprache ST hat den Vorteil, dass fast
alle Industriesteuerungen den resultie
renden Code verstehen.
Das PiXtend V2 -L- zielt ganz klar auf
den professionellen Anwender in der
Industrie ab, bleibt aber preislich so im
Rahmen, dass es sich durchaus für ambi
tionierte Privatprojekte eignet. Alternativ
übernehmen auch die kleineren Brüder
des PiXtend V2 -L- den Job. Eine Auswahl
6 Ändern Sie Konstanten, müssen Sie sich über den Punkt Mit Download einloggen weiterer Modelle finden Sie auf der Seite
anmelden, da die Software sonst die Modifikationen nicht übernimmt. des Herstellers . (tle) n
40 www.raspberry-pi-geek.de 05-06/2019
Hacks E-Ink-Infoscreen
© Anke Dietzen
Ein maßgeschneiderter Infoscreen mit zwei stromsparenden E-Ink-Displays
42 www.raspberry-pi-geek.de 05-06/2019
E-Ink-Infoscreen Hacks
E-Ink-Displays: Grundlagen
E-Ink-Displays bestehen aus Millionen
kleiner Mikrokapseln, jede ungefähr so
groß wie der Durchmesser eines mensch
lichen Haars. Diese Kapseln enthalten eine
farblose Flüssigkeit mit darin gelösten, ne-
gativ geladenen weißen und positiv gela-
denen schwarzen Pigmenten. Die Kapseln
sind in kleinen Waben organisiert, die
quasi die Pixel des Displays darstellen.
Zur Ansteuerung jedes Pixels dienen zwei
Elektroden, eine am Boden und eine wei-
tere durchsichtige auf dem Pixel. Durch
das Anlegen einer Spannung zwischen
diesen Elektroden lässt sich ein elektri-
sches Feld erzeugen. Je nach Polarität
zieht das Feld die weißen oder die schwar-
zen Pigmente an die Oberfläche, sodass
das Pixel für den Betrachter dann weiß
1 Das 7,5-Zoll-E-Ink-Display von Waveshare kann auch neben schwarzen und weißen oder schwarz erscheint. Bei dreifarbigen
Pixeln auch gelbe Bildpunkte darstellen und kommt für Bilder zum Einsatz. Displays kommen Pigmente einer dritten
Farbe hinzu. Durch geschickte Wahl der
Pigmente kommt dann bei einer bestimm-
sich die Bildschirme. Die Leitung vom Schwarz-Weiß-Anteile des Bilds eine ten Spannung jeweils nur eine Farbe an
Display zum Raspberry Pi (MISO) kommt zweite monochrome Bitmap für die die Oberfläche.
nicht zum Einsatz. farbigen Anteile. Wichtig ist es, das Dis- Zwar lassen sich die Pixel durch das Anle-
Des Weiteren benötigt jedes Display play nach jeder Aktualisierung zuverläs- gen einer veränderten Spannung einzeln
noch Pins für 3,3 Volt Spannung, Ground sig wieder in den Sleep-Modus zu ver- ändern, doch Schmutzeffekte machen es
und frei konfigurierbare Pins für Reset, setzen, um zu vermeiden, dass dauer- von Zeit zu Zeit notwendig, das Display
Busy und DC (Data/Command Selection). haft Spannung anliegt. wieder in einen neutralen Grundzustand
zu bringen. Dazu schaltet man das Display
Waveshare bietet seine E-Ink-Bildschirme Das Ansteuern der E-Ink-Bildschirme
mehrfach abwechselnd von vollständig
mit oder ohne Raspberry-Pi-HAT an. Grei- übernimmt ein auf der Rückseite des
schwarz auf vollständig weiß. Dieses „Blin-
fen Sie für eines der Displays zur Variante Bilderrahmens montierter Raspberry Pi.
ken“ war für ältere E-Book-Reader typisch.
mit HAT, erspart Ihnen das beim vorge- Auf ihm läuft ein Application Server, der
stellten Aufbau das Löten.
Die Waveshare-Displays bringen einen
programmierbaren Controller mit, des-
sen Logik der von Waveshare zur Verfü-
gung gestellte Demo-Code verdeutlicht.
Vor der Anzeige eines Bilds müssen Sie
den Bildschirm erst einmal aufwecken
und initialisieren. Der Waveshare-Demo-
Code erwartet als Format für das anzu-
zeigende Bild eine monochrome Bitmap.
Eine solche lässt sich beispielsweise über
das Bildbearbeitungsprogramm Gimp
sehr einfach aus einer mehrfarbigen Bit-
map erzeugen.
Nach dem Einlesen der Bitmap über-
nimmt der Demo-Code die Transformati-
on des Bilds in das interne Format des
Displays. Bei den dreifarbigen Bildschir-
men erwartet der Waveshare-Code ne-
ben der monochromen Bitmap für die 2 Das 4,2-Zoll-E-Ink-Display zeigt Wetterinformationen und Termine in Schwarz-Weiß.
05-06/2019 www.raspberry-pi-geek.de 43
Hacks E-Ink-Infoscreen
44 www.raspberry-pi-geek.de 05-06/2019
E-Ink-Infoscreen Hacks
05-06/2019 www.raspberry-pi-geek.de 45
Hacks E-Ink-Infoscreen
Swing: Ein seit 1998 in der Java-Runtime ten DisplayService nutzt die Klasse Auswahl an geerbten Datenbankoperati-
enthaltenes GUI-Toolkit. Es gehört zu den RestApi, indem sie intern eine Member- onen zu Verfügung. Mit der Methode
Variable des Typs DisplayService defi- aveAndFlush() lässt sich die Nachricht
s
Java Foundation Classes (JFC), einer Samm-
niert, die sie mit @Autowired annotiert. in die Datenbank schreiben (Listing 3).
lung von Bibliotheken für grafische Benutzer- Der DisplayService übernimmt alle Hier passiert viel „Magie“ im Hinter-
schnittstellen, mit denen es auch interagiert. Datenbankzugriffe und das Ansteuern grund von Spring und dem Spring-Con-
des Displays. tainer. Das nimmt dem Programmierer
Auch die Datenbanktabelle Message die handwerklichen Aspekte ab, sodass
müssen Sie nicht selbst anlegen – dazu er sich ganz auf das Implementieren der
genügt es, die Java-Klasse Message (Lis- Business-Logik konzentrieren kann.
ting 4) mit @Entity zu annotieren. Die
Member-Variablen von Message entspre- Display-Refresh
chen den (ebenfalls über Annotationen
definierten) Datenbankspalten. Auch Java Swing generiert die monochrome
beim Datenbankzugriff hilft Spring: Das Bitmap für die Anzeige am Display. Zwar
mit @Repository annotierte Interface ist Swing schon etwas in die Jahre ge-
MessageRepository (Listing 5) stellt be- kommen, gehört aber zum Standardum-
reits eine für das Projekt ausreichende fang von Java und reicht für den Zweck
völlig aus. Im mit Swing erstellten Panel
sorgen diverse Layout-Manager dafür,
Listing 2 dass bei dynamisch erzeugten unter-
@RestController schiedlich langen Texten auch die For-
public class RestApi {
matierung und die „Verteilung übriger
@Autowired
Pixel“ funktionieren. Auch Grafiken las-
sen sich ins Panel integrieren.
DisplayService displayService;
Analog addMessage() definiert die
Anwendung einen REST-Service, der mit-
@ApiOperation(value = "Stores the message in the database.") hilfe des DisplayService die Nachricht
@PostMapping("/addMessage") aus der Datenbank holt, die Image-Ge-
nerierung veranlasst und den Refresh
void addMessage( des Displays mit der erzeugten Bitmap-
@RequestParam(required=true) String author, Datei einleitet.
@RequestParam(required=true) String text Auch bei der Java-Repräsentation des
) { Displays selbst handelt es sich um eine
Spring-Komponente, die Sie mit @Auto
displayService.saveMessageInDb(author, text);
wired im DisplayService verdrahten.
}
Spring muss noch wissen, wie es diesen
[...]
zu erzeugen hat: Die Klasse Display
} Factory bietet eine mit @Create anno-
tierte Methode, die das übernimmt. Je
nachdem, ob die Software lokal auf dem
Listing 3 Entwicklungsrechner oder auf dem Rasp
@Service berry Pi läuft, aktualisiert sie das Display
public class DisplayService { und versetzt es gegebenenfalls anschlie-
@Autowired ßend in den Sleep-Modus.
MessageRepository messageRepository;
Bauen und Start
public void saveMessageInDb(String author, String text) {
Sie bauen die Anwendung im Verzeich-
Message message = new Message(author, new Date(), text);
nis eInkDemo/ mithilfe des Kommandos
messageRepository.saveAndFlush(message);
mvn clean install. Maven lädt alle be-
}
nötigten Bibliotheken in sein Repository,
[...]
was beim ersten Aufruf eine Weile dau-
} ern kann. Über die Targets clean und
46 www.raspberry-pi-geek.de 05-06/2019
E-Ink-Infoscreen Hacks
hibernate.ddl‑auto) ausschalten.
Nachrichten Schnittstelle addMessage() im Webbrow- dem Sie die Anwendung gestartet ha-
ser. Die Oberfläche und das Auflisten der ben, ersetzen Sie localhost durch den
Unter http://localhost:8080/einkdemo/ Services übernimmt Swagger. Arbeiten fraglichen Rechnernamen oder die IP-
swagger‑ui.html erreichen Sie die REST- Sie nicht auf demselben Rechner, auf Adressen. Unter /addMessage geben Sie
Listing 5
@Repository
public interface
MessageRepository extends
JpaRepository<Message, Long> {
Listing 6
$ java
‑Djava.awt.headless=false ‑jar
‑Dspring.profiles.active=raspi
eInkDemo‑0.0.1‑SNAPSHOT.jar
‑‑debug 5 Nachrichten für den E-Ink-Infoscreen geben Sie per Webbrowser von einem beliebi-
gen Endgerät aus ein. Das klappt, wie hier zu sehen, auch vom Smartphone aus.
05-06/2019 www.raspberry-pi-geek.de 47
Hacks E-Ink-Infoscreen
48 www.raspberry-pi-geek.de 05-06/2019
Hacks Thermo-Hygrometer
Prima Klima
50 www.raspberry-pi-geek.de 05-06/2019
Thermo-Hygrometer Hacks
Der Sensor Zur Programmierung des ESP8266 nen zwei 1,5-Volt-Batterien; der Konden-
kommt ein USB-to-Serial-Modul zum Ein- sator C1 in der Schaltung hält dabei die
2
Abbildung zeigt den Schaltplan des satz, das Sie über eine Stiftleiste auf die Betriebsspannung des ESP8266 stabil.
Sensors. Die Bauteile verlöten Sie dazu Testplatine stecken. Das ermöglicht es, Die LED an GPIO14 dient zu Testzwe-
auf einer Prototypen-Platine oder ste- das Modul leicht wieder zu entfernen, cken. Richten Sie besonderes Augenmerk
cken sie in Sockelleisten. Ein ESP8266- um damit weitere Sensoren zu program- auf den Anschluss GPIO16: Daran hängt
Mikrocontroller stellt den zentralen Bau- mieren. Als Spannungsversorgung die- intern der Timer, der den ESP8266 wieder
stein des Sensors dar, er verfügt über
eine eingebaute WLAN-Schnittstelle.
Zum Messen von Temperatur und Luft- MQTT
feuchtigkeit kommt der geeichte digitale
Die Abkürzung MQTT steht für Message nenten gleichzeitig online sein, um Nach-
Sensor AM2321 zum Einsatz, der sich
Queue Telemetry Transport, was frei über- richten zu übertragen. Damit die Nachrich-
über die I2C-Schnittstelle einfach ausle-
setzt etwa warteschlangenorientierte ten nicht ungeordnet hin und her wan-
sen lässt. Sie schließen den Sensor über Nachrichtenübertragung für entfernte dern, gibt es bei MQTT in einer Baum-
GPIO4 und GPIO5 an den ESP8266 an. Messeinrichtungen bedeutet. Das Proto- struktur aufgebaute Topics, also Nachrich-
koll wurde schon 1999 für das Überwa- tenkanäle, die bestimmte Typen von Über-
chen von Öl-Pipelines entwickelt, kommt tragungen bündeln.
Listing 1 aber auch heute noch für verteiltes Mes- Ein solches Topic könnte beispielsweise
01 $
sudo apt update sen im Profibereich zum Einsatz. Aktuell Gebäude/Etage/Raum/Sensor/Tem
02
$ sudo apt upgrade trifft man das MQTT-Protokoll immer öfter peratur heißen. Innerhalb der Topics
03
$ sudo apt install mosquitto im IoT-Umfeld an, da es sich durch seine dürfen Sie Wildcards verwenden. Möchten
mosquitto‑clients geringe Netzbelastung und sparsamen Sie etwa die Werte aller Temperatur
04
$ sudo service mosquitto CPU-Verbrauch besonders gut für solche sensoren im Gebäude erhalten, melden
status Anwendungen eignet. Sie sich in diesem Beispiel für das Topic
05
$ sudo service mosquitto stop Das MQTT-Protokoll unterscheidet zwi- Gebäude/+/+/Sensor/Temperatur an.
06
$ sudo service mosquitto start schen drei Komponenten: einem Nach- Für sehr viele Programmiersprachen gibt
07
$ mosquitto_sub ‑h localhost richtenerzeuger (Publisher), einem Nach- es bereits MQTT-Bibliotheken. Der Service
‑v ‑t raspberry richtenempfänger (Subscriber) und einem arbeitet standardmäßig über den TCP-
08
$ mosquitto_pub ‑h localhost Broker, der die Kommunikation zwischen Port 1883. Weitere Informationen zum
‑t raspberry ‑m "Raspi talks Publisher und Subscriber entkoppelt. Es MQTT-Protokoll erhalten Sie auf der offizi-
MQTT!" müssen also nicht immer alle Kompo elle Homepage des Projekts .
05-06/2019 www.raspberry-pi-geek.de 51
Hacks Thermo-Hygrometer
2 Der Schaltplan des Thermo-Hygrosensors. Die Herzstücke der Schaltung bilden der Sensor AM2321 und der Mikrocontroller ESP8266.
52 www.raspberry-pi-geek.de 05-06/2019
Thermo-Hygrometer Hacks
Testprogramm
Das Testprogramm aus Listing 2 dient
dazu, prinzipiell festzustellen, ob sich
Programme in den ESP8266 laden lassen.
Es bringt die an GPIO14 angeschlossene 3 Die drei komplett aufgebauten MQTT-Sensoren: Sie übermitteln per WLAN im
LED zum Blinken. Um das Programm Minutenabstand die Luftfeuchtigkeit und die Temperatur an den MQTT-Server.
hochzuladen und zu starten genügt es,
den ESP8266 in den Flash-Modus zu
schalten. Schließen Sie dafür die Jumper bewerkstelligen, verwenden Sie eine Sensorprogramm
JP1 und JP2 und drücken Sie dann den Bibliothek, die Sie installieren, indem Sie
Reset-Taster. Nun klicken Sie in der IDE auf den Menüpunkt Sketch | Bibliothek Listing 3 zeigt das Programm für den
oben links auf den Button zum Hoch einbinden | Bibliotheken verwalten kli- Sensor. Vereinfacht beschrieben stellt der
laden, also das Icon mit dem Pfeil nach cken. Dort suchen Sie nun nach dem Sensor eine Verbindung zum WLAN her,
rechts. Daraufhin startet der Upload PubSubClient und installieren ihn. An- liest den AM2321 aus und sendet die
automatisch. Denken Sie nach dessen schließend lassen sich ohne großen Auf- Daten an den MQTT-Server. Bei genau
Abschluss daran, die zwei Jumper wieder wand MQTT-Nachrichten vom ESP8266 erem Hinsehen fallen viele Details am
zu entfernen. aus versenden. Programmcode auf.
Klappt das Hochladen nicht auf
Anhieb, überprüfen Sie zuerst die Hard-
ware: Haben Sie alles korrekt verlötet
und den richtigen Board-Manager aus-
gewählt (Generic ESP8266 Modul)? Be-
trägt die Übertragungsgeschwindigkeit
115200 Baud? Oft ist auch einfach ein
falscher Port gewählt. Sie müssen auf
jeden Fall einen TTYUSB-Port verwenden,
auf keinen Fall einen COM-Port. Abbil-
4
dung zeigt alle notwendigen Einstel-
lungen, um ein Programm fehlerfrei
hochzuladen. Beginnt die LED zu blinken 4 Wenn sie die hier ge-
war der Upload erfolgreich. zeigten Kommunikations-
einstellungen in der Ardu-
MQTT-Bibliothek ino IDE verwenden, klappt
das Hochladen von Pro-
Unser Sensor soll seine Messwerte an grammen auf den Mikro-
den MQTT-Server schicken. Um das zu controller reibungslos.
05-06/2019 www.raspberry-pi-geek.de 53
Hacks Thermo-Hygrometer
Nach dem Import aller nötigen Biblio dernfalls später nicht auseinanderhalten Vorteil von MQTT liegt darin, dass die
theken (Zeilen 1 bis 3) legt das Pro- lassen. Der letzte Parameter (Zeile 12) Publisher/Submitter definieren, welches
gramm alle benötigten Parameter in gibt an, wie lange der ESP8266 nach ei- Topic sie verwenden. Der Broker stellt die
Konstanten ab. Da sind zunächst einmal ner Messung schlafen soll, bevor er eine Topics dynamisch bereit. Sie müssen
die Verbindungsdaten für das WLAN neue Messung startet. Um die Batterien aber darauf achten, dass die Topics zu-
(Zeilen 5 und 6), wo Sie die für Ihr Netz- zu schonen, schaltet sich der Mikrocont- sammenpassen. Da wir in unserem Bei-
werk passenden Werte hinterlegen. In roller zwischen den Messungen komplett spiel mit drei Sensoren arbeiten, num-
den darauffolgenden Konstanten geben ab, der Stromverbrauch liegt dann nur merieren wir sie einfach durch.
Sie die Verbindungsdaten zum MQTT- noch im Mikroampere-Bereich. Nach dem Starten eines Mikrocontrol-
Server ein (Zeilen 8 bis 10). Die nächsten zwei Zeilen (14 und 15) lers läuft immer zuerst die Funktion set
Verwenden Sie mehr als einen Sensor, definieren eine Verbindung zum WLAN up() einmal durch. Sie führt üblicherwei-
müssen diese ihre Messwerte an ver- und zum MQTT-Server. Bei beiden han- se nur einmal benötigte Programmteile
schiedene Topics senden, da sie sich an- delt es sich um Client-Verbindungen. Der aus. In unserem Fall befindet sich das
Listing 3
01
#include <Wire.h> 32 Wire. 63 Serial.println(crc);
02
#include <ESP8266WiFi.h> beginTransmission(0x5c); 64 //JSON
03
#include <PubSubClient.h> 33 Wire.endTransmission();
65 char msg[64] ="";
04 /
/ WLAN 34 Wire.
66 sprintf (msg,"{
05
const char* ssid = "<Your beginTransmission(0x5c);
\"temperature\": \"%‑2.2f\",
SSID>"; 35 Wire.write(0x03);
\"humidity\": \"%‑2.2f
06
const char* pass = "<Your WLAN 36 Wire.write(0);
\"}",temp,hum);
Password>"; 37 Wire.write(4);
67 Serial.println(msg);
07
//MQTT Server 38 Wire.endTransmission();
68 // Connect to MQTT Server
08
const char* serverIp = "<Your 39 delay(3);
MQTT Server>"; 69 mqtt.setServer(serverIp,1883
40 Wire.requestFrom(0x5c, 8);
09
const char* topic ="/haus/ );
41 uint8_t buf[6];
sensor2"; 70 while (!mqtt.connected()) {
42 for (int i = 0; i < 6; ++i)
10
const int serverPort = 1883; 43 buf[i] = Wire.read(); 71 Serial.
11 /
/ Energy Save print("Connecting...");
44 unsigned short crc = 0;
12
const int intervall = 600; 72 if (!mqtt.connect("Sensor
45 crc = Wire.read(); //
//sec 1")) {
CRC LSB
13 73 Serial.print("failed,
46 crc |= Wire.read() << 8;//
14
WiFiClient client; rc=");
CRC MSB
74 Serial.print(mqtt.
15
PubSubClient mqtt(client); 47 unsigned int humidity;
state());
16 48 signed int temperature;
75 Serial.println("
17
void setup() { 49 humidity = buf[2] << 8;
retrying in 5 seconds");
18 Wire.begin(4, 5); 50 humidity += buf[3];
76 delay(5000);
19 Serial.begin(115200); 51 temperature = buf[4] << 8;
77 }
20 Serial.println("\r\n") ; 52 temperature += buf[5];
21 WiFi.begin(ssid, pass); 53 if(temperature & 0x8000) 78 Serial.println();
22 while (WiFi.status() != WL_ temperature = ‑(temperature & 79 }
CONNECTED) { 0x7fff); 80 mqtt.loop();
23 delay(500); 54 double temp = temperature; 81 mqtt.publish(topic,msg);
24 Serial.print("."); 55 double hum = humidity;
82 delay(500); // Wait for MQTT
25 } 56 temp =temp/10; Server
26 Serial.println(""); 57 hum=hum/10;
83 Serial.println("goSleep" );
27 Serial.print("Connected: "); 58 Serial.
84 ESP.
28 Serial.println(ssid); print("Temperature:");
deepSleep(intervall*1000000);
29 Serial.print("IP address: 59 Serial.println(temp);
85 }
"); 60 Serial.print("Humidity:
"); 86 v
oid loop()
30 Serial.println(WiFi.
localIP()); 61 Serial.println(hum); 87 {
31 // Measurement 62 Serial.print("CRC: "); 88 }
54 www.raspberry-pi-geek.de 05-06/2019
Thermo-Hygrometer Hacks
05-06/2019 www.raspberry-pi-geek.de 55
Hacks Thermo-Hygrometer
56 www.raspberry-pi-geek.de 05-06/2019
Thermo-Hygrometer Hacks
9 Das Node-RED-Dashboard zeigt in einer ansprechenden Grafik die Messwerte der verschiedenen Sensoren an.
Das erreichen Sie mithilfe zweier change- soren kann man eine Menge über den
Weitere Infos und
Nodes, die Sie so einrichten, dass sie die ESP8266-Mikrocontroller lernen, der sich interessante Links
Werte für Temperatur und Luftfeuchte auch als Grundlage für eigene Anwen-
aus der Nachricht herauslösen und in dungen aller Art eignet. www.raspi-geek.de/qr/42362
neue Nachrichten einpacken (Listing 4). Ein kleiner Wermutstropfen bleibt
Ein entsprechendes Beispiel sehen Sie in allerdings: Der AM2321 arbeitet sehr
7
Abbildung . knapp an seiner minimalen Betriebs-
Die Gauge-Nodes müssen Sie anschlie- spannung, deswegen fallen die Mess-
ßend noch so konfigurieren, dass die werte manchmal etwas ungenau aus.
Messwerte innerhalb ihres Anzeigeinter- Um dieses Problem zu lösen, müssten Sie
valls liegen. Eine Beschreibung dazu fin- die Spannungsversorgung der komplet-
den Sie in dem bereits erwähnten Artikel ten Schaltung ein wenig aufwendiger
aus RPG 01-02/2019 . Nun verbinden gestalten, indem Sie drei Batterien ver-
Sie die einzelnen Nodes noch. wenden und mit einem Spannungsregler
Die beschriebenen Schritte wiederho- die benötigten 3,3 Volt Betriebsspan-
len Sie jetzt für die beiden anderen Sen- nung erzeugen. (tle) n
soren des Messgeräte-Trios. Passen Sie
abschließend das Layout für Ihr Dash-
board noch etwas an .9 Der Autor
Martin Mohr entwickelte schon früh eine
Fazit Vorliebe für alles, was blinkt, die eine Aus-
bildung zum Elektroniker noch verstärkte.
Das leicht zu bedienende Werkzeug Nach einem anschließenden Informatik
Node-RED eignet sich hervorragend, um studium beschäftigte er sich überwiegend
Messwerte relativ unkompliziert zu visu- mit der Entwicklung von Java-Applikati- Dateien zum Artikel
alisieren. Auch andere Anforderungen onen. Mit dem Raspberry Pi erwachte die herunterladen unter
aus dem IoT-Bereich lassen sich damit alte Liebe zur Elektronik wieder.
www.raspi-geek.de/dl/42362
leicht umsetzen. Beim Aufbau der Sen
05-06/2019 www.raspberry-pi-geek.de 57
Open Hardware Pintexx Pinbox
Windows to go
und sicherer Remote-Desk-
top-Lösungen erfordert eini-
ges Know-how. Die RasPi-
basierte Pinbox von Pintexx
Große Unternehmen ermöglichen es den-Württemberg verspricht hier Abhil
reduziert den Konfigurations- den Mitarbeitern oft, von zu Hause oder fe: Die auf dem Raspberry Pi aufbauende
von unterwegs während einer Reise auf Pinbox erlaubt den Zugriff auf die hei
aufwand auf ein Minimum. ihre Daten oder gar den Desktop des Fir mischen Rechner von unterwegs aus.
menrechners zuzugreifen. Für diese Auf Das funktioniert ohne besondere Soft
Christoph Langner gabe gibt es viele verschiedene Lösungs ware, ein Webbrowser als Client genügt.
ansätze, von VPNs über den Klassiker VNC
bis hin zu anderen Remote-Desktop-Ver Appliance
bindungen wie NX oder Microsofts pro
prietärem Netzwerkprotokoll RDP. In der Pintexx liefert die Pinbox in einem klassi
Regel kommt eine Kombination verschie schen RasPi-Gehäuse aus. Darin steckt
README dener Techniken zum Einsatz. ein Raspberry Pi 3 Modell B V1.2 mit ei
Die dafür nötigen Netzwerkaufbauten ner 32 GByte fassenden Speicherkarte.
Das Vergessen der Präsentationsdatei auf
und deren Konfigurationen stellen kleine Ein Netzteil mit in das Kabel integrier
dem heimischen PC ist die moderne Version
Firmen oder den Privatanwender vor tem Ein/Aus-Schalter sowie eine ge
der Ausrede „Mein Hund hat die Hausauf eine gewaltige Aufgabe: Schließlich soll druckte Schnellstartanleitung liegen
gaben gefressen“ von früher. Um so einen der Remote-Zugang nicht nur bequem ebenfalls mit im Paket. Der Aufbau geht
Lapsus auszubügeln, greifen Sie über die sein, sondern vor allem auch sicher. schnell von der Hand: Sie packen das
Das deutsche Unternehmen Pintexx Gerät lediglich aus und schließen es an
Pinbox auf den Desktop zu Hause zu.
aus dem beschaulichen Talheim in Ba einen freien Port des WLAN-Routers an.
60 www.raspberry-pi-geek.de 05-06/2019
Pintexx Pinbox Open Hardware
05-06/2019 www.raspberry-pi-geek.de 61
Open Hardware Pintexx Pinbox
62 www.raspberry-pi-geek.de 05-06/2019
Pintexx Pinbox Open Hardware
Via Webbrowser
Den Zugriff auf ausgesuchte Rechner
richten Sie nun unter Direktzugriff ein. In
der Regel genügt es, im Feld RDP Host/IP:
die IP-Adresse des gewünschten Rech
ners einzutragen. Diese Adresse ermitteln
Sie auf einem Windows-Rechner mit dem
in der Eingabeaufforderung ausgeführ
ten Kommando ipconfig oder unter
Linux mit ip addr show.
Weiter stellen Sie noch die Sprache
6 Für den Fernzugriff übertragen Sie den Link in einen Webbrowser. Sind die DynDNS- und Tastatur auf Deutsch um. Läuft der
Adresse und die Portweiterleitung richtig konfiguriert, funktioniert das auch von unter- fernzusteuernde Rechner nicht perma
wegs über das Internet. nent durch, lässt er sich durch Aktivieren
05-06/2019 www.raspberry-pi-geek.de 63
Open Hardware Pintexx Pinbox
64 www.raspberry-pi-geek.de 05-06/2019
Open Hardware Witty Pi Mini
Süßer Wecker
© tawhy, 123RF
Dem RasPi fehlen sowohl Das zeitgesteuerte Hoch- und Herunter- bau. Der HAT unterstützt auch die aus
fahren eines Raspberry Pi ist in vielen An- gewachsenen Raspberry-Pi-Modelle. In
eine Echtzeituhr als auch ein wendungsszenarien kein Thema: Der Ras- diesem Fall empfiehlt das Handbuch aber
Pi darf aufgrund seines geringen Strom- einen zusätzlichen Header, da die An-
BIOS, ein zeitgesteuertes verbrauchs einfach durchlaufen. Aus schlüsse hier mehr Abstand benötigen.
demselben Grund stört in dieser Konstel- Vor der Montage steht jedoch die Instal-
Wecken erfordert also Zu- lation das Fehlen einer Echtzeituhr (eng- lation der Software, dazu später mehr.
lisch: Real Time Clock, RTC) nicht, denn
satzkomponenten. Hier der RasPi synchronisiert seine Systemzeit Architektur
mit einem Zeitserver aus dem Internet.
springt der Witty Pi Mini in Bei Offline-Szenarien sieht die Sache Auf der Platine finden sich der präzise
aber schnell anders aus. Wollen Sie etwa RTC-Chip DS3231SN, zwei LEDs, die den
die Bresche, ein µHAT von
an einem Ort ohne Steckdose jede Stun- Betriebszustand anzeigen, zwei Schiebe-
UUGear. Bernhard Bablok de ein Foto aufnehmen, dann saugt schalter sowie ein Taster. Ein Micro-USB-
selbst ein Pi Zero im Dauerbetrieb jeden Anschluss versorgt die Platine und dar
Akku schnell leer. Eine Eigenbaulösung über auch den RasPi mit Strom. Eine
README für das Problem haben wir schon vor ei- Pufferbatterie für die Echtzeituhr fehlt,
niger Zeit vorgestellt . Mit dem Witty Pi stattdessen gibt es einen Superkonden-
Da der Raspberry Pi sowohl auf eine Echt-
Mini von UUGear gibt es jedoch für sator, der die Uhr für bis zu 17 Stunden
zeituhr als auch ein BIOS verzichtet, lässt er
schmale 17,90 Euro eine entsprechende mit Spannung versorgt.
sich nicht ohne Weiteres zeitgesteuert auf-
Hardware-Lösung in Form eines pHAT, Der RTC-Baustein enthält neben der
wecken. Die notwendigen Zusatzkompo-
1
die ähnliche Funktionalität verspricht . eigentlichen Uhr noch zwei Speicher für
nenten sind zwar nicht teuer, erfordern aber Die Größe der Platine gleicht der eines wiederkehrende Alarme. Der Witty Pi
Elektronik- und Lötkenntnisse. Der Witty Pi, Pi Zero. Im gelieferten Paket liegen Plas Mini nutzt diese Alarme, um den RasPi
ein µHAT von UUGear, füllt die Lücke. tikabstandshalter und Schrauben, ein automatisch zu starten beziehungsweise
kleines Handbuch zeigt den Zusammen- herunterzufahren. Der Taster dient zum
66 www.raspberry-pi-geek.de 05-06/2019
Witty Pi Mini Open Hardware
05-06/2019 www.raspberry-pi-geek.de 67
Open Hardware Witty Pi Mini
Im Betrieb
Nach dem Einrichten der Software fah-
ren Sie das System herunter und mon
tieren den HAT. Ein Druck auf den Taster
startet nun das System, ein weiterer
fährt es wieder herunter und trennt es
vom Strom. So ausgeschaltet verbraucht
es dann nur noch wenige Milliampere.
2
Die Abbildung zeigt den Verlauf
der Leistungsaufnahme eines RasPi 3A+
ohne Witty Pi. Nach dem Shutdown
etwa um 13:16 Uhr verbraucht das
System sogar mehr Strom – eine Unart,
3 RasPi 3A+ mit Witty Pi Mini: Die Leistungsaufnahme reduziert sich nach dem Herun- die andere Raspberry-Pi-Modelle nicht
terfahren auf wenige Milliampere. 3
zeigen. Die Abbildung zeigt die Leis-
tungsaufnahme desselben Mini-Rech-
ners im Zusammenspiel mit dem Witty
Pi Mini: Hier sinkt der Stromverbrauch
nahezu auf null.
Einmalige oder regelmäßige Boot- be-
ziehungsweise Shutdown-Zeiten stellen
Sie bequem über das Skript wittyPi.sh
(Listing 2) oder eine grafische Oberflä-
che ein. Die Ausgabe des Skripts 4
zeigt diverse Optionen an, zum Beispiel
für die Zeitsynchronisation (Optionen 1
bis 3) oder die Zeitwahl für Start und
Stopp (Optionen 4 bis 6).
Listing 2
$ sudo /usr/local/lib/wittyPi/
wittyPi.sh
4 Textmenü für die Steuerung von Boot-Zeiten.
68 www.raspberry-pi-geek.de 05-06/2019
Witty Pi Mini Open Hardware
Zeitpläne
Mit Schedule-Skripts, also Zeitplänen für
die Start- und Shutdown-Vorgänge, bie-
tet der Witty Pi Mini eine Besonderheit.
Dabei formulieren Sie die Zeitpläne in ei-
ner einfachen Sprache, deren Möglichkei-
ten das Benutzerhandbuch beschreibt.
Als weiteren Service gibt es einen Online-
Generator , der es erlaubt, Zeitpläne
per Mausklick zusammenzustellen . 6
Listing 3
$ cd /usr/local/lib/wittyPi 5 Die grafische Oberfläche zur Steuerung des Witty Pi Mini bietet zwar Komfort,
fühlt sich insbesondere auf einem Pi Zero aber recht zäh an.
$ sudo ./wittyPi
Open Hardware Witty Pi Mini
Ereignisgesteuerte Boot- und Shutdown- liefern. Dazu gehören nicht nur das um-
Zeitpunkte, wie sie beispielsweise bei ei- fangreiche Handbuch und die nützliche
nem Videorekorder anfallen – außer Sie Software, sondern insbesondere auch
nehmen nur Serien zu festen Zeitpunk- Hinweise, wie man die Hardware (auf ei-
ten auf –, lassen sich mit den Zeitplänen gene Gefahr) hackt und damit noch bes-
allerdings nicht abdecken. ser an spezielle Bedürfnisse anpasst. Der
Für diese Betriebsart programmieren Quelltext der mitgelieferten Software
Sie die Alarme der RTC besser selbst. Die liegt sowieso offen, denn er besteht ja
Witty-Pi-Tools stellen die dafür notwen- überwiegend aus Shell-Skripten, und
digen Bausteine in Form von Shell-Routi- lässt sich ebenfalls beliebig für das kon-
nen bereit, aber etwas Software-Bastelei krete Projekt maßschneidern. (cla/jlu) n
fällt dabei trotzdem an.
70 www.raspberry-pi-geek.de 05-06/2019
Know-how Sonic Pi (Teil 4)
Verbindungsaufnahme
Über die Funktion sync lassen Sie Sonic Pi auf MIDI- und OSC-Ereignisse sowie
Audiosignale warten und diese verarbeiten. Pit Noack, Hartmut Noack
README
Mit der Version 3.0 macht Sonic Pi einen
großen Satz nach vorn. Ging es vorher allein
© Teera Pittayanurak, 123RF
72 www.raspberry-pi-geek.de 05-06/2019
Sonic Pi (Teil 4) Know-how
out
Alesis Photon 25
USB USB
MIDI
USB
Audio in
aktiver USB-Hub Raspberry Pi 3B+
in Microkorg
out
out
Behringer UMC22
Audio
05-06/2019 www.raspberry-pi-geek.de 73
Know-how Sonic Pi (Teil 4)
Das erste Sternchen im String steht für zwischen 0 und 127 zurück. Der erste
die Nummer des Geräts (falls Sie mehrere Wert repräsentiert die Note, der zweite
gleichartige Controller verwenden), das die Anschlagsstärke (englisch: velocity).
zweite für den MIDI-Kanal, von denen 16 Bei den Noten steht eine ganzzahlige
zur Verfügung stehen. Da wir uns in allen Differenz für einen Halbtonschritt. Mit
Beispielen mit einem Gerät und einem note, vel = ... entpacken Sie das
Kanal begnügen, genügen hier die als Array und speichern die Werte in sepa
Wildcard fungierenden Sternchen. raten Variablen (Zeile 5).
Beim Empfang einer Notennachricht Zeile 6 übergibt anschließend den
gibt sync ein Array mit zwei Ganzzahlen empfangenen Notenwert an die Funk
tion play, um die Note zu spielen. Die
Bedingung if vel != 0 ist notwendig,
Den Audio-Server konfigurieren weil das Loslassen der Keyboard-Taste
eine Notennachricht mit der Anschlags-
Raspbian enthält den Audio-Server Jack in 256 Ports. Durch ‑t2000 wartet Jackd
stärke 0 erzeugt. Ohne diese Abfrage
der Variante Jack2. Das Programm lässt 2 Sekunden statt nur eine halbe Sekunde
würden Sie auch beim Zurückschnellen
sich mit dem grafischen Tool Qjackctl ein- auf Rückmeldungen von Anwendungen
der Taste einen Ton hören.
stellen und starten. Mehr Kontrolle über via Alsa. Der Parameter ‑dalsa wählt
Jack bekommen Sie allerdings, indem Sie noch einmal ausdrücklich das Alsa-
Der Befehl use_real_time in der Zei-
jackd in einem Terminal aufrufen und Backend aus, anschließend fordert die le 1 sorgt dafür, dass Sonic Pi mit einer
erst danach den Startknopf in Qjackctl Option ‑dhw:CODEC den Zugriff auf das möglichst niedrigen Audiolatenz arbei-
drücken. Qjackctl erkennt dann automa- USB-Gerät. Jackd interpretiert die erste tet – andernfalls könnte man eine deut
tisch, dass der Server bereits läuft, und Angabe via ‑d also als Angabe des Back liche Verzögerung zwischen dem Tasten-
zeigt für den laufenden Jack die Status- end-Drivers, erst die zweite steht dann für druck und dem Erklingen der Note
meldungen und Verbindungsports an. „device“ und wählt das Gerät aus. wahrnehmen. Fügen Sie diesen Befehl
Die Kommandozeilenoptionen von Jack Die danach folgenden Optionen ‑r, ‑p also immer dann ein, wenn es ganz be-
fallen reichlich komplex aus. Dabei sorgt und ‑n bestimmen die Leistungskriterien, sonders auf eine verzögerungsfreie Aus-
die Tatsache, dass einige der Optionen für die Jack von Alsa erwartet: die Sampling- führung ankommt.
verschiedene Audiotreiber unterschied- Rate sowie die Größe und Anzahl der Das Erzielen einer niedrigen Latenz
liche Bedeutung haben, für zusätzliche Puffer. Kleinere Werte ermöglichen eine setzt zudem einen vorherigen manuel-
Verwirrung. Letztlich zählt aber unter Linux niedrigere Verzögerung, größere gewähr- len Start des Audio-Servers Jack voraus
nur der Umgang mit dem Alsa-Backend. leisten mehr Stabilität – je nach Anwen- (siehe Kasten Den Audio-Server konfi
Als ersten Schritt der Einrichtung werfen dung müssen Sie hier etwas experimen gurieren). Wir haben für Jack eine Puffer-
Sie einen Blick in die aktuell von Alsa er- tieren. Die Werte im Beispiel funktionieren größe von 512 Byte gewählt, was der
zeugte Liste der Audioschnittstellen. Dazu auf dem RasPi 3 mit einem einfachen internen Klangerzeugung von Sonic Pi
verwenden Sie folgendes Kommando: USB-Interface der unteren Mittelklasse entspricht.
$ cat /proc/asound/cards solide. Die resultierende Verzögerung von
Alsa nummeriert die verfügbaren Sound- etwa 10 Millisekunden können nur Musi-
karten, allerdings nicht immer in zuverläs- ker mit einem geschulten Gehör noch
Listing 3
siger Reihenfolge. Hier bleiben Sie auf der wahrnehmen.
01 b
d_amp = 0.5
sicheren Seite, indem Sie das fragliche Die Option ‑Xseq schaltet den in Jack
02 h
h_amp = 0.5
Gerät statt über die Nummer über seinen eingebauten MIDI-Server ein, der sich
03
Alias (in der zweiten Spalte der Datei parallel zum Alsa-MIDI-Server nutzen lässt.
04 l
ive_loop :mixer do
cards) ansprechen. Für das im Artikel Mit dem Kommandozeilenprogramm A2j-
05 ctl, val = get ".../*/*/
verwendete Setup mit dem Behringer midi könnten Sie darüber hinaus bei
control_change"
UMC22 lautet der entsprechende Name Bedarf noch virtuelle Ports anlegen, die
06 bd_amp = val/127.0 if ctl
seltsamerweise CODEC. Im Setup hat sich beide Systeme miteinander verbinden.
== 1
der folgende Befehl für den Start des Das kleine ‑s am Ende des Ausfrufs fügt
07 hh_amp = val/127.0 if ctl
Audio-Servers bewährt und liefert ein sehr noch etwas mehr Toleranz gegen Ausset-
== 2
stabiles Laufzeitverhalten: zer im Audio-Stream des Backends hinzu.
08 sample :bd_haus, amp: bd_amp
$ jackd ‑p32 ‑t2000 ‑dalsa U Es gibt noch gut ein Dutzend weitere für 09 sleep 0.25
‑dhw:CODEC ‑r48000 ‑p512 ‑n2 U Jackd relevante Optionen. Im Alltagsein- 10 sample :drum_cymbal_closed,
‑Xseq ‑s satz zeigt sich allerdings immer wieder, amp: hh_amp
Mit der Option ‑p32 erzeugt Jackd nur dass die hier genannten die wichtigsten 11 sleep 0.25
maximal 32 statt der standardmäßig bis zu sind. (Hartmut Noack/jlu) 12 end
74 www.raspberry-pi-geek.de 05-06/2019
Sonic Pi (Teil 4) Know-how
Controller-Nachrichten
Das im Test verwendete Keyboard (Sie
2
sehen es in Abbildung ) verfügt über
12 Drehregler. Auch die von diesen er-
zeugten Controller-Nachrichten können
Sie per sync empfangen und im Proto-
kollfenster ausgeben, wie Listing 2 zeigt.
Der im Argument übergebene String
endet auf control_change. Als Rückgabe
erhalten Sie wieder ein Array mit zwei
Ganzzahlen. Die erste nennt die Nummer
des jeweiligen Reglers, die zweite dessen
Wert, der zwischen 0 und 127 liegt.
In vielen Situationen ist es besser,
Controller-Nachrichten mit der Funktion
get abzufragen. Anders als sync wartet
get nicht auf ein Ereignis, sondern liefert
die jeweils zuletzt empfangene Nach-
richt. Listing 3 zeigt ein entsprechendes
Anwendungsbeispiel: Der erste Drehreg-
ler steuert die Lautstärke der Bassdrum
(Zeile 6), der zweite die Lautstärke der 2 Das im Beispielaufbau verwendete Keyboard stellt 12 Drehregler bereit.
Hi-Hat (Zeile 7).
Die in Listing 3 gezeigte Lösung funk
tioniert zwar zuverlässig, erfordert aber Für die Aktualisierung des Hashes gibt
viel Tipparbeit. Listing 4 demonstriert es einen eigenen Live-Loop. Dort wartet
einen alternativen Weg: Die erste Zeile wie gehabt sync auf eine Controller-
legt einen leeren Hash namens vals an. Nachricht (Zeile 4). Die Zuweisung macht
Hashes speichern Schlüssel-Wert-Paare, sich die Tatsache zunutze, dass die Aus-
wobei die Schlüssel hier die Controller- wertung von Ausdrücken von links nach
Nummer repräsentieren. Die 64 steht für rechts abläuft: Zunächst speichert ctl
die Voreinstellung: Ist unter einem gege- die Controller-Nummer, dann schreibt
benen Schlüssel nichts gespeichert, lie- vals[ctl] den entsprechenden Wert in
fert der Hash diesen Wert. den Hash. In den Zeilen 9 und 11 liefern
vals[1] und vals[2] dann die jeweils
gespeicherten Werte.
Listing 4
01
vals = Hash.new(64) Notennachrichten senden
02
03
live_loop :val_updater do Typische externe Klangerzeuger mit
04 ctl, vals[ctl] = sync 3
MIDI-Eingang, wie den in Abbildung ,
".../*/*/control_change" steuern Sie mit der Funktion midi_note_
05 puts vals on an. Das erste Argument bezeichnet
06 end die Note, das zweite optional die An-
07 schlagsstärke. Lassen Sie das zweite
08
live_loop :beat do
09 sample :bd_haus, amp:
vals[1]/127.0 Listing 5
10 sleep 0.25
midi_note_on 42
11 sample :drum_cymbal_closed,
sleep 3
amp: vals[2]/127.0
12 sleep 0.25 midi_note_off 42
13 end end
05-06/2019 www.raspberry-pi-geek.de 75
Know-how Sonic Pi (Teil 4)
76 www.raspberry-pi-geek.de 05-06/2019
Sonic Pi (Teil 4) Know-how
dann lediglich die IP-Adresse des emp- nahme ablegt. Die Aufnahme selbst erle-
Listing 9
fangenden Rechners ermitteln und sie in digt der Effekt record, die Option buffer
01
import oscP5.*; die erste Zeile von Listing 8 eintragen. verweist auf b (dritte Zeile). Im zum Ef-
02 Falls Sonic Pi als Empfänger von OSC- fekt gehörigen Block spielt play eine vier
03
OscP5 oscP5; Nachrichten aus dem lokalen Netzwerk Schläge lange Note (vierte Zeile).
04
int c = 0; fungieren soll, setzen Sie unter Preferen- Der Speicherort der auf diese Weise
05 ces | IO das Häkchen bei Empfange ent- aufgenommenen Dateien verbirgt sich
06
void setup() { fernte OSC-Nachrichten. Dort können Sie tief im Verzeichnisbaum. Sie finden die
07 size(400, 400); übrigens auch die IP-Adresse ablesen. Datei mit einem vier Sekunden langen
08 frameRate(25); Sinusklang in diesem Fall unter /home/
09 oscP5 = new OscP5(this,
Externe Audiosignale pi/.sonic‑pi/store/default/cached_
12000); samples/rec.wav. Die dort gespeicher-
10 } Damit Sie am Audio-Interface einge ten Klänge lassen sich wie üblich per
11 hende Signale in Sonic Pi hören können, Pfadangabe auch abspielen.
12
void draw() { müssen Sie im Terminal mit dem Aufruf
13 background(c); qjackctl die grafische Oberfläche des Sample-Bibliothek
14 } Audio-Servers Jack öffnen und dort im
15 Feld Verbindungen den Eingang system/ Das Listing 13 zeigt, wie Sie mittels der
16 v
oid oscEvent(OscMessage msg) capture mit dem Ausgang SuperCollider/ eben demonstrierten Aufnahmefunktion
{
4
in verknüpfen . automatisiert komplette Klangbibliothe-
17 if (msg.checkAddrPattern("/ Mit der Funktion live_audio können ken erstellen. Die erste Zeile übergibt
color")) { Sie dann ein kontinuierliches externes nacheinander die ganzen Zahlen von 36
18 c = msg.get(0).intValue(); Signal einbauen und dafür beispielswei- bis 60 unter dem Namen note an den fol-
19 } se einen Effekt festlegen. In Listing 10 genden Block.
20 } versieht Sonic Pi das eingehende Signal Dort baut Zeile 2 aus dem Wert von
mit einem Hall. note ein Symbol, das später als Datei
Sehr viel interessanter erscheint die name fungiert. Hat note den Wert 36,
Möglichkeit, den Audioeingang nicht dann lautet der entsprechende Datei
dauerhaft zu öffnen, sondern nur für ei- name s beispielsweise :sin36. Die Zei-
nen definierten Zeitraum. Das gelingt len 4 bis 7 erledigen wie gehabt die Auf-
mittels des Synth :audio_in. Statt wie nahme. Im Ergebnis liegen nach dem
andere Synths ein Signal zu generieren, Programmlauf im Verzeichnis cached_
liefert :audio_in das externe Signal. samples/ 24 Audiodateien mit einer
Das Steuern von Dauer und Laut Dauer von jeweils einer Sekunde, die die
stärkeverlauf übernehmen die üblichen Noten von C1 bis C3 enthalten.
Synth-Optionen wie attack, sustain
und release. Listing 11 legt auf diese Wermutstropfen
Listing 10 Weise eine Lautstärkemodulation auf das
Signal – so könnten Sie Dubstep-artige Die Suche nach den passenden Jack-
with_fx :reverb do
Wobble-Bässe erzeugen. Optionen für das vorgestellte Setup er-
live_audio :rein
wies sich im Test als durchaus zermür-
end
Resampling bende Angelegenheit. Davor war der
Audio-Server häufig unter nicht reprodu-
Schon in sehr frühen Versionen konnte zierbaren Bedingungen abgeschmiert,
Listing 11 Sonic Pi mittels des Record-Knopfes teilweise erst nach mehreren Stunden
use_synth :sound_in oben links Dateien im WAV-Format auf- Betrieb. Insofern können wir den Einsatz
nehmen. Seit Version 3.0 funktioniert das unter Live-Bedingungen aktuell nur be-
live_loop :hacker do auch per Codebefehl. In der ersten Zeile dingt empfehlen, ausgiebige Tests sind
play 0, von Listing 12 legt die Funktion buffer in jedem Fall notwendig.
attack: 0.1, einen Audiopuffer mit einer Dauer von Bei Sonic Pi handelt es sich zwar um
sustain: 0, vier Schlägen an und speichert unter quelloffene Software, aber die Entwickler
release: 0.1 dem Namen b eine Referenz darauf. behandeln die Linux-Version zugunsten
sleep 0.2 Das Argument :rec legt den Datei von Windows und Mac OS stiefmütter-
end namen fest, unter dem Sonic Pi die Auf- lich. Die hier vorgestellten Sprachmittel
78 www.raspberry-pi-geek.de 05-06/2019
Sonic Pi (Teil 4) Know-how
4 Im grafischen Tool Qjackctl verbinden Sie die Eingänge des Audio-Interfaces (capture) mit SuperCollider.
gibt es erst seit Version 3.0. Das für ARM- Wenn Sie Zugriff auf einen Röhrenamp
Weitere Infos und
Architekturen vorliegende und hier ver- oder einen halligen Kellerraum haben, interessante Links
wendete Sonic Pi 3.0.1 ist bereits nicht könnten Sie diese verwenden, um anstel-
mehr ganz aktuell; für Linux auf dem PC le von Simulationen sehr reale Effekte auf www.raspi-geek.de/qr/42345
gibt es lediglich die Version 2.9. ganze Verzeichnisstrukturen von Klängen
zu rechnen. In einem diesbezüglichen
Fazit Test gelang es dem Autor, mit gerade
einmal 20 Zeilen Code 6000 Samples in
Sonic Pi überzeugt mit klugen Abstrak einem Rutsch durch reale Hardware zu
tionen, etwa bei der gleichartigen Be- schicken und zu resamplen. (jlu) n
handlung von Cues sowie MIDI- und
OSC-Nachrichten per sync und get. Es
mag zunächst seltsam erscheinen, dass Listing 12 Die Autoren
externe Audiosignale über einen Synth b = buffer :rec, 4 Der Medienkünstler Pit Noack ist Sonic-
hereinkommen und ein Effekt die Auf- Pi-Nutzer der ersten Stunde. In Hannover
nahme übernimmt. Tatsächlich ist auch gibt er im eigenen Atelier Programmier-
with_fx :record, buffer: b do
das konsequent gedacht – statt neue kurse zu Sonic Pi, Python und Processing
play 50, release: 4
Sprachmittel einzuführen, haben die Ent- für Laien und Profis.
wickler bestehende Strukturen erweitert. end
Hartmut Noack arbeitet in Celle und
Die in diesem Artikel vorgestellten Hannover als Dozent, Autor und Musiker.
Techniken machen im Verbund Anwen- Von seinem Webserver unter http://lapoc.
dungen möglich, die auch Profis faszi Listing 13 de können Sie einige CC-lizenzierte Ergeb-
nieren dürften. Denkbar wären etwa 01 (36..60).each do |note| nisse seiner Arbeit mit freier Musiksoft-
Multimedia-Installationen, bei denen per 02 s = ("sin" + note.to_s). ware herunterladen.
OSC kommunizierende Raspberry-Pi- to_sym Ungeachtet aller Gemeinsamkeiten hin-
Rechner dynamische Bild- und Klangwel- 03 b = buffer s, 1 sichtlich des Namens sowie der Berufe,
ten generieren. Die in Listing 12 vorge- 04 with_fx :record, buffer: b Hobbys und Arbeitsorte sind Pit Noack
stellte Methode zur automatisierten Pro- do und Hartmut Noack weder verwandt noch
duktion von Klangbibliotheken lässt sich 05 play note verschwägert und haben sich erst kürzlich
ausbauen, um beispielsweise Klänge von 06 sleep 1 über die Arbeit an Artikeln für dieses
per MIDI gesteuerten externen Synthesi- 07 end Magazin kennengelernt.
zern systematisch aufzuzeichnen. 08 end
05-06/2019 www.raspberry-pi-geek.de 79
Know-how I2C-Workshop (Teil 25)
80 www.raspberry-pi-geek.de 05-06/2019
I2C-Workshop (Teil 25) Know-how
lingt es, acht Adressen abzubilden. Falls fen Sie die Adresse ändern. Vergessen Sie
Gehäuseformen
Sie den unbeschalteten Zustand verwen- nicht, den Kurzschluss rückgängig zu
den möchten, müssen Sie dazu aller- machen, bevor Sie das Modul wieder mit In diesem Artikel ist von unterschiedlichen
dings die oben erwähnten Pulldown- Spannung versorgen. Gehäuseformen die Rede. Dual In Line
Widerstände vom Modul entfernen. (DIL) im klassischen Rastermaß von
2,54 Millimeter ist vermutlich in der
Das Modul wertet die Eingänge für Eingänge Hobbygemeinde die bekannteste und
die Adressen nur beim Einschalten der
Betriebsspannung aus. Um die Adressen Bei den Eingängen des MCP3424 handelt verbreitetste Bauform für Halbleiterbau-
steine. Das Rastermaß bezeichnet den
zu ändern, müssen Sie den MCP3424 es sich um Differenzspannungseingänge,
Abstand der Beinchen eines Bausteins.
also vom Strom trennen. Nun sind aller- was den Vorteil bietet, dass Sie damit an
Breadboards, wie sie bei vielen Projekten
dings auf dem Modul schon Kondensa- jeder beliebigen Stelle einer Schaltung
im ersten Anlauf zum Einsatz kommen,
toren verlötet. Sie puffern die Betriebs- die Spannung zwischen zwei Punkten
um testweise Schaltungen aufzubauen,
spannung länger, als Sie eventuell er- messen können. weisen exakt dieses Maß auf – es galt in
warten würden. Falls Sie schon einige Erfahrungen mit der Elektronik viele Jahre als Standard.
Der einzig sichere Weg, die Adresse A/D-Wandlern gemacht haben, kommt
Immer kleinere Geräte machten ein neues
des Moduls zu ändern, sieht deshalb Ihnen das vermutlich ungewöhnlich vor. Rastermaß von 1,27 Millimetern erforder-
folgendermaßen aus: Sie trennen das Nach kurzer Überlegung drängt sich lich. Diese neuere Größe heißt SO, was für
Modul von der Betriebsspannung und aber der Schluss auf, dass diese Art des Small Outline (kleiner Grundriss) steht.
schließen dann die Anschlüsse für die Messens viel flexibler ist. Benötigen Sie Solche Gehäuse fallen rund 30 bis 50 Pro-
Versorgungsspannung kurz, um die Kon- jedoch einen Wandler, der sich so wie die zent kleiner aus als diejenigen der Vor
densatoren zu entladen. Dann erst dür- etwas altmodischeren Modelle verhält, gänger mit DIL. SO-Gehäuse eignen sich
nur dazu, sie auf die Platine aufzulöten –
man muss also keine Beinchen mehr
Adressen durch die Platine schieben, was noch ein-
mal Platz auf der Platine spart. Das Ver-
Adresse 0 Adresse 1 I2C-Adresse
kleinern der Geräte reduziert zudem die
LOW LOW 0x68h Herstellungskosten, da der Materialauf-
LOW OPEN 0x69h wand geringer ausfällt.
LOW HIGH 0x6Ah Bei der Gehäuseform Thin-shrink Small
OPEN LOW 0x6Bh Outline Package (TSSOP) beträgt das
OPEN OPEN 0x68h Rastermaß nur noch 0,65 Millimeter.
OPEN HIGH 0x6Fh Diese Bausteine eignen sich gerade noch
HIGH LOW 0x6Ch dazu, sie manuell aufzulöten. Dazu
HIGH OPEN 0x6Dh braucht man aber eine wirklich ruhige
HIGH HIGH 0x6Eh Hand und gute Augen.
05-06/2019 www.raspberry-pi-geek.de 81
Know-how I2C-Workshop (Teil 25)
Kernel-Treiber
Der Einsatz eines Kernel-Treibers bietet
den Vorteil, dass Sie auf diese Weise aus
jeder Programmiersprache heraus Zu-
griff auf den Baustein erhalten. Es ist
sogar möglich, die Messwerte direkt auf
der Kommandozeile abzufragen. Aktuel-
le Versionen von Raspbian bringen den
fraglichen Treiber bereits mit, Sie brau-
chen ihn nur noch zu aktivieren. Den
Quellcode des Treibers finden Sie bei
Interesse auf Github .
Im ersten Schritt sollten Sie überprüfen,
ob das Kernel-Modul für den MCP3424
2 Das Pinout des MCP3424 führt alle Pins des IC auf die Beinchen des Moduls heraus. bereits geladen ist. Dazu verwenden Sie
das Kommando lsmod in einem Terminal.
Die Liste, die Sie vom System erhalten,
können Sie immer noch einen Anschluss Testaufbau fällt je nach Installation unterschiedlich
des Differenzeingangs auf ein festes Po- lang aus. Daher ist es sinnvoll, gezielt
tenzial legen. Als Testaufbau kommt die Konfiguration nach dem konkreten Modul zu filtern. Im
Der MCP3424 verwendet eine interne aus Teil 18 dieser Reihe zum Einsatz. konkreten Fall sieht das Kommando dazu
Referenzspannung von 2,048 Volt. Dieser Dort können Sie bei Bedarf nachlesen, wie folgt aus:
etwas unübliche Wert entspricht exakt wie Sie die I2C-Schnittstelle des Rasp
seinem Messbereich und den möglichen berry Pi aktivieren und die passende $ lsmod | grep ‑i mcp34
Messwerten, die der Baustein liefert. Das Software installieren. Auf dem Schalt-
heißt im Klartext: Die Werte, die Sie aus 3
plan erkennen Sie, wie Sie das Modul In der Regel sehen Sie als Ausgabe –
dem Baustein lesen, entsprechen genau anschließen. nichts. Um das Kernel-Modul zu aktivie-
der realen Spannung, Sie brauchen 4
Abbildung zeigt den Testaufbau ren, schreiben Sie nun die I2C-Adresse
nichts umzurechnen. in ganzer Pracht. Achten Sie darauf, Po- und den Typ des A/D-Wandlers in eine
Die I2C-Schnittstelle des MCP3424 un- tenziometer mit linearer Charakteristik spezielle Datei. Das funktioniert nur als
terstützt neben der Standardgeschwin- zu verwenden. Deren Widerstand hängt User root (Listing 2, erste Zeile). Ein einfa-
digkeit von 100 kHz den Fast-Modus mit linear vom Winkel des Schleifers ab, die ches Sudo hilft in diesem Fall nicht wei-
400 kHz und sogar den recht modernen Mittelstellung entspricht also der halben ter: Das Kommando hinter sudo würde
High-Speed-Modus mit 3,4 MHz. Benöti- Betriebsspannung. dann zwar mit administrativen Rechten
gen Sie weitere Informationen, werfen Sie Für einen ersten Test verwenden Sie ausgeführt, das Umleiten der Ausgabe
einen Blick ins Datenblatt des Chips . das Werkzeug I2cdetect. Dessen Ausga- aber wieder mit Benutzerrechten. Daher
Listing 1 Listing 2
$ i2cdetect ‑y 1 sudo su ‑
01 $
0 1 2 3 4 5 6 7 8 9 a b c d e f 02 # echo mcp3424 0x68 >
00: ‑‑ ‑‑ ‑‑ ‑‑ ‑‑ ‑‑ ‑‑ ‑‑ ‑‑ ‑‑ ‑‑ ‑‑ ‑‑ /sys/bus/i2c/devices/i2c‑1/
10: ‑‑ ‑‑ ‑‑ ‑‑ ‑‑ ‑‑ ‑‑ ‑‑ ‑‑ ‑‑ ‑‑ ‑‑ ‑‑ ‑‑ ‑‑ ‑‑ new_device
20: ‑‑ ‑‑ ‑‑ ‑‑ ‑‑ ‑‑ ‑‑ ‑‑ ‑‑ ‑‑ ‑‑ ‑‑ ‑‑ ‑‑ ‑‑ ‑‑ 03 # exit
30: ‑‑ ‑‑ ‑‑ ‑‑ ‑‑ ‑‑ ‑‑ ‑‑ ‑‑ ‑‑ ‑‑ ‑‑ ‑‑ ‑‑ ‑‑ ‑‑ 04 logout
40: ‑‑ ‑‑ ‑‑ ‑‑ ‑‑ ‑‑ ‑‑ ‑‑ ‑‑ ‑‑ ‑‑ ‑‑ ‑‑ ‑‑ ‑‑ ‑‑ 05 $ lsmod | grep ‑i mcp34
50: ‑‑ ‑‑ ‑‑ ‑‑ ‑‑ ‑‑ ‑‑ ‑‑ ‑‑ ‑‑ ‑‑ ‑‑ ‑‑ ‑‑ ‑‑ ‑‑ 06 c p3422 16384 0
60: ‑‑ ‑‑ ‑‑ ‑‑ ‑‑ ‑‑ ‑‑ ‑‑ 68 ‑‑ ‑‑ ‑‑ ‑‑ ‑‑ ‑‑ ‑‑ 07 i ndustrialio 73728 1
70: ‑‑ ‑‑ ‑‑ ‑‑ ‑‑ ‑‑ ‑‑ ‑‑ mcp3422
82 www.raspberry-pi-geek.de 05-06/2019
I2C-Workshop (Teil 25) Know-how
05-06/2019 www.raspberry-pi-geek.de 83
Know-how I2C-Workshop (Teil 25)
4 Der komplette Messaufbau samt Potenziometern erfolgte der Einfachheit halber auf einem Breadboard.
wie bei den meisten anderen A/D-Wand- zahl von Schaltungen einsetzen. Wäh-
Weitere Infos und
lern können Sie verzichten. Das funktio- rend der Tests trat kein einziges Mal so
interessante Links
niert, weil der Hersteller die interne Refe- etwas wie Kanalübersprechen auf;
www.raspi-geek.de/qr/42729 renzspannung des Wandlers genau auf weder ein thermisches Weglaufen der
seine Auflösung angepasst hat. Messwerte noch Messschwankungen
Die Eingänge haben einen Messbe- ließen sich feststellen.
reich von rund +2 Volt bis ‑2 Volt. Sie Alles in allem verhält sich der MCP3424
dürfen mit den Potis allerdings eine exakt so, wie es sich der Bastler wünscht.
Spannung bis zu 3,3 Volt an die Eingänge Die Idee, die Referenzspannung so anzu-
des Wandlers legen. Das bedeutet, dass passen, dass man nichts mehr umzurech-
der Wandler beim letzten Winkelgrad des nen braucht, ist genial – und das alles bei
Listing 4 Potis immer den Maximalwert anzeigt – einem Preis von lediglich 4 Euro. (agr) n
$ watch ‑n 0.5 'cat /sys/bus/ das ist kein Fehler.
i2c/devices/1‑0068/iio:device0/
in_voltage*_raw' Fazit Der Autor
Martin Mohrs früh entwickelte Vorliebe
Every 0.5s: cat /sys/bus/i2c/ Der Autor gesteht, dass er früher der
für alles, was blinkt, wurde durch eine
devices/1‑0068/iio:device0/ Meinung war, es gäbe durchaus schon
Ausbildung zum Elektroniker noch ver-
in_v... raspberrypi: genug A/D-Wandler auf der Welt – das
stärkt. Nach einem Informatikstudium
hat sich durch die nähere Bekanntschaft
beschäftigte er sich überwiegend mit
1646 mit dem MCP3424 jedoch grundlegend
dem Entwickeln von Java-Applikationen.
1566 geändert. Um es kurz zu fassen: Der Mit dem Raspberry Pi erwachte die alte
1442 MCP3424 ist ein echt cooles Teil, und er Liebe zur Elektronik wieder.
‑627 lässt sich völlig problemlos für eine Viel-
84 www.raspberry-pi-geek.de 05-06/2019
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
iGo3D GmbH 3D
86
Anzeigen Geek Bazar
pi3g e.K. Z B D
Zschochersche Allee 1 pi3g macht das Leben einfacher. Wir liefern Ihnen gut aufeinander
04207 Leipzig 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.
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
87
Impressum Service
Deutschland:
4PLAYERS, AREAMOBILE, BUFFED, GAMESWORLD, GAMESZONE, GOLEM, LINUX-COMMUNITY,
LINUX-MAGAZIN, LINUXUSER, MAKING GAMES, N-ZONE, GAMES AKTUELL, PC GAMES, PC GAMES HARDWARE,
PC GAMES MMORE, PLAY 4, RASPBERRY PI GEEK, SFT, VIDEOGAMESZONE, WIDESCREEN
Marquard Media Polska:
CKM, COSMOPOLITAN, ESQUIRE, HARPER'S BAZAAR, JOY, KOZACZEK, PAPILOT, PLAYBOY, ZEBERKA
Marquard Media Hungary:
APA, ÉVA, GYEREKLÉLEK, INSTYLE, JOY, MEN`S HEALTH, PLAYBOY, RUNNER`S WORLD, SHAPE
89
Service Vorschau/Autoren/Inserenten
Kleine Displays
Viele Aufgaben erledigt der Raspberry Pi
zwar ohne direkte Kontrolle durch den
Anwender, doch in manchen Fällen ist
ein gelegentlicher Blick auf Messergeb
nisse oder die Parameter des Systems
unumgänglich. Dann hilft ein kleines
Display. Wer hier aber beim Kauf nicht
aufpasst, hat hinterher viel Ärger. Wir
Autoren Inserenten
Bernhard Bablok Ausgepackt: Neue Hardware in der Kurzvorstellung 8 Computec IT-Academy www.computec-academy.de 39, 69, 88
Make Munich 2019 – buntes Treffen der Maker-Szene 12 Fernschule Weber GmbH www.fernschule-weber.de 19
Witty Pi Mini: Zeitsteuerung für den Raspberry Pi 66 Grazer Linux-Tage www.linuxtage.at 9
Erik Bärwaldt Den Raspberry Pi aus der Ferne steuern mit Anydesk 22 Linux-Community www.linux-community.de 89
Linux-Magazin www.linux-magazin.de 41
Anke Dietzen Stromsparender Infoscreen mit E-Ink-Displays 42
Linux-Magazin Online www.linux-magazin.de 77
Christoph Langner Netflix und Amazon Prime streamen mit LibreElec 9.0 26
Linuxhotel www.linuxhotel.de 25
Die Pintexx Pinbox gräbt per RDP Tunnel ins eigene LAN 60
LinuxUser www.linux-user.de 71, 91
Martin Mohr Report: Besuch auf der Embedded World 2019 16
PC Games Hardware www.pcgameshardware.de 58, 59
Fischertechnik-Robot steuern mit PiXtend und Codesys 34
Qube Solutions UG www.qube-solutions.de 15
WLAN-Sensor zum Überwachen des Raumklimas 50 Raspberry Pi Geek www.raspberry-pi-geek.de 49, 85
I2C-Workshop (Teil 25): A/D-Wandler MCP3424 80 Reichelt Elektronik www.reichelt.de 11, 21
Hartmut Noack Audio-Programmierung mit Sonic Pi (Teil 4) 72 SFT www.spielefilmetechnik.de 2
Pit Noack Audio-Programmierung mit Sonic Pi (Teil 4) 72 Tuxedo Computers GmbH www.linux-onlineshop.de 92
Uwe Vollbracht Angetestet: Aktuelle Software im Kurztest 6 Widescreen www.widescreen-online.de 65
90 www.raspberry-pi-geek.de 01-02/2017