ESP 8266 Module close up

Arduino mit ESP8266 verbinden und Programmieren

ESP 8266
ESP8266 WIFI Modul

Im heutigen Experiment werden wir ein ESP8266 W-Lan Modul mit einem Arduino verbinden und einen kleinen Webserver zu erstellen.

um dies zu Realisieren, benötigen wir folgendes:

  • 1 x Breadboard
  • 1 x 1000 Ohm Wiederstand
  • 1 x 2200 Ohm Wiederstand
  • Drähte
  • Arduino UNO
  • Arduino IDE
  • und natürlich unser ESP8266 Modul

Wie man die Arduino IDE auf dem Computer installiert findet man im Internet. Einfach googeln.





Zuerst müssen wir alles verdrahten. Dies machen wir nach folgendem Vorbild:

Thinkercad CAD
Thinkercat
Shema

Hier das entsprechende Tinkercad Projekt, in welchem du selber experimentieren kannst:


als nächstes müssen wir ein Programm schreiben, um das ESP8266 zu programmieren. Her der entsprechende code:

#include <SoftwareSerial.h>                        
SoftwareSerial esp8266(10,11);                   
#define serialCommunicationSpeed 115200               
#define DEBUG true                                 

void setup()

{
  Serial.begin(serialCommunicationSpeed);           
  esp8266.begin(serialCommunicationSpeed);     
  InitWifiModule();                              
}

void loop()                                                         
{

  if(esp8266.available())                                           
 {    
    if(esp8266.find("+IPD,"))
    {
     delay(1000);
 
     int connectionId = esp8266.read()-48;                                                
     String webpage = "<h1>Hello World!</h1>";
     webpage += "<p style='color:blue;'>Wilkommen bei Tik Tok und pezezzle</p>";
     webpage += "<a href='http://www.pezezzle.com' target='_blank'>klicke hier fuer Spass</a>";
     String cipSend = "AT+CIPSEND=";
     cipSend += connectionId;
     cipSend += ",";
     cipSend +=webpage.length();
     cipSend +="\r\n";
     
     sendData(cipSend,1000,DEBUG);
     sendData(webpage,1000,DEBUG);
 
     String closeCommand = "AT+CIPCLOSE="; 
     closeCommand+=connectionId; // append connection id
     closeCommand+="\r\n";    
     sendData(closeCommand,3000,DEBUG);
    }
  }
}

String sendData(String command, const int timeout, boolean debug)
{
    String response = "";                                             
    esp8266.print(command);                                          
    long int time = millis();                                      
    while( (time+timeout) > millis())                                 
    {      
      while(esp8266.available())                                      
      {
        char c = esp8266.read();                                     
        response+=c;                                                  
      }  
    }    
    if(debug)                                                        
    {
      Serial.print(response);
    }    
    return response;                                                  
}

void InitWifiModule()
{
  sendData("AT+RST\r\n", 2000, DEBUG);
  //Trage hier deine Anmeldedaten für das W-Lan netz ein. Meine sind gast und Gast1234                                                 
  sendData("AT+CWJAP=\"gast\",\"Gast1234\"\r\n", 5000, DEBUG);        
  delay (3000);
  sendData("AT+CWMODE=1\r\n", 1500, DEBUG);                                             
  delay (1500);
  sendData("AT+CIFSR\r\n", 1500, DEBUG);                                             
  delay (1500);
  sendData("AT+CIPMUX=1\r\n", 1500, DEBUG);                                             
  delay (1500);
  sendData("AT+CIPSERVER=1,80\r\n", 1500, DEBUG);                                     

}

Im Setup legen wir die Baudrate fest und initialisieren das WiFi Modul. In der Funktion InitWifiModule() verwenden wir „AT“ Befehle. Eine Übersicht über diese Befehle findet ihr HIER.

void setup() {   
    Serial.begin(serialCommunicationSpeed);              
     esp8266.begin(serialCommunicationSpeed);        
  InitWifiModule();                               
}

der Rest sollte sich von selber erklären, wenn man den Code gut studiert. Fragen kannst du gerne in den Kommentaren stellen.

Wenn du alles korrekt gemacht hast, lade dein Programm auf deinen Arduino. öffne den Seriellen Monitor:

Serial Monitor
Serieller Monitor in der Arduiono IDE

Und schaue nach deiner IP Adresse:

Arduino IDE
IP Adresse finden

Gehe in einen Browser und gib diese Adresse ein. Achte darauf, dass du im selben Netz bist.

Hello World output

Und voila, Willkommen auf deinem eigenen Server. Diesen kannst du nun über das W-LAN erreichen.

Dieser Beitrag hat 3 Kommentare

  1. Ardufreak

    Tolles Tutorial. Danke.

  2. Twicsy

    Thanks for sharing such a fastidious opinion, post is fastidious, thats
    why i have read it fully

  3. Stephan

    Hallo, im Schaltplan steht, daß Pin 1 des ESP8266 auf 3.3V zu legen ist. Im Bild des ESP8266 steht, daß Pin 1 auf Masse zu legen ist.
    Hier ist etwas durcheinander geraten, oder?

Schreibe einen Kommentar