Inhaltsverzeichnis:

ESP8266 ESP-12E UART Wireless WIFI Shield TTL Converter Unkompliziert - Gunook
ESP8266 ESP-12E UART Wireless WIFI Shield TTL Converter Unkompliziert - Gunook

Video: ESP8266 ESP-12E UART Wireless WIFI Shield TTL Converter Unkompliziert - Gunook

Video: ESP8266 ESP-12E UART Wireless WIFI Shield TTL Converter Unkompliziert - Gunook
Video: Arduino: How to connect Wi-Fi shield ESP-12E-ESP8266-UART-WIFI-Wireless-Shield with Arduino? 2024, Juni
Anonim
ESP8266 ESP-12E UART Wireless WIFI Shield TTL Converter Unkompliziert
ESP8266 ESP-12E UART Wireless WIFI Shield TTL Converter Unkompliziert

Diese Anleitung soll Personen helfen, die den ESP8266 ESP-12E UART Wireless WIFI Shield TTL Converter gekauft haben und nicht wissen, wie man ihn mit Arduino verwendet.

Ursprünglich wurde dieses Tutorial hier in Brasilien auf Portugiesisch geschrieben. Ich habe mein Bestes versucht, es auf Englisch zu schreiben. Verzeihen Sie mir also einige Fehler, die schriftlich sein könnten.

Diese instructables wurde wie folgt unterteilt:

Schritt 1: Kennenlernen des ESP8266 ESP-12E UART Wireless WIFI Shield TTL Converter für Arduino

Schritt 2: Firmware-Upgrade auf ESP8266 ESP-12E UART Wireless WIFI Shield TTL Converter für Arduino

Schritt 3: Schild, Schild, Mehr und Moer? Ist es wichtig?

Schritt 4: Shield Moer - Lösung der seriellen RX / TX-Kommunikation

Schritt 5: Webserver mit ESP8266 ESP-12E UART Wireless WIFI Shield TTL Converter für Arduino

Ich empfehle Ihnen, alle Schritte zu lesen, um so viel wie möglich über dieses Schild zu erfahren.

Schritt 1: Kennenlernen des ESP8266 ESP-12E UART Wireless WIFI Shield TTL Converter für Arduino

Der ESP8266 ESP-12E UART Wireless WIFI Shield TTL Converter (Shield WiFi ESP8266) macht es einfach, den Arduino über den ESP8266 mit WiFi-Netzwerken zu verbinden. Bei der Verwendung ist es nicht mehr erforderlich, eine Schaltung mit mehreren Komponenten und Drähten zu montieren, um einen ESP8266 mit dem Arduino zu verbinden, einfach die Platine an den Arduino anschließen, den DIP-Schalterpfad entsprechend der Shield-Betriebsart positionieren und den Arduino programmieren mit WLAN-Netzwerken verbinden. Außerdem kann das Board auch ohne Arduino verwendet werden, da es alle Pin-Outs des ESP-12E zur Verfügung hat.

Im Schild befindet sich die Information, dass es von einer Person namens WangTongze erstellt wurde und die Rechte daran besitzt, ist die elecshop.ml. Anfangs versuchte der Schöpfer des Schildes, über Indiegogo (eine gemeinsame Finanzierungsseite) Mittel für sein Projekt zu sammeln, aber es gelang ihm nicht, Geld zu sammeln.

Merkmale des ESP8266-Modells ESP-12E:

- 32-Bit-RISC-Architektur - Prozessor kann mit 80 MHz / 160 MHz betrieben werden - 32 MB Flash-Speicher - 64 KB für Anweisungen - 96 KB für Daten - Natives Standard-WLAN 802.11b / g / n - Arbeitet im AP-, Stations- oder AP + Stationsmodus - Es hat 11 digitale Pins- Es hat 1 analogen Pin mit 10-Bit-Auflösung- Digitale Pins außer dem D0 haben Interrupt, PWM, I2C und ein Kabel- Programmierbar über USB oder WiFi (OTA)- Kompatibel mit Arduino IDE- Kompatibel mit verwendeten Modulen und Sensoren im Arduino

Nachfolgend können Sie die Hauptmerkmale dieses Schildes lesen:

- Die Größe des Arduino Uno R3 und das Pinning sind kompatibel mit Arduino Uno, Mega 2560, Leonardo und Derivaten. - Kleinere Versionen des Arduino (z. B. Nano und Pro Mini) sind kompatibel, aber Verbindungen müssen über Jumper hergestellt werden.- Die Arduino-Spannung (5 V) wird verwendet, um das Schild zu versorgen, so dass der Arduino TTL-Pegel (5V) den ESP8266, der mit TTL 3.3V-Pegel arbeitet, nicht beschädigt.- Es verfügt über einen 4-Wege-DIP-Schalter, der zum Ändern der Betriebsmodi des Boards dient Arduino / Senden von AT-Befehlen über Arduino / Firmware-Upgrade über USB Serieller externer / eigenständiger Konverter.- Es hat indikative LEDs (PWR / DFU / AP / STA).- Da es sich im Shield-Format befindet, können andere Shields und Module eingefügt werden.- Es hat die ESP-RST-Taste zum Zurücksetzen des ESP8266.- Th Der ESP8266 ADC-Pin ist in zwei Formen auf der Platine verfügbar, die erste auf einem Pin mit 0 bis 1V Lesebereich und die zweite Form im 0 bis 3,3V Bereich.

Im Bild sind die Hauptteile des Schildes hervorgehoben:

Bild
Bild

A (DIGITAL PINS): Abfolge von Pins, die vom Arduino verwendet werden.

B (ESP8266 PINS): ESP8266-12E und ihre jeweiligen Pins. Auf der Rückseite der Platte befindet sich die Nomenklatur der Pins.

C (EXTERNAL SERIAL USB ADAPTER CONNECTION): Pinfolge zum Anschließen des externen seriellen USB-Adapters für Firmware-Update oder Debugging des ESP8266.

D (SHIELD MAINTENANCE PINS): Eine Drei-Pin-Sequenz, die als Nur Wartung gekennzeichnet ist und verwendet wird, um zu überprüfen, ob der Spannungsregler die Spannungen richtig empfängt und liefert. ES DARF NICHT ALS LIEFERQUELLE VERWENDET WERDEN.

E (DIP-SCHALTER ZUM ÄNDERN DER BETRIEBSMODI): Vierwege-DIP-Schalter zum Ändern der Betriebsarten.

CONTACT 1 (P1) und CONTACT 2 (P2): werden verwendet, um den RX (dargestellt durch P1) und TX (dargestellt durch P2) des ESP8266 mit den Arduino D0 (RX) und D1 (TX) Pins zu verbinden. P1 und P2 in OFF-Position deaktivieren die RX-Verbindung von ESP8266 zu Arduino TX und TX von ESP8266 zu Arduino RX.

CONTACT 3 (P3) und CONTACT 4 (P4): zum Aktivieren und Deaktivieren des Firmware-Upgrade-Modus für ESP8266. Um das Schreiben/Laden der Firmware auf ESP8266 zu aktivieren, müssen P3 und P4 auf ON stehen. Wenn sich P4 in der Position ON befindet, leuchtet die DFU-LED und zeigt damit an, dass der ESP8266 für den Empfang der Firmware aktiviert ist. Um den Firmware-Update-Modus zu deaktivieren und den ESP8266 in den Normalbetrieb zu versetzen, stellen Sie einfach P3 und P4 auf OFF.

HINWEIS: Alle 4 Kontakte in der OFF-Position zeigen an, dass der ESP8266 im normalen Modus neben dem Arduino betrieben wird

F (AD8 FROM ESP8266): Pinbelegung für den ESP8266 ADC. Ein Pin arbeitet im Bereich von 0 bis 1 V und ein anderer Pin arbeitet im Bereich von 0 bis 3,3 V. Diese Pins werden nur verwendet, wenn ESP8266 allein verwendet wird (Standalone-Modus).

G (ESP8266 RESET): Taste zum Zurücksetzen des ESP8266. Immer wenn Sie die Position der DIP-Schalter ändern, müssen Sie die ESP-RST-Taste drücken.

H (ANALOG PIN AND POWER SUPPLY): Abfolge von Pins, die vom Arduino verwendet werden.

Diese Abschirmung hat eine Besonderheit in den Kontakten P1 und P2 des DIP-Schalters und diese Besonderheit erzeugt in der Tat große Zweifel bei den Leuten, die versuchen, die Abschirmung zu verwenden.

Nach Angaben des Erstellers des Shields werden beim Anschließen an den Arduino nur 2 Pins benötigt. Diese Pins wären D0 und D1 (Arduinos RX bzw. TX) und zusätzlich müssen sich die P1- und P2-Kontakte des DIP-Schalters auf der Abschirmung für die Verbindung in der ON-Position befinden.

In einem der wenigen chinesischen Dokumente, die ich zu diesem Schild erhalten habe, sagt der Ersteller des Boards:

P1 und P2 sind Bit-Encoder und werden verwendet, um festzustellen, ob der serielle ESP8266 mit Arduino D0 und D1 verbunden ist oder nicht.

In einem anderen Abschnitt des Dokuments heißt es:

Diese Erweiterungsplatine hält die Arduino-Serie beschäftigt und verbindet RX von ESP8266 mit TX von Arduino und TX von ESP8266 mit Arduino RX.

Die D0 (RX) und D1 (TX) Pins des Arduino entsprechen der nativen seriellen / USB-Kommunikation, daher bleiben diese Pins beschäftigt, wenn wir Code an die Platine senden oder den seriellen Monitor verwenden. Wenn sich die P1- und P2-Kontakte der Abschirmung in der ON-Position befinden, verwendet der ESP8266 daher Arduino D0 und D1 und es ist nicht möglich, Codes zu senden oder die serielle Schnittstelle zu verwenden, da sie beschäftigt ist. Um AT-Befehle an das Shield zu senden, ist es außerdem erforderlich, dass der ESP8266 RX mit dem Arduino RX und der ESP8266 TX mit dem Arduino TX verbunden ist. Dies geschieht nur, wenn wir die Verbindungen wie in der Abbildung unten gezeigt invertieren:

Bild
Bild

Siehe ich habe die D0- und D1-Kontakte des Schildes gebogen und den Arduino D0 mit dem D1 des Schildes und D1 des Arduino mit dem D0 des Schildes verbunden. Bei dieser Verwendung der Verbindung (Arduino wird als Verbindungsbrücke verwendet) konnte ich AT-Befehle an den ESP8266 senden und bestätigte, was ich mir schon vorgestellt hatte.

Die Standardbetriebsart des Shields erfordert, dass ein Code (z. B. Webserver oder Firmware) in den Shield geladen wird und ein anderer Code in den Arduino geladen wird, um die über die native serielle Schnittstelle eingehenden Daten zu senden, zu empfangen und zu interpretieren. Näheres zu dieser Kommunikationsform erfahren Sie in den nächsten Schritten.

Wie auch immer, diese Funktion des Shields stört seinen Betrieb nicht, da wir normalerweise eine Serie auf anderen digitalen Arduino-Pins emulieren, damit wir die native Serie zur Verfügung haben. Wenn AT-Befehle an das Shield gesendet werden müssen, können wir es außerdem über vier Kabel mit dem Arduino verbinden oder einen seriellen USB-Konverter verwenden.

Schließlich war die Abschirmung sehr stabil und machte die Montage von Schaltungen sehr einfach. Getestet habe ich mit Arduino Uno R3 und Mega 2560 R3.

Im nächsten Schritt erfahren Sie, wie Sie die Shield-Firmware aktualisieren / ändern.

Schritt 2: Firmware-Upgrade auf ESP8266 ESP-12E UART Wireless WIFI Shield TTL Converter für Arduino

Um die Abschirmung an den Computer anzuschließen, muss ein serieller USB-Konverter verwendet werden. Wenn Sie keinen herkömmlichen seriellen USB-Konverter haben, können Sie den Arduino Uno R3-Konverter als Zwischenprodukt verwenden. Es gibt mehrere Modelle von seriellen USB-Konvertern auf dem Markt, aber für dieses Tutorial habe ich den PL2303HX TTL Serial USB Converter Adapter verwendet.

Um den Schild zu aktualisieren, verwenden Sie Folgendes:

ESP8266 Flash-Download-Tools

Die verwendete Firmware ist:

Ai-Thinker_ESP8266_DOUT_32Mbit_v1.5.4.1-a AT-Firmware

Nachdem Sie das Programm und die Firmware heruntergeladen haben, kopieren Sie beide in das Stammverzeichnis (Laufwerk C) Ihres Windows.

Entpacken Sie flash_download_tools_v2.4_150924.rar und der Ordner FLASH_DOWNLOAD_TOOLS_v2.4_150924 wird generiert.

Verwenden des seriellen USB-Konverters Arduino Uno R3 als Zwischenstufe:

Der nächste Schritt besteht darin, die Abschirmung mit dem Computer zu verbinden. Wenn Sie keinen standardmäßigen seriellen USB-Konverter haben, können Sie den Arduino Uno R3 verwenden, um das Schild und den Computer zu überbrücken. Zusätzlich zum Arduino Uno R3 mit USB-Kabel benötigen Sie:

01 - ESP8266 ESP-12E UART Wireless WIFI Shield TTL Converter04 - Männlich-weiblich Überbrückungskabel

HINWEIS: Vor der Montage des Arduino-Schaltplans müssen Sie einen leeren Code auf die Platine laden, um sicherzustellen, dass der serielle USB-Konverter nicht verwendet wird. Laden Sie den folgenden Code in Ihr Arduino und fahren Sie fort:

void setup() { // füge deinen Setup-Code hier ein, um ihn einmal auszuführen: } void loop() { // setze deinen Hauptcode hier ein, um ihn wiederholt auszuführen: }

Bild
Bild

HINWEIS: Seien Sie sich bewusst, wenn Sie den 3,3-V-Abschirmungsstift an den Arduino anschließen.

Verwenden des seriellen TTL-USB-Konverter-Adapters PL2303HX:

Sie benötigen zusätzlich zum TTL-Seriell-USB-Konverter-Adapter PL2303HX die folgenden Artikel:

01 - ESP8266 ESP-12E UART Wireless WIFI Shield TTL Converter04 - Männlich-weiblich Überbrückungskabel

Bild
Bild

HINWEIS: Der PL2303 hat 5V und 3V3 Strom. Verwenden Sie 3V3-Strom und ignorieren Sie den 5V-Pin

Nachdem Sie eines der obigen Verbindungsschemata erstellt haben, schließen Sie einfach das USB-Kabel (an den Arduino und den Computer) oder den seriellen USB-Konverter an den Computer an.

Gehen Sie dann in Windows zur 'Systemsteuerung', 'Geräte-Manager' und im sich öffnenden Fenster gehen Sie zu 'Anschlüsse (COM und LPT)'. Sie sehen das angeschlossene Gerät und die COM-Port-Nummer, auf der es zugewiesen wurde. Zur Demonstration habe ich sowohl den Arduino als auch den seriellen USB-Konverter an den Computer angeschlossen und im Bild unten sehen Sie, wie die Geräte im Manager erscheinen:

Bild
Bild

Wenn Sie PL2303HX verwenden und es von Windows nicht erkannt wird, rufen Sie den Post Serial TTL USB Converter PL2303HX - Installation in Windows 10 auf, sehen Sie sich an, wie Sie das Problem lösen können, und kehren Sie dann zurück, um fortzufahren.

Gehen Sie nun in den Ordner FLASH_DOWNLOAD_TOOLS_v2.4_150924 und führen Sie ESP_DOWNLOAD_TOOL_V2.4.exe aus:

Bild
Bild

Stellen Sie auf der Abschirmung die P3- und P4-Kontakte des DIP-Schalters in die Position ON und drücken Sie dann die ESP-RST-Taste auf der Karte, damit die Abschirmung in den Firmware-Upgrade-Modus wechselt:

Bild
Bild

Deaktivieren Sie bei geöffnetem Programm die Option 'SpiAutoSet', wählen Sie den COM-Port, wählen Sie 'BAUDRATE' 115200, deaktivieren Sie alle Kontrollkästchen, die in 'Download Path Config' markiert sind, konfigurieren Sie die anderen Optionen wie unten gezeigt und klicken Sie auf 'START':

Bild
Bild

Wenn die Kommunikation mit dem ESP8266 WiFi Shield in Ordnung ist, sehen Sie Informationen in 'DETECTED INFO', 'MAC Address' und 'SYNC':

Bild
Bild

HINWEIS: Wenn das Programm 'FAIL' zurückgibt, überprüfen Sie, ob Sie den richtigen COM-Port ausgewählt haben, überprüfen Sie, ob die Tasten P3 und P4 des DIP-Schalters auf ON stehen, klicken Sie auf die Schaltfläche ESP-RST, klicken Sie auf STOP und klicken Sie erneut auf START.

In 'Download Path Config' sollten Sie die heruntergeladene Datei 'Ai-Thinker_ESP8266_DOUT_32Mbit_v1.5.4.1-a AT Firmware.bin' auswählen. Klicken Sie auf das „…“des ersten Feldes und navigieren Sie im sich öffnenden Fenster zu dem Ordner, in dem Sie die Firmware abgelegt haben, und wählen Sie die Datei „Ai-Thinker_ESP8266_DOUT_32Mbit_v1.5.4.1-a AT Firmware.bin“aus. Geben Sie im Feld 'ADDR' den Offset 0x00000 ein und aktivieren Sie das Kontrollkästchen, um den Vorgang abzuschließen. Wenn Sie fertig sind, haben Sie die Einstellungen wie unten gezeigt:

Bild
Bild

Klicken Sie nun auf START, um den Vorgang zu starten:

HINWEIS: Wenn Sie den seriellen USB-Konverter von Arduino als Zwischenprodukt zwischen dem Shield und dem Computer verwenden, klicken Sie auf die ESP-RST-Schaltfläche des Shields, bevor Sie auf START klicken. Wenn Sie einen herkömmlichen seriellen USB-Konverter verwenden, ist dieses Verfahren nicht erforderlich

Bild
Bild

Warten Sie, bis der Firmware-Upgrade-Vorgang abgeschlossen ist (der Vorgang dauert ungefähr sieben Minuten):

Bild
Bild

Schließen Sie nach Abschluss des Firmware-Upgrade-Vorgangs das ESP_DOWNLOAD_TOOL_V2.4-Fenster, bringen Sie die P3- und P4-Kontakte des DIP-Schalters in die OFF-Position und drücken Sie die ESP-RST-Taste auf dem Schild, um den Firmware-Upgrade-Modus zu verlassen.

Öffnen Sie nun die Arduino IDE, damit Sie AT-Befehle an das Board senden können, um zu überprüfen, ob die Firmware korrekt aktualisiert wurde und das Board auf die Befehle reagiert.

Gehen Sie bei geöffneter IDE zum Menü 'Extras' und wählen Sie dann in der Option 'Port' den COM-Port aus. Beachten Sie in der Abbildung unten, dass ich den COM7-Port ausgewählt habe (Ihr Port wird wahrscheinlich anders sein):

Bild
Bild

Sie müssen das Board NICHT in der IDE auswählen, da dies für das Senden von AT-Befehlen irrelevant ist.

Öffnen Sie den 'Serial Monitor' und prüfen Sie in der Fußzeile, ob die Geschwindigkeit auf 115200 eingestellt ist und ob 'Both, NL and CR' ausgewählt ist:

Bild
Bild

Geben Sie nun den Befehl 'AT' (ohne Anführungszeichen) ein und geben Sie 'ENTER' ein oder klicken Sie auf 'Senden'. Wenn die Verbindung funktioniert, müssen Sie die 'OK'-Meldung zurückgeben:

Bild
Bild

HINWEIS: Wenn das Senden des Befehls KEINE Rückmeldung oder eine zufällige Zeichenfolge empfängt, ändern Sie die Geschwindigkeit des seriellen Monitors von 115200 auf 9600 und senden Sie den Befehl erneut

Geben Sie im 'Serial Monitor' den Befehl 'AT + GMR' (ohne Anführungszeichen) ein und geben Sie 'ENTER' ein oder klicken Sie auf 'Send'. Wenn Sie wie unten gezeigt Feedback erhalten, wurde Ihr ESP8266 WiFi Shield erfolgreich aktualisiert:

Bild
Bild

Wenn Sie die Kommunikationsbaudrate mit dem 9600-Schild ändern möchten, geben Sie den Befehl 'AT + UART_DEF = 9600, 8, 1, 0, 0' (ohne Anführungszeichen) ein und geben Sie 'ENTER' ein oder klicken Sie auf 'Senden'. Wenn Sie die folgenden Informationen erhalten, hat sich die Kommunikationsgeschwindigkeit geändert:

Bild
Bild

HINWEIS: Wenn Sie die Baudrate der Abschirmung ändern, sollten Sie auch die Geschwindigkeit in der Fußzeile von Monitor Serial von 115200 auf 9600 ändern. Senden Sie dann den Befehl 'AT' erneut (ohne Anführungszeichen) und drücken Sie 'ENTER' oder klicken Sie auf 'Senden'. Wenn Sie das 'OK' als Antwort erhalten, funktioniert die Kommunikation

Wenn Sie das Shield verwenden möchten, um dem Arduino WiFi zuzuweisen, beträgt die ideale Kommunikationsgeschwindigkeit 9600 Baud.

Im nächsten Schritt erfahren Sie, welchen Shield Sie haben, da es auf dem Markt möglich ist, mindestens drei Shields zu finden, die gleich zu sein scheinen, aber tatsächlich haben diese Boards einige Punkte, die sie unterscheiden, sogar in der Frage Arbeiten mit dem Arduino durch die Kommunikation über die native serielle.

Schritt 3: Schild, Schild, Mehr und Moer? Ist es wichtig?

Wenn es sich um den ESP8266 ESP-12E UART Wireless WIFI Shield TTL Converter handelt, ist es möglich, mindestens drei Boards zu finden, die anscheinend gleich sind Arduino durch native serielle Kommunikation.

Im Folgenden können Sie sehen, was die Boards unterscheidet und herausfinden, welches Ihres ist.

WLAN-Schild ESP8266:

Bild
Bild

Beachten Sie, dass auf dieser Tafel das Wort Shield "Schild" geschrieben wird und das Wort "more" das "m" in Kleinbuchstaben hat. In den Tests, die ich lange Zeit gemacht habe, zeigte das Board KEINE Funktionsmängel.

WLAN ESP8266 abschirmen:

Bild
Bild

Beachten Sie, dass auf dieser Tafel das Wort Schild richtig geschrieben ist und das Wort "Mehr" das "M" in Großbuchstaben hat. In der Bedienung verhält sich diese Platine wie die Shiald-Version, dh die Platine ist nicht defekt.

Sie meinen also, dass sich die Boards Shiald und Shield nur in der Frage der PCB-Seide unterscheiden?

Ja, diese beiden Karten unterscheiden sich nur in der Schreibweise von zwei Wörtern. Die Schaltung auf beiden Boards ist gleich und beide funktionieren perfekt mit dem Arduino oder alleine (Standalone-Modus). In Anbetracht dessen, dass der Arduino den richtigen Code geladen hat und einer der Shields auch mit der richtigen Firmware ist, nachdem Sie den Shield an den Arduino angeschlossen und das USB-Kabel angeschlossen haben, stellen Sie einfach die P1- und P2-Kontakte des DIP-Schalters in die ON-Position und die Kommunikation über native Serial (Pins D0 und D1) zwischen den Boards wird hergestellt.

Einige sagen, dass diese Shiald-Version die instabile drahtlose Verbindung hat, aber ich behaupte, dass es überhaupt keine Instabilität gibt.

Shield WiFi ESP8266 (Moer):

Bild
Bild

Beachten Sie, dass auf dieser Tafel das Wort Shield richtig geschrieben ist und das Wort "More" "Moer", dh falsch geschrieben ist. Leider funktioniert dieses Board nicht wie es sollte und wenn es an den Arduino angeschlossen ist (mit den DIP-Schalterkontakten OFF oder ON) und der Benutzer versucht, einen Code auf den Arduino zu laden, erscheint in der IDE eine Fehlermeldung als das Laden wird fehlschlagen.

Wenn Ihr Schild in Moer geschrieben ist und Sie Probleme bei der Verwendung mit Ihrem Arduino über die native serielle Kommunikation hatten, gehen Sie zum nächsten Schritt und erfahren Sie, wie Sie das Problem lösen können. Wenn Ihr Schild NICHT DER Moer ist, fahren Sie mit Schritt 5 fort.

Schritt 4: Shield Moer - Lösung der seriellen RX / TX-Kommunikation

Wenn dieses Board (Moer) mit dem Arduino gekoppelt ist (mit den DIP-Schalterkontakten OFF oder ON) und der Benutzer versucht, einen Code auf den Arduino zu laden, erscheint eine Fehlermeldung in der IDE, da das Laden fehlschlägt. Dies ist auf einen Komponentenfehler zurückzuführen, der bei der Schildkonstruktion verwendet wird.

Die Abschirmung mit korrekter Konstruktion und Funktion hat zwei Kanal-N-MOSFETs verschweißt und wird als J1Y bezeichnet. Einer der J1Y-Transistoren ist mit dem ESP8266 RX und der andere mit dem ESP8266 TX verbunden. Im Bild unten sehen Sie die beiden hervorgehobenen Transistoren:

Bild
Bild

Dieser J1Y-Transistor ist ein BSS138, dessen Zweck darin besteht, 5V-Schaltkreisen mit Logikpegel die Kommunikation mit 3,3-V-Schaltkreisen mit Logikpegel zu ermöglichen und umgekehrt. Da der ESP8266 einen Logikpegel von 3,3V und der Arduino einen Logikpegel von 5V hat, ist es notwendig, einen Logikpegelwandler zu verwenden, um den einwandfreien Betrieb des ESP8266 zu gewährleisten.

Im Schirm Moer sind auf der Platine zwei Transistoren gelötet, die als J3Y bezeichnet werden. Im Bild unten sehen Sie die beiden hervorgehobenen Transistoren:

Bild
Bild

Der J3Y-Transistor ist ein S8050 NPN und dieser Transistortyp wird häufig in Verstärkerschaltungen verwendet. Aus irgendeinem Grund haben sie zum Zeitpunkt des Baus des Schildes Moer den Transistor J3Y anstelle des Wandlers mit Logikpegel J1Y verwendet.

Auf diese Weise funktionieren die RX- und TX-Pins des ESP8266 nicht wie sie sollten und daher hat das Shield keine serielle Kommunikation mit dem Arduino. Da das Shield mit dem Arduino über die native Seriell (Pins D0 und D1) kommuniziert, wird das Laden des Arduino-Codes (im Arduino) nie erfolgreich abgeschlossen, da in einigen Fällen immer ungefähr 2,8 V im RX und Arduino TX oder konstant 0V, alles wegen der falschen Transistoren.

Nach all diesen Informationen ist klar, dass die einzige Lösung für die Abschirmung Moer der Ersatz von J3Y-Transistoren durch J1Y-Transistoren ist. Für dieses Verfahren benötigen Sie neben dem Moer-Schild Geduld und:

01 - Lötkolben01 - Zinn01 - Pinzette oder Nadelzange01 - Schweißsauger02 - BSS138 (J1Y)

Der Transistor BSS138 (J1Y) wird im 3.3V / 5V Logic Level Converter verwendet.

HINWEIS: Das folgende Verfahren erfordert, dass Sie mit einem Lötkolben umgehen können und über die geringste Schweißerfahrung verfügen. Die zu entfernenden und zu ersetzenden Bauteile sind SMD-Bauteile und erfordern beim Schweißen mit einem handelsüblichen Lötkolben mehr Sorgfalt und Geduld. Achten Sie darauf, den Lötkolben nicht zu lange an den Transistoranschlüssen zu lassen, da diese dadurch beschädigt werden können

Mit dem heißen Lötkolben einen der Transistoranschlüsse erhitzen und etwas Zinn hineinlegen. Führen Sie dieses Verfahren für jeden der Anschlüsse der beiden Transistoren durch. Übermäßiges Schweißen an den Klemmen erleichtert das Entfernen der Transistoren:

Bild
Bild

Nehmen Sie nun die Pinzette / Zange, halten Sie den Transistor an den Seiten fest, erhitzen Sie die Seite des Transistors, die nur einen Anschluss hat und drücken Sie den Transistor nach oben, so dass sich der Anschluss vom Lot löst. Immer noch mit der Pinzette / Zange, die den Transistor hält, versuchen Sie, die Spitze des Lötkolbens gegen die anderen beiden Anschlüsse zu legen und den Transistor nach oben zu zwingen, um ihn von der Platine zu lösen. Tun Sie dies für beide Transistoren und seien Sie sehr vorsichtig:

Bild
Bild

Entfernen Sie die beiden J3Y-ICs von der Abschirmung, positionieren Sie einfach den J1Y-IC an Ort und Stelle, halten Sie ihn mit der Pinzette / Zange fest und erhitzen Sie jedes Ende der Abschirmung, so dass das Zinn den Kontakt verbindet. Wenn die Kontakte wenig gelötet sind, erhitzen Sie jeden einzelnen und legen Sie mehr Zinn ein. Tun Sie dies für beide Transistoren und seien Sie sehr vorsichtig:

Bild
Bild

Nach der Reparatur begann sein Schild, das zuvor keine direkte Kommunikation mit dem Arduino hatte, über die native Seriell (Pins D0 und D1) mit der Platine verbunden zu sein.

Ein erster Test, um zu bestätigen, dass die Reparatur erfolgreich war, besteht darin, die Abschirmung (mit allen DIP-Schalterkontakten AUS) am Arduino anzubringen, das USB-Kabel an die Platine und den Computer anzuschließen und zu versuchen, einen Code in den Arduino zu laden. Wenn alles in Ordnung ist, wird der Code erfolgreich geladen.

Schritt 5: Webserver mit ESP8266 ESP-12E UART Wireless WIFI Shield TTL Converter für Arduino

Als wichtigste Voraussetzung, um diesen Schritt fortzusetzen, sollten Sie Schritt 2 ausgeführt haben.

Wie ich bereits erwähnt habe, ist es erforderlich, dass ein Code in den Shield geladen wird und Arduino einen anderen Code zum Senden, Empfangen und Interpretieren der Daten, die über die native Serial übertragen werden. Im Shield können wir eine Firmware mit AT-Befehlen platzieren und den Arduino so programmieren, dass er die Befehle an den Shield sendet, um eine Verbindung zu einem WiFi-Netzwerk herzustellen und die Ein- und Ausgänge des Arduino zu steuern.

In diesem Schritt verwenden wir die WiFiESP-Bibliothek, da diese bereits über alle notwendigen Funktionen verfügt, um den ESP8266 (in unserem Fall Shield WiFi ESP8266) in den Arduino zu integrieren und dem Board WiFi zuzuweisen. Die WiFiESP-Bibliothek funktioniert, indem sie AT-Befehle sendet, dann werden die drahtlose Netzwerkverbindung des Routers und jede Anfrage an den Webserver zum Senden von AT-Befehlen an das Schild führen.

Damit die WiFiESP-Bibliothek funktioniert, muss die Firmware-Version des AT-Befehls mindestens 0.25 oder höher sein. Wenn Sie also die AT-Befehlsversion Ihres Schilds nicht kennen, fahren Sie mit Schritt 2 fort, um das Board mit der Firmware zu aktualisieren, die eine AT-Befehlsversion von 1.2.0.0 hat, und kehren Sie dann zurück, um fortzufahren.

Eine Sache, die ich während meiner Tests mit dem Shield und dem Arduino festgestellt habe, ist, dass die Kommunikation zwischen ihnen ausschließlich über die serielle Schnittstelle (Pins D0 und D1) erfolgt, da die Kommunikation zwischen ihnen ausschließlich für die Kommunikation zwischen ihnen verwendet wird. Daher empfehle ich nicht, "Serial.print () / Serial.println ()" zu verwenden, um Informationen auf dem seriellen Monitor der Arduino IDE oder einem anderen Programm zu drucken, das serielle Informationen anzeigt.

Standardmäßig ist die WiFiESP-Bibliothek so konfiguriert, dass serielle Fehler, Warnungen und andere Kommunikationsinformationen zwischen dem Arduino und dem ESP8266 angezeigt werden. Wie ich bereits erwähnt habe, sollte die Serielle für die Kommunikation zwischen Arduino und dem Shield freigegeben werden. Daher habe ich eine Datei aus der Bibliothek bearbeitet und die Anzeige aller Informationen in der Zeitschrift deaktiviert. Die einzigen Informationen, die auf dem seriellen Monitor angezeigt werden, sind die AT-Befehle, die die Bibliothek an das Shield sendet, um eine Verbindung zum drahtlosen Netzwerk herzustellen, oder die AT-Befehle, um Anforderungen an den Webserver auszuführen.

Laden Sie die modifizierte WiFIESP-Bibliothek herunter und installieren Sie sie in der Arduino-IDE:

WiFIESP-Mod

Greifen Sie im Installationsordner der Bibliothek einfach auf den Pfad "WiFiEsp-master\src\utility" zu und darin befindet sich die Datei "debug.h", die bearbeitet wurde, um die Anzeige von Informationen auf der Seriennummer zu deaktivieren. Wenn wir die Datei beispielsweise in Notepad ++ öffnen, haben wir die Zeilen 25, 26, 27, 28 und 29, die eine entsprechende Nummerierung für die Arten von Informationen anzeigen, die auf dem seriellen Monitor angezeigt werden. Beachten Sie, dass die Zahl 0 die Anzeige aller Informationen auf dem seriellen Monitor deaktiviert. Schließlich habe ich in Zeile 32 den "_ESPLOGLEVEL_" mit dem Wert 0 konfiguriert:

Bild
Bild

Wenn Sie die WiFiESP-Bibliothek in anderen Projekten mit ESP8266 verwenden möchten und die Informationen auf dem seriellen Monitor anzeigen möchten, setzen Sie einfach den "_ESPLOGLEVEL_" auf den Wert 3 (Standardwert der Bibliothek) und speichern Sie die Datei.

Da Ihr Schild bereits über die AT-Befehlsfirmwareversion 0.25 oder höher verfügt, fahren wir fort.

Befestigen Sie die Abschirmung an Ihrem Arduino (Uno, Mega, Leonardo oder eine andere Version, die das Anbringen der Abschirmung ermöglicht), stellen Sie alle DIP-Schalterkontakte in die OFF-Position, schließen Sie eine LED zwischen Pin 13 und GND an und verbinden Sie das USB-Kabel mit dem Arduino und der Computer:

Bild
Bild

Ich habe den Arduino Mega 2560 verwendet, das Endergebnis ist jedoch das gleiche, wenn Sie ein anderes Arduino-Board verwenden, mit dem das Schild gekoppelt werden kann.

Laden Sie den Code über den Link herunter und öffnen Sie ihn in der Arduino-IDE:

Code-Webserver

Wenn Sie Arduino Leonardo verwenden, gehen Sie zu den Zeilen 19 und 20 des Codes und ändern Sie das Wort Serial in Serial1, wie in der Abbildung unten gezeigt:

Bild
Bild

Im Code müssen Sie den Namen Ihres WLAN-Netzwerks in die Zeile char * ssid = "NAME OF YOUR WIFI NETWORK"; das Passwort in die Zeile eingeben char * password = "PASSWORD OF YOUR WIFI NETWORK"; und in der Zeile WiFi.config (IPAddress … Sie sollten eine verfügbare IP-Adresse in Ihrem drahtlosen Netzwerk eingeben, da dieser Code eine statische IP verwendet:

Bild
Bild

Wählen Sie im Menü "Tools" "Board" und wählen Sie das Modell Ihres Arduino aus. Wählen Sie weiterhin im Menü "Tools" die Option "Port" und überprüfen Sie den COM-Port, in dem Ihr Arduino zugewiesen wurde.

Klicken Sie auf die Schaltfläche, um den Code an das Arduino zu senden und auf das Laden zu warten.

Nachdem Sie den Code auf den Arduino geladen haben, trennen Sie das USB-Kabel von der Karte, stellen Sie die P1- und P2-Kontakte des DIP-Schalters des Shields in die Position ON und verbinden Sie das USB-Kabel wieder mit dem Arduino.

HINWEIS: Solange sich die P1- und P2-Kontakte des Schilds in der ON-Position befinden, können Sie keine Codes an das Arduino senden, da die native Serie beschäftigt ist. Denken Sie daran, jedes Mal, wenn Sie die Position der DIP-Schalter des Schalters ändern, die ESP-RST-Taste zu drücken

Öffnen Sie sofort den seriellen Monitor der Arduino IDE:

Bild
Bild

Wenn der serielle Monitor geöffnet ist, können Sie den AT-Befehlen folgen, die an das Schild gesendet werden, um den Webserver auszuführen. Wenn beim Öffnen des seriellen Monitors keine Informationen angezeigt werden, drücken Sie die RESET-Taste auf Ihrem Arduino und warten Sie.

Beachten Sie, dass auf dem seriellen Monitor der Befehl "AT + CIPSTA_CUR" die IP-Adresse zur Verbindung mit dem Webserver und der Befehl "AT + CWJAP_CUR" den Namen und das Passwort des drahtlosen Netzwerks anzeigt, in dem das Schild angeschlossen ist:

Bild
Bild

Kopieren Sie die auf dem seriellen Monitor angezeigte IP-Adresse, öffnen Sie Ihren Internetbrowser, fügen Sie die IP-Adresse ein und drücken Sie ENTER, um darauf zuzugreifen. Eine Webseite ähnlich der folgenden wird geladen:

Bild
Bild

Die Webseite verfügt über eine Schaltfläche, die für das Ein- und Ausschalten der an Pin 13 des Arduino angeschlossenen LED verantwortlich ist. Drücken Sie die Taste, um die LED ein- / auszuschalten und zu sehen, dass der aktuelle Status auf der Seite aktualisiert wird.

Sie können beispielsweise auch über ein Smartphone oder Tablet auf die Webseite zugreifen.

Sehen Sie sich das Video unten für das Endergebnis an:

Dies war eine einfache Übung, denn der Zweck bestand darin, zu zeigen, wie einfach es ist, das Schild mit dem Arduino zu verwenden. Alle Projekte, die Sie im Internet finden, die den ESP8266 verwenden, um dem Arduino WiFi zuzuweisen, können mit diesem WiFi Shield reproduziert werden Projekte müssen Sie sich keine Sorgen um die Stromversorgung der Schaltung mit einer externen Stromversorgung machen. Darüber hinaus wird Ihr Projekt eine viel angenehmere Ästhetik haben.

Nachdem Sie nun wissen, wie Sie das Shield WiFi ESP8266 mit dem Arduino von einem Webserver aus integrieren, ändern Sie einfach den Code und implementieren Sie ein komplexeres Projekt oder beginnen Sie mit der Entwicklung Ihres eigenen Codes.

Nochmals Entschuldigung für die Fehler in Englisch.

Bei Fragen zum Schild einfach fragen und ich antworte gerne.

Empfohlen: