Inhaltsverzeichnis:

Ein billigeres ESP8266 WiFi Shield für Arduino und andere Micros - Gunook
Ein billigeres ESP8266 WiFi Shield für Arduino und andere Micros - Gunook

Video: Ein billigeres ESP8266 WiFi Shield für Arduino und andere Micros - Gunook

Video: Ein billigeres ESP8266 WiFi Shield für Arduino und andere Micros - Gunook
Video: IoT Workshop June 2016: Pflanzenbewässerung Teil 2 2024, Dezember
Anonim
Ein billigeres ESP8266 WiFi Shield für Arduino und andere Micros
Ein billigeres ESP8266 WiFi Shield für Arduino und andere Micros
Ein billigeres ESP8266 WiFi Shield für Arduino und andere Micros
Ein billigeres ESP8266 WiFi Shield für Arduino und andere Micros

Update: 29.10.2020

Getestet mit ESP8266 Board Library V2.7.4 – funktioniert

Update: 23. September 2016

Verwenden Sie für dieses Projekt nicht die Arduino ESP-Board-Bibliothek V2.3.0. V2.2.0 funktioniert

Update: 19. Mai 2016

Rev 14 dieses Projekts überarbeitet Bibliotheken und Code, um mit dem ESP8266.com IDE-Plug-in V2.2 zu arbeiten

Update: 17. Dezember 2105

Rev 11 dieses Projekts bereinigt andere Verbindungsversuche, wenn es bereits verbunden ist. Verwendet auch das von der Webkonfiguration festgelegte Timeout. Rev 10 ignorierte die Timeout-Einstellung.

Aktualisierung: 11. November 2015

Dies ist Rev 10 dieses Projekts. Rev 10 verwendet eine nicht blockierende WiFi-Bibliothek, pfodESP8266WiFi, die insbesondere für Windows-Clients einen höheren Durchsatz bietet. Es ermöglicht auch die Webseitenkonfiguration der seriellen Baudrate.

Update: 23. Oktober 2015

Dies ist Rev 8 dieses Projekts. Rev 8 hat einen verbesserten ESP8266-Code, der zuverlässiger ist. HINWEIS: Jedes gesendete Paket hält diesen Code an, bis der Empfänger (Client) das Paket bestätigt. Dies kann zwischen 10mS und 200mS dauern. Während dieser Zeit werden die eingehenden seriellen Daten vom UART nicht verarbeitet. Der ankommende serielle Puffer kann 256 Byte puffern. Bei 9600 Baud dauert es etwa 270 ms, um den Puffer zu füllen. Solange Sie die serielle Baudrate auf 9600 oder weniger halten, sollten keine ausgehenden Daten verloren gehen, während der ESP8266 das vorherige Paket sendet. Voraussetzung dafür ist eine gute WLAN-Verbindung. Wenn die WiFi-Verbindung schlecht ist, kann ein Paket verloren gehen und muss vom ESP826 erneut übertragen werden, dann kann sich der serielle Eingangspuffer füllen, wenn Sie versuchen, viele Daten zu senden, und einige Ihrer Daten können verloren gehen.

Aktualisierung: 20.09.2015

Dies ist Rev 3 dieses Projekts. Rev 3 fügt der Webseitenkonfiguration eine Zeitüberschreitungseinstellung für die Verbindung hinzu. Wenn in dieser Zeit keine Daten gesendet oder empfangen werden, schließt das WiFi Shield die Verbindung und wartet auf eine neue. Dies stellt sicher, dass sich das WiFi Shield von "halbgeschlossenen" Verbindungen erholt, die passieren, wenn der Client aufgrund einer schlechten WLAN-Verbindung, eines Stromausfalls am Router oder eines erzwungenen Herunterfahrens des Clients einfach verschwindet. Weitere Informationen finden Sie unter Erkennung halboffener (verworfener) TCP/IP-Socket-Verbindungen.

Diese Verbindungszeitüberschreitung beträgt standardmäßig 15 Sekunden. kann aber nach Bedarf geändert werden. Wenn Sie es auf 0 setzen, bedeutet dies, dass es nie eine Zeitüberschreitung gibt. Legen Sie bei Verwendung von pfodDesigner eine Menüaktualisierung fest, die kürzer ist als das Verbindungstimeout.

Einführung

Dies ist Rev 11 von ESP8266-01 WiFi Shield und ist eine Alternative zum Cheap/Simple Wifi Shield für Arduino und andere Mikros. Wenn Sie nur ein Wifi-Schild herstellen, ist das billige / einfache Wifi-Schild für Arduino und andere Mikros das zu verwendende Projekt, da es am einfachsten zu verdrahten ist. Wenn Sie jedoch bereits ein ESP8266-01-Modul haben, können Sie diese Anweisungen verwenden, um ein WiFi-Shield damit zu erstellen.

Wenn Sie eines der anderen ESP8266-Bare-Module haben, vorausgesetzt, das Modul verfügt über GPIO0 und GPIO2, können Sie diese Anweisungen verwenden. Wenn das Modul GPIO15 zugänglich macht, MÜSSEN SIE es über einen Widerstand mit einem Wert zwischen 3K3 und 10K mit GND verbinden

Rev 10 benötigt keine zusätzlichen I/O auf dem Arduino-Board, außer TX/RX und 5V Power und GND. Rev 10 verwendet GPIO0 und GPIO2 als ConfigLink, wie auf dieser Seite beschrieben, ESP8266-01 Pin Magic. Auch die in Rev10 verwendeten Code-Skizzen sind jetzt genau die gleichen wie in Cheap/Simple Wifi Shield für Arduino und andere Mikros. Es ersetzt auch die 5V bis 3V Netzteil-Tochterplatine durch 3 diskrete Komponenten und verwendet ein Widerstandsnetzwerk für die fünf 3K3-Widerstände. Die erste Version Rev 1 ist da.

Diese Anweisungen sind auch unter www.pfod.com.au verfügbar.

Merkmale

  • Verwendet das kostengünstige und leicht verfügbare ESP8266-01-Modul:- Andere ESP8266-Module können ebenfalls verwendet werden
  • Einfach zu bedienen: - Das 5V- und 3,3V-kompatible Schild fungiert als UART-zu-WiFi-Brücke. Es richtet einen Server auf der von Ihnen konfigurierten IP und dem Port ein, und sobald die Verbindung hergestellt ist, werden nur Daten an und von der seriellen Verbindung übertragen. Im angeschlossenen Mikro sind keine Bibliotheken erforderlich, nur eine serielle (UART) Verbindung, sodass sie für jeden Mikroprozessor verwendet werden kann, der über einen seriellen Anschluss verfügt. Es kann auch so konfiguriert werden, dass es eine Client-Verbindung (mit optionaler Anmeldung) zu einem Remote-Server herstellt.
  • Einfach zu konfigurieren: - Durch Kurzschließen einer Verbindung und Einschalten des Shields wird es in den Konfigurationsmodus versetzt. In diesem Modus erstellt es einen sicheren Zugangspunkt, mit dem Sie sich über Ihr Mobiltelefon oder Ihren Computer verbinden können. Wenn Sie dann https://10.1.1.1 öffnen, wird eine Webseite angezeigt, auf der Sie den Namen und das Passwort Ihres Netzwerks sowie die IP- und Portnummer konfigurieren können, auf der das Shield auf Verbindungen lauschen soll. Die Konfigurationswebseite verwendet die HTML5-Validierung, um die Einstellungen des Benutzers zu überprüfen.

Schritt 1: Teileliste

Dieses ESP8266-01 WiFi Shield benötigt die folgenden Teile oder ähnliches. Die hier angezeigten Preise sind Stand 30.08.2015 und verstehen sich zzgl. Versandkosten:-

  • WiFi-Modul ESP8266-01 – ~ 2,50 US-Dollar online (nutze deine Chance) ODER für das zuverlässige Produkt SparkFun oder Adafruit ESP8266-01 – 6,95 US-Dollar
  • Uno Protoshield – US$1,88 (oder ProtoShield Basic für Arduino von Jaycar AU$4,95)
  • 36-Pin-Header Element14 - 0,95 US-Dollar (oder 4 lötfreie Header - 10-polig direkt von SparkFun 1,50 US-Dollar oder 40-Pin-Header-Anschlussleiste von Jaycar 0,95 AU $)
  • LD1117V33 3.3V Regler Element14 – US$0.67
  • 1 von 1N5819 Schottky-Diodenelement14 – 0,16 US-Dollar (oder 0,80 AU $ Jaycar) (Jede Schottky-Diode reicht)
  • BOURNS 4606X-101-332LF WIDERSTANDSNETZWERK, 3K3 – US$0,27 (Diese Pull-Up-Widerstände können jeden Wert im Bereich von 3K3 bis 10K haben) Sie können auch einfach 5 x diskrete 3K3-Widerstände anstelle von Rev 1 verwenden, z. B. 3K3-Widerstände – Digikey – 0,52 US-Dollar (oder 3K3 Ohm 1/2 Watt 1% Metallschichtwiderstände – Pk.8 von Jaycar 0,55 AU$)
  • 1 Stück 330R Widerstand Element14 0,05 US$ ODER Sparkfun Widerstand 330 Ohm 1/6 Watt PTH - 20er Pack US$ 0,95 (oder 330 Ohm 1/2 Watt 1% Metallschichtwiderstände – Pk.8 von Jaycar AU$0,55)
  • 1 von 0,1uF Kondensator Element14 – 0,21 US-Dollar ODER Sparkfun 0,25 US-Dollar
  • 1 von 10uF Kondensator Element14 – 0,11 US-Dollar ODER Sparkfun 0,45 US-Dollar

Gesamtkosten ~ 6,80 $ + Versand (Stand August 2015) ODER ~ 11,25 $ mit Sparkfun- oder Adafruit ESP8266-01-Modul

Um die Abschirmung mit der Drucktastenkonfiguration und dem UART-zu-WiFi-Bridge-Programm zu programmieren, benötigen Sie auch ein USB-zu-Seriell-Kabel. Hier wird ein serielles USB-zu-TTL-Kabel von SparkFun (9,95 US-Dollar) verwendet, da es gut beschriftete Enden hat und Treiberunterstützung für eine Vielzahl von Betriebssystemen bietet. Sie können jedoch auch das serielle USB-zu-TTL-Kabel von Adafruit verwenden - Debug / Console Cable for Raspberry Pi ist der gleiche preis.

Einschließlich des Programmierkabels betragen die Kosten für nur ein WiFi Shield ~16,75 US-Dollar. Eine schnelle Suche findet Arduino WiFi Shields, die mindestens 30 bis über 70 US-Dollar kosten. Selbst einschließlich der einmaligen Kosten des Programmierkabels ist diese Abschirmung also billiger als die anderen verfügbaren Abschirmungen sowie viel einfacher zu konfigurieren und zu verwenden.

Schritt 2: Konstruktion

Konstruktion
Konstruktion
Konstruktion
Konstruktion
Konstruktion
Konstruktion

Das obige Schema (ESP8266_01_WiFi_Shield_R2.pdf) zeigt die Anordnung der für dieses Schild benötigten Teile. Neben dem Modul ESP8266-01 gibt es nur sechs Komponenten.

Die Diode 1N5819 schützt den ESP8266-01 RX-Eingang vor den 5V-Ausgängen des Mikroprozessors. Der 330 Ohm (R6) Widerstand bietet Schutz gegen Kurzschluss des ESP8266-01 TX-Ausgangs, wenn der D1 des Mikroprozessors versehentlich zu einem Ausgang gemacht wird. Es wird eine Art 3V3-Versorgung benötigt. Der 3V3-Pin des Arduino UNO ist nicht stark genug, um das ESP2866-Modul zu versorgen. Hier wird ein dreipoliger 5V bis 3,3V Regler LD1117V33 verwendet. Der 10uF-Kondensator wird zur Stabilisierung des LD1117V33-Reglers benötigt, damit er so nah wie möglich am Reglerausgang montiert wird.

Hier sind die Ober- und Unteransicht des fertigen Boards.

Die Oberseite des Boards sieht sauber aus. Die Unterseite des Brettes ist ein bisschen wie ein Rattennest.

Stellen Sie sicher, dass Sie die Verkabelung sorgfältig überprüfen, wenn Sie fertig sind, insbesondere die Verkabelung zu den Pins des ESP8266-01 und des LD1117V33-Dreipolreglers. Es ist leicht, den falschen Pin zu verdrahten, wenn Sie ihn umdrehen und von unten verdrahten. Der Regler wird verkehrt herum montiert, um die Metalllasche, die elektrisch mit dem Ausgangspin verbunden ist, von den Platinenpins fernzuhalten.

Schritt 3: Programmierung des WiFi-Shields

Programmierung des WiFi Shields
Programmierung des WiFi Shields
Programmierung des WiFi Shields
Programmierung des WiFi Shields
Programmierung des WiFi Shields
Programmierung des WiFi Shields

Das WiFi Shield muss einmalig und nie wieder mit der Webseitenkonfiguration und dem Serial to WiFi Bridge Code programmiert werden.

Um das Shield zu programmieren, befolgen Sie die Schritte auf https://github.com/esp8266/arduino unter Installation mit Boards Manager. Wenn Sie den Boards Manager aus dem Menü Tools → Board öffnen und wählen Sie Type Contributed und installieren Sie die Plattform esp8266. Dieses Projekt wurde mit der ESP8266-Version 1.6.4-673-g8cd3697 kompiliert. Spätere Versionen sind zwar besser, können aber ihre eigenen Fehler haben, da sich die Plattform schnell weiterentwickelt.

Schließen und öffnen Sie die Arduino IDE erneut und Sie können nun „Generic ESP8266 Module“aus dem Menü Extras → Board auswählen.

Sie müssen auch die neueste Version von pfodESP2866BufferedClient.zip installieren. Diese Bibliothek funktioniert mit dem ESP8266.com IDE-Plug-In V2.2. Wenn Sie zuvor die pfodESP2866WiFi-Bibliothek installiert haben, löschen Sie dieses Bibliotheksverzeichnis vollständig.

  1. Laden Sie diese pfodESP2866BufferedClient.zip-Datei auf Ihren Computer herunter, verschieben Sie sie auf Ihren Desktop oder einen anderen Ordner, den Sie leicht finden können
  2. Verwenden Sie dann die Arduino 1.6.5 IDE-Menüoption Sketch → Import Library → Add Library, um es zu installieren. (Wenn Arduino die Installation nicht zulässt, da die Bibliothek bereits vorhanden ist, suchen und löschen Sie den älteren Ordner pfodESP8266BufferedClient und importieren Sie diesen dann)
  3. Stoppen und starten Sie die Arduino IDE und unter File->Examples sollten Sie nun pfodESP8266BufferedClient sehen.

Festlegen des Kennworts für den Konfigurationszugangspunkt

Nachdem Sie die Bibliothek pfodESP8266BufferedClient installiert haben, öffnen Sie die Arduino IDE und kopieren Sie diese Skizze ESP8266_WifiShield.ino in die IDE. Bevor Sie den Shield programmieren, müssen Sie Ihr eigenes Passwort für den Konfigurationszugangspunkt festlegen.

Im Konfigurationsmodus richtet das WiFi Shield einen sicheren Zugangspunkt namens pfodWifiWebConfig mit einem Passwort ein, das in einem QR-Code enthalten ist, der am Shield angebracht ist. Diese sichere Verbindung verhindert, dass jemand Ihre Verbindung abhört, während Sie die ssid und das Passwort Ihres echten Netzwerks festlegen. Sie sollten Ihr eigenes Passwort für Ihre Schilde generieren. Hier steht ein SecretKeyGenerator Java-Programm zur Verfügung, das zufällige 128-Bit-Schlüssel generiert und QR.png-Dateien schreibt. Eine andere Alternative besteht darin, QR Droid Private (von Google Play) zu verwenden, um einen QR-Code für Ihr selbst gewähltes Passwort zu erstellen.

In beiden Fällen müssen Sie das #define oben in der Skizze mit Ihrem eigenen Passwort aktualisieren.

// =============== Start der pfodWifiWebConfig-Einstellungen ==============

// aktualisiere diese Definition mit dem Passwort aus deinem QR-Code //https://www.forward.com.au/pfod/secureChallengeResponse/keyGenerator/index.html #define pfodWifiWebConfigPASSWORD "b0Ux9akSiwKkwCtcnjTnpWp"

Wenn Sie möchten, können Sie auch Ihren eigenen Zugangspunktnamen für die Konfiguration festlegen.

Programmierung des Schildes

Um die Abschirmung zu programmieren, entfernen Sie sie von der Arduino-Platine, schließen Sie den FLASH_LINK (hier mit einem blauen Kurzschlusslink in der Mitte der Platine gezeigt) kurz und schließen Sie das USB-zu-Seriell-Kabel wie auf dem Foto gezeigt an. Überprüfen Sie das Foto und Ihre Verkabelung.

Das RX-Kabel wird an D0 und das TX-Kabel an D1 angeschlossen. Der VCC (+5V) wird mit dem 5V-Pin verbunden und GND wird mit dem GND-Pin auf der Abschirmung verbunden. Schließen Sie FLASH_LINK wie oben gezeigt kurz. Das Foto oben ist für das SparkFun USB-zu-Seriell-Kabel. Wenn Sie das Adafruit-Kabel verwenden, sind die Anschlüsse nicht markiert, sondern farbcodiert, rot ist Strom, schwarz ist Masse, grün ist TX und weiß ist RX.

Überprüfen Sie sorgfältig die VCC- und GND-Anschlüsse, da es leicht ist, die USB-Stromversorgung kurzzuschließen, wenn Sie einen Pin entfernt sind

Schließen Sie dann das USB-Kabel an Ihren Computer an, um den ESP8266-01 im Programmiermodus einzuschalten. Wählen Sie seinen COM-Port im Menü Extras → Port aus. Belassen Sie CPU-Frequenz, Flash-Größe und Upload-Geschwindigkeit auf den Standardeinstellungen

Wählen Sie dann Datei → Hochladen oder verwenden Sie den Rechtspfeil, um das Programm zu kompilieren und hochzuladen. Es werden zwei Dateien hochgeladen. Wenn Sie beim Hochladen eine Fehlermeldung erhalten, überprüfen Sie, ob Ihre Kabelverbindungen mit den richtigen Pins verbunden sind, und versuchen Sie es erneut. Entfernen Sie nach Abschluss der Programmierung die Kurzschlussverbindung von FLASH_LINK.

Anhängen des Konfigurations-QR-Codes

Sie benötigen jedes Mal, wenn Sie das Shield konfigurieren müssen, Ihr einzigartiges Passwort für den Konfigurationszugangspunkt, daher ist es praktisch, es als QR-Code an das Shield (oder dessen Gehäuse) anzubringen. Hier ist die Open Office-Präsentationsdatei, die verwendet wurde, um den QR-Code und die Verbindungsdetails für dieses Projekt auszudrucken. Ersetzen Sie den QR-Code und den Passworttext durch Ihren eigenen, um das Schild zu vervollständigen.

Schritt 4: Konfigurieren des WiFi-Shields

Konfigurieren des WiFi-Shields
Konfigurieren des WiFi-Shields
Konfigurieren des WiFi-Shields
Konfigurieren des WiFi-Shields
Konfigurieren des WiFi-Shields
Konfigurieren des WiFi-Shields

Jedes WiFi-Shield muss mit dem Netzwerknamen und dem Passwort des lokalen Netzwerks konfiguriert werden. Es muss auch eine IP- und Portnummer angegeben werden, um auf Verbindungen zu lauschen. Alle anderen WiFi-Shields haben die IP und den Port nicht in der Skizze fest codiert und entweder den Netzwerknamen und das Passwort hart codiert oder verwenden eine proprietäre Methode mit proprietären Apps, um eine Verbindung zum lokalen Netzwerk herzustellen. Dies ist sehr restriktiv, wenn Sie mehrere Geräte in einer sich entwickelnden Umgebung haben. Dieses WiFi Shield verwendet eine Open-Source-Webseitenmethode, um sowohl den Netzwerknamen und das Passwort als auch die IP-Adresse und Port-Nr.

Der ESP8266-01 hat eine sehr begrenzte Anzahl verfügbarer Ausgänge, nur GPIO0 und GPIO2. Bei diesem Design prüft der Code im ESP2866-01 nach dem Einschalten, ob GPIO2 geerdet ist und setzt den ESP8266-01 in diesem Fall in den Konfigurationsmodus. Die Erdung des GPIO2-Eingangs muss jedoch verzögert werden, bis der ESP8266-01 das Hochfahren beendet hat. Wenn GPIO2 während des Einschaltens geerdet ist, startet das ESP8266-01-Modul nicht normal. Diese Verzögerung bei der Erdung von GPIO2 wird durch die Verwendung von GPIO0 als Masse erreicht. Nachdem der ESP8266-01 gestartet wurde, macht der setup()-Code GPIO0 zu einem Ausgang und setzt ihn auf LOW. Dadurch wird GPIO2 geerdet, wenn CONFIG_LINK kurzgeschlossen wurde.

Die erste Version dieses Projekts (Rev 1) verwendete eine zusätzliche digitale Arduino-E / A, um diese Erdung durchzuführen, die zusätzlichen Code in der Arduino-Skizze erforderte. Rev 2+, macht zusätzlichen Code in der Arduino-Skizze überflüssig, außer einer kurzen Verzögerung am Anfang von setup (), um die Debug-Ausgabe des ESP8266 zu ignorieren.

Um die Konfiguration des ESP8266-01 WiFi Shields zu testen, stecken Sie es einfach in ein Arduino-Board, schließen Sie den CONFIG_LINK (blauer Kurzschlusslink links im Bild) kurz und schalten Sie das Arduino-Board ein.

In diesem Konfigurationsmodus richtet das ESP8266-Modul einen sicheren Zugangspunkt mit dem Namen pfodWifiWebConfig ein. Dieser Zugangspunkt wird auf Ihrem Handy und auf Ihrem Computer angezeigt. Um sich mit diesem Zugangspunkt zu verbinden, müssen Sie das eindeutige Passwort für Ihren Schild eingeben. Sie können das Passwort von Hand eingeben, aber es ist einfacher und zuverlässiger, den QR-Code, den Sie zuvor an Ihrem Schild angebracht haben, mit einer QR-Scanner-App wie QR Droid Private zu scannen

Kopieren Sie dann das Passwort und fügen Sie es in den WiFi-Einstellungsbildschirm Ihres Mobiltelefons ein, um Ihr Mobiltelefon mit dem Konfigurationszugangspunkt zu verbinden.

Öffnen Sie dann einen Webbrowser und geben Sie die URL https://10.1.1.1 ein. Dadurch wird die Konfigurationswebseite zurückgegeben.

Das WiFi Shield füllt die Netzwerk-SSID automatisch mit dem lokalen Netzwerk mit der besten Signalstärke aus. Welches wird normalerweise das sein, das Sie wollen. Wenn nicht, überschreiben Sie einfach diesen Eintrag. Sie müssen eine Netzwerk-SSID, ein Passwort und eine PortNr eingeben. Das Feld IP-Adresse ist optional. Wenn Sie es leer lassen, verwendet das WiFi Shield DHCP, um seine IP-Adresse in Ihrem lokalen Netzwerk abzurufen. Es ist oft einfacher, eine bestimmte IP-Adresse anzugeben, damit Sie sich problemlos mit diesem Shield verbinden können.

Rev 10 ermöglicht Ihnen auch die Konfiguration der seriellen Baudrate für dieses Shield. Der Standardwert ist 19200, aber die Beispiele hier verwenden 9600, also ändern Sie die Baudrate auf 9600

Wenn Ihr Browser HTML5-kompatibel ist, überprüft die Webseite die Eingabe, bevor sie gesendet wird.

Wenn Sie auf die Schaltfläche Konfigurieren klicken, verarbeitet das WiFi Shield die Ergebnisse und speichert sie im EEPROM und zeigt dann eine Antwortseite wie die obige an, die Sie auffordert, das Gerät aus- und wieder einzuschalten, um eine Verbindung zu Ihrem Netzwerk herzustellen.

Schritt 5: Verwenden des WiFi-Shields

Verwenden des WiFi-Shields
Verwenden des WiFi-Shields
Verwenden des WiFi-Shields
Verwenden des WiFi-Shields
Verwenden des WiFi-Shields
Verwenden des WiFi-Shields

In einem vollständigen Projekt würden Sie einen Taster außen an der mit CONFIG_LINK verbundenen Box Ihres Projekts montieren und den Benutzer anweisen, den Taster zu drücken und dann das Gerät einzuschalten, um in den Konfigurationsmodus zu gelangen. Der Code, den Sie in den ESP8266-01 geladen haben, steuert auch den GPIO0-Pin des ESP8266 LOW, wenn sich das Modul im Konfigurationsmodus befindet, sodass Sie einen 270-Ohm-Widerstand und eine LED zwischen der 3,3-V-Schiene und GPIO0 anschließen und die LED an der Außenseite der Box montieren können, um dem Benutzer anzuzeigen, dass er sich im Konfigurationsmodus befindet.

In Rev 10 können Sie auch die serielle Baudrate für dieses Shield konfigurieren. Der Standardwert ist 19200, aber die Beispiele hier verwenden 9600, also ändern Sie die Baudrate auf der Konfigurationswebseite oben auf 9600

Wie oben erwähnt, benötigt jede Skizze, die Sie in Ihren Arduino oder einen anderen Mikroprozessor laden, eine kurze Verzögerung, um die Debug-Ausgabe des ESP8266-Moduls zu überspringen. Abgesehen davon, um Daten über WLAN zu empfangen und zu senden, lesen und schreiben Sie einfach auf Ihren seriellen Port (verbunden mit D0, D1) mit 9600 Baud. Um also die Debug-Ausgabe des ESP8266 zu ignorieren, fügen Sie eine kurze Verzögerung am Anfang der setup()-Methode hinzu

Leere Einrichtung () {

Verzögerung (1000); // Warten Sie hier eine Sekunde, bis der ESP8266 das Hochfahren abgeschlossen hat // dies überspringt auch die Debug-Ausgabe des WiFi Shield beim Einschalten // bevor die serielle Verbindung gestartet wird. …. anderer Setup-Code hier

Das Beispiel hier verwendet einen Arduino UNO, aber Sie können jeden Mikroprozessor verwenden, der entweder auf 5 V oder 3,3 V basiert und über einen UART verfügt. Wenn Sie einen 3,3-V-Mikroprozessor verwenden, müssen Sie die Stromversorgung des WiFi Shields mit 5 V versorgen. Diese 5V werden auch mit dem 5V-Pin der Abschirmung verbunden, daher müssen Sie überprüfen, ob dies für das Mikro akzeptabel ist, in das Sie die Abschirmung stecken.

Als Test dieses Schildes wurde pfodApp verwendet, um die LED des Uno über WLAN ein- und auszuschalten. Zuerst wurde der pfodDesigner verwendet, um ein einfaches Menü zu entwerfen.

HINWEIS: Die neueste Version von pfodApp sendet KeepAlive-Nachrichten, damit das WLAN-Schild nicht abläuft

Dann wurde der Code für die serielle Verbindung mit 9600 Baud generiert und die Datei per WLAN-Dateiübertragung auf den PC übertragen.

Das setup () des Sketches musste nicht die Verzögerung (1000) hinzugefügt haben, da der pfod-Parser alle Zeichen außerhalb von { } ignoriert, aber es wurde eingeschlossen, weil es für dieses WiFi-Board empfohlen wird.

Die komplette Skizze ESP8266_UnoLedControl.ino ist hier. Beachten Sie, dass es keinen speziellen WiFi-Code gibt, die Skizze liest und schreibt nur den seriellen Ausgang.

Entfernen Sie das WiFi Shield, wählen Sie Tools → Board → Uno in der Arduino IDE und programmieren Sie diese Skizze in die UNO. HINWEIS: Sie müssen die WiFi-Abschirmung entfernen, um die UNO zu programmieren, da der USB mit den TX/RX-Pins der UNO verbunden ist.

Stecken Sie das WiFi Shield wieder ein, es verbindet sich automatisch mit Ihrem lokalen Netzwerk und startet einen Server auf dem von Ihnen konfigurierten Port. In pfodApp können Sie eine Verbindung für dieses Gerät einrichten. Weitere Informationen finden Sie unter pfodAppForAndroidGettingStarted.pdf.

Stellen Sie dann eine Verbindung her, um die LED des Uno von Ihrem Android-Handy über WLAN ein- und auszuschalten.

Damit ist es fertig!!

Schritt 6: Erweiterungen für das WiFi Shield und Schlussfolgerungen

Client-Support hinzufügen

Wie hier dargestellt, kann das WiFi-Shield so konfiguriert werden, dass es als Server läuft, der auf einer bestimmten IP- und Port-Nr. lauscht. Die pfodWifiConfig bietet jedoch auch Unterstützung zum Speichern und Abrufen von Client-Einstellungen sowie Servereinstellungen. Durch Hinzufügen dieser Felder zur Konfigurations-Webseite und Speichern/Laden der Client-Werte können Sie dieses WiFi Shield auch verwenden, um eine Verbindung zu einem Remote-Server mit einem Client-Benutzernamen und -Passwort herzustellen und Daten dorthin hochzuladen.

Hinzufügen externer Konfigurationstaste und LED

Wie oben erwähnt, würden Sie in einer realen Anwendung einen Taster außen an der mit CONFIG_LINK verbundenen Projektbox montieren und den Benutzer anweisen, den Taster zu drücken und dann das Gerät einzuschalten, um in den Konfigurationsmodus zu gelangen. Der Code, den Sie in den ESP8266-01 geladen haben, steuert den GPIO0-Pin LOW, wenn sich das Modul im Konfigurationsmodus befindet, sodass Sie einen 270-Ohm-Widerstand und eine LED zwischen der 3,3-V-Schiene und GPIO0 anschließen und die LED an der Außenseite der Box montieren können zeigen dem Benutzer an, dass er sich im Konfigurationsmodus befindet.

Abschluss

Diese Rev 2 des ESP8266-01 WiFi Shield verwendet das billige und leicht verfügbare ESP8266-01-Modul. Es können auch andere ESP8266-Module verwendet werden.

Einmal programmiert, müssen Sie es nie wieder programmieren, um die Netzwerkeinstellungen festzulegen oder zu ändern. Sie können alle über eine Webseite in einem sicheren temporären WiFi-Netzwerk eingestellt werden.

Es ist einfach, an jedes Mikro anzuschließen, das über einen UART verfügt und mit sowohl 5V- als auch 3,3V-Mikroprozessoren funktioniert.

Es sind keine Bibliotheken erforderlich, um eine Verbindung zu diesem Shield herzustellen. Es läuft als einfache Seriell-zu-WLAN-Brücke.

Empfohlen: