Ich bin ein Hobbyist und habe Arduino bisher für einfache Projekte verwendet. Jetzt möchte ich ein Projekt mit adressierbaren LEDs erstellen, ich möchte auf dem Arduino mehrere Programme für die LEDs schreiben und auf meinem Telefon auswählen, welche ausgeführt werden sollen.
Ich fand ESP8266 als eine gute und günstige Lösung, um mit meinem Arduino zu sprechen. Beim Durchsuchen des Webs, um zu erfahren, wie es funktioniert, habe ich festgestellt, dass es eine eigene MCU hat, und ich kann meinen Code in Arduino IDE schreiben und hochladen! 20kB RAM, 80MHz CPU und 4MB Flash für 3 USD (Ich bin mir jedoch nicht sicher, aber sogar ein Viertel davon ist großartig) !! Wenn ich nur ein paar GPIOs benötige, warum sollte ich dann ein Arduino UNO verwenden? Ist dieses Modul zuverlässig?
Antworten:
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.
quelle
Ja, es gibt einige I / O-Pins. Theoretisch könnten Sie also eine oder mehrere LEDs ansteuern oder beispielsweise einen I / O-Port-Expander (I2C) verwenden.
Und ja, Sie können Software entwickeln und sogar in die kostengünstigen Module herunterladen. Der Arduino-ähnliche Winkel ist nur eine Möglichkeit, dies zu tun. Es ist kein ARM, wie man glauben könnte. Aber es gibt eine Gnu-Toolchain für das esp8266 usw. Ja, 80 oder 160 MHz, 32-Bit-RISC, einige Flash, einige RAM.
quelle
Wenn Sie es programmieren können, ist es natürlich möglich, Ihre Lichter direkt zu steuern. Es hat nicht so viele I / O-Pins wie das Arduino, aber solange Sie genug haben, um die Arbeit zu erledigen, sinken sicherlich die Kosten, die Größe und der Strombedarf.
quelle
Das Arduino Uno-Board und das ESP-Modul sind nicht dasselbe, aber solange das GPIO des ESP8266 die für Ihre Anwendung erforderliche Hardware bereitstellt, funktioniert es.
Eines meiner Anliegen ist die Zertifizierung. Das Produkt hat mehrere Zertifizierungen erhalten. Sie müssen überprüfen, ob Ihre Version auch zertifiziert ist. Sie können die Zertifizierungen des Herstellers (und einige Dokumentationen) auf der FCC- Suchseite nachschlagen, indem Sie 2AC7Z als Empfängercode eingeben. Die von Ihnen verwendete Karte kann davon abhängen oder eine eigene Zertifizierung erfordern.
Wie Sie bemerkt haben, kann es als Board-Typ zum Arduino-Tool hinzugefügt werden, was es für Anfänger viel einfacher macht, damit zu spielen.
Ich habe gerade die Stipendien überprüft und alle drei verlangen, dass die WiFi-Antenne mindestens 20 cm von allen Personen entfernt ist.
quelle