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:
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:
Und schaue nach deiner IP Adresse:
Gehe in einen Browser und gib diese Adresse ein. Achte darauf, dass du im selben Netz bist.
Und voila, Willkommen auf deinem eigenen Server. Diesen kannst du nun über das W-LAN erreichen.
Tolles Tutorial. Danke.
Thanks for sharing such a fastidious opinion, post is fastidious, thats
why i have read it fully
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?