Cóż, odpowiedź na pytanie „Czy może zastąpić Arduino” - tak, w wielu przypadkach może.
Czy byłby to „zabójca Arduino” - wątpię w to.
W moim domu jest wiele arduinos i ESP i 1 ESP w moim biurze, działający 24 godziny na dobę, 7 dni w tygodniu, jako część mojego własnego (i ciągle rozwijanego) rozwiązania inteligentnego domu, wraz z 1-2 komputerami. Ponadto mam kilka eksperymentów / niedokończonych projektów z udziałem ESP.
Tak więc, z mojego niezbyt ograniczonego doświadczenia, oto zalety i wady ESP w porównaniu do Arduino:
++++ wbudowana łączność internetowa!
++ Szybszy zegar i więcej pamięci.
+ Działa na 3V3 (większość, ale nie wszystkie Arduino mają 5 V), więc może bezpośrednio łączyć urządzenia 3v3 (jak większość modułów wyświetlających), bez przełączników poziomów.
+ „Podstawowy” ESP-12E kosztuje około tyle, ile Arduino nano lub pro micro.
- „Podstawowy” ESP-12E ma podziałkę 2,0 mm, a nie 2,54 mm, co sprawia, że praca z nim jest trudna.
- Istnieją wybicia, które ułatwiają prototypowanie, ale zwiększają koszty i zajmują zbyt dużo miejsca na płycie pilśniowej / protoboardzie.
- Najczęstszy breakout - NodeMCU - jest droższy i ma odwzorowane szpilki, poważna irytacja, chyba że programujesz go w Lua, co jest odpowiednie tylko dla bardzo prostych projektów. IMO powinien być używany tylko do prototypowania.
- Działają na 3v3, co utrudnia interfejs modułów 5V, w pełni włącza większość tranzystorów MOSFET itp.
- Są wyjątkowo wybredne w kwestii zasilania.
- Pobierają znacznie więcej mocy niż Arduino, gdy nie nadają i znacznie więcej podczas nadawania.
- Są prawie zawsze gorsze w przypadku projektów zasilanych bateryjnie - potrzebujesz regulatora 3v3 (który ma prąd spoczynkowy), musisz dużo spać (i potrzebujesz na to GPIO16), a na koniec dnia arduino + niski - radio z napędem wykona tę samą pracę i będzie działać znacznie dłużej na baterii.
- Mają mniej styków GPIO, a niektóre z nich muszą mieć ustawione napięcia podczas uruchamiania (GPIO0 - wysoki, GPIO2 - wysoki lub zmienny, GPIO15 - niski), a także „poruszają” niektóre ze swoich styków IO podczas uruchamiania, często uniemożliwiając ich użycie wiele urządzeń.
- Mają tylko jeden ADC i według mojej wiedzy jest wolniejszy niż już wolne ADC Arduino, a ponadto możesz go używać tylko z 0-1.1 V (wewnętrzne odniesienie).
- Wiele bibliotek Arduino działa od razu po instalacji lub jest już przeniesionych, ale wiele nie. Musisz albo sam je przenieść, albo poczekać, aż ktoś to zrobi. Ogólnie rzecz biorąc, społeczność Arduino jest znacznie większa i bardziej dojrzała, więc większość samouczków, bibliotek itp. Jest dostępna dla Arduino.
To powiedziawszy, ESP8266 jest nadal świetny i niezwykle użyteczny. Nawet Lua jest przydatna do szybkich małych projektów. W większości przypadków, gdy wymagana jest łączność z Internetem, wydają się być najlepszym rozwiązaniem. W wielu innych przypadkach nie ma znaczenia, czy użyjesz ESP, czy Arduino. A czasem Arduino (lub mały ATTiny85) jest lepszym wyborem.
Jak zawsze „właściwym narzędziem do pracy” jest droga.
Lub kombinacja narzędzi.