Was kann ein ESP32 besser als ein RPi Zero-W?

OP #8001037
Lesenswert?

Guten Morgen!

Mich fasziniert schon lange die Begeisterung für ESP32, jetzt muss ich doch mal nachfragen. Nebenan gibt's mal wieder Schwierigkeiten mit ESP32 für Wettersensoren -- ok, dafür taugt der Zero-W wirklich nicht. Aber verglichen mit den Wetterstationen aus dem Supermarkt taugt ein ESP auch nicht.

/Ein/ Vorteil für ESP32: wenigstens ein Analog-Eingang, aber eine zweite Platine braucht man doch trotzdem. Damit könnte der Zero-W auch messen. Also, was ist das Geheimnis?

#8001049
Lesenswert?

Könnte am Formfaktor und dem Betriebssystem liegen..

Ein Linux betreiben & warten zu müssen nur um ein paar Daten ins WLAN zu funken könnte dem ein oder anderen wie Overkill erscheinen, wenn's auf dem ESP32 auch 2 arduino-libs tun um das gleiche zu erreichen..?

Und den Homeassistent betreibst du halt dann auf dem echten PI..

Also ich hab keinen Einsatzzweck für die Kanone im Spatzenoutfit.. :)

: Bearbeitet durch User
OP #8001101
Lesenswert?

Jan schrieb:

Ein Linux betreiben & warten zu müssen

Interessant, eigentlich braucht jedes Gerät mit WLAN Sicherheits-Updates. Oder, wenn ein ESP keine Wartung braucht, warum braucht Linux eine? Wohlgemerkt, in der gleichen Anwendung.

wenn's auf dem ESP32 auch 2 arduino-libs tun

ok, ein klarer Fall von "aller Anfang ist schwer". Wenn jemand bei Null anfängt, ist alles gleich undurchsichtig, aber nach dem dritten Gerät...

Alexander schrieb:

Ich denke nicht man kann einen PC mit einem MCU vergleichen, das sind völlig verschiedene Welten.

Naja, keine Tastatur, kein Bildschirm, ungefähr gleich groß, gleiche Stromaufnahme, außer WLAN wenig interessante Peripherie -- so viel Unterschied ist da nicht, wenn man einen ESP durch einen Zero ersetzt.

#8001111
Lesenswert?

Ein RPi Zero-W hat ein Betriebssystem. Die Hardware verhält sich wie ein PC. Du kannst eine Tastatur und einen Bildschirm anschließen. 512MB RAM vs 520 KB RAM ist wohl ein riesiger Unterschied. Beim RPi programmierst Du alles in Software über die OS Abstraktionsschicht. Das ist so unterschiedlich wie es unterschiedlicher nicht sein kann. Und zwar so unterschiedlich dass ich gar nicht wüsste wie ich einen ESP32 durch einen RPi Zero-W ersetzen könnte (ADC, DAC, PWM, Timer, UART, SPI, I²C alles flexibel mapbar über GPIO Matrix und in real-time)

Frage an Dich: Wie würdest Du ein Projekt mit dem RPi Pico RP2040‑W realisieren? Vielleicht wird ja dann der Unterschied PC vs MCU klarer..

Angehängte Dateien:
: Bearbeitet durch User
OP #8001138
Lesenswert?

Alexander schrieb:

512MB RAM vs 520 KB RAM ist wohl ein riesiger Unterschied.

Beides ist /viel/ mehr, als die meisten Anwendungen brauchen. Also: kein Unterschied.

Beim RPi programmierst Du alles in Software über die OS Abstraktionsschicht.

Gerade beim ESP geht es ohne so eine Schicht ja auch nicht. Damit kannst du ihn nicht mehr wie einen ATtiny programmieren. Aber manche benutzen auch freiwillig und gerne noch mehr Abstraktion auf noch kleineren Rechnern ;)

alles flexibel mapbar über GPIO Matrix und in real-time

ok, das ist ein Vorteil beim Platinelayout. Aber real-time hat auch Grenzen, dies war der Anlass für diese meine Frage:

Christoph M. schrieb:

Im Moment sieht es danach aus, als wenn der ESP-Wifi Treiber Zeit in der Größenordnung von einer Sekunde braucht, um zu initialisieren. Das treibt den Stromverbrauch dann in die Höhe.

Alexander schrieb:

Wie würdest Du ein Projekt mit dem RPi Pico RP2040‑W realisieren? Vielleicht wird ja dann der Unterschied PC vs MCU klarer.

Fast genau so, wie mit einem ESP? Wie sonst? Der Pico-W ist offensichtlich der britische ESP. Natürlich ist der dem ESP ähnlicher als dem Zero. Allerdings fand ich das letzte Pico-Datenblatt besser als die von Espressif. Von daher (wenn ich WLAN brauche) wäre meine Hitliste Zero, Pico, ESP. Ja, ich kann mir auch eine Anwendung vorstellen wo es Pico, ESP, Zero wäre.

Edit: die ganze Sekunde WLAN-Init ist natürlich ein WLAN-Problem und kein ESP-Problem.

: Bearbeitet durch User
#8001221
Lesenswert?

Bauform B. schrieb:

Naja, keine Tastatur, kein Bildschirm, ungefähr gleich groß, gleiche Stromaufnahme, außer WLAN wenig interessante Peripherie -- so viel Unterschied ist da nicht, wenn man einen ESP durch einen Zero ersetzt.

Bobbycar oder Lamborgini ist alles das gleiche, hat 4 Räder und ein Lenkrad.

Installiere mal auf dem ESP ein Linux mit ausgewachsenem HTTP-Server, MQTT-Broker, Postgres Datenbank, eine Mediaplayer der Full-HD Videos abspielt und das alles gleichzeitig. Einfach mal in die Datenblätter schauen.

Man nimmt halt das was besser passt.

PS: Oft läuft auf dem ESP auch ein OS - FreeRTOS. Aber das kann man nicht mit Linux vergleichen.

(Firma: DC3AX) #8001235
Lesenswert?

Wenn man Low Level programmieren kann und will, kann man viele der auf RasPi umgesetzt Projekte auch auf einem ESP32 umsetzen. Aber viele Hobby-Projekte verlaufen halt nach dem Motte, ich scripte mir was auf dem Pi in Python zusammen und wenn es geht, dann kommt eine Kiste drum und das Ding läuft, bis die SD-Carte den Geist aufgibt.

Ich kann besser C als Python und daher schreibe ich den Code für meine Basteleien in C und das auf einem ESP32 in Arduino, FreeRTOS oder Bare-Metal. Die Bootzeit und die Langzeitstabilität von Geräten ohne SD-Card gefällt mir besser.

Wenn ich Linux drunter brauche, habe ich schon mal OrangePi Zero aus dem on Board SPI Flash booten lassen von einem TFTP/PXE. Da braucht es dann auch keine SD.

Also klare Antwort in Zustimmung zu meinen Vorrednern: Den perfekten uC gibt es nicht, es gibt nur den für Dich perfekt erscheinenden uC für das Problem, dass Du gerade glaubst zu haben.

Grundsätzlich muss man im Auge behalten, dass Interpreter Sprachen immer etwas zusätzliche Rechenleistung benötigen als Compiler Sprachen. Und diese zusätzliche Leistung kommt durch zusätzliche Hardware, die eben auch zusätzliche Energie benötigt. Und ab einer gewissen Anzahl Module wird es halt auf der Stromrechnung sichtbar. Aber auch da wieder der Hinweis, alles ist Relativ. Wer sich eine Fancy LED Beleuchtung baut, die 24/7 tolle Sachen darstellt, der nimmt bei 30W LED Leistung bis zu 9W PasPi billigend in Kauf. Wer eine intelligente Lichtleiste baut, damit eben Energie gespart wird, der legt auf 0,5W bis 2W Wert. Und wenn es dann noch Batterie-betrieben werden soll, da wird noch mal mit dem spitzen Bleistift gerechnet.

Ps: Ich habe auch schon Projekte am Raspi 400 auf Machbarkeit getestet und dann in FreeRTOS auf einem ESP32 umgesetzt. Das eine spricht ja nicht gegen das andere.

: Bearbeitet durch User
#8001441
Lesenswert?

Bauform B. schrieb:

Interessant, eigentlich braucht jedes Gerät mit WLAN Sicherheits-Updates. Oder, wenn ein ESP keine Wartung braucht, warum braucht Linux eine? Wohlgemerkt, in der gleichen Anwendung.

Nunja, Linux ist ein vollständiges Betriebssystem und hat damit potentiell eine wesentlich größere Angriffsoberfläche als ein reiner WLAN-Client auf einem ESP. Nichtsdestotrotz wäre eine Wartung natürlich auch auf dem ESP sinnvoll, wenn verwendete Bibliotheken aktualisiert worden sind.

OP #8001578
Lesenswert?

Obelix X. schrieb:

Bauform B. schrieb:

Interessant, eigentlich braucht jedes Gerät mit WLAN Sicherheits-Updates. Oder, wenn ein ESP keine Wartung braucht, warum braucht Linux eine? Wohlgemerkt, in der gleichen Anwendung.

Einen ESP hängt man genau aus diesem Grund nicht in ein öffentlich zugängliches Netzwerk.

Ein Linux auch nicht; warum sollte man?

Ein T. schrieb:

Nunja, Linux ist ein vollständiges Betriebssystem und hat damit potentiell eine wesentlich größere Angriffsoberfläche als ein reiner WLAN-Client auf einem ESP.

Ja, wenn man einfach eine SD-Karte mit original Raspberry OS rein steckt. Nicht, wenn, wie auf dem ESP, nur ein WLAN-Client drauf läuft. Aber das ist beim ersten Mal doch /etwas/ mehr Aufwand, als beim ESP.

Also gut, ihr habt mich überzeugt, es gibt doch mehr verschiedene Anwendungsfälle als meine. Praktische Erfahrung mit dem einen oder anderen macht auch viel aus ;)

#8001653
Lesenswert?

Internetradio, einmal mit Pi 2W und einmal mit ESP32WROVER.

Zeit von "Power on" bis "dudelt":

Pi 2W: > 30s ESP32: 3s

Ja, man könnte den Raspi "bare metal" ohne Linux betreiben, dann wäre der auch schneller, aber dazu ist meine Restlaufzeit zu gering und mit dem ESP32 geht das ganz ohne Gebastel.

#8001660
Lesenswert?

Bauform B. schrieb:

Mich fasziniert schon lange die Begeisterung für ESP32, jetzt muss ich doch mal nachfragen. Nebenan gibt's mal wieder Schwierigkeiten mit ESP32 für Wettersensoren -- ok, dafür taugt der Zero-W wirklich nicht. Aber verglichen mit den Wetterstationen aus dem Supermarkt taugt ein ESP auch nicht.

Der Grund für die Wahl des ESP32 für die Wetterstation sind:

  • Minimalismus
  • es kann kein Trojaner installiert werden (glaube ich noch ..)
  • weniger Stromverbrauch
  • langzeitstabiler weil empfindliche SD-Karte entfällt
  • billiger weil z.B. ein CYD (cheap yellow display) ca. 25€ kostet und dann hat man schon den Server inklusive Anzeige und SD-Kartenslot

Bauform B. schrieb:

Christoph M. schrieb:

Im Moment sieht es danach aus, als wenn der ESP-Wifi Treiber Zeit in der Größenordnung von einer Sekunde braucht, um zu initialisieren. Das treibt den Stromverbrauch dann in die Höhe.

Die hat sich aber mittlerweile für den Sensor stark verringert und liegt jetzt bei knapp 300ms inklusive messen und senden.

Beitrag "Re: Micropython Wetterstation"

#8001686
Lesenswert?

Christoph M. schrieb:

Der Grund für die Wahl des ESP32 für die Wetterstation sind:

  • Minimalismus […]
  • weniger Stromverbrauch

Der enthaltene Scherz war beabsichtigt? ;)

Minimal und wenig Stromverbrauch können Andere deutlich besser, als so’n doch recht fetter ESP32.

Ansonsten /kann/ man auch an ’nen ausgewachsenen Pi so ein „billiges“ gelbes Display anschließen (wenngleich ich ’n anderes Verständnis von „billig“ habe, aber nun ja), und wenn man mag, auch ein EEPROM, um die Daten zu speichern. Wenn man’s so konfiguriert, dass von der SD-Karte mit dem System nur gelesen und nicht geschrieben wird, fällt das Haltbarkeitsargument weg, ebenso das „Trojanerargument“. Bleibt von den Punkten letztlich nur der Stromverbrauch, und der ist spätestens mit dem Display auch nicht mehr so relevant.

: Bearbeitet durch User
#8001735
Lesenswert?

Christoph M. schrieb:

Meinst du?

Ja.

Und Rene meinte möglicherweise den RP2040. Allerdings gibt’s halt auch nicht den ESP32, sondern durchaus auch welche mit zwei „echten“ Kernen. Aber ich hatte eher was aus z.B. dem Hause Nordic vor Augen. Ist zugegebenermaßen nicht mein Gebiet, aber dass ESP32 (egal welcher) insgesamt nicht unbedingt in der Minimal-Liga spielt, ist nun kein zu großes Geheimnis.

OP #8001747
Lesenswert?

Rene K. schrieb:

Gut, auf einem RP könnte man die Webseite dann sogar in "schön" machen.

Warum sollte die da schöner werden? Seit Browser SVG und CSS verstehen, hängt das doch nur vom Web-Design-Künstler ab. Ein Webserver liefert heutzutage doch nur eine statische Seite und ggf. ein paar Byte dynamische Daten. Ja, ein paar kByte Flash braucht man schon.

Ja z.b. der RP2020-WH braucht inkl. WLAN 30-40mA.

Mit Spitzen über 200mA, trotzdem sehr erfreulich. Und trotzdem ist der für Batteriebetrieb kaum zu gebrauchen:

https://www.reddit.com/r/raspberrypipico/comments/wjhfct/picow_deep_sleep_with_micropython/

Wenn man Reddit-Usern nicht traut, das Datenblatt sagt:

1
Software   Typical        Max.
2
Use-case   Average        Average
3
           DVDD Current   DVDD current
4
Popcorn    10.9  mA       16.6 mA
5
Sleep       0.39 mA        4.5 mA
6
Dormant     0.18 mA        4.2 mA

In Worten: einhundertachtzig Microampere TYPISCH

Edit: Und das ist nur der RP2040, dazu kommt noch der Kleinkram auf dem Board und ggf. der DC/DC-Wandler.

: Bearbeitet durch User
#8001801
Lesenswert?

Bauform B. schrieb:

Wenn man Reddit-Usern nicht traut, das Datenblatt sagt:Software Typical Max. Use-case Average Average DVDD Current DVDD current Popcorn 10.9 mA 16.6 mA Sleep 0.39 mA 4.5 mA Dormant 0.18 mA 4.2 mA In Worten: einhundertachtzig Microampere TYPISCH

Nun, soviel anders ist der ESP32 auch nicht wirklich, und auch der hat genug "Futter" ringsrum.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren