ESP-01 WiFi Modul Arduino anschließen & verwenden

Mit dem ESP-01 ESP8266 Arduino WiFi-Modul können Sie das Gerät mit dem drahtlosen Internet oder einem lokalen Netzwerk verbinden. Schauen wir uns an, wie man das ESP-01 ESP8266-Modul an das Arduino-Board anschließt, wie man das Modul mit AT-Befehlen programmiert und konfiguriert und wie man eine Verbindung zu einem WiFi-Netzwerk herstellt. Wir zeigen Ihnen, wie Sie das ESP-01s Modul einfach konfigurieren können.




Bestandteile:

    • Arduino Uno / Arduino Nano / Arduino Mega
    • ESP-01 ESP8266 WiFi Modul
    • LEDs und Widerstände

<liKnöpfen

 

Die ESP8266 ESP-01 Module werden mit vorinstallierter AT-Firmware geliefert. Es ist möglich, den Chip mit einer anderen Firmware zu programmieren, aber die Standard-AT-Firmware des ESP8266 ESP-01 ist mit der Arduino IDE kompatibel, daher werden wir sie in diesem Test verwenden. Achtung! Das Modul esp8266 Arduino läuft mit 3,3 Volt. Der RX-Pin ist mit Pin 0 (TX) und der TX-Pin mit Pin 1 (RX) des Arduino Uno verbunden.

Arduino ESP8266 ESP-01 WiFi Modul pinout, datasheet

ESP8266 ESP-01 WiFi Modul pinout, datasheet

Merkmale des ESP8266 ESP-01 Modul (datasheet)

  • Versorgungsspannung: 1,8 – 3,6V
  • Stromverbrauch: 220 mA
  • WiFi 802.11 b/g/n
  • WiFi-Modi: Client, AP
  • GPIO-Anschlüsse: 4
  • Taktfrequenz des Prozessors: 80 MHz
  • ARBEITSSPEICHER: 96 KB
  • Abmessungen: 13 × 21 mm

Der ESP8266 ESP-01 bietet Zugang zu einem Wi-Fi-Netzwerk und ist ein eigenständiges SOC (System On a Chip), das keinen Mikrocontroller zur Steuerung der Ein- und Ausgänge benötigt. Der ESP-01 agiert autonom wie ein kleiner Computer. Abhängig von der ESP8266-Version stehen bis zu 9 GPIO-Ports zur Verfügung, die es dem Benutzer ermöglichen, dieses Modul als Mikrocontroller mit Wi-Fi-Netzwerkzugang zu programmieren.

Wie verbinde ich das ESP-01 ESP8266 mit dem Arduino

Wie verbinde ich das ESP-01 mit dem Arduino?

Im ersten Beispiel stellt das esp-Modul automatisch eine Verbindung mit dem WiFi-Netzwerk her und erstellt einen Server. Sie müssen im Programm lediglich den Namen des lokalen Netzwerks sowie das zugehörige Passwort eingeben. Anschließend können Sie die IP-Adresse des Servers auf einem beliebigen Gerät eingeben, welches mit dem WLAN-Netzwerk verbunden ist. Wenn die Verbindung zum WLAN-Zugangspunkt erfolgreich hergestellt wurde, wird in Ihrem Browser die Meldung „ESP-01 is connected“ angezeigt.

Programm für Anschließen des ESP8266 ESP-01 an WiFi




#include "SoftwareSerial.h"
SoftwareSerial mySerial(2, 3); // RX, TX

#define B1 8 // Taste zum Einschalten der LED
#define B2 9 // Taste zum Ausschalten der LED

bool button1WasUp = true;
bool button2WasUp = true;
bool button1IsUp;
bool button2IsUp;
String IncomingString = "";

void setup() {
  Serial.begin(9600);
  mySerial.begin(9600);
  pinMode(B1, INPUT_PULLUP);
  pinMode(B2, INPUT_PULLUP);
  pinMode(13, OUTPUT);

  // Eine Verbindung zum WLAN-Hotspot herstellen und einen Server einrichten
  SendCommand("AT+CWMODE=1", "OK");
 
  // Geben Sie den Namen und das Passwort des WLAN-Netzwerks ein
  SendCommand("AT+CWJAP=\"WiFiSSID\",\"Password\"", "OK");
  SendCommand("AT+CIPMUX=1", "OK");
  SendCommand("AT+CIPSERVER=1,80", "OK");
  SendCommand("AT+CIFSR", "OK");
  digitalWrite(13, HIGH);

  // Warten auf die Eingabe der IP-Adresse im Browser
  while (true) {
    if (mySerial.available()) {
      char ch = mySerial.read();
      Serial.write(ch);
    }
    button2IsUp = digitalRead(B2);
    if (button2WasUp and !button2IsUp) {
      delay(10);
      button2IsUp = digitalRead(B2);
      if (!button2IsUp) {
        break;
      }
    }
  }
  button2WasUp = button2IsUp;

  // Übermittlung von Verbindungsdaten des Moduls an den Server
  SendCommand("AT+CIPSEND=0,85", "OK");
  SendCommand("<html><title>WiFi ESP-01 8266</title><body><h1>ESP-01 is connected</h1></body></html>", "OK");
  delay(1000);
  digitalWrite(13, LOW);
  SendCommand("AT+CIPSEND=0,13", "OK");
  SendCommand("<h2>LED </h2>", "OK");
  SendCommand("AT+CIPSEND=0,68", "OK");
  SendCommand("<html><style type='text/css'>h2:after{content:\"OFF\";}</style></html>", "OK");
}

void loop() {
  button1IsUp = digitalRead(B1);
  button2IsUp = digitalRead(B2);

  // LED ausschalten und Informationen an den Server senden
  if (button1WasUp and !button1IsUp) {
    delay(10);
    button1IsUp = digitalRead(B1);
    if (!button1IsUp) {
      digitalWrite(13, HIGH);
      SendCommand("AT+CIPSEND=0,67", "OK");
      SendCommand("<html><style type='text/css'>h2:after{content:\"ON\";}</style></html>", "OK");
    }
  }
  button1WasUp = button1IsUp;

  // LED einschalten und Informationen an den Server senden
  if (button2WasUp and !button2IsUp) {
    delay(10);
    button2IsUp = digitalRead(B2);
    if (!button2IsUp) {
      digitalWrite(13, LOW);
      SendCommand("AT+CIPSEND=0,68", "OK");
      SendCommand("<html><style type='text/css'>h2:after{content:\"OFF\";}</style></html>", "OK");
    }
  }
  button2WasUp = button2IsUp;
}

// Funktionen zum Senden von Nachrichten
boolean SendCommand(String cmd, String ack) {
  mySerial.println(cmd);
  if (!echoFind(ack))
    return true;
}
boolean echoFind(String keyword) {
  byte current_char = 0;
  byte keyword_length = keyword.length();
  long deadline = millis() + 5000;
  while (millis() < deadline) {
    if (mySerial.available()) {
      char ch = mySerial.read();
      Serial.write(ch);
      if (ch == keyword[current_char])
        if (++current_char == keyword_length) {
          Serial.println();
          return true;
        }
    }
  }
  return false;
}

Modul ESP8266 ESP-01 WiFi-Netzwerkverbindung mit Router

1. Nach dem Erhalt des Code öffnen Sie den Portmonitor der Arduino IDE.Dort wird eine Meldung über die Verbindung des Netzwerks und die Erstellung eines lokalen Servers mit einer IP-Adresse angezeigt, wie in der Abbildung dargestellt. Kopieren Sie die IP-Adresse des Moduls (192.168.43.84 ist auf dem Screenshot hervorgehoben) und geben Sie diese im Browser auf einem Gerät ein, das mit demselben lokalen Netzwerk verbunden ist.

ESP-01 WiFi-Netzwerkverbindung mit Router

2. Wenn die Schaltung erfolgreich zusammengebaut und verbunden wurde, erhalten Sie eine Benachrichtigung auf dem Portmonitor des Browsers. Diese Benachrichtigung enthält Informationen über die Browser-Version, das Betriebssystem und andere relevante Informationen. Sollte die Benachrichtigung nicht auf dem Portmonitor erscheinen, starten Sie den Mikrocontroller neu und wiederholen Sie die Schritte im ersten Abschnitt erneut.

Meldung der Browser-Version

3. Wenn die Verbindung erfolgreich hergestellt wurde, betätigen Sie die an Pin 9 angeschlossene Taste. Anschließend sendet das Programm die Meldung „ESP-01 is connected“ sowie Informationen über den Status der LED an den Webbrowser.Durch Betätigen der Tasten, die am Arduino angeschlossen sind, können Sie den LED-Status ändern, und die Informationen werden im Webbrowser angezeigt.

Wie man einen ESP-01 ESP8266 an einen Arduino anschließt

Wie man einen ESP-01 an einen Arduino anschließt

In diesem Beispiel sind die Anschlüsse von esp01 an den Arduino vertauscht. Der RX-Pin muss mit dem RX-Pin des Arduino und der TX-Pin mit dem TX-Pin des Arduino verbunden werden.Es ist nicht erforderlich, das Programm auf den Mikrocontroller zu laden. Die Geschwindigkeit auf dem seriellen Monitor IDE muss auf 115200 eingestellt und der Modus NL & CR ausgewählt werden (die Einstellungen sind im Bild unten zu sehen).

Sie können jederzeit mit folgendem Befehl auf 9600 Baud umschalten:

AT+UART=9600,8,1,0,0

Um zu prüfen, ob das Modul korrekt mit dem Mikrocontroller verbunden ist, geben Sie in der Befehlszeile AT ein und drücken Sie die Eingabetaste. Wenn das ESP korrekt angeschlossen ist und die Verbindung sicher ist, gibt der Chip eine OK-Antwort zurück.

AT

Starten Sie das Modul neu mit dem Befehl:

AT+RST

Alle Einstellungen werden im Chipspeicher gespeichert, Sie können die Einstellungen jederzeit mit dem folgenden Befehl zurücksetzen:

AT+RESTORE

Firmware ESP-01 ESP8266 Wi-Fi Modul von Arduino Uno

Firmware ESP-01 ESP8266 Wi-Fi Modul von Arduino Uno

Schalten Sie zunächst den Betriebsmodus des Moduls mit AT+CWMODE=1 auf Client um. Wenn Sie überprüfen möchten, in welchem Modus das Wi-Fi-Modul arbeitet, können Sie AT+CWMODE? eingeben. Daraufhin wird auf dem Portmonitor die Nummer (1, 2 oder 3) angezeigt, die dem entsprechenden Betriebsmodus des ESP-01-Chips entspricht

AT+CWMODE=1

Finden Sie heraus, welche drahtlosen Netzwerke in der Reichweite des Moduls verfügbar sind. Nach dem Senden des AT+CWLAP Befehls zeigt der Monitor der seriellen Schnittstelle der Arduino IDE alle verfügbaren WiFi-Netzwerke an

AT+CWLAP

Sie können nun eine Verbindung zum WiFi-Netzwerk herstellen, indem Sie den folgenden Befehl mit dem Netzwerk-Zugangsnamen und dem Passwort eingeben (entfernen Sie die Anführungszeichen nicht). Das Modul wird die Antwort WIFI CONNECTED zurückgeben.

AT+CWJAP="Wi-FiNetwork","Password"

Bevor Sie das ESP8266 ESP-01-Modul als Server konfigurieren können, müssen mehrere Verbindungen aktiviert werden. Geben Sie den Befehl AT+CIPMUX=1 ein, wobei sich die Zahl auf den Verbindungstyp bezieht (0 – Einzelverbindung, 1 – mehrere Verbindungen).

AT+CIPMUX=1

Als nächstes starten wir den Server auf Port 80. Bei dem Befehl AT+CIPSERVER=1,80 wird die erste Zahl verwendet, um den Server zu schließen (0) oder zu öffnen (1). Die zweite Zahl gibt den Port an, den der Client für die Verbindung mit unserem Server verwendet.

AT+CIPSERVER=1,80

ESP-01 AT-Befehle zum Senden und Anzeigen von Daten

ESP-01 AT-Befehle zum Senden und Anzeigen von Daten

Um die IP-Adresse des ESP8266 ESP-01 herauszufinden, geben Sie den Befehl:

AT+CIFSR

Öffnen Sie dann einen Webbrowser auf dem Gerät, das mit dem drahtlosen Netzwerk verbunden ist, und geben Sie die IP-Adresse des ESP-Moduls ein. An diesem Punkt erhalten Sie eine Antwort auf dem Aruino IDE Port Monitor – dies ist eine HTTP-Anfrage, die der Browser an den Server sendet. Die Anfrage enthält den Namen und die Version des Browsers, den Typ des Betriebssystems und andere interessante Informationen.

Um Informationen vom ESP 01 an den Client-Browser zu senden, muss zunächst angegeben werden, über welchen Kanal (0) die Daten vom Server an den Client gesendet werden sollen und wie viele Zeichen die Nachricht enthalten soll (5).

AT+CIPSEND=0,5

Nach der Eingabe des Befehls erscheint das „>„-Symbol im Arduino-IDE-Port-Monitor-Fenster – das bedeutet, dass Sie in der Befehlszeile Zeichen eingeben können (wir haben die HELLO-Nachricht gesendet). Nach ein paar Sekunden erhalten wir eine SEND OK-Antwort, was bedeutet, dass die Daten erfolgreich übertragen wurden. Im Browser wird jedoch nichts angezeigt, bis wir den Kanal auf dem Server (0) mit dem Befehl schließen:

AT+CIPCLOSE=0

Schlussfolgerung. Wir haben uns überlegt, das ESP 01 WiFi Modul an die Arduino-IDE anzuschließen und das ESP8266 ESP-01-Modul mit AT-Befehlen zu flashen. Mit diesem Gerät haben wir einen lokalen Webserver auf dem Arduino mit einer Verbindung zum Client-Server erstellt und eine Nachricht an den Webbrowser des Client-Geräts gesendet. In den nächsten Beiträgen werden wir uns weiter mit dem ESP8266 ESP12 beschäftigen.

5/5 - (1 vote)


2 respuesta al ejemplo: ESP-01 WiFi Modul Arduino anschließen & verwenden

  1. Hallo,

    danke erstmal für die schöne Erklärung!. Eine frage habe ich über diese ESP-01 und zwar wie kann ich zwei Arduino mit jeweils ein ESP-01 Module ein Servo ansteuern. Sodas ich ein Arduino als Master mit Joystick und die Andere als Slave für Servo verwenden und jede Arduino mit ein andere lokale Netzwerk verbunden ist. Es das möglich sowas ohne über eine Internetseite ( cloud-server ) sich zu registrieren? wenn ja können Sie mir einbasischen erklären wie funktioniert das und wenn Sie ein Sketck für mich haben freue ich mich sehr :).

    Danke schon mal Voraus.

    Schöne Grüße
    Ferhad

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert