Lesezeit ca. 17 Min.
arrow_back

Kampf der Zwerge


Logo von Raspberry Pi Geek
Raspberry Pi Geek - epaper ⋅ Ausgabe 10/2022 vom 04.08.2022
Artikelbild für den Artikel "Kampf der Zwerge" aus der Ausgabe 10/2022 von Raspberry Pi Geek. Dieses epaper sofort kaufen oder online lesen mit der Zeitschriften-Flatrate United Kiosk NEWS.

Bildquelle: Raspberry Pi Geek, Ausgabe 10/2022

README

Wegen des chronischen Chipmangels sind neue RasPis häufig nur noch mit langen Lieferzeiten oder zu stark erhöhten Preisen zu haben. Doch es gibt Alternativen. Ob die sich als Ersatz für den beliebten Kleinstrechner eignen, klärt unser Test, in dem weniger die Leistungsfähigkeit im Vordergrund steht, sondern vielmehr die Schnittstellen.

Der Raspberry Pi ist aktuell kaum noch zu vernünftigen Preisen zu haben. Daher sehen wir uns im Folgenden drei mögliche Kandidaten an, die in Projekten einen RasPi ersetzen könnten. Wir legen dabei den Fokus nicht auf die pure Rechenleistung, sondern sehen uns die für ein typisches RasPi-Projekt relevanten Punkte genauer an.

Dazu zählen zum Beispiel die Möglichkeiten der GPIO. Erst diese flexible Schnittstelle machte den Raspberry Pi unter Bastlern so beliebt. Daneben spielt das Betriebssystem eine wichtige Rolle: Ohne die nötigen Softwarepakete fällt es ...

Weiterlesen
epaper-Einzelheft 9,99€
NEWS Jetzt gratis testen
Bereits gekauft?Anmelden & Lesen
Leseprobe: Abdruck mit freundlicher Genehmigung von Raspberry Pi Geek. Alle Rechte vorbehalten.
Lesen Sie jetzt diesen Artikel und viele weitere spannende Reportagen, Interviews, Hintergrundberichte, Kommentare und mehr aus über 1050 Magazinen und Zeitungen. Mit der Zeitschriften-Flatrate NEWS von United Kiosk können Sie nicht nur in den aktuellen Ausgaben, sondern auch in Sonderheften und im umfassenden Archiv der Titel stöbern und nach Ihren Themen und Interessensgebieten suchen. Neben der großen Auswahl und dem einfachen Zugriff auf das aktuelle Wissen der Welt profitieren Sie unter anderem von diesen fünf Vorteilen:

  • Schwerpunkt auf deutschsprachige Magazine
  • Papier sparen & Umwelt schonen
  • Nur bei uns: Leselisten (wie Playlists)
  • Zertifizierte Sicherheit
  • Freundlicher Service
Erfahren Sie hier mehr über United Kiosk NEWS.

Mehr aus dieser Ausgabe

Titelbild der Ausgabe 10/2022 von Zeit für Bescheidenheit. Zeitschriften als Abo oder epaper bei United Kiosk online kaufen.
Zeit für Bescheidenheit
Titelbild der Ausgabe 10/2022 von Lesehilfe Mit. Zeitschriften als Abo oder epaper bei United Kiosk online kaufen.
Lesehilfe Mit
Titelbild der Ausgabe 10/2022 von Honigtopf. Zeitschriften als Abo oder epaper bei United Kiosk online kaufen.
Honigtopf
Titelbild der Ausgabe 10/2022 von Aufpasser. Zeitschriften als Abo oder epaper bei United Kiosk online kaufen.
Aufpasser
Mehr Lesetipps
Blättern im Magazin
Verbrauchskontrolle
Vorheriger Artikel
Verbrauchskontrolle
Voll kindgerecht
Nächster Artikel
Voll kindgerecht
Mehr Lesetipps

... schwer, ein interessantes Projekt auf einem Stück Hardware umzusetzen.

Dieser Artikel geht bewusst nur auf die Arbeit mit der Software-SPI-Schnittstelle ein. Alle hier vorgestellten SBCs verfügen aber auch über mehrere Hardware-SPI-Interfaces. Deren Konfiguration für alle Rechner zu beschreiben, würde den Rahmen des Artikels sprengen.

Die Kandidaten

Bei den möglichen Alternativen zum Raspberry Pi handelt es sich um das Jetson Nano 2 GByte Developer Kit von Nvidia, den Odroid XU4 und den Rock Pi 4 Model B 4GB . Das soll nicht bedeuten, dass es keine anderen SBCs gäbe, die in der Lage wären, einen RasPi in einem Projekt zu ersetzen. Dafür genügt unter Umständen schon ein recht günstiger Mikrocontroller wie der ESP32.

Die Tabelle Technische Daten der Kandidaten fasst zur besseren Übersicht die Eckdaten der drei Geräte zusammen. Die in der Tabelle angegebenen Lieferzeiten und Preise sollten Sie aber mit Vorsicht genießen. Einerseits gibt es etliche Händler, die zu einem höheren Preis sofort liefern. Andererseits kann sich von heute auf morgen die Verfügbarkeit verbessern oder verschlechtern – der Fluch der Globalisierung.

Im Folgenden geben wir Ihnen einen Überblick über den Aufbau und die Einsatzgebiete der drei Boards. Alle verfügen über eine RasPi-kompatible GPIO. Um einen 40-Pin-Header zu verwenden, benötigen Sie beim Odroid XU4 einen zusätzlichen Adapter . Das Jetson-Board lässt sich ohne Lüfter betreiben; es schadet aber auch nicht, einen zu montieren .

Testaufbau

Um zu sehen, wie die drei Kandidaten arbeiten, nutzen wir einen Testaufbau, der an der GPIO des Raspberry Pi arbeiten würde. Er besteht aus zwei Tastern, zwei LEDs, dem I2C-Temperatursensor LM75 und dem AD-Wandler MCP3008 mit SPI-Schnittstelle. Die Bauteile montierte der Autor auf ein Breadboard und verband sie über eine 40-polige Flachbandleitung mit den GPIOs der drei Boards 1.

Den dazugehörigen Schaltplan zeigt Abbildung2 2. Darin lässt sich gut erkennen, an welchen GPIO-Ports Sie die einzelnen Bauteile anschließen. In den folgenden Abschnitten zeigen wir die nötigen Schritte, um diesen Aufbau an den unterschiedlichen Boards zum Laufen zu bekommen. Wir starten jeweils bei null, der erste Schritt besteht immer aus der Installation des Betriebssystems. Danach beschreiben wir sämtliche Arbeiten, bis der Testaufbau läuft.

Jetson Nano: Basics

Das Nvidia Jetson Nano 2GB Developer Kit3 3hat der Hersteller als Lern- und Ausbildungsplattform für die Bereiche Robotik und künstliche Intelligenz konzipiert. Über einen 40-poligen GPIO-Header lassen sich externe Komponenten ansteuern. Der Header besitzt einen ähnlichen Aufbau wie die GPIO des RasPi. Das Kit besteht aus einem Jetson-Modul mit den Maßen von etwa 70 x 45 Millimetern, das auf dem sogenannten DevBoard Platz findet. Dieses stellt alle Schnittstellen bereit, darunter HDMI, USB und die GPIO. Das Jetson-Modul selbst verfügt über einen hochintegrierten Steckverbinder, über den es die Verbindungen zur Außenwelt herstellt. Das Kit verfolgt somit eine ähnliche Philosophie wie das Raspberry Pi Compute Modul. Als Spannungsversorgung für das Board benötigen Sie ein USB-C-Netzteil mit mindestens 3 Ampere Ausgangsleistung.

Jetson Nano: OS

Für den Jetson Nano gibt es ein speziell auf die Hardware zugeschnittenes Ubuntu 18.04. Das gepackte Image mit stattlichen 6 GByte Umfang finden Sie auf der Webseite des Herstellers . Nach dem Entpacken des ZIP-Archivs belegt das Image fast 14 GByte. Damit ausreichend Platz für Anwendungen zur Verfügung steht, empfiehlt Nvidia eine SD-Karte mit 64 GByte Kapazität. Mit ein wenig Tüftelarbeit bekommt man das Image auch auf einer 32-GByte-SD-Karte zum Laufen. Das erfordert allerdings viele manuelle Änderungen bei der Installation.

Das entpackte Image schreiben Sie per RPi Imager auf die SD-Karte4 4. Der Schreibprozess dauert länger als bei einem PI-OS-Image. Nach dem Beschreiben der Karte stecken Sie diese in den Jetson und schalten die Spannungsversorgung ein. Das Board bootet in das Standard-Ubuntu-Setup, das die Entwickler um einige Screens erweiterten. Sie erlauben etwa, die CPU-Leistung zugunsten des Stromverbrauchs herunterzuregeln. Als Faustregel gilt: Passen Sie so wenig wie möglich an.

Nach Abschluss der Installation bootet der Jetson neu. Zunächst aktualisieren Sie die Software, indem Sie in einem LX-Terminal sudo apt update und sudo apt upgrade eingeben. Das Terminal finden Sie bei den Systemtools. Um die Änderungen zu übernehmen, starten Sie mit sudo reboot das Systems neu.

Jetson: GPIO

Um die GPIO des Jetson-Boards anzusteuern, verwenden Sie eine Standardinstallation aus der Python-Bibliothek . Interessanterweise fehlt der Nano-Editor, den Sie via sudo apt install nano nachinstallieren. Listing 1 zeigt ein einfaches Python-Programm, das die zwei LEDs auf dem Testaufbau blinken lässt und die Taster mithilfe von Interrupts abfragt. Zum Starten des GPIO-Testprogramms geben Sie im Terminal das Kommando python3 GPIOtest.py ein.

Die GPIO des Jetson ähnelt der des RasPi. Es gibt allerdings einige Unterschiede, die beim Blick auf das Pinout5 5auffallen. Die GPIO-Nummern für die einzelnen Pins unterscheiden sich komplett von denen beim Raspberry Pi (Spalte Linux(BCM)). Die für das Beispielprogramm eingesetzte Bibliothek ermöglicht jedoch, die bei Raspberry Pi üblichen BCM-Nummern zu verwenden. Weiter besitzen die Pins mit Sonderfunktionen gar keine GPIO-Nummern. Das bedeutet, dass sich diese Pins anders als beim Raspberry Pi nicht als normale GPIO-Anschlüsse verwenden lassen.

Beim Experimentieren mit der Jetson-GPIO fiel auf, dass die üblichen 10-kOhm-Pulldown-Widerstände, die beim RasPi funktionieren, für den Jetson scheinbar ein wenig zu groß ausfallen. Daher wichen sie im Testaufbau 1-kOhm-Widerständen. Ein weiterer zu beachtender Punkt betrifft die Sonderfunktionen der GPIO-Ports – hier liegt der RasPi 4 eindeutig vorn. Der Jetson lässt sich in seinem Funktionsumfang eher mit einem Raspberry Pi 3 vergleichen. Allerdings nutzen nur wenige Projekte die erweiterte Funktionalität des RasPi 4 aus. Daher sollte man auf diesen Punkt nicht allzu viel Gewicht legen.

Jetson: I 2C

Die I2C-Schnittstelle führt der Jetson wie der Konkurrent RasPi über die Pins 3 und 5 heraus. Um auf den I 2C-Bus zuzugreifen, verwenden Sie wie gewohnt die I 2C-Tools. Der einzige Unterschied hierbei: Das Kommando i2c‐detect müssen Sie um die Option ‐r ergänzen, damit es die Geräte am I 2 C-Bus erkennt. Listing 2 veranschaulicht die Ausgabe des Testaufbaus; den LM75 identifiziert das Tool an der Adresse 0x48h.

Mit dem Kommando i2cget ‐y 0x01: *0x48:*0x00 lesen Sie das Temperaturregister des LM75 aus. Da es schwerfällt, Hexadezimalzahlen im Kopf in das dezimale Pendant umzurechnen, verwenden Sie das Kommando aus der letzten Zeile von Listing 2, um sich die Temperatur als ganzzahligen Wert ausgeben zu lassen.

Dabei übernimmt bc mit den Parametern obase=10; ibase=16; das eigentliche Umrechnen. Das cut und tr formen die Ausgabe passend um.

Jetson: SPI

Um die SPI-Funktionalität zu testen, verwenden Sie nicht die Python-Bibliothek, sondern die Möglichkeit, die GPIO via Sysfs anzusteuern. Dieser Weg bietet den Vorteil, dass er sich in jeder Programmiersprache nutzen lässt, die in der Lage ist, auf die Dateien zuzugreifen. Wenn wir das /sys Filesystem nutzen, gilt es, die mit Linux(BCM)gekennzeichneten GPIO-Nummern 5 5zu verwenden.

Im Programm aus Listing 3 dient Java zum Ansteuern der SPI-Schnittstelle. Um es auf dem Jetson zu installieren, richten Sie mit dem Aufruf sudo apt install openjdk‐11jdk das OpenJDK ein. Das Programm umfasst drei Methoden, die Grundfunktionen für den Zugriff auf die GPIO bereitstellen. Das Initialisieren der GPIOs (In/​Out) übernimmt initGPIO() (ab Zeile 6). Für das Lesen und Schreiben von Werten sind readGPIO() (ab Zeile 12) und writeGPIO() (ab Zeile 23) zuständig.

Im Konstruktor der Klasse (ab Zeile 32) werden nur die IO-Ports gesetzt und die Nvidia Pin-Nummern für die SPI-Schnittstelle übergeben. Der interessanteste Teil des Programms findet sich in der Methode readChannel() ab Zeile 42. Sie spricht den MCP3008 mit der Nummer des Kanals an und wertet die Antwort des Chips aus. Da der MCP3008 ein etwas eigenwilliges Verhalten an den Tag legt, fällt es tatsächlich leichter, ihn per Software-SPI anzusprechen. Die erste For-Schleife (ab Zeile 48) überträgt zunächst 5 Bit, um den MCP3008 zu initialisieren und ihm mitzuteilen, welchen Analogkanal das Programm auslesen möchte. Mit dem sechsten Taktzyklus beginnt der MCP3008 12-Bit-Daten zu senden, die die zweite For-Schleife empfängt und verarbeitet (ab Zeile 59).

Um das Testprogramm möglichst einfach zu halten, verzichtet es auf eine Fehlerbehandlung. Zum Bauen und Starten des Programms verwenden Sie die Kommandos javac MCP3008.java und java MCP3008.

Jetson: Lüfter

Der Einsatz des Lüfters ist beim Jetson eher optional, daher berücksichtigt ihn die Basisinstallation des Betriebssystems nicht. Um ihn zu aktivieren, verwenden Sie das Kommando aus der ersten Zeile von Listing 4. Die Zahl 128 gibt dabei an, wie schnell sich der Lüfter drehen soll, der zulässige Wertebereich bewegt sich zwischen 0 und 255.

Um den Lüfter sinnvoll ansteuern zu können, benötigen Sie die Temperatur des Boards. Der Jetson verfügt über mehrere Temperatursensoren, die Sie mit dem Kommando aus der zweiten Zeile des Listings abfragen. Um herauszubekommen, welche Temperatur zu welcher konkreten Zone gehört, verwenden Sie das Kommando aus der letzten Zeile.

Mit diesen Informationen versehen, genügen ein kleines Shell-Skript und ein Cronjob, und schon funktioniert die Temperaturregelung für den Jetson.

Jetson: Fazit

Im Großen und Ganzen können Sie mit der Jetson-GPIO zumindest theoretisch dieselben Projekte umsetzen wie mit der GPIO des RasPi. Man darf dabei allerdings nicht erwarten, dass sämtliche Programme auf Anhieb eins zu eins so arbeiten wie beim Kollegen Raspberry Pi. Die unterschiedlichen Nummern für die GPIO-Pins bedeuten letztlich aber nur eine kleine Hürde, die versierte Bastler mühelos nehmen sollten. Die I 2C-Schnittstelle funktionierte auf Anhieb wie prognostiziert und das SPI-Testprogramm lieferte ebenfalls keine besonders überraschenden Ergebnisse.

Wollen Sie speziell für den RasPi entwickelte Schaltungen einsetzen, sollten Sie jedoch unbedingt vorab überprüfen, ob alle Sonderfunktionen der Pins auch tatsächlich an den Stellen liegen, an denen Sie sie erwarten. Im schlechtesten Fall könnten sogar die leicht abweichenden elektrischen Eigenschaften einige Probleme nach sich ziehen.

Odroid: Basics

Der Odroid XU46 6ähnelt dem Raspberry Pi in vielerlei Hinsicht. Er weist zum Beispiel fast dieselbe Größe und ähnliche Leistungsdaten auf wie der RasPi. Die Grundidee des südkoreanischen Herstellers war es, eine RasPi-Alternative auf den Markt zu bringen, aber mit einigen Vorteilen gegenüber dem Original.

Grob gesagt rangiert der Odroid XU4 leistungstechnisch in der Liga des Raspberry Pi 3, wobei es einige echte Stärken im Vergleich zum RasPi gibt, die wir uns im Folgenden ein wenig genauer ansehen. Einen echten Nachteil für den Bastler stellen jedoch die geringen Abstände der GPIO-Pins beim XU4 dar. Um trotzdem gut mit dem Odroid arbeiten zu können, verwenden wir den eingangs schon erwähnten Adapter, der eine RasPi-ähnliche GPIO bereitstellt.

Zur Stromversorgung benötigen Sie ein Netzteil mit 5 Volt Ausgangsspannung und einer Stromstärke von 4 Ampere. Angeschlossen wird es über einen runden 5,5-Millimeter-Stecker mit innenliegendem Pluspol. Ein USB-Netzteil von der Stange wie beim RasPi lässt sich nicht nutzen. Den verbauten Lüfter steuert der Odroid XU4 automatisch an.

Odroid: Betriebssystem

Für den Odroid XU4 finden sich auf der Webseite des Herstellers Android 4.4.4 und Ubuntu 22.04 in verschiedenen Varianten. Sie transferieren die Images wie gewohnt mit dem RPi Imager auf eine SD-Karte. Als Alternative dazu verfügt der Odroid über einen Sockel für eine eMMC (Embedded Multi-Media Card). Die bietet den Vorteil, dass sie beim Lesen von Daten erheblich schneller agiert als eine SD-Karte und beim Schreiben nur selten langsamer. Die eMMC verhält sich um einiges betriebssicherer als die SD-Karte. Unterm Strich eignet sich eine SD-Karte optimal zum schnellen Testen, für den Dauerbetrieb sollten Sie eine eMMC nutzen.

Der Odroid besitzt einen Schalter, mit dem Sie auswählen, von welchem der beiden Medien das Board bootet. In jedem Fall sollten mindestens 16 GByte Speicherplatz auf der Karte zur Verfügung stehen. Um eine eMMC-Karte zu beschreiben, benötigen Sie zusätzlich einen geeigneten Adapter .

Auf dem Odroid XU4 melden Sie sich als User odroid mit dem Passwort odroid an. Der Nutzer root verwendet dasselbe Passwort. Der SSH-Dienst läuft nach der Installation, was bedeutet, dass Sie die Passwörter direkt nach dem Installatieren ändern sollten.

Es kommt vor, dass der Odroid nicht den kompletten freien Platz auf der SD-Karte verwendet. In diesem Fall müssen Sie das entsprechende Dateisystem selbst vergrößern. Eine Anleitung, wie Sie das am einfachsten bewerkstelligen, finden Sie im Netz . Dabei kommt ein Tool zum Einsatz, das dem bekannten Raspi-config recht nahekommt. Es lohnt sich daher in jedem Fall, die Software zu installieren, selbst wenn Sie den Speicherplatz nicht anpassen müssen. Achten Sie darauf, dass Sie nur die SD-Karte mit dem Odroid verbinden und eine eventuell vorhandene eMMC entfernen.

Nach der Installation sollten Sie das System auf den neuesten Stand bringen. Bei der Gelegenheit installieren Sie auch noch die Programme, die Sie für die nächsten Schritte benötigen (Listing 5).

Odroid: GPIO

Für den Zugriff auf die GPIO des Odroid gäbe es bei Github eine Python-Bibliothek , die sich jedoch nicht mehr installieren lässt. Es passiert in letzter Zeit immer häufiger, dass Entwickler interessante Open-Source-Projekte nicht mehr auf dem aktuellen Stand halten, sodass die Software nach einiger Zeit einfach nicht mehr funktioniert. Im konkreten Fall liegt es daran, dass zum einen die Bibliothek nicht auf Python 3 umgestellt wurde und es zum anderen die verwendete C-Bibliothek WiringPi nicht mehr in den Paketquellen gibt.

Alternativ arbeiten Sie direkt mit Sysfs, um die GPIO anzusteuern. Verwenden Sie dafür die internen Nummern der einzelnen GPIOs. Abbildung7 7zeigt die Pin-Belegung des 40-poligen Headers des Adapters. Für uns interessant sind die Nummern in den Klammern.

Um mit Sysfs auf dem Odroid zu arbeiten, benötigen Sie Root-Rechte, die Sie mithlfe des Kommandos sudo bash erlangen. Das Pseudo-Dateisystem Sysfs liegt, wie der Name schon vermuten lässt, im Filesystem unter /sys. Der Zugriff auf die GPIO-Ports erfolgt über das Verzeichnis /sys/class/gpio/.

Wechseln Sie in diesen Ordner (Listing 6, Zeile 1) und aktivieren Sie die GPIO 19 auf dem Header-Pin 16 (Zeile 2). Im Testaufbau befindet sich daran eine LED. Versetzen Sie anschließend den Pin in den Output-Modus (Zeile 3). Zu guter Letzt verwenden Sie die zwei Kommandos aus den Zeilen 4 und 5, um die LED an- und auszuschalten.

Das Abfragen von Eingängen funktioniert entsprechend mit einem in als Wert für die direction und einem Abfragen von value mit dem Kommando cat. Über das Sysfs stehen Ihnen alle Funktionen der GPIO genauso wie über eine Bib- liothek zur Verfügung. Der Umgang mit Sysfs erfordert ein wenig Eingewöhnung, hat aber den Vorteil, dass Sie sich intensiver mit Sysfs auseinandersetzen. Alle Linux-Systeme, die eine GPIO besitzen, nutzen auch ein Sysfs.

Odroid: I2C

Wie der Raspberry Pi führt auch der Odroid XU4 die I2C-Schnittstelle über die Header-Pins 3 und 5 heraus. Um die I 2C-Schnittstelle zu nutzen, installieren Sie vorab die I 2 C-Tools mit dem Kommando sudo apt install i2c‐tools. Listing 7 zeigt die Ausgabe von I2c-detect.

Die I2C-Schnittstelle arbeitet wie erwartet. Beachten Sie, dass Sie für den Zugriff Root-Rechte benötigen. Darüber hinaus sollten Sie berücksichtigen, dass die I 2 C-Schnittstelle beim Odroid die Nummer 0 verwendet, nicht wie beim RasPi oder Jetson die Nummer 1. Die Abfrage des Temperatursensors funktioniert wie erwartet mit dem Aufruf aus der letzten Zeile von Listing 7.

Odroid: SPI

Zum Testen der SPI-Schnittstelle verwenden Sie auch beim Odroid XU4 das Programm aus Listing 3. Sie brauchen nur die Nummern der GPIOs anzupassen. Die Zeile zum Initialisieren der Klasse sieht danach so aus:

MCP3008 mcp = new MCP3008(191, 192,189,190);

Vor dem Start des Java-Programms müssen Sie zwei Module deaktivieren (Listing 8, Zeile 1 und 2). Alles andere funktioniert ohne Anpassungen (Zeile 3). Zum Starten der Software benötigen Sie wieder Root-Rechte (Zeile 4).

Odroid: Fazit

Der Odroid XU4 kann in Projekten problemlos einen Raspberry Pi ersetzen. Ubuntu als Betriebssystem bietet Zugriff auf alle dafür nötigen Programme. Allerdings ist die Odroid-Community deutlich kleiner als die des RasPi. Daher treffen Sie im Internet häufiger auf veraltete Ressourcen. Zudem erfordert der Umgang mit dem Odroid gelegentlich einen Griff in die Unix-Trickkiste oder die Arbeit mit Root-Rechten. Der Odroid XU4 ist also keinem SBC-Anfänger zu empfehlen. Einem erfahrenen Bastler gelingt es aber, Projekte damit adäquat umzusetzen.

Weitere Infos und interessante Links

www.raspi-geek.de/qr/47907

Rock Pi: Basics

Der Rock Pi8 8verfolgt einen anderen Ansatz als der Odroid. Der Hersteller Radxa versucht nicht, den Funktionsumfang des RasPi zu imitieren, sondern setzt eigene Maßstäbe. So verwendet der Rock Pi für die Spannungsversorgung einen USB-C-Anschluss, der verschiedene Standards unterstützt; allerdings müssen Sie dazu eine USB-C-Leitung mit Datenkommunikation verwenden. Die Betriebsspannung des Boards liegt bei bis zu 21 Volt. Alternativ nutzen Sie das 5-Volt-Netzteil eines RasPi 4.

Ein weiteres, interessantes Feature bietet das Board in Form eines M.2-Steckplatzes, den wir uns später noch ein wenig genauer ansehen. Der Rock Pi 4 erlaubt sowohl den Betrieb mit einer SD-Karte als auch mit einer eMMC bis zu einer Kapazität von 128 GByte. Die Platine macht einen sehr robusten und hochwertigen Eindruck. Die komplette Dokumentation mit vielen Anleitungen (meist auch in Deutsch) finden Sie auf der Homepage des Herstellers .

Rock Pi: Betriebssystem

Beim OS wählen Sie zwischen unterschiedlichen Linux-Distributionen sowie einigen exotischeren Betriebssystemen . Wir verwenden hier den Debian-Desktop, der einem Pi OS am nächsten kommt. Achten Sie darauf, das korrekte Image für Ihre Rock-Pi-Variante auszuwählen. Zur Abwechslung verwenden wir die eMMC des Rock Pi anstelle der SD-Karte. Um das Image auf die eMMC zu übertragen, empfehlen wir wie gehabt den RPi Imager. Zum Anschließen der eMMC brauchen Sie allerdings einen passenden Adapter .

Nach dem Schreiben der Abbilddatei auf die eMMC stecken Sie die Karte in den Slot des Rock Pi, was sich etwas fummeliger gestaltet als mit einer SD-Karte. Die eMMC weist zur Orientierung eine abgeschnittene Ecke auf, diese Markierung findet sich auf dem Board wieder. Nach erfolgreicher Montage booten Sie das System.

Der Start des Mini-Boards dauert nicht viel länger als der eines RasPi, mangels Bildschirmausgabe mag es einem aber länger vorkommen. Nur das Blinken der blauen LED signalisiert, dass es Aktivität auf der eMMC gibt. Die grüne LED dient als Anzeige für die Spannungsversorgung. Der Standardnutzer für das Login heißt rock, ebenso das dazugehörige Passwort. Den SSH-Daemon startet das System beim Booten.

Nach dem ersten Hochfahren sollten Sie das System erst einmal auf den aktuellen Stand bringen und notwendige Software installieren (Listing 9).

Rock Pi: GPIO

Abbildung9 9zeigt die Pin-Belegung des 40-poligen Headers, die wie erwartet ähnlich wie die beim RasPi ausfällt. Die GPIOs tragen jedoch komplett andere Nummern und Bezeichnungen. Zusätzlich liegen einige der Sonderfunktionen an anderen Positionen. Um auf die GPIO zugreifen zu können, benötigen Sie die Libmraa-Bibliothek des Herstellers. Interessanterweise verwendet Libmraa direkt die Pin-Nummern des 40-poligen Headers – diesen Punkt handhabt kein anderer Hersteller so.

Wie sich die Bibliothek installieren lässt, beschreibt die Webseite des Projekts . Führen Sie alle Installationsschritte bis zur Überschrift Test aus. Sie sollten jeodch unbedingt einen Blick auf die optionalen Installationsschritte werfen und sie abarbeiten: Anderenfalls kommt es mitunter vor, dass das Board nicht mehr bootet. Vor einigen Kommandos in der Anleitung fehlt zudem das sudo. Falls unerwartete Fehler auftreten, setzen Sie es davor.

Libmraa stellt Schnittstellen für C, Java und Python bereit. Die interne Arbeitsweise wie auch die Namen der Aufrufe (Listing 10) zeigen deutlich, dass sich der Rock Pi etwas anders verhält als Sie es vermutlich vom Rasberry Pi gewohnt sind. Alle Programme, die diese Bibliothek verwenden, müssen ausnahmslos mit Root-Rechten laufen. Der Aufruf für unser Testprogramm lautet sudo python3 GPIOtest.py.

Die Installation von Libmraa legt im Ordner /usr/local/share/mraa/examples/ eine Reihe von unterschiedlichen Beispielprogrammen ab. Dieses Verzeichnis dient Ihnen als guter Einstiegspunkt, um sich mit der Bibliothek und ihrer Funktionsweise ein wenig intensiver auseinanderzusetzen.

Rock Pi: I 2C

Zum Aktivieren der I2C-Schnittstelle müssen Sie die Datei /boot/hw_intfc.conf anpassen. Hier nehmen Sie auch Änderungen an allen anderen Hardwareeinstellungen des Rock Pi vor. Ändern Sie die Parameter intfc:i2c2, intfc:i2c6 und intfc:i2c7 jeweils von off auf on und rebooten Sie das Board. Danach rufen Sie mit dem Kommando mraa‐i2c list die Liste der I 2C-Schnittstellen ab.

Sie haben jetzt zwei Möglichkeiten, auf die I2C-Geräte zuzugreifen: zum einen die altbekannten I 2C-Tools und zum anderen die von der Libmraa bereitgestellten Programme. Setzen Sie die I 2C-Tools ein, dann sprechen Sie die Schnittstelle auf den Pins 3 und 5 des Headers über die Nummer 7 an, bei der Libmraa funktionirt das über die Nummer 0.

Listing 11 zeigt die Ausgabe von i2cdetect. Das Auslesen des Temperatursensors erfolgt genauso wie beim Raspberry über die letzte Codezeile. Die Ausgabe der Libmraa-Tools zeigt Listing 12. Beide Varianten arbeiten sehr ähnlich, sodass es keine Rolle spielt, welche davon Sie verwenden.

Rock Pi: SPI

Die SPI-Schnittstelle des Rock Pi liegt auf denselben Pins wie beim Raspberry Pi. Da hier die Software-SPI zum Einsatz kommt, dürfen Sie die Hardware-SPI-Unterstützung in der Datei /boot/hw intfc.conf nicht aktivieren. Als Beispielprogramm dient wieder der Java-Code aus Listing 3. Dieses Mal passen Sie die Zeile zum Initialisieren der Klasse wie folgt an:

MCP3008 mcp = new MCP3008(39,40, 41,42);

Da wir beim SPI-Beispiel via Sysfs arbeiten, müssen wir auch die entsprechenden Nummern verwenden. Um das Programm zu bauen und zu starten, verwenden Sie wieder die Kommandos javac MCP3008.java und sudo java MCP3008.

Rock Pi: M.2-SSD

Der Rock Pi 4 verfügt über eine M.2-Schnittstelle, an die sich SSDs anschließen lassen. Dabei handelt es sich in dieser Rechnerklasse wirklich um ein Alleinstellungsmerkmal. Es gibt einen Adapter , der es ermöglicht, die SSD auf das Rock-Pi-Board zu montieren. Ohne ihn fällt der Aufbau etwas wackelig aus.

Die FAQ enthalten eine Liste von kompatiblen NVMe-SSDs. Der Autor nutzte für das Beispielprojekt eine Kingston NV1 mit 500 GByte Kapazität , die auf keiner der Listen zu finden war. Die Tests verliefen dennoch ohne Probleme. Tendenziell sollten Sie unabhängig von den Angaben aus den FAQ ausprobieren, ob die SSD Ihrer Wahl funktioniert.

Listing 13 enthält die Kommandos, um eine SSD in das System einzubinden. Beachten Sie, dass Sie mit Fdisk eine primäre Linux-Partition anlegen müssen. Drücken Sie dafür [N], vier Mal die Eingabetaste und danach [W]. Falls Sie den Rock Pi von der SSD booten möchten, finden Sie auf der Herstellerseite die passende Anleitung dazu .

Rock Pi: Fazit

Der sauber aufgebaute Rock Pi 4 macht unter dem Strich einen hervorragenden Eindruck und es stehen Ihnen eine Menge Betriebssysteme zur Auswahl. Das Board bietet mehr und durchaus professionellere Features als ein Raspberry Pi. So gibt es zumindest einen analogen Eingang auf dem Header, und die M.2-Schnittstelle eröffnet Ihnen zahlreiche Möglichkeiten für Projekte.

Allerdings weicht das Prozedere beim Zugriff auf die GPIO mit der Libmraa von jenem auf dem RasPi deutlich ab. Allerdings gefällt der Ansatz einer Herstellerbibliothek für den kompletten Hardwarezugriff sehr gut. Schon nach kurzer Einarbeitung fällt es leicht, mit den zur Bibliothek gehörenden Tools zu arbeiten.

Zusammenfassung

Zusammenfassend lässt sich feststellen, dass sich alle drei hier vorgestellten Alternativen dazu eignen, auf ihnen die typischen Bastlerprojekte für den Raspberry Pi umzusetzen. Man muss sich allerdings darüber im Klaren sein, dass es sich hierbei nicht um RasPi-Klone handelt, bei denen alles genauso funktioniert wie beim Original. Das streben die Hersteller allerdings auch gar nicht an.

Vielmehr stecken dahinter eigenständige SBC, die jeweils spezifische Vor- und Nachteile sowie Stärken und Schwächen mitbringen. Aus diesem Grund sollten Sie sich ein wenig Zeit einplanen, um zunächst die Funktionsweise der neuen Hardware kennenzulernen. Vieles läuft zwar genauso wie beim Raspberry Pi, aber der Teufel steckt hier häufig im Detail. Kleine Unterschiede in den elektrischen Eigenschaften der GPIOs sorgen mitunter für große Probleme. Mit ein wenig Erfahrung sollte es Ihnen jedoch ohne viel Mühe gelingen, diese zu lösen.

Darüber hinaus sollten Sie immer im Hinterkopf behalten, dass die Communities der alternativen Geräte deutlich kleiner ausfallen als die riesige Fan-Gemeinde rund um den Raspberry Pi. Daher empfiehlt es sich speziell für Anfänger, erst einmal mit einem günstigen, gebrauchten RasPi zu starten und sich anschließend mit einem der hier gezeigten Geräte näher auseinanderzusetzen.

Dem Autor dieses Artikels bereitete es eine Menge Spaß, die Raspberry-Pi-Alternativen genauer unter die Lupe zu nehmen – ungeachtet dessen, dass der Zeitaufwand dafür nich unerheblich war. Dieser Artikel möchte ganz bewusst keine Vergleiche der Geräte untereinander anstellen, sondern Ihnen vielmehr einen Überblick darüber geben, welche davon bei Lieferengpässen als Ersatz für den Raspberry Pi infrage kommen können und wie sie funktionieren.

(tle/jlu)