Der Raspberry Pi – Eine kurze Einführung
Entwicklung und Geschichte des Raspberry Pi
Auch wenn bisher die deutliche Mehrheit der Artikel hier über Programmierung verfasst sind, ist der Name „Raspberry Pi“ sicherlich nur für die wenigsten absolut unbekannt. Dennoch wollen wir die Gelegenheit nutzen, um eine allgemeine Vorstellung zu vermitteln, was sich hinter diesem Namen versteckt und was wir als Technikbegeisterte und Bastler damit anfangen können.
Ins Leben gerufen wurde das Projekt Raspberry Pi von Eben Upton mit dem Ziel, einer neue Generation an computer- und programmieraffinen Kindern ein Stück Hardware in die Hand zu geben und dadurch das vorhandene Interesse und die Begeisterung für Technik, Wissenschaft, Informatik und natürlich auch Mathematik zu fördern.
Die ersten Prototypen des Raspberry Pi entstanden um 2006 und waren noch auf der Basis von Mikrocontrollern aufgebaut. Mit der Entwicklung von kompakten und günstigen Prozessoren konnten dann aber bald die „System on Chip“, kurz SoC, genannten Kraftpakete verwendet werden, die neben der reinen CPU auch die Grafikkarte und einige weitere wichtige Komponenten enthalten. Mit dieser deutlich leistungsfähigeren Hardware folgte dann auch schnell die Notwendigkeit, ein entsprechendes Betriebssystem zu finden, denn der Raspberry Pi wurde zu einem zwar langsamen, aber dennoch „vollwertigen Computer“. Bei den ersten Präsentationen kam Linux als Betriebssystem zum Einsatz, um die weitreichende Palette an Möglichkeiten wie Office-Anwendungen und Spiele auch präsentieren zu können.
Das rege Interesse der Maker-Community sorgte dafür, dass zum Verkaufsstart 2012 anstelle der geplanten 1000 bereits 10000 Exemplare verkauft werden konnten, und in den folgenden Jahren wurde dann die Hardware des kleinen Einplatinenrechners immer wieder überarbeitet. Der Erfolg hielt weiter an, sodass von der offiziellen zweiten Version, dem Raspberry Pi 2 bereits etwa vier Millionen verkauft wurden. Mit dem Raspberry Pi Zero und schließlich dem Raspberry Pi 3 Anfang 2016 konnten die Verkaufszahlen jeweils weiter gesteigert werden. Es dauerte dann nur noch bis zum März 2019, bis die Raspberry Pi Foundation stolz den Verkauf von über 25 Millionen Exemplaren verkünden konnte. Zu diesem Zeitpunkt war die Revision Raspberry Pi 3 B+ die aktuellste Version.
Im Juni 2019 wurde die Erfolgsgeschichte dann mit der derzeit aktuellen Version, dem Raspberry Pi 4, fortgesetzt, der seine Vorgänger in Sachen Leistung noch einmal um Längen überholen konnte. Damit soll der Abstecher in die Geschichte hinter dem kleinen Rechenzwerg aber ausreichend betrachtet sein, denn wir wollen schließlich auch noch vorstellen, was er alles leisten kann.
Viel Hardware auf kleinstem Raum
Schauen wir uns zuerst einmal an, was wir auf der kleinen Grundfläche von 93 mm x 63,5 mm alles finden können (nicht markiert ist der Micro-SD Kartenslot auf der Unterseite).
- Dies ist das „System on Chip“ und enthält neben der CPU auch die Grafikeinheit. Beim Raspberry Pi 4 ist der Prozessor ein BCM2711 mit vier Kernen und einem Takt von 1500 MHz. Im Vergleich zum ersten Modell mit einem einzigen Kern und 700 MHz ist das ein ganz ordentlicher Zuwachs. Es ist zwar noch lange nicht auf dem Leistungsniveau eines modernen High-End Prozessors, für die meisten alltäglichen Dinge reicht es aber vollkommen.
- Hier steckt der Arbeitsspeicher, mit der vierten Version wurde das erste Mal die Möglichkeit geschaffen, verschiedene Ausstattungsvarianten im gleichen Modell zu wählen. Der Nutzer hat die Wahl zwischen 1GB, 2GB und 4GB Arbeitsspeicher. Das Maximum der Vorgängermodelle war 1GB. Auch die Technik wurde modernisiert und statt SD-RAM kommt moderner DDR4-Speicher zum Einsatz.
- Ebenfalls eine Neuerung steckt im USB-Controller, der ist nun mit der Version 3.0 des Standards kompatibel und kann damit, zumindest in der Theorie, mehrere Gigabyte pro Sekunde übertragen. Das ist deutlich mehr als die USB 2-Schnittstellen der vorigen Modelle.
- Unter diesem kleinen Blechschild steckt die Kombination der kabellosen Schnittstellen. Nicht nur alle modernen W-Lan-Standards im 2.4 GHz und 5 GHz-Band werden unterstützt, sondern auch Bluetooth in der Version 5.0 LE.
- Auf der Platine befinden sich zwei nahezu identisch aussehende Flachbandverbinder. Der hier markierte ist für den Anschluss von Displays vorgesehen, der zweite kann den Raspberry Pi mit einer Kamera verbinden. So könnte man zum Beispiel mit der neuen High Quality Kamera eine Digitalkamera mit Touchscreen auf Basis des Pi aufbauen.
- Die USB-C-Buchse hier dient lediglich der Stromversorgung der Platine. Daten können mit ihr nicht übertragen werden. Bei der Auswahl eines Netzteils sollte darauf geachtet werden, dass es mindestens 1,5A leisten kann. Bei einigen Kabel- und Netzteilkombinationen kann es vorkommen, dass die Stromversorgung nicht funktioniert. Dieses Problem mit „intelligenten“ Ladegeräten ist aber bei neueren Exemplaren bereits behoben.
- Die Micro-HDMI Buchse ist ebenfalls ein Neuzugang. Vorherige Modelle konnten in der Regel einen Mini-HDMI-Verbinder vorweisen. Auch die maximale Auflösung von 4K ist regulär erst mit dem Raspberry Pi 4 möglich.
- Eine zweite Micro-HDMI-Buchse ermöglicht den Anschluss eines weiteren Monitors, der ebenfalls bis zu 4K Auflösung haben kann. Damit ist es zum ersten Mal möglich, zwei hochaufgelöste Monitore zu verbinden.
- Eher als Relikt zu bezeichnen ist die kombinierte Audio-/Videobuchse, die neben der Ausgabe von Sound auch den Anschluss von Monitoren ermöglicht, die ein Composite-Signal entgegennehmen.
- Auch wenn der USB-Controller den Standard in der Version 3.0 beherrscht, gibt es immer noch zwei USB 2.0-Buchsen. Diese lassen sich an der Farbe erkennen, der Kunststoff im Anschluss ist schwarz. Über diese Anschlüsse können maximal 480 Mbit/s übertragen werden.
- Die USB 3.0-Ports sind leicht an der blauen Farbe zu erkennen. An diesen Anschlüssen ist auch die deutlich höhere Übertragungsrate von bis zu 5 Gbit/s möglich.
- In der kabellosen Zeit heute fast schon obsolet hat der Raspberry Pi einen Gigabit Netzwerk Port für Übertragungen bis 1 Gbit/s.
- Seit dem Raspberry Pi 3 B+ ist es möglich, die Platine über das Netzwerk mit Strom zu versorgen. Dazu muss eine zusätzlicher „Power over Ethernet“ Adapter an diesen Pins angeschlossen werden.
- Alle bisherigen Features sind mehr oder weniger in jedem Rechner zu finden. Die Stiftleiste, die wir hier an der oberen Kante der Platine sehen, ist neben anderen Eigenheiten einer der Hauptgründe, warum der Raspberry Pi für Bastler und Maker interessant ist. Neben den standardisierten Schnittstellen wie USB, Netzwerk und W-Lan stehen hier 40 Pins für die unterschiedlichsten Funktionen bereit. 26 davon können als GPIO verwendet werden. Das steht für „General Purpose Input Output“ und bedeutet etwa „Allgemeine Ein- und Ausgabe“.
Das gewisse Etwas – GPIO
Gerade der zuletzt betrachtete Punkt, die GPIO Pins, verdienen eine etwas genauere Erläuterung, da er eine große Rolle für den Erfolg des Raspberry Pi spielt.
Sofort fällt auf, dass einige der verfügbaren Anschlüsse fest zugewiesene Aufgaben haben. So gibt es einige Pins, die lediglich als Verbindung zur Masse (Gnd) herhalten, sowie zwei Paare für die Stromversorgung mit 3.3 Volt oder 5 Volt.
Hier ist auch gleich eine Warnung angebracht: Es darf niemals eine Spannung über 3.3 Volt an einen der GPIO angelegt werden, das würde den Raspberry Pi irreparabel beschädigen oder zerstören. Weiterhin sollten niemals mehr als 3mA Leistung an einem GPIO Pin verlangt werden (theoretisch sind bis zu 16mA aus einem einzelnen Pin möglich, solange in Summe nicht mehr als 51mA erreicht werden). An den 3.3 und 5 Volt-Pins kann theoretisch mehr angeschlossen werden, hier ist das Limit aber auch vom Netzteil mitbestimmt.
Allgemein ist es aber besser, den Raspberry Pi nur für Steueraufgaben ohne große Last zu verwenden und stromhungrige Geräte, die gesteuert werden über eine separate Stromversorgung zu bedienen.
Zwar kann jeder als GPIO markierte Pin für beliebige Zwecke eingesetzt werden, es gibt jedoch einige eingebaute Funktionen, die man über die Konfiguration aktivieren kann, um gängige Verbindungsarten zu unterstützen. Zur Verfügung stehen beispielsweise:
- PWM, Pulsweitenmodulation. Zur Steuerung von zum Beispiel Motoren. Zwar kann mit einer Softwarelösung jeder GPIO verwendet werden um ein PWM Signal auszugeben, in Hardware geht das nur über den GPIO 18, Pin 12.
- UART, Universelle Asynchrone Übertragung und Empfang. Hierüber kann die Kommunikation mit Microkontrollern hergestellt werden. Man sollte aber beachten, dass viele Microkontroller mit einem Signalpegel von 5 Volt arbeiten, der allerdings zu hoch ist für die GPIO des Raspberry Pi, die nur 3.3 Volt vertragen. Hier sollte dann ein sogenannter „Logic Level Converter“ verwendet werden, der den Signalpegel anpasst. Diese Verbindung nutzt die GPIO 14 und 15, Pins 8 und 10.
- I2C, Inter Integrated Circuit. I2C dient zur Kommunikation mit mehreren Geräten. Jedes Gerät hat eine Adresse und kann über diese angesprochen werden. Entsprechende Verbindungen können über die GPIO 2 und 3, Pins 3 und 5, aufgebaut werden.
- SPI, serielle Schnittstelle. SPI stellt ebenfalls eine Möglichkeit dar, mehrere Geräte in Reihe anzuschließen. Hierfür stehen zwei Kanäle zur Verfügung. Die insgesamt elf genutzten Anschlüsse können bei Bedarf in der Dokumentation nachgelesen werden.
Das sind natürlich bei weitem noch nicht alle Möglichkeiten, eine vollständige Aufzählung würde aber den Rahmen dieses Artikels sprengen. Eine hilfreiche Übersicht bietet die Webseite https://de.pinout.xyz/ .
Anpassung durch Programmierung oder Hardwareerweiterungen
Darüber hinaus ist es natürlich möglich, eigene Funktionalitäten über Programme in den verschiedensten Programmiersprachen hinzuzufügen. Ein Zugriff ist beispielsweise über Bibliotheken in Python, C, C++, C# und etlichen weiteren Sprachen möglich. Der Kreativität sind hier keinerlei Grenzen gesetzt. Sogar für die absoluten Jungeinsteiger gibt es Möglichkeiten, erste kleine Programme zu erstellen, indem grafische Programmiersprachen wie zum Beispiel Scratch verwendet werden, in denen man aus grafischen Elementen den Programmablauf zusammenstellen kann.
Der Kreativität sind hier kaum Grenzen gesetzt. Ob man nun einen Netzwerkspeicher aufbauen möchte oder einen Roboter bauen will, der Raspberry Pi ist dafür hervorragend geeignet. Von einfachen Aufbauten bis hin zu komplexen Projekten macht er eigentlich alles mit. Und selbst wenn man mal an eine Grenze stößt, gibt es unter Umständen eine Lösung für genau das Problem in Form eines HAT („Hardware Attached on Top“, Hardware die oben drauf gesteckt wird. Außerdem ein nettes Wortspiel mit dem englischen Wort „Hat“ wie Hut, der quasi dem Raspberry Pi aufgesetzt wird.).
HATs sind Hardwareerweiterungen die auf die GPIO Leiste des Raspberry Pi aufgesteckt werden. Ein einfaches Beispiel ist das RemotePi Board, dass den Pi um einen Powerknopf und einen Infrarotempfänger erweitert, damit man ihn über eine Fernbedienung an und ausschalten kann.
Ist man mit dem Klang der Audioausgabe nicht zufrieden und möchte eine hochwertigere Audio-Lösung, dann lohnt sich ein Blick auf einen Audio HAT. Hier wird mit Hilfe weniger Konfigurationseinstellungen die Audioausgabe über die GPIO Pins an den Audio HAT weitergereicht, der sich dann um eine hochwertigere Aufbereitung kümmert.
Andere Erweiterungen bieten verschiedenste Ein- und Ausgabegeräte wie Tastenfelder oder Touchscreens. Falls man verschiedene Kombinationen von Sensoren benötigt, ist vielleicht der SENSE HAT einen Blick Wert. Diese Erweiterung hat es übrigens im Jahr 2015 auf die internationale Raumstation ISS geschafft!
Nimmt man all das zusammen – den kompakten Formfaktor, die verschiedensten Anschlussmöglichkeiten für standardisierte und selbst entworfene Verbindungen sowie die Fülle an gut verfügbaren Erweiterungsoptionen – dann wird nochmals deutlicher, wie es der kleine Einplatinencomputer innerhalb weniger Jahre auf diese beeindruckenden Absatzzahlen geschafft hat.
Projektmöglichkeiten in Hülle und Fülle
Für jedes Level an Erfahrung gibt es dabei unzählige Projekte, die umgesetzt werden können. Für den ganz frischen Einsteiger können mit wenig Aufwand verschiedene Betriebssysteme installiert werden, die jeweils auf ein bestimmtes Einsatzgebiet oder einen Verwendungszweck zugeschnitten sind. Wer zu Hause einen eigenen Medienserver betreiben möchte, der muss lediglich „Open ELEC“ installieren und hat sofort ein vollwertiges System, das nicht nur selbst Musik, Videos und Bilder abspielen, sondern auch für andere Geräte im gleichen Netzwerk bereitstellen kann. Wo früher häufig ein ganzer PC zum Einsatz kam, kann heute ein kleines Gerät verwendet werden, das meistens sogar hinter einem Fernseher oder an einer anderen unscheinbaren Stelle Platz findet. Zudem ist der Stromverbrauch extrem gering.
Aber auch, wenn das Interesse an der Programmierung und der Individualisierung des Pi wächst, dazu passende Projekte sind immer zu finden. Wenn es über die Verwendung fertig vorbereiteter Pakete hinausgehen soll, dann ist es nur ein kleiner Schritt, sich die notwendigen Kenntnisse anzueignen, um erste komplexere Projekte anzugehen. Ein einfaches Beispiel wäre etwa ein digitaler Bilderrahmen, der sich mühelos mit einem ausrangierten Bildschirm umsetzen lässt. Zwar gibt es auch hier wieder fertige Lösungen, ein eigenes Programm zu schreiben um erste Programmiererfahrung zu sammeln ist in diesem Fall aber auch keine große Hürde.
Möchte man auch weiter in die Elektronik einsteigen, dann ist das auch ein wunderbares Projekt, um auszuprobieren wie man eigene Bedien- und Anzeigeelemente wie Buttons und LEDs anschließen und mit dem eigenen Programm steuern kann.
Stellt auch das keine Hürde mehr dar, dann wäre beispielsweise eine kleine Wetterstation, deren Daten man über das Netzwerk abrufen kann ein guter nächster Schritt. Mit ein paar Sensoren, die Umweltdaten wie Temperatur und Luftfeuchtigkeit messen und protokollieren kann man schnell seine eigene Wettervorhersage bauen und die Entwicklung der Werte in der Vergangenheit aufzeichnen. Und da der Raspberry Pi über mehrere Optionen zur Netzwerkkonnektivität verfügt, ist es ebenfalls ein leichtes, diese über eine Webseite von außen zugänglich zu machen.
Ist die Wissbegierde auch weiterhin nicht zu stoppen, dann sind nach oben auch nahezu keine Grenzen gesetzt. Wenn man schon immer einen Roboter bauen wollte, mit dem Raspberry Pi ist das möglich. Vom primitiven Linienfolger bis hin zum komplexen „Begleiter“ mit Personen- und Spracherkennung, der Raspberry Pi hat ausreichend Power dabei und ist trotzdem klein und leicht. Außerdem kann er auch mit Batterien lange Zeit versorgt werden, sodass nicht jedes Projekt am Kabel hängt.
Raspberry Pi und Arduino, keine Konkurrenten
Auf den ersten Blick ist zu erkennen, dass der Raspberry Pi im Vergleich zu den gängigen Microkontrollern bei Prozessorleistung und Arbeitsspeicher deutlich die Nase vorn hat. Mit der integrierten Möglichkeit zur Grafikausgabe ist der Pi nach der Installation eines Betriebssystems aus dem Stand und ohne weitere Komponenten einsatzbereit.
Ein Arduino hingegen führt nur den eigens für diesen Microkontroller kompilierten C-Code aus. Dafür ist er ohne weitere Vorbereitung sofort einsatzbereit und die Oberfläche, mit der die Programme entwickelt werden ist plattformübergreifend verfügbar und bietet schnellen Zugriff auf eine große menge an Bibliotheken zur Ansteuerung der verschiedensten Erweiterungen.
Hieraus ist schnell zu erkennen, dass beide Systeme auf grundverschiedene Einsatzzwecke zugeschnitten sind. Der Raspberry Pi ist ein Multitasking-Talent mit vielen standardisierten Schnittstellen, der Arduino ist ein Spezialist für Einzelaufgaben, die er verzögerungsfrei ausführt.
Am Beispiel einer rudimentären Wetterstation kann das einfach verdeutlicht werden: Soll lediglich die Temperatur über einen Sensor ausgelesen und auf einem LC-Display angezeigt werden, dann ist das eine Aufgabe, die ein Arduino hervorragend erfüllen kann. Der Einsatz eines Raspberry Pi wäre an dieser Stelle eine Verschwendung von Rechenleistung und würde einen unnötig hohen Stromverbrauch und deutlich höhere Kosten für ein vergleichsweise kleines Projekt mit sich bringen. Wenn aber zusätzlich noch ein Abgleich mit Wetterdaten aus dem Netz stattfinden soll, die aktuellen und historischen Messwerte auf einer Karte angezeigt und vielleicht noch die Bewässerung der Zimmerpflanzen gesteuert werden soll, dann sollte das Projekt auf Basis des Raspberry Pi aufgebaut werden.
Wollen wir ein Projekt aufbauen, das an einer Position eingesetzt wird, an der die Stromversorgung schwierig oder nicht unterbrechungsfrei möglich ist, dann sollte versucht werden, dieses mit einem oder auch mehreren Arduinos umzusetzen da diese einen plötzlichen Stromausfall deutlich besser vertragen als der Raspberry Pi. Da dieser schließlich ein vollwertiger Computer mit einem komplexen Betriebs- und auch Dateisystem ist, die es beide nicht mögen, einfach ohne Vorwarnung abgeschaltet zu werden, ist der Pi danach im schlimmsten Fall nicht mehr einsatzbereit. Wir können also leicht erkennen, die beiden Plattformen sind nicht als Konkurrenten zu verstehen, beide haben ihre Stärken und Schwächen. Überdies hinaus können sie auch hervorragend in Kombination eingesetzt werden. So kann beispielsweise über einen oder mehrere Arduinos eine Reihe an Sensoren ausgelesen werden, die dann wiederum Daten an den Raspberry Pi weitergeben. Oder ein Arduino wird genutzt, um Steuerbefehle an einen GPIO des Pi senden. Die Kombinationsmöglichkeiten sind hier nahezu unendlich.
Gerade auch im Hinblick auf diese Kombinationsfähigkeit freuen wir uns sehr auf die kommenden Projekte mit dem Raspberry Pi und hoffen, dass unsere Leser genauso gespannt sind wie wir!
Als Arduino Fan habe ich mit großem Interesse Ihren Blog gelesen. Es ist nicht auszuschließen, dass ich mir in noch ferner Zukunft einen Raspberry Pi erwerbe und an ihm meine Ideen zu verwirklichen
versuche. Ihr Blog ist sehr interessant und verständlich geschrieben und ich bin Ihnen für die Veröffentlich dankbar.