Nun, die Antwort auf die Frage "Kann es Arduino ersetzen" - ja, in vielen Fällen kann es.
Ob es "der Arduino-Killer" wäre - das bezweifle ich.
Es gibt mehrere Arduinos und ESPs in meinem Zuhause und 1 ESP in meinem Büro, die rund um die Uhr als Teil meiner selbst erstellten (und ständig in der Entwicklung befindlichen) Smart-Home-Lösung zusammen mit 1-2 PCs ausgeführt werden. Darüber hinaus habe ich einige Experimente / unvollendete Projekte, an denen das ESP beteiligt ist.
Aus meiner nicht allzu begrenzten Erfahrung sind hier die Vor- und Nachteile von ESP im Vergleich zu Arduino:
++++ Internet-Konnektivität eingebaut!
++ Schnellere Uhr und mehr Speicher.
+ Läuft auf 3V3 (die meisten, aber nicht alle Arduinos sind 5V), sodass 3V3-Geräte (wie die meisten Displaymodule) direkt ohne Pegelumsetzer angeschlossen werden können.
+ Das "grundlegende" ESP-12E kostet ungefähr so viel wie ein Arduino Nano oder Pro Micro.
- Der "grundlegende" ESP-12E hat einen Abstand von 2,0 mm und nicht von 2,54 mm.
- Es gibt Ausbrüche, die das Prototyping erleichtern, aber die Kosten erhöhen und zu viel Platz auf einem Steckbrett / Protoboard beanspruchen.
- Der häufigste Breakout - NodeMCU - ist teurer und weist neu zugeordnete Pins auf, was sehr ärgerlich ist, es sei denn, Sie programmieren ihn in Lua, was nur für sehr einfache Projekte in Ordnung ist. IMO, es sollte nur für das Prototyping verwendet werden.
- Sie werden mit 3v3 betrieben, was es schwierig macht, 5V-Module zu verbinden, die meisten MOSFETs vollständig einzuschalten usw.
- Sie sind äußerst wählerisch bei der Stromversorgung.
- Sie verbrauchen deutlich mehr Energie als der Arduino, wenn er nicht sendet, und viel mehr, wenn er sendet.
- Sie sind fast immer schlechter für batteriebetriebene Projekte - Sie brauchen einen 3v3-Regler (der Ruhestrom hat), Sie müssen viel schlafen (und Sie brauchen GPIO16 dafür) und am Ende des Tages einen Arduino + einen Low -Power Radio erledigt den gleichen Job und hält im Akkubetrieb deutlich länger.
- Sie haben weniger GPIO-Pins und einige von ihnen müssen beim Start eingestellte Spannungen haben (GPIO0 - hoch, GPIO2 - hoch oder schwebend, GPIO15 - niedrig), außerdem "wackeln" sie einige ihrer IO-Pins beim Start und machen sie oft unbrauchbar für viele Geräte.
- Sie haben nur einen ADC, und meines Wissens ist er langsamer als die bereits langsamen Arduino-ADCs, und Sie können ihn nur mit 0-1,1 V (interne Referenz) verwenden.
- Viele der Arduino-Bibliotheken funktionieren sofort oder sind bereits portiert, aber viele nicht. Sie müssen sie entweder selbst portieren oder auf jemanden warten, der dies tut. Im Allgemeinen ist die Arduino-Community viel größer und ausgereifter, sodass die meisten "noob-freundlichen" Tutorials, Bibliotheken usw. für das Arduino bereitgestellt werden.
Trotzdem ist der ESP8266 immer noch großartig und äußerst nützlich. Sogar Lua ist nützlich für schnelle kleine Projekte. In den meisten Fällen, in denen eine Internetverbindung erforderlich ist, scheinen sie die beste Lösung zu sein. In vielen anderen Fällen spielt es keine Rolle, ob Sie ESP oder Arduino verwenden. Und manchmal ist der Arduino (oder der kleine ATTiny85) die bessere Wahl.
Wie immer ist "das richtige Werkzeug für den Job" der richtige Weg.
Oder eine Kombination von Werkzeugen.