Verwende ich einen Raspberry Pi oder besser einen Mikrocontroller?
Es erreichen mich immer wieder Anfragen, welche man auch zuhauf in Foren und Gruppen findet. Meist geht es um die Umsetzung von Projekten, die man meist mit einem RasPi machen kann, aber eigentlich nicht für diesen Rechnertyp geeignet sind. Zum Beispiel findet man hier neben zeitkritischen Sensorauswertungen einfache Aufgaben für die der Raspberry Pi nicht geeignet oder überdimensioniert ist. Aber man findet auch Aufgaben, für die der RasPi Hardware-technisch aufgrund von fehlenden Schnittstellen unterdimensioniert ist. Die Einrichtung eines Server- bzw. NAS Systems wie auch die Auslesung eines Sensors ist durchaus möglich, allerdings auf Dauer meines Erachtens nicht unbedingt sinnvoll. Mit diesem Beitrag möchte ich dir einen kleinen Überblick über das geben, was der Raspberry Pi ist und was in von einem Mikrocontroller unterscheidet.
Einplatinenrechner und Mikrocontroller
Bei diesem Überblick geht es mir nicht um die Bestimmung eines besseren Systems, auch erhebe ich keinen Anspruch auf Vollständigkeit der Aufzählung der einzelnen Merkmale der beiden Einteilungen. Das Ziel des folgenden Überblicks soll eine Hilfestellung für dich sein, die dir bei der Planung oder Einschätzung deiner Projekte dienen soll.
Raspberry Pi
Unter den Mini-Computern dürfte der Raspberry Pi die höchste Bekanntheit erreicht haben. Aber genau genommen hätte ich die Überschrift eher Einplatinenrechner oder Ein-Chip-System nennen müssen. Diese werden durch den Einsatz eines Betriebssystems zu eigenständigen Computersystemen. Durch den Einsatz von Monitor, Maus und Tastatur unterscheiden sie sich nur durch die Leistung von einem normalen Desktop-System. Sucht man eine Hardware-Alternative zu dem Raspberry Pi, findet man zum Beispiel den Omega2 Plus, den Banana Pi, den Odroid, das Asus Tinker Board und noch viele andere. Als Betriebssystem werden meist entsprechend angepasste Linux-Distributionen verwendet. Aber auch Android und Windows 10 IoT Systeme finden Einsatz auf dem Raspberry Pi. Bei Windows sollte man allerdings darauf achten, es handelt sich hier nicht um das normale Desktopsystem, auch wenn mancher Versuch die Desktop-Variante auf den RasPi gezeigt hat. Allerdings ist der Raspberry Pi eben für diesen Einsatz einfach unterdimensioniert.
Die Verwendung eines Betriebssystems mit Ausnahme von Windows 10 IoT ermöglicht uns die Entwicklung direkt auf dem System, übernimmt die Verwaltung der einzelnen Schnittstellen, des Speichers und laufenden Programme und Dienste. Soll heißen, das von dir erstellte Programm ist in der Regel nicht das Einzigste, was auf dem System läuft. Man kann dies zwar bei der Installation oder Auswahl des OS einschränken, aber bei den meisten Installationen und ersten Schritten mit einem Raspberry Pi wird dies meist übersehen. Stichpunkte hierzu sind zum Beispiel Raspbian Lite, Embedded Linux und Windows 10 IoT.
Die eingeschränkte Hardware der meisten Einplatinenrechner liefert meist unbefriedigende Leistung bei dem Aufbau von Server- bzw. NAS-Systemen. Zum Beispiel fehlt dem Raspberry Pi neben der Prozessorleistung ein SATA-Controller, aber auch die getrennte Verwaltung von LAN und USB sollte nicht außer Acht gelassen werden. Soll aber nicht heißen, dass du es für Lernzwecke nicht einmal ausprobieren solltest.
Mikrocontroller
Bei den Mikrocontrollern sind in der Maker Szene neben den ESP8266 die Arduino-Boards sehr beliebt. Beide Systeme liefern den Prozessor inklusive der notwendigen Peripherie (Ein-/ Ausgänge sowie Schnittstellen). Der ESP8266 hat sogar ein WLAN-Modul integriert, welches bei den Arduino-Boards mit sogenannten Shields problemlos erweitert werden kann.
Die Mikrocontroller-Boards laufen ohne Betriebssystem. Das Programm wird in einer Entwicklungsumgebung programmiert und danach in den Flash-Speicher des Mikrocontroller geschrieben. Im Gegensatz zu einem Raspberry Pi benötigt man also noch einen weiteren PC und unter Umständen noch weitere Hardware, um den Mikrocontroller zu beschreiben. Der Vorteil hiervon ist, auf dem Mikrocontroller läuft nur das eigene Programm und dieses muss sich keine Ressourcen mit anderen Programmen und einem Betriebssystem teilen. Die Grenzen hier sind meist die Leistung des Mikrocontrollers selbst.
Mein Empfehlung
Für manche Projekte solltest du dir nicht die Frage stellen, Raspberry Pi bzw. Einplatinenrechner oder Mikrocontroller, sondern eher was möchte ich mit einem Projekt erreichen. Geht es um das Prototyping eines späteren IoT-Gerätes, dann solltest du die zukünftigen Anforderungen, wie zum Beispiel Webkonfiguration, Betriebssystemanforderung oder der Einsatz in industrieller Umgebung (Umwelteinflüsse wie z. B. Temperatur) beachten. Sollte es sich um den Einsatz im heimischen Umfeld handeln, dann stellt sich vielleicht eher die Frage, wie kann ich die beiden Systeme am besten kombinieren.
Kleiner Hinweis, alle Kommentare werden moderiert.
Dies bedeutet, der Kommentar wird vor der Veröffentlichung durchgelesen und von mir geprüft. Auch behalte ich mir vor, jeden Kommentar zu löschen, der nicht direkt auf das Thema abzielt oder nur den Zweck hat, Leser oder Autoren herabzuwürdigen.