Nicht nur für IoT-Knoten Linux-Devices für unter 10 Dollar

Heute gibt es Linux-Devices schon für weniger als 10 Dollar. Vier solche Linux-Devices, die sich unter anderem für IoT-Knoten oder Rechnerkerne für Steuerungsaufgaben empfehlen, werden vorgestellt und miteinander verglichen.

Nahe an Sensoren und/oder Aktoren angeordnete Mikrocontroller können mit einem Host-Rechner ergänzt werden, der die Vernetzung, Datenspeicherung und Visualisierung sowie die dazugehörigen administrativen Aufgaben mit Standard-Komponenten übernimmt.

Die Testkandidaten

Die Raspberry Pi Foundation hat ihre populäre Raspberry-Pi-Familie um den (Testkandidaten) Raspberry Pi Zero erweitert, der zu seinen Familienmitgliedern kompatibel ist mit Ausnahme des Raspberry Pi 3 Modell B [1].

Die kalifornische Firma Next Thing hat über eine von 39.560 Unterstützern getragene Kickstarter-Kampagne gut 2 Mio. Dollar gesammelt, um ihre Vision des 9-Dollar-Computers umzusetzen [2]. Die Auslieferung der Boards an Unterstützer der Kampagne (Bakers) erfolgt derzeit direkt aus Hongkong. Lieferungen aus der Serienfertigung sollen noch im Oktober 2016 beginnen.

Mit dem Orange-Pi-One hat die chinesische Firma Shenzhen Xunlong Software eine abgespeckte Variante ihres Orange-Pi-PC geschaffen und ist damit in das Preissegment unter 10 Dollar vorgestoßen [3].

Letzter Kandidat ist der NanoPi-Neo von FriendlyARM. Die NanoPi-Familie mit Quad-Core- und Octa-Core-CPUs wurde mit dem NanoPi-Neo ebenfalls nach unten hin erweitert [4] [5]. Der NanoPi-Neo wird entweder mit 256 MB oder 512 MB RAM angeboten und bleibt in beiden Varianten unter der »magischen« Schwelle 10 Dollar.

Die Nachfrage nach diesen preiswerten, aber dennoch recht ordentlich ausgestatteten Linux-Devices ist sehr hoch, was z. B. durch die permanenten Lieferschwierigkeiten beim Raspberry-Pi-Zero deutlich wird. Die englische Firma Pimoroni versucht die Nachfrage in der Breite abzudecken (»Raspberry Pi Zero – Max. 1 Pi Zero Per Customer!«), sie ist gegenwärtig der einzige zuverlässige Lieferant für Einzelbestellungen.

Wenn der Support der anderen Firmen die Erwartungen der Käufer nicht enttäuscht, dann werden diese Boards ihre Käufer finden und weitere am Markt erscheinen. So ist es denn nicht verwunderlich, dass die nächste Kickstarter-Kampagne für den Omega2 bereits 33 Tage vor dem Finanzierungsziel mehr als vierfach überzeichnet war [6].

Raspberry Pi Zero

Markantes Merkmal des Raspberry Pi Zero ist seine geringe Größe – deutlich sichtbar an der Relation zu den Pads der standardmäßigen 40-poligen Stiftleiste. Im Auslieferungszustand ist die Stiftleiste nicht bestückt, so dass man die Wahl hat, die übliche gerade Stiftleiste, eine abgewinkelte oder auch nur Einzelpins zu bestücken. Bild 1 zeigt den kompakte Raspberry Pi Zero und seine Anschlüsse.

Entwicklungsziel für den Raspberry Pi Zero war die Schaffung eines Low-Cost-Boards, weshalb bei CPU und Speicher gewisse Abstriche gemacht werden mussten. Die Grundlage für den Raspberry Pi Zero ist der BCM-2835-SoC von Broadcom mit ARM1176JZFS, der bis zu 1 GHz getaktet werden kann und 512 MB RAM hat. Von der Prozessorleistung her ist der Raspberry Pi Zero also mit dem Raspberry Pi A+ und B+ vergleichbar.

HDMI-Video ist am miniHDMI-Anschluss abgreifbar. Zum Anschluss eines Standard-HDMI-Kabels wird ein »HDMI Female to Mini HDMI Male Adapter« benötigt. Den 3.5-mm-Stecker für Composite-Out wird man auf dem Board vermissen. Für Video-Out stehen aber zwei Lötpads zur Verfügung (TV – Bild 1 rechts oben). Analog-Out ist nicht vorhanden, hier kann man den Umweg über HDMI gehen. In der Version V1.3 wurde dem Raspberry Pi Zero noch eine CSI-Schnittstelle für den Anschluss einer Kamera spendiert.

Wie schon beim Raspberry Pi A+ wurde auf einen internen USB-Hub verzichtet. Die microUSB-Anschlüsse wirken als »USB On-The-Go« (links) und Power-Anschluss (rechts). Mit einem »USB OTG Host Cable - MicroB OTG male to A female« kann der übliche USB-Anschluss zur Verfügung gestellt werden. Alle Freiheitsgrade bekommt man durch Verwen-dung eines »USB 2.0 Powered Hub with 5V 2A Power Supply«, der leistungshungrige USB-Devices und auch den Raspberry Pi Zero selbst mit Strom versorgen kann.

Ein Netzwerk-Interface (Ethernet, WiFi) hat der Raspberry Pi Zero nicht. Doch gibt es zahlreiche USB-WiFi-Adapter, die für den Raspberry Pi geeignet sind und auch ge-testet wurden [7].

Nachdem die hardwareseitigen Vorkehrungen getroffen sind, kann das Betriebssystem installiert werden. Seitens der Raspberry
Pi Foundation steht Raspbain Jessie in der Kernel-Version 4.4 zur Verfügung:

pi@raspberrypi:~ $ uname -a
Linux raspberrypi 4.4.11+ #888 Mon May 23 20:02:58 BST 2016 armv6l GNU/Linux

Es können aber auch Ubuntu, OSMC, Windows 10 IoT Core und andere Betriebssysteme installiert werden.

Fazit: Mit dem Raspberry Pi Zero hat man einen sehr preiswerten und kompakten Raspberry Pi zur Verfügung, der für vielfältige Aufgaben einsetzbar ist. Leider steht die Lieferbarkeit gegenwärtig im krassen Widerspruch zur Nachfrage.

Modell C.H.I.P.

Ein wichtiger Punkt ist eine vorhandene und auch lebendige Community, die wesentlich über Einstiegshürden helfen und damit auch entscheiden kann, ob ein Linux-Device eine Erfolgsstory wird oder nicht. Die große Community des Raspberry Pi bedeutet da einen deutlichen Vorteil gegenüber allen anderen.

Das Linux-Device C.H.I.P. von Next Ting ist ein gut ausgestatteter Single-Board-Computer für 9 Dollar (Bild 2). Die Länge des kompakten Boards ist vergleichbar zum Raspberry Pi Zero.

Herz des Boards ist ein Allwinner-R8-SoC, das einen mit bis zu 1 GHz getakteten ARM Cortex-A8 Single-Core und eine ARM Mali400 GPU beherbergt. Ausgestattet ist das Board weiterhin mit 512 MB RAM und 4 GB NAND Flash, in dem das Betriebssystem bereits installiert ist. Das Betriebssystem CHIP OS baut auf einem Debian Jessie-Kernel auf.

Im linken Foto von Bild 2 sind auf der rechten Seite von oben nach unten USB Typ A-, TRRS Audio/Video- und microUSB-Anschluss zu sehen. Auf der linken Seite unten befindet sich ein JST-Anschluss für eine Batterie (Single-cell LiPo Battery).

Normalerweise wird das Board über den microUSB-Stecker mit Spannung versorgt. Das Board kann aber auch über die Buchsenleiste oder den Batterieanschluss gespeist werden. Verbindet man das Board über den microUSB-Anschluss mit einem PC, dann kann über SerialUSB von einem Terminalprogramm aus auf die Konsole zugegriffen werden. Die Baudrate beträgt 115.200 Baud (Bild 3). Neben der seriellen Kommunikation stehen über ein Realtek RTL8723BS-Modul auch WiFi und Bluetooth LE zur Verfügung.

Für den Anschluss weiterer Komponenten sind zwei 40-polige Buchsenleisten vorgesehen. Hier sind zweimal I2C-Bus, UART, GPIOs u.a.m. abgreifbar. Außerdem werden über diese Buchsenleisten die »DIPs« kontaktiert, die beispielsweise ein HDMI- oder VGA-Interface zur Verfügung stellen.

Wie Bild 3 zeigt, war im Auslieferungszustand das CHIP OS in der Kernel-Version 4.3 installiert. Nach einem Update/Upgrade

sudo apt-get update && sudo apt-get upgrade

mussten weitere Installationen vorgenommen werden, bevor erste Benchmarks starten konnten:

sudo apt-get install gcc
sudo apt-get install make
sudo apt-get install git

Zum Einrichten des WLAN kann das Kommandozeilentool nmcli verwendet werden. Das Vorgehen ist Schritt für Schritt dokumentiert [8].

Verfügbar ist mittlerweile CHIP OS 4.4. Ein Update auf diese Version (empfohlen) bringt funktionelle Erweiterungen, wie 1-Wire- und CPU-Clock-Support. Für das Update wird ein komfortabler Web Flasher verwendet, der das neue Image ins Flash Memory schreibt.

Fazit: Sehr einfache Inbetriebnahme des vorinstallierten Betriebssystems über die se-rielle Konsole ohne Zuhilfenahme weiterer Komponenten. Die Unterstützung des Anwenders durch eine sehr gute englische Dokumentation ist gegeben.

Orange Pi One

Die Orange Pi Single-Board-Computer von Shenzhen Xunlong Software Co. sind sehr kostengünstige Linux-Devices mit guter Ausstattung. Bild 4 zeigt einen Orange Pi One, die Größe ist vergleichbar mit dem C.H.I.P.

Kern des Boards ist ein Allwinner-H3-SoC, das einen mit bis zu 1,2 GHz getakteten ARM Cortex-A7 Quad-Core und eine ARM Mali400 GPU beherbergt. Ausgestattet ist das Board weiterhin mit 512 MB RAM. Das Betriebssystem wird auf einer microSD Card installiert. Als verwendbare Betriebssysteme stehen die üblichen Kandidaten zur Verfügung, allerdings sind diese meist nicht auf den Orange Pi One zugeschnitten, so dass hier ein spezielles, für den H3 erzeugtes und auf einem Debian Jessie-Kernel aufbauendes ARMbian zum Einsatz gekommen ist [9].

Das Kommando uname liefert auch diesmal die installierte Kernelversion, die mit 3.4 nach Aktualisierung ruft:

claus@orangepione:~$ uname -a
Linux orangepione 3.4.112-sun8i #8 SMP PREEMPT Mon Jun 20 12:54:33 CEST 2016 armv7l GNU/Linux

Über die Anschlussmöglichkeiten gibt Bild 4 Auskunft. In der Ecke links oben befinden sich der Power Switch und die Buchse zur Spannungsversorgung mit 5 V(DC). Die Stromaufnahme liegt bei 0,5 A. Rechts daneben folgen der Slot für die microSD Card und der HDMI-Anschluss. Über microUSB kann mit dem Board kommuniziert werden. Spannungsversorgung auf diesem Weg ist nicht möglich. Auf der rechten Seite des Boards sind noch die Anschlüsse für Ethernet und USB angeordnet. Der CSI-Anschluss befindet sich auf der Unterseite. Der 40-polige Pfostenstecker ist kompatibel zum Raspberry Pi, was die Verwendung von Raspberry Pi Peripherie zulässt.

Aufgrund der leistungsfähigen CPU fallen die Benchmark-Resultate erwartungsgemäß gut aus. Allerdings findet man zahlreiche Foreneinträge, die sich mit grundlegenden Fragen befassen, was auf einen suboptimalen Support durch die Community schließen lässt.

Fazit: Ein leistungsfähiges Linux-Device mit Raspberry Pi-kompatibler Steckerleiste und einer Vielzahl, möglicherweise zu vielen, Betriebssystemvarianten, die anscheinend nicht optimal auf die konkrete Hardware abgestimmt sind.

NanoPi Neo

Die chinesische Firma FriendlyARM bietet eine ganze Palette unterschiedlich gut ausgestatteter Linux-Devices an. Den NanoPi Neo sieht das Unternehmen als Fun-Board. Das macht neugierig, wie groß der Spaß ausfallen wird. Bild 5 zeigt Vorder- und Rückseite des nur 40 mm x 40 mm messenden Boards.

Kern des Boards ist wie bei dem Modell Orange Pi One ein Allwinner-H3-SoC, das einen mit bis zu 1,2 GHz getakteten ARM Cortex-A7 Quad-Core und eine ARM Mali400 GPU enthält. Ausgestattet ist das Board weiterhin mit 256 oder 512 MB RAM, was sich zu dem Zeitpunkt, als dieser Artikel entstand, durch eine Preisunterschied von 2,00 Dollar bemerkbar machte. NanoPi Neo weist kein HDMI und kein CSI auf. Von der Ausstattung her ist es sonst mit dem Orange Pi One praktisch identisch (siehe Tabelle).

DeviceRaspberry Pi Zero V1.3C.H.I.P.Orange Pi OneNanoPi Neo
SoCBroadcom BCM 2835 SoCAllwinner R8 SoCAllwinner H3 SoCAllwinner H3 SoC
CPUARM1176JZF-S
Single-Core
ARM Cortex-A8 Single-CoreARM Cortex-A7 Quad-CoreARM Cortex-A7 Quad-Core
Prozessor Speed (max.)1 GHz1 GHz1,2 GHz1,2 GHz
GPUVideoCore IV GPUARM Mali400ARM Mali400 MP2ARM Mali400 MP2
Memory512 MB512 MB512 MB256 MB / 512 MB
StorageSD card slot4 GB NAND Flash MemorySD card slotSD card slot
ConnectivityHDMI, USBbuilt-in WiFi 802.11b/g/n
built-in Bluetooth LE
USB
HDMI or VGA via DIP
HDMI
USB, Ethernet
TV-OUT,  CSI
3 x USB
Ethernet
TV-Out
OSRaspbian ( Linux)CHIP OS (Debian kernel)ARMbianUbuntu
Anschlüssemini-HDMI
micro-B USB for data
micro-B USB for power
40-pin GPIO connector (unpopulated)
composite video header (unpopulated)
Camera interface (CSI)
USB
micro-USB
3,5 mm TRRS (Audio, Video)
Connector for single-cell
LiPo battery
2 x 40-pin GPIOHeader
HDMI
10/100 MB Ethernet
USB 2.0 HOST
microUSB 2.0 OTG
40-pin GPIO (Raspberry Pi compatible)
3-pin UART header for serial console (unpopulated)
10/100 MB Ethernet
USB 2.0 HOST
micro-USB for data and power
36-pin GPIO
4-pin Debug UART
Unix Bench103,9142,0238,4-
CoreMark206125272847-
Scimark222,2226,3442,60-
Abmessungen65 mm x 30 mm x 5 mm60 mm x 36 mm x 12 mm69 mm x 48 mm40 mm x 40 mm x 12 mm
PreisUSD 5,00USD 9,00USD 9,99USD 7,99 / USD 9,99
Linkshttps://www.raspberrypi.org/
https://www.raspberrypi.org/
blog/raspberrypi-zero/
https://getchip.com/pages/chip
http://www.cnx-software.com/
2015/06/07/allwinner-r8-module-datasheet-and-price-is-the-9-c-h-i-p-computer-selling-at-a-loss/
http://www.orangepi.org/
orangepione/

http://www.armbian.com/
orange-pi-one/
http://www.friendlyarm.com/
index.php?route=product/
product&path=69&product_
id=132

 

 

Tabelle: Raspberry Pi Zero, C.H.I.P., Orange Pi One und NanoPi NEO im Vergleich.

Als Betriebssystem stellt FriendlyARM »Ubuntu-Core with Qt-Embedded« zur Verfügung. Das Kommando uname liefert uns auch hier wieder die installierte Kernelversion, die mit 3.4 ebenfalls nach Aktualisierung ruft:

fa@FriendlyARM:~$ uname -a
Linux FriendlyARM 3.4.39-h3 #14 SMP PREEMPT Mon Jul 4 10:10:33 CST 2016 armv7l armv7l armv7l GNU/Linux

Ein ARMbian scheint in Vorbereitung zu sein. Die Benchmark-Resultate sind vergleichbar mit denen des Orange Pi One, was auf Grund des identischen SoCs bei gleicher Taktfrequenz zu erwarten war.

Fazit: Der Einplatinencomputer NanoPi Neo ist ein leistungsfähiges Linux-Device mit kompakten Abmessungen im Preissegment unter 10 Dollar und von daher sicher als IoT-Knoten eine geeignete Variante. Die Informationen auf der FriendlyARM Website und im Forum sollten bei Fragen hilfreich sein.

Verwendete Benchmarks

Um einen Eindruck von der Leistungsfähigkeit der hier vorgestellten Linux-Devices zu erhalten, wurden einige Benchmarks ausgeführt. Für IoT-Anwendungen wird man in den meisten Fällen ohne grafisches Userinterface (GUI), also »headless« arbeiten, weshalb die Grafik-Performance hier nicht betrachtet wird. Die drei folgenden Benchmarks wurden mit den vorgestellten Linux-Devices erhoben.

Für den Raspberry Pi Zero sind die Werte einzeln dargestellt. Für C.H.I.P., Orange Pi One und NanoPi Neo wurden die Werte in der gleichen Weise ermittelt. Aus Platzgründen sind alle Werte nur in der Zusammenfassung (Tabelle) erkennbar.

UNIXBench

UnixBench ist die ursprüngliche Benchmark-Suite BYTE UNIX, aktualisiert und von vielen Softwareentwicklern im Laufe der Jahre überarbeitet. Es werden verschiedene Tests verwendet, um die unterschiedlichen Aspekte der Leistung eines Systems zu testen. Der gesamte Satz von Indexwerten wird dann zu einem Gesamtbild-Index für das System zusammengefasst.

UnixBench steht heute auf Github unter https://github.com/kdlucas/byte-unixbench zum Download zur Verfügung. UnixBench wurde ausgewählt, da hierzu schon für einige Linux-Devices ermittelte Vergleichswerte vorliegen [10]. Für einen Raspberry Pi Zero mit einer Taktfrequenz von 1 GHz konnten die in Bild 6 gezeigten Werte ermittelt werden.

CoreMark und SciMark 2.0

CoreMark ist ein Benchmark, der sich auf die Messung der CPU-Performance beschränkt. Auf der EEMBC-Website sind alle erforderlichen Informationen zum Coremark-Test sowie Resultate verschiedener CPUs zu finden [11]. Nach Registrierung bei EEMBC kann der Test von dort heruntergeladen werden. Bild 7 zeigt die Resultate für den Coremark-Benchmark für einen mit 1 GHz getakteten Raspberry Pi Zero.

Der Kennwert des Tests sind die ausgewiesenen Interations/Sec, die als Coremark in die Vergleiche eingehen. Zusätzlich wird der Kennwert Coremark/MHz als normierter Wert herangezogen. Bei einem Coremark von 2060,98 ergeben sich dann bei einer Taktfrequenz von 1 GHz 2.061 Coremark/MHz.

SciMark 2.0 ist ein Java-Benchmark für wissenschaftliche und numerische Anwendungen. Der Benchmark misst verschiedene Verfahren (FFT, Gauss-Seidel-Methode, Sparse Matrix Multiplication, Monte Carlo Integration, Dense LU Decomposition) und gibt ein summarisches Ergebnis in Mflop zurück (Millions of floating point operations per second).

Betrachtet wird hier die ANSI-C-Version des SciMark2-Benchmark, die aus den originalen Java Sources portiert wurde. Die Dokumentation des Tests und eine Möglichkeit zum Download des Sourcecodes ist unter [12] gegeben. Die Resultate, die der SciMark-Benchmark an einem mit 1 GHz getakteten Raspberry Pi Zero hervorbringt, sind in Bild 8 gelistet.

Ausstattung und Performance

In diesem Abschnitt werden die Ausstattung und die Performance der vorgestellten Linux-Devices vergleichend dargestellt (siehe auch Tabelle). Zum Einsatz kommen Single- und Quad-Core-CPUs, alle kombiniert mit einer GPU, die hier aber nicht untersucht wurde. Die CPUs können mit bis zu 1 GHz bzw. 1,2 GHz getaktet werden. Die Taktfrequenzen lassen sich auch automatisch dem Rechenbedarf anpassen.

RAM mit 512 MB ist praktisch Standard und in den meisten Fällen dient eine SD Card als Speicher für das Betriebssystem. Nur beim C.H.I.P. ist das Flash Memory auf dem Board.

USB-Schnittstellen weisen alle Boards auf – doch diese Schnittstellen unterscheiden sich bezüglich der Netzwerkanbindung. Mit einem USB-WiFi-Adapter kann das aber gelöst werden. Die verwendeten Betriebssysteme basieren alle auf einem Debian-Kernel.

Die Performance der Systeme wurde mit Hilfe der drei Benchmarks UNIXBench, Core-Mark und SciMark2 untersucht. Es zeigt sich eine deutliche Überlegenheit der Cortex-Ax-CPUs gegenüber der nun doch schon etwas betagten ARM1176-CPU. Bild 9 zeigt die Resultate der Benchmarks relativ zu den Resultaten des Raspberry Pi Zero, wodurch die gesteigerte Performance (im Rahmen dieser Benchmarks) deutlich ablesbar ist. Berücksichtigt man den Unterschied in den Taktfrequenzen bei Orange Pi One und NanoPi Neo, dann sind die Ergebnisse vergleichbar. Im Kennwert CoreMark/MHz hingegen zeigt der NanoPi Neo etwas bessere Werte als der Orange Pi One (Bild 10).

Schlussbemerkung

Die vorgestellten Linux-Devices im Preissegment unter 10 Dollar zeigen klar, dass sie genügend Rechenleistung für viele Aufgaben als IoT-Knoten, Rechnerkern für Steuerungs-aufgaben u.a.m. bieten. Nicht zuletzt wegen ihres geringen Preises können sie als Einstiegsmodell für all diejenigen dienen, die sich tiefer mit den aktuellen Fragen der Digitalisierung auseinandersetzen wollen.

Ein wichtiger Punkt ist eine vorhandene und auch lebendige Community, die wesentlich über Einstiegshürden helfen und damit auch entscheiden kann, ob ein Linux-Device eine Erfolgsstory wird oder nicht. Die große Community des Raspberry Pi bedeutet da einen deutlichen Vorteil gegenüber allen anderen.

Über den Autor:

Dr.-Ing. Claus Kühnel studierte und promovierte an der Technischen Universität Dresden auf dem Gebiet der Informationselektronik und bildete sich später in Biomedizintechnik weiter. Bis zu seiner Pensionierung 2016 war er bei der Qiagen Instruments AG in Hombrechtikon (CH) als Director Electronic Engineering & Embedded Systems für die Entwicklung von Elektronik-Hardware und Hardware-naher Software verantwortlich. Aktuell arbeitet er als Consultant und weiterhin als Autor.
Kontakt: info@ckuehnel.ch
https://www.linkedin.com/in/ckuehnel
https://www.xing.com/profile/Claus_Kuehnel