Bibliografische Information der Deutschen Bibliothek


Die Deutsche Bibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie; detaillierte Daten sind im Internet über http://dnb.ddb.de abrufbar.


Hinweis: Alle Angaben in diesem Buch wurden vom Autor mit größter Sorgfalt erarbeitet bzw. zusammengestellt und unter Einschaltung wirksamer Kontrollmaßnahmen reproduziert. Trotzdem sind Fehler nicht ganz auszuschließen. Der Verlag und der Autor sehen sich deshalb gezwungen, darauf hinzuweisen, dass sie weder eine Garantie noch die juristische Verantwortung oder irgendeine Haftung für Folgen, die auf fehlerhafte Angaben zurückgehen, übernehmen können. Für die Mitteilung etwaiger Fehler sind Verlag und Autor jederzeit dankbar. Internetadressen oder Versionsnummern stellen den bei Redaktionsschluss verfügbaren Informationsstand dar. Verlag und Autor übernehmen keinerlei Verantwortung oder Haftung für Veränderungen, die sich aus nicht von ihnen zu vertretenden Umständen ergeben. Evtl. beigefügte oder zum Download angebotene Dateien und Informationen dienen ausschließlich der nicht gewerblichen Nutzung. Eine gewerbliche Nutzung ist nur mit Zustimmung des Lizenzinhabers möglich.



©  2015 Franzis Verlag GmbH, 85540 Haar bei München

Alle Rechte vorbehalten, auch die der fotomechanischen Wiedergabe und der Speicherung in elektronischen Medien. Das Erstellen und Verbreiten von Kopien auf Papier, auf Datenträgern oder im Internet, insbesondere als PDF, ist nur mit ausdrücklicher Genehmigung des Verlags gestattet und wird widrigenfalls strafrechtlich verfolgt.


Die meisten Produktbezeichnungen von Hard- und Software sowie Firmennamen und Firmenlogos, die in diesem Werk genannt werden, sind in der Regel gleichzeitig auch eingetragene Warenzeichen und sollten als solche betrachtet werden. Der Verlag folgt bei den Produktbezeichnungen im Wesentlichen den Schreibweisen der Hersteller.


Autor: Mattias Schlenker           

Produktmanagement: Markus Stäuble

ISBN: 978-3-645-22303-4

VORWORT

Sie haben einen Banana Pi erstanden oder planen einen zu kaufen? Glückwunsch! Vielleicht, weil Sie sich mit anderen Single-Board-Computern befasst haben und der Banana Pi den besten Kompromiss aus großer Community, intelligent zusammengestellter Hardware und einem günstigen Preis bietet? Vielleicht haben Sie bereits Erfahrung mit dem Raspberry Pi und sind an die Grenzen des beliebtesten Single-Board-Computers gestoßen?

Single-Board-Computer machen einfach Spaß, sie bieten vergleichsweise viel Rechenleistung für kleines Geld bei geringer Leistungsaufnahme. Offene Hardwareplattformen mit freier Software machen doppelt Spaß, denn mit ihnen lassen sich ganz tolle Gerätschaften realisieren, die auf x86-Basis den Stromzähler rotieren lassen würden.

Egal wie groß Ihre Vorerfahrung mit Linux insbesondere auf anderen Plattformen als Intel und AMD von PCs ist: Ich setze keine Grundkenntnisse zwingend voraus und verweise gegebenenfalls auf externe Seiten, die angesprochene Vorgehensweisen konkretisieren. Leider kann ich auf weniger als 200 Seiten keine vollständige Abhandlung der beiden im Buch am intensivsten genutzten Linux-Distributionen Debian und OpenWRT geben. Dennoch sollten Sie sich – auch als Linux-Einsteiger – schnell zurechtfinden und bald erste Erfolge bei der Einrichtung des Banana Pi als Desktopersatz oder als Router mit NAS-Funktionalität vorweisen können.

Konventionen im Buch

Schaltpläne

Die 26- oder 40-polige GPIO-Sockelleiste des Banana Pi lädt nicht nur dazu ein, Erweiterungsplatinen– sogenannte Shields – aufzustecken, sondern auch direkt Sensoren oder Aktoren zu verbinden. Das müssen keine hochtrabenden Geschichten wie spezielle Funkmodule sein, oft ist bereits ein simpler Taster sehr nützlich, mit dem eine bestimmte Funktion aktiviert oder deaktiviert werden soll. Praktisch sind LEDs zur Statusanzeige: Konnte das letzte Backup richtig durchgeführt werden, liegen ungelesene E-Mails vor – oder habe ich neue Facebook-Freunde?

In solch einem Fall kann der Anschluss direkt am Banana Pi erfolgen. Praktisch ist dafür ein sogenanntes Steckbrett oder Breadboard: Besorgen Sie nebendem Breadboard ein Bündel Steckbrückenkabel in der Variante »männlich zu weiblich«, einige mit zwei männlichen Enden und des Weiteren ein Grundsortimentvon Widerständen (1 bis 47 kOhm), LEDs und Tastern. Haben Sie bereits mit Arduino experimentiert, werden Sie über diese Bauteile verfügen. Falls nicht, erhalten Sie Einsteigersortimente überall dort, wo es Arduino gibt.

Werden viele der GPIO-Pins des Banana Pi auf dem Breadboard benötigt, hilft ein sogenanntes GPIO-Breakout, wie es Sainsmart im Programm hat (http://bit.ly/1FVT9L1). Es führt die 26-GPIO-Pins mit einem Flachbandkabel aufsBreadboard (Achtung, für Banana Pi-Varianten mit 40-poliger GPIO-Leistemüssen Sie ein entsprechendes Flachbandkabel besorgen). Eine Luxusvariante, die zudem mit Arduino verwendet werden kann, hat der deutsche Banana Pi-Distributor Allnet im Programm.

Für die Verdrahtungspläne verwenden wir das kostenlose Programm Fritzing, das Sie von www.fritzing.org herunterladen können. Lassen Sie sich nicht davonverwirren, dass die Grafiken einen vermeintlichen Raspberry Pi Modell B zeigen: Raspberry Pi Modell B und Banana Pi M1 sind bis auf Feinheiten wie die Durchnummerierung der seriellen Schnittstellen pinkompatibel. Dort, wo der zusätzliche abgesetzte serielle Port zum Einsatz kommt, zeigt ein Foto den Anschluss.

Drei verschiedene Breadboards: In einer vertikalen Reihe sind A bis E und F bis J durchverbunden. Horizontal gibt es die zwei oder vier abgesetzten Kontaktleisten – sie dienen als Schienen für Masse und Versorgungsspannung, das Mini-Breadboard rechts unten verzichtet auf sie.

Das GPIO-Breakout von Sainsmart führt alle 26 GPIO-Pins aufs Breadboard heraus – praktisch, wenn zu viele GPIO-Pins benötigt werden, um einzeln verdrahten zu können.

ACHTUNG!

Die Anschlüsse für Display und Kamera sind nicht kompatibel.

In der Steckplatinenansicht von Fritzing können Sie unsere Entwürfe im Detail ansehen und nach Belieben erweitern.

DOWNLOAD VON BEGLEITMATERIAL

Leider sind im Schwarz-Weiß-Druck gelegentlich Kabelverbindungen auf Fotos oder Fritzing-Skizzen schlecht zu erkennen. Für diesen Fall bieten wir sämtliche Fritzing-Skizzen zum Download an. Sie finden sie unter www.buch.cd oder im Git-Hub-Repository des Autors unter https://github.com/mschlenker. Sie können in Fritzing per Mouseover den Namen der Anschlüsse ermitteln, Bauteile anders stecken und weitere Bauteile hinzufügen. nach Belieben erweitern.

Im GitHub-Repository des Autors können Sie alle Schaltpläne, Programme und Skripte herunterladen – erstellen Sie einen GitHub-Account, um eigene Änderungen versionieren zu können.

ACHTUNG!

Unsere Fritzing-Skizzen sind lediglich als Schemata und Hilfe beim Stecken von Schaltungen auf dem Breadboard zu verstehen. Wenn Sie Fritzing nutzen, um Erweiterungsplatinen zu entwerfen und bei Fritzing in Kleinstserie (ab Losgröße eins) fertigen zu lassen, müssen Sie Bohrlöcher und Aussparungen an Ihre jeweils verwendete Banana Pi-Platine anpassen!

Auch Quellcodes verwendeter Skripte sind im GitHub-Repository erhältlich. Das erlaubt Änderungen, und die online verfügbaren Versionen haben wir, wo nötig, umfangreicher kommentiert. Noch ein Wort zu GitHub: Zwar können Sie einzelne Dateien im Nur-Text-Format anzeigen lassen und per Copy-and-paste übernehmen oder herunterladen, doch damit verschenken Sie einen der Hauptvorteile von Git: die Versionsverwaltung. Gerade wenn Sie planen, die von uns erstellten minimalen Beispiele zu erweitern, lohnt es sich, selbst ein GitHub-Konto anzulegen und unser Repository als sogenannten Fork zu übernehmen. Dieses Repository können Sie mit dem GitHub-Client auf Ihren PC synchronisieren und dort vorgenommene Änderungen wiederum zu GitHub synchronisieren. So bleiben Änderungen nachvollziehbar, und Sie können leicht zu jedem Stand eines Programms zurückkehren.

Hilfe, ich weiß nicht weiter!

Zwar ist die Banana Pi-Community nicht ganz so groß wie die des Raspberry Pi, doch gerade weil viele Nutzer des Banana Pi bereits über Erfahrung mit anderen Single-Board-Computern verfügen und sich bewusst für diese Plattform entschieden haben, ist die durchschnittliche Kompetenz der Antworten recht hoch – und damit auch die Qualität.

Ein guter Anlaufpunkt ist das Forum von LeMaker, erreichbar unter http://forum.lemaker.org. Sinovoip hat die Google-Plus-Gruppe »Banana Pi Open Source« ins Leben gerufen, die bei Redaktionsschluss über 1.200 Mitglieder stark war: https://plus.google.com/communities/116770564125019694131  – auch ich bin in dieser Gruppe anzutreffen.

Ein Blog zum Buch pflege ich unter www.bananapi-buch.de. Hier finden Sie  Hinweise zu neuen Betriebssystem-Images, zu interessanten Projekten rund um Banana Pi, aber auch Ergänzungen und weitergedachte Projekte. Sollte sich herausstellen, dass Abschnitte des Buchs nähere Erläuterungen und tiefer gehende Erklärungen benötigen, werde ich diese ebenfalls im Blog veröffentlichen. Sie können mich auch per E-Mail unter mailto:ms@mattiasschlenker.de  kontaktieren – für diesen Fall bitte ich aber darum, dass Sie mir erlauben, die gestellte Frage und meine Lösungsvorschläge (gegebenenfalls anonymisiert) im Blog und der Google-Plus-Gruppe zu veröffentlichen.

GRUNDLAGEN

Geschichte des Banana Pi

Single-Board-Computer sind kein neues Phänomen, bereits Ende der 1990er gab es die Minimalcomputer für kommerzielle Kunden. Sie hatten primär zwei Einsatzbereiche: Der erste war die Entwicklung von Steuerungskomponenten für die Industrie. Die hierfür verwendeten Platinen wurden auf breite klimatische Einsatzbereiche optimiert, in kleinen Serien hergestellt, und die Hersteller garantierten eine lange Verfügbarkeit – das sorgte leider für hohe Preise. Bereits für einfache SBCs wurden mehrere Hundert Euro aufgerufen.

Der zweite Einsatzbereich war der als Musterplatine für die aufkommende Heimvernetzung, wie DSL-Router oder NAS (Network Attached Storage). Basierend auf den Referenzdesigns konnten Hardwarehersteller dann Software für DSL-Router und später die abgespeckten Platinen (weniger Schnittstellen, weniger Speicher) entwickeln. In Form von NAS und Router wurden die ersten Single-Board-Computer dann von der Community entdeckt, die mit eigener Firmware die Funktionalität erweiterte und so vollwertige Server für den Hausgebrauch schuf oder Linux-basierte Settop-Boxen zu Entertainment-Centern ausbaute.

Die frühen Jahre 

Die bekanntesten Geräte dieser Ära dürften der Linksys-Router WRT54G(L) und der erste populäre NAS-Server Linksys NSLU2 gewesen sein. Softwareseitig verschrieb sich das OpenWRT-Projekt (und das verwandte DD-WRT-Projekt) der Entwicklung einer schlanken Firmware. Debian arbeitete früh an Paketen für die typischerweise verwendeten MIPS- und ARM-Architekturen, sodass erfahrene Linux-Anwender mit den bekannten Paketwerkzeugen arbeiten konnten. Heutzutage gesellen sich mit Yocto Linux und uClibc Buildroot weitere Embedded Linuxe hinzu, und in Form von NetBSD und mit Einschränkungen FreeBSD stehen »echte Unixe« bereit.

Dennoch galten Single-Board-Computer bis vor ein paar Jahren als reines Nerd-Spielzeug. Das hatte vor allem zwei Gründe: Eine fehlende Anschlussmöglichkeit für Tastatur und Monitor machte das Debugging schwierig und erforderte zusätzliche Kenntnisse sowie zusätzliche Hardware in Form eines 3,3-V- oder 5-V-USB-Seriell-Adapters, um auf den Bootloader und vor Initialisierung der Netzwerkschnittstellen auf eine Konsole zugreifen zu können.

Die zweite Hürde waren fest verlötete »Massenspeicher« – meist Flash-Bereiche mit 2 bis 32 MByte: Schlägt die Installation eines Betriebssystem-Images fehl, muss umständlich aus dem Bootloader heraus per TFTP (Trivial File Transfer Protocol) eine erneute Installation gestartet werden – auch hierfür ist zusätzliche Software (im Sinne eines TFTP-Servers) notwendig, zudem brauchen Sie das nötige Expertenwissen im Umgang mit Bootloader und TFTP-Server.

Linux-Experimente auf dem DSL-Router: Weil die Netzwerkschnittstelle nicht initialisiert wurde, musste ich zum Lötkolben greifen, um Zugriff auf eine serielle Konsole zu bekommen – derartiges Ungemach droht beim Banana Pi nicht.

Die ARM-Plattform

Ein Meilenstein für die Entwicklung heute omnipräsenter Minicomputer (Smartphones, Tablets, NAS-Geräte, Videoplayer etc.) war die Entwicklung der ARM-Prozessorfamilie. Entstanden ist diese im Umfeld der Universität Cambridge, als die Entwickler des »Volkscomputers« BBC Micros mit dem verbauten Prozessor unzufrieden waren. Mangels guter Rechenleistung zu günstigen Preisen entwickelten sie einfach einen eigenen Prozessor. Der trug zunächst den Namen Acorn RISC Machines – dabei ist RISC wiederum ein Akronym für Reduced Instruction Set Computing, was dafür steht, dass wenige, dafür hochoptimierte Befehle verwendet werden. Später wurde die Prozessorsparte ausgelagert, die Abkürzung steht seither für Advanced RISC Machines.

Für den Erfolg der ARM-Architektur dürften zwei Entscheidungen ausschlaggebend gewesen sein: Zum einen können ARM-Prozessoren mit wenigen Transistoren und damit billig gefertigt werden. Zum anderen baut ARM Holdings selbst keine Prozessoren, sondern entwirft nur die Kerne. Chiphersteller können diese Kerne lizenzieren und mit Peripherie wie einem Grafik-Chipsatz oder Hardware für Schnittstellen (SATA, Ethernet) kombinieren. Derart kombinierte, hochintegrierte Systeme nennt man System on a Chip, kurz SoC. Dieses Geschäftsmodell erlaubt die Herstellung günstiger Prozessoren, die exakt die benötigte Hardware mitbringen: ARM-SoCs in NAS-Geräten benötigen keine Grafikhardware, so kann man darauf komplett verzichten. ARM-SoCs in Android-Spielekonsolen dagegen integrieren separat lizenzierte Grafikkerne. 

Bei Redaktionsschluss war die 32-bittige ARM-Architektur ARMv7 die am weitesten verbreitete. ARMv8-Prozessoren, die 64 Bit und Virtualisierungsfunktionen kombinieren, waren bis dato nur in High-End-Smartphones und -Servern zu finden. Erfahrungsgemäß dürfte es bis 2017 oder 2018 dauern, bis die Vorteile von ARMv8 wirklich auf Single-Board-Computern zum Tragen kommen: Bei 1 GByte Arbeitsspeicher in durchschnittlichen SBCs ist viel Luft nach oben, bis die Grenze von 4 GByte der 32-Bit-Architektur erreicht ist, und Virtualisierung wird eher im Smartphone praktische Anwendungen finden (zur Trennung einer beruflichen und einer privaten Betriebssysteminstanz) als auf Hobby-SBCs.

Der Raspberry Pi

Mit beiden Nachteilen der Routerboards und frühen Evaluationsboards räumte der Raspberry Pi auf: Der im Umfeld der Universität Cambridge entwickelte Einplatinencomputer war von vornherein als Billigcomputer für den Bildungsbereich konzipiert. Ganz oben auf der Agenda stand daher der Anschluss von Fernsehern – weil auch Schwellenländer anvisiert wurden, sogar in Form der gelben analogen Composite-Buchse der frühen Modelle. Organisiert ist das Raspberry Pi-Projekt relativ hierarchisch: Die Raspberry Pi Foundation kontrolliert die Weiterentwicklung der Hardware, deren Fertigung sowie die im »Standardbetriebssystem« Raspbian enthaltenen Programme. Hard- und Software sind erwartungsgemäß eng miteinander verzahnt, was die Einrichtung und Inbetriebnahme stark vereinfacht.

Dennoch gibt es Kritik an dem hierarchischen Entwicklungsmodell des Raspberry Pi: Der verwendete ARM-Prozessorkern (ARMv6) galt bereits bei Veröffentlichung des Computerchens als veraltet – sogar das anderthalb Jahre zuvor veröffentlichte Mobiltelefon Samsung Galaxy S verwendete einen moderneren. Das Kathedralenmodell sei zu unflexibel und stehe Innovationen im Hardwarebereich im Weg. Dazu gibt es noch weitere technische Kritikpunkte, die vor allem im verwendeten Broadcom-Chipsatz liegen: Dieser bindet die Ethernet-Schnittstelle am einzigen internen USB-Hub an, der zudem bei konkurrierenden Zugriffen als recht langsam gilt. Wer also gleichzeitig DVB auf Festplatte aufnimmt und übers Netzwerk auf Festplatte gespeicherte Filme ansieht, mag mitunter den Flaschenhals bereits spüren.

Einen Teil der Kritik geht das neueste Modell Raspberry Pi 2 an: Sein Vierkernprozessor basiert endlich auf ARMv7 – damit schließt es etwas zur Konkurrenz auf. Das ermöglicht zudem Synergien bei der Softwareentwicklung. Die verhältnismäßig langsame Anbindung von Ethernet und externen Speichermedien ist dagegen geblieben. 

Mit HDMI-Anschluss und entnehmbarer Speicherkarte machte der Raspberry Pi Single-Board-Computer hobbytauglich – Kritik gab es eingangs für den nicht mehr ganz frischen ARM-Prozessor.

Banana Pi – Raspberry weitergedacht

Ein komplett anderes Entwicklungsmodell verfolgt der an der technischen Universität Shenzhen (Shenzhen hat sieben Fachhochschulen und 12 Millionen Einwohner) erdachte Banana Pi. Die Anforderungen sahen zunächst ähnlich aus: Wie das Vorbild sollte der Banana Pi Studenten und Schülern höherer Klassen einen günstigen Computer bieten, und so unterschied sich die Schnittstellenausstattung zunächst kaum vom Raspberry Pi.

Allerdings gilt Shenzhen als die Elektronikmetropole überhaupt, in der ein großer Teil der chinesischen Fertigung von Settop-Boxen, Android-Sticks, Tablets, NAS-Devices und vielen weiteren Geräten stattfindet. In solch einer Umgebung sind Hardwarepartner mit viel Erfahrung bei der Integration bestimmter ARM-SoCs schnell gefunden. Gespielt wird meist über Bande mit drei oder vier beteiligten Unternehmen:

Nicht umsonst heißt Shenzhen auch »Werkbank der Welt«: Internationale Elektronikaufträge werden erstaunlich arbeitsteilig wie an einer Werkbank zwischen mehreren Unternehmen hin- und hergeschoben.