Aus Raspberry Pi Geek 10/2022

RasPi-Alternativen im Test: Nvidia Jetson Nano 2GB, Hardkernel Odroid XU4 und Radxa Rock Pi 4 (Seite 4)

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 [9].

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 der Installation ä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 [10]. 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).

Listing 5

Odroid aktualisieren

$ sudo apt update
$ sudo apt upgrade
$ sudo apt dist-upgrade
$ sudo apt install i2c-tools openjdk-11-jdk
$ sudo reboot

Odroid: GPIO

Für den Zugriff auf die GPIO des Odroid gäbe es bei Github eine Python-Bibliothek [11], 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. Abbildung 7 zeigt die Pin-Belegung des 40-poligen Headers des Adapters. Für uns interessant sind die Nummern in den Klammern.

Abbildung 7: Die Pin-Belegung der Odroid-Adapterplatine.

Abbildung 7: Die Pin-Belegung der Odroid-Adapterplatine.

Um mit Sysfs auf dem Odroid zu arbeiten, benötigen Sie Root-Rechte, die Sie mit dem Kommando 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 nun 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 Bibliothek 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.

Listing 6

Sysfs (Odroid)

# cd /sys/class/gpio/
# echo 19 > export
# echo out > gpio19/direction
# echo 1 > gpio19/value
# echo 0 > gpio19/value

Odroid: I<+>2<+>C

Wie der Raspberry Pi führt auch der Odroid XU4 die I2C-Schnittstelle über die Header-Pins 3 und 5 heraus. Um die I2C-Schnittstelle zu nutzen, installieren Sie vorab die I2C-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. Weiterhin gilt es, zu berücksichtigen, dass die I2C-Schnittstelle beim Odroid die Nummer 0 verwendet, nicht wie beim RasPi oder Jetson die Nummer 1. Die Abfrage des Temperatursensors klappt wie erwartet mit dem Aufruf aus der letzten Zeile von Listing 7.

Listing 7

I2c-detect (Odroid)

$ sudo i2cdetect -y 0
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:                         -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- 48 -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
$ watch 'echo "obase=10; ibase=16; $(sudo i2cget -y 0x00:*0x48:*0x00 | cut -d 'x' -f2- | tr 'a-f' 'A-F')" | bc'
DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 12 HeftseitenPreis €0,99
(inkl. 19% MwSt.)
RASPBERRY PI GEEK KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS Raspberry Pi Geek bei Google Play Readly Logo
Nach oben