Von Arduino und Raspberry: Einplatinenrechner im Überblick
Von Software und Hardware
Während zumindest die Programmierung von Software schon seit Jahrzehnten mit tendenziell niedrigen Hürden besetzt ist, stellte die Realisierung von eigenen Projekten, welche sowohl angepasste Hardware- als auch Software erfordern, durchaus ein Problem dar. Die konkrete Programmierung von Mikrochips ist alles andere als trivial und benötigt spezielle Ausrüstung. Die seit 2012 verstärkt im Privatbereich aufkommenden Einplatinenrechner machen genau solche Projekte deutlich einfacher.
In diesem Artikel wollen wir einen Einblick in die Welt der Einplatinenrechner geben, Möglichkeiten aufzeigen und eine erste Auswahlhilfe geben. Im Folgenden sei der etwas eigentümliche Gebrauch des Begriffs verziehen - mit Einplatinenrechner meinen wir im Folgenden die in der Maker-Szene populären, auch für Heimanwender zugänglichen, potentiell günstigen Systeme mit analogen und digitalen Ein- und Ausgängen für Sensoren und Aktoren.
Entwicklerboards
Mit Entwicklerboards meinen wir insbesondere solche Platinen, bei denen der Aspekt der Nutzung der Schnittstellen und dem Gebrauch des Einplatinenrechner als Steuerungsplattform dem der reinen Nutzung von Software überwiegt - so wird ein Arduino niemals als Videobeschleuniger für das Heimkino eingesetzt werden, ein Raspberry Pi wiederum wäre zur bewegungsabhängigen Steuerung einer Beleuchtung reichlich überdimensioniert.
Ist von Entwicklerboards die Rede, führt eigentlich kein Weg an Arduino vorbei. Dabei ist Arduino nicht nur eine Reihe von Entwicklerboards, sondern eine quelloffene Plattform. Dementsprechend existieren nicht nur zahllose, passende Hardware-Erweiterungen, sondern auch fertige Software-Projekte und -Pakete und günstige Nachbauten der eigentlichen Platinen.
Grundsätzlich basiert die Plattform auf Mikrocontroller vom Hersteller Atmel-AVR, die Leistungsfähigkeit der Modelle darf in erster Näherung mit einem besseren Taschenrechner verglichen werden. Abhängig von der konkreten Modellvariante sind einige bis sehr viele Anschlüsse zur Anbindung externer Sensoren und Aktoren integriert, auch Ausgabegeräte wie Lautsprecher oder spezielle Displays können angebunden werden.
Abhängig von der Größe der Entwicklerplatine erfolgt die Anbindung von Sensoren und Aktoren entweder über eine sogenannte Stiftleiste, was die Verkabelung mit passenden, mit Pfostensteckern ausgestatteten Flachbandkabel besonders einfach macht. Kleine Modelle bringen als Löcher ausgeführte Kontakte mit. In beiden Fällen ist die Nutzung eines Steckbrettes bei Versuchen sinnvoll, dasselbe gilt für Disziplin bei der Verkabelung.
Die Zahl der Anschlüsse ist für absolute Anfänger zu Beginn weniger relevant, wichtiger ist hingegen die Kompatibilität: Wir empfehlen definitiv die Nutzung eines Arduino-kompatiblen Modells. Konkret können wir dort zum überaus vielseitigen Arduino UNO raten, wobei der Autor mit dem ELEGOO Uno R3 ebenfalls positive Erfahrungen sammeln konnte. Wer von vornherein auf kompakte Abmessungen achtet, macht mit dem Arduino Nano oder entsprechenden Alternativen von Drittherstellern ebenfalls nichts falsch. Ein besonders kompaktes Modell stellt der Digispark Mini bei.
Nicht vergessen sollte man an dieser Stelle die Kommunikationsmöglichkeiten mit der Außenwelt: Ein Arduino muss grundsätzlich über USB angebunden werden, ist der PC-unabhängige Einsatz vorgesehen, kann eine Stromversorgung über eine Powerbank oder Akku und auch ein WiFi-Modul etwa zur beständigen Messwertausgabe Sinn machen. Einige Entwicklerplatinen erhalten bereits eine Ladeelektronik und WiFi- und Bluetooth-Kompatibilität.
Sensoren, Aktoren, Ausgabemöglichkeiten
Die einzelnen Ein- und Ausgänge können nach dem Anstecken und der Definition im Programm einfach angesprochen werden. Die Produktpalette reicht auf Sensor-Seite von Tastern und Potentiometern über Feuchtigkeitssensoren bis zu Abstands- und Lagesensoren. LEDs, Lautsprecher und Displays können zur Ausgabe verwendet werden. Weiterhin stehen auch komplexe Module zur Verfügung. Die einzelnen Bauteile sind überaus günstig auch direkt aus Fernost erhältlich.
Sowohl anspruchsvollere Sensoren als auch Ausgabegeräte wie etwa Motoren und Displays werden vom Nutzer üblicherweise mit sogenannten Libraries angesprochen. Diese enthalten Codezeilen, welche den Umgang zwischen Einplatinenrechner und den Sensoren regeln, was Entwicklungsaufwand spart und die Übersichtlichkeit im eigenen Programmcode wahrt.
Impressionen
Grundsätzlich können auch überaus komplexe Projekte mit Arduino-Boards realisiert werden, die auch als Grundlage für die Anwendung von Automatisierungstechnik im Haushalt dienen können. Nicht zu vernachlässigen ist auch die Möglichkeit, Arduino-Projekte in bestehende Smart Home-Umgebungen einzureihen, was in einigen Fällen viel Geld für spezielle, kommerzielle Sensoren sparen kann.
Für Einsteiger gibt es eine riesige Zahl, gut dokumentierte Projekte, die insbesondere die an C-angelehnte Programmiersprache und den Umgang mit dem IDE nahebringen. Komplette Anfänger können auch innerhalb eines Nachmittags sinnvolle Projekte realisieren, so kann beispielsweise mit einem Entfernungsmesser und einer LED ein Kollisionswarner realisiert werden, wird der Entfernungsmesser durch einen Feuchtigkeitssensor ersetzt, lässt sich der Feuchtegehalt von Blumenerde anzeigen - und dann ist der Weg zu einer vollautomatisierten Pflanzbox nicht mehr weit.
PC-ähnliche Einplatinenrechner
PC-ähnliche Einplatinenrechner sind - unserer Definition nach - in der Lage, typische Betriebssysteme mit grafischer Oberfläche auszuführen und können potenziell als vollwertiger Computer genutzt werden. Die Rechenleistung solcher Modelle liegt dabei deutlich über derer von Entwicklerplatinen.
Der wichtigste Vertreter stellt zweifelsohne der Raspberry Pi dar. Das inzwischen vierte Modell bringt ein CPU mit vier Cortex A72-Kernen und einen bis zu vier Gigabyte großen Arbeitsspeicher mit. Die GPU unterstützt dabei auch die Wiedergabe von 4K-Material, dank USB, Ethernet und WiFi lässt sich das Modell nach dem Einstecken einer microSD-Karte mit dem Betriebssystem wie ein üblicher Linux-PC nutzen.
Der Raspberry Pi und auch andere Einplatinenrechner dieses Typs können grundsätzlich ohne große Änderungen an der eigentlichen Hardware und ohne die Anbindung zusätzlicher Geräte sehr einfach etwa als Netzwerkspeicher oder Medienserver genutzt werden. Überaus populär ist auch die Anwendung als Emulationsstation für alte Videospiele. Die Anbindung von entsprechenden Sensoren und Aktoren ist wie bei Arduino-Derivaten ebenfalls möglich.
Inzwischen ist eine kaum zu überblickender Anzahl von Einplatinencomputern auf dem Markt, die zum Teil auf sehr spezielle Anwendungen abzielen. Hier sind insbesondere die Orange Pi- und Banana Pi-Modelle zu nennen, dazu kommt beispielsweise das ASUS Tinker Board. Potenzielle Käufer sollten hier dringend auf den Software-Support und nicht zuletzt die Größe der Community achten - so lässt sich hinten heraus eher mit Einschränkungen umgehen als am Anfang mit frustrierenden Treiber-Problemen. Eine eher kleine Unterkategorie bilden in diesem Zusammenhang auch die x86-Boards, hier ist insbesondere der Atomic Pi zu nennen.