Raspberry Pi vs ESP32 Leave a comment

Raspberry Pi, die Plattform für vernetzte Elektronikprojekte, kam 2012 zum ersten Mal auf den Markt. Raspberry Pi bot dem Maker eine komplett neue Welt für seine Projekte. Zu dieser Zeit war in unseren Gegenden vor allem die 2006 entwickelte Plattform von Lego genannt Mindstorms NXT „in“. Mit Raspberry Pi kam eine günstigere Alternative, die offen war und durch die Unterstützung von fast allen Betriebssystemen flexibilität wie nie zuvor bot.

Seither ist Raspberry Pi nicht mehr wegzudenken. Seit 2012 wurden insgesamt an drei verschiedenen Typen gearbeitet. Das war der Klassische Raspberry Pi, der Raspberry Pi Zero und die Raspberry Pi Compute Modules (CM). Seither hat sich das Internet-der-Dinge als Trendbegriff immer mehr etabliert. Der Anspruch kam, kleinere und stromsparendere Module zu entwickeln. Und vor allem günstigere. Die ganzen smarten Lampen und Lichschalter müssen ja auch bezahlbar sein. So hat sich insbesondere der von Espressif 2014 entwickelte SOC ESP8266 immer grösserer beliebtheit erfreut. 2016 kam dann der Nachfolger von ESP8266, das ESP32. Erst drei Jahre alt, hat sich die ESP32 Plattform zum Liebling von IOT Maker entwickelt. Wer sowohl mit Raspberry Pi, wie auch mit ESP32 arbeitet weiss, dass man viele Anwendungenfälle von Raspberry Pi auch mit ESP32 umsetzen kann.

Wir wollen Dir hier eine Entscheidungshilfe geben ob Du für Dein geplantes Projekt die ressoucreintensive und teurere Raspberry Pi Plattform brauchst oder ob dir die sparsame, günstigere ESP32 Plattform reicht.

Hier haben wir eine Übersicht über die wichtigesten Faktoren zusammengestellt:

Raspberry Pi vs ESP32
Raspberry Pi vs ESP32

Funktionen und ihre Bewertung

Was bedeutet die Tabelle den nun für Dein Projekt? Im folgenden versuchen wir Dir darin Klarheit zu verschaffen.

Bildbearbeitung

Schaust Du die Menge Arbeitsspeicher an, die ESP32 bietet sollte Dir baldeinmal klar sein: Ressourcenintensive arbeiten wie die Bildbearbeitung machst Du lieber auf dem Raspberry Pi. Der im Verhältnis schnelle Prozessor und vor allem grosse Arbeitsspeicher sind dafür ausgelegt, auch ressourceintensive Arbeiten zu erledigen. Mit dem ESP32 hast Du höchstens die Möglichkeit, die Daten an einen Server zu senden und sie dort zu bearbeiten. Danach kannst Du diese wieder zurücksenden. Geht es aber nur darum, Sensordaten zu verarbeiten, ist das mit den 240 MHz ohne Probleme möglich. Selbst komplizierte Berechnungen sind damit im innerhalb von Mikrosekunden abgearbeitet. Die zwei Kernen stellen sicher, dass das System auch während den Berechnungen zuverlässig weiterläuft.

Kamera

Willst Du eine Kamera verwenden, dann kannst Du das mit ESP32, es ist aber recht kompliziert und langsam. Wenn Du etwas komplexere Projekte mit Kameras hast, dann wird Raspberry Pi wohl mehr zu bieten haben. Auch die Performance wird es Dir verdanken.

Bildschirm

Bei Bildschirmen kommt es drauf an, was Du darauf darstellen willst. Videoausgabe? Geht mit dem ESP32 nur sehr eingeschränkt. Geht es hingegen nur darum, Daten darzustellen (z.B: Diagramme, Zahlen und Bilder), dann kannst Du das mit ESP32 ganz einfach und schnell.

Touchscreen

Willst Du den Bildschirm über Berührung steuern können? Für ESP32 gibt es die meisten Bildschirme auch als Touchscreen-Variante. Die Grösse der Bildschirme ist allerdings beschränkt. Willst Du grössere Bildschirme mit komplexeren Steuerungsfunktionen anbieten, empfiehlt sich ein autonomer Bildschirm wie Nextion Screen (gilt übrigens auch für Raspberry Pi). Dieser Bildschirm funktioniert eigentständig und hat eine Schnittstelle die Du mit ESP32 ansteuern kannst.

Desktop (inkl. Maus und Tastatur)

Brauchst Du für Dein Projekt einen Desktop mit Bedienung über Maus und Tastatur, dann brauchst Du ebenfalls einen Bildschirm und – richtig geraten, Raspberry Pi. Es gibt Tastaturen für ESP32, aber auch hier gilt, eher für Fortgeschrittene.

Remote Steuerung

Willst Du aus der Ferne Zugriff haben, dann brauchst Du ein richtiges Linux. Das gibt’s nur bei Raspberry Pi. Willst Du Fernzugriff für Dein ESP32 Server, dann musst Du die Funktionen fest einprogrammieren, z.B. via einer API oder MQTT. Dies ist aber oft das einzige was man braucht.

Sensoren lesen

ESP32 ist spezialisiert für das auslesen von Sensordaten. Schnell, unkompliziert und zuverlässig geschieht dies über die Einbindung der passenden Library. Dafür brauchst Du kein Raspberry Pi. Ausserdem können sowohl analog wie auch digitale Daten nativ gelesen werden. Analog Sensoren können in Raspberry Pi nur über einen Umweg gelesen werden.

Aktoren Steuern

Wie bei den Sensoren gilt auch hier. Der ESP32 ist spezialisiert für die Steuerung von Aktoren. Sei es ein Servo, ein Relay oder ein Motor. Via analoger und digitaler GPIO Pins können sämtlich erdenkbare Aktoren gesteuert werden. Ebenfalls Analog und Digital.

Internetverbindung

Willst Du dich mit dem Internet verbinden? Messdaten in eine Onlinedatenbank schreiben oder abrufen? ESP32 kann dies via WLAN oder LAN. Nicht so schnell wie beim Raspberry Pi, aber viel Daten wirst Du mit dem ESP32 eh nie verschieben. Willst Du LAN verwendent, musst Du jedoch einen entsprechenden Stecker mit dem Modul selber verbinden. Verschlüsselte Verbindungen (https) sind auch problemlos möglich.

Batteriebetrieben / Solarbetrieben

Gedenkst Du Dein Projekt autark in der Wildnis auszusetzen? Versorgung über Batterie und Photovoltaik? Mittels ESP32 und Handgrossen Solarmodulen und einer kleinen 3.7 LiIon Batterie kannst Du Deine Wetterstation das ganze Jahr durch betreiben, ohne dass weiter Strom zugeführt werden muss. Dabei nutzt Du die Stromsparenden funktionen wie DeepSleep. Willst Du das Selbe mit Raspberry Pi tun, musst Du schon mit grösseren Panelen und einer 12V Batterie rechnen.

Platzbedarf

Fehlt es Dir an Platz ist das ESP32 das Richtige. Bist Du ein guter Löter kannst Du gar die schlanke Version von ESP32 nehmen, die ist gerade mal so gross wie ein Daumennagel. Auch in der Höhe gewinnt das ESP32 klar. Dafür gibt es die Zero-Version welche auch mit einer sehr geringen Höhe Punkten kann.

Grössenvergleich in cm von Raspberry Pi, Raspberry Pi Zero und ESP32 DEVKIT1
Grössenvergleich Raspberry Pi und ESP32 übereinandergelegt
Höhenvergleich (hier ein älteres Raspberry Pi Model, die Höhe hat sich aber nicht verändert)

Stabilität

Ist Dir Stabilität wichtig? Raspberry Pi hat gewöhnlich ein Betriebssystem, z.B. Linux, auf welchem Dein Projekt z.B. ein Programmscript läuft. Dein Programm wird dann auf diesem Betriebssystem ausgeführt. Je nachdem wie Du Dein Programm schreibst gibt’s da sogar noch mehrere Ebenen. Die Abbildung unten sollte Dir einfach aufzeigen, wo die Problematik liegt. Bei Raspberry Pi können Fehler auf bis zu 5 Stufen erfolgen. Das macht das System im Verlgeich zu ESP32, welches nur zwei Ebenen kennt, sehr Fehleranfällig. Bei einem Fehler kann es sein, dass das System komplett neu gestartet werden muss und es kommt zu längeren Unterbrüchen. Benutzt Du Arduino IDE zum programmieren von ESP32, dann ist Dein Programm auch gleich das Betriebssystem (bzw. Firmware). Es gibt kein Layer darüber. Das hat eine extrem schnelle Bootzeit von meist wenigen Mikrosekunden zur Folge. Bei einem Fehler kannst Du nur den Reset-Knopf drücken und das System läuft sofort wieder. Zustätzlich ist der SPI-Flash Speicher ist im Gengensatz zur microSD-Karte von Raspberry Pi (Stichwort „SD-Card Corruption„) praktisch unzerstörbar.

Programmstruktur ESP32 im Verlgeich mit Raspberry Pi

Kosten / Mengen

Planst Du mehrere Geräte anzuschaffen? Dann könnten die Kosten schnell mal zum Hauptkriterium werden. Zum einen stehen ca. CHF 50 gegenüber CHF 12. das ist mehr als vier mal teurer und dabei ist noch nicht der Mengenrabatt eingerechnet, den Du bei uns auch noch erhältst. Auf der anderen Seite kannst Du bei Raspberry Pi auch mal einen Mengenproblem haben, versuche mal 50 Stk. Raspberry Pi einfach so mal zu bestellen. Den Raspberry Pi Zero erhältst Du teils gar nicht oder nur mit langen Lieferfristen. Gerade für Schulklassenprojekte, die oft mit dem Raspberry Pi Versuche machen wäre die ESP32 Plattform meist viel geeigneter. ESP32 unterstütz im übrigen auch MicroPython.

Bei grossen Mengen kann auch die Reproduzierung ein Problem sein. Nehmen wir an, Du hast ein Raspberry Pi „A“ und „B“ und willst aus „B“ ein Klon von „A“ machen. Dazu musst Du eine exakte Kopie der SD-Karte machen (also nicht einfach Copy-Paste im Dateiexplorer). Danach hast Du je nachdem das Problem, dass Du zwar ein Klon hast, aber nicht wirklich ein Klon willst, sondern der Klon hat vielleicht ein paar Parameter, die Du auf jedem Gerät anders haben willst. Der Aufwand ist relativ gross und langwierig. Bei ESP32 hast Du zwei Möglichkeiten. Upload der Firmware via Arduino IDE (dauert weniger als 20 Sekunden pro Modul) oder Update via OTA. Das OTA könntest Du sogar automatisiert verteilen lassen, inkl. Anpassung von Parameter für jedes einzelne Gerät.

Kontinuität / Industrieanwendung

Willst Du etwas entwickeln, was auch noch in 5 Jahren reproduzierbar ist? Raspberry Pi ist mehr ein Consumer Produkt. Ihr Marketing funktioniert auch entsprechend. So gibt es ungefähr im Zweijahrestakt ein neues Modell. Dies hat zur Folge, dass die alten Modelle nicht mehr produziert werden und nach ein paar Monaten aus dem Verkauf verschwinden. Für einen Produkteentwickler auf Basis Raspberry Pi der wahre Alptraum.

Die ESP Plattform ist vom Marketing her mehr industrieorientiert. Die Plattform gibt es seit 2014 und das erste Modul, das ESP-01, kannst Du heute noch in Grossmengen kaufen, auch bei uns im Shop.

Drittprogramme

Willst Du Software von Dritten wie ein Medienzenter laufen lassen? Dann brauchst Du Raspberry Pi. Minecraft, ein Browser, Peripheriegeräte mit speziellen Treiber, ein Nintendo Emulator. Dafür eignet sich Raspberry Pi hervorragend. Das heisst natürlich nicht, dass dies mit ESP32 nicht auch möglich wäre. Längst schon wurden spiele wie Super Mario oder Tetris auf ESP32 portiert.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.