INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
ESP8266 Webserver Programmieren
20.08.2016, 08:18
Beitrag #1
ESP8266 Webserver Programmieren
Hallo,
ist es möglich, 2 Stück ESP8266 mit dem Arduino so zu programmieren, daß sie ohne Arduino und ohne weitere Hardware als Sender-Empfänger für Schaltfunktionen arbeiten?

Ich habe schon anderswo gelesen, daß bei Empfang ein "Quttings-Code" zurück gesandt wird. Nun bräuchte ich eigentlich doch nur diesen "Quittungs-Code" abgreifen, wenn das geht, und als Schaltsignal zu verwenden. Oder?

HDT
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
21.08.2016, 07:25
Beitrag #2
RE: ESP8266 Webserver Programmieren
Unter Einstellungen in der Arduino-IDE bei "Zusätzliche Boardverwalter-URL" folgendes eintragen: "http://arduino.esp8266.com/stable/package_esp8266com_index.json"
Im Boardverwalter (findest du im Menü: Werkzeuge->Board->Boardverwalter) das Paket "esp8266" installieren.
Dann kannst du deinen ESP8266 mit der Arduino-IDE programmieren. Das Paket enthält auch ne Menge Beispielquellcodes, wie z.B:
Code:
/*
*  This sketch demonstrates how to set up a simple HTTP-like server.
*  The server will set a GPIO pin depending on the request
*    http://server_ip/gpio/0 will set the GPIO2 low,
*    http://server_ip/gpio/1 will set the GPIO2 high
*  server_ip is the IP address of the ESP8266 module, will be
*  printed to Serial when the module is connected.
*/

#include <ESP8266WiFi.h>

const char* ssid = "*******";
const char* password = "********";

// Create an instance of the server
// specify the port to listen on as an argument
WiFiServer server(80);

void setup() {
  Serial.begin(115200);
  delay(10);

  // prepare GPIO2
  pinMode(2, OUTPUT);
  digitalWrite(2, 0);
  
  // Connect to WiFi network
  Serial.println();
  Serial.println();
  Serial.print("Connecting to ");
  Serial.println(ssid);
  
  WiFi.begin(ssid, password);
  
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
  Serial.println("");
  Serial.println("WiFi connected");
  
  // Start the server
  server.begin();
  Serial.println("Server started");

  // Print the IP address
  Serial.println(WiFi.localIP());
}

void loop() {
  // Check if a client has connected
  WiFiClient client = server.available();
  if (!client) {
    return;
  }
  
  // Wait until the client sends some data
  Serial.println("new client");
  while(!client.available()){
    delay(1);
  }
  
  // Read the first line of the request
  String req = client.readStringUntil('\r');
  Serial.println(req);
  client.flush();
  
  // Match the request
  int val;
  if (req.indexOf("/gpio/0") != -1)
    val = 0;
  else if (req.indexOf("/gpio/1") != -1)
    val = 1;
  else {
    Serial.println("invalid request");
    client.stop();
    return;
  }

  // Set GPIO2 according to the request
  digitalWrite(2, val);
  
  client.flush();

  // Prepare the response
  String s = "HTTP/1.1 200 OK\r\nContent-Type: text/html\r\n\r\n<!DOCTYPE HTML>\r\n<html>\r\nGPIO is now ";
  s += (val)?"high":"low";
  s += "</html>\n";

  // Send the response to the client
  client.print(s);
  delay(1);
  Serial.println("Client disonnected");

  // The client will actually be disconnected
  // when the function returns and 'client' object is detroyed
}

gruß lorenz
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
21.08.2016, 09:26
Beitrag #3
RE: ESP8266 Webserver Programmieren
Hallo,

mit den ESP machst Du WLAN. Wenn Du also eine Punkt-zu-Punkt Verbindung zwischen 2 ESP basteln willst, muß der eine Accesspoint und der andere Client sein.
Was Du dann nach dem Verbinden machst, hängt von Deinem Vorhaben ab.
Ob UDP-Pakete, TCP-Socket oder Webserver-Client usw., machen kannst Du das mit dem ESP alles.

Gruß aus Berlin
Michael
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
21.08.2016, 11:41
Beitrag #4
RE: ESP8266 Webserver Programmieren
Danke sehr für die Antworten!

Ist dieses Lern-Kit zu empfehlen? Arduino MEGA2560 Lernkit

Es kommt mir nicht auf den letzten Euro an, allerdings brauche ich auch kein zusätzliches Gedöns, wie Widerstände, Transistoren, Schalter etc., das habe ich massenhaft in meinen Beständen. Auch Steckboards und solches Zeug hab ich genügend.

Von den ESP8266 gibt es auch verschiedene Varianten. Könnt Ihr mir mal einen (ebay-) Link reinstellen, welches ich nehmen soll. Und wenn es ein deutschsprachiges Buch zum Arduino mit Grundschaltungen gibt, wär das auch super. (Titel oder Link)

Gruß
HDT
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
21.08.2016, 14:49
Beitrag #5
RE: ESP8266 Webserver Programmieren
Gutes ESP8266-Board: Such mal nach "NodeMCU" bei eBay oder Aliexpress. Die Dinger Passen aufs Steckbrett, und lassen sich direkt per USB an den PC Anschließen. Auf den Arduino kannst du dann verzichten.

gruß lorenz
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
21.08.2016, 14:51 (Dieser Beitrag wurde zuletzt bearbeitet: 21.08.2016 14:51 von amithlon.)
Beitrag #6
RE: ESP8266 Webserver Programmieren
Hallo,

(21.08.2016 11:41)HDT schrieb:  Ist dieses Lern-Kit zu empfehlen? Arduino MEGA2560 Lernkit
Ich denke, Du willst die ESP ohne Arduinos einsetzten?
Dann brauchst Du ESPs, einen USB-seriell-Wandler mit 3,3V-Pegeln und eine 3,3V Spannungsversorgung für die ESP.

ESP8266-12 am besten, da sind alle sinnvoll nutzbaren Pins rausgeführt.
Spannung 3,3V für erste Versuche kann man mit einem China-3,3V-Regler aus den 5V vom USB oder einem USB-Laadeadapter machen.

Wenn Du mit dem ESP8266 was "fertiges" suchst: entweder ein billiges NodeMCU-Board, dem Du Deine engene Software mit der Ardiuino-IDE verpasst oder z.B. das
http://www.ebay.de/sch/i.html?_from=R40&...6&_sacat=0

Natürlich kannst Du auch die NodeMCU unverändert mit LUA nutzen, das hat dann aber mit Arduino und der IDE nichts zu tun.

Gruß aus Berlin
Michael
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
23.08.2016, 08:52 (Dieser Beitrag wurde zuletzt bearbeitet: 23.08.2016 08:53 von HDT.)
Beitrag #7
RE: ESP8266 Webserver Programmieren
    Vielen Dank an Corvus und amithlon!

Mein Problem ist, daß ich zwar die Elektronik rund um beherrsche, ist ja auch nicht viel. Aber das Programmieren ist völliges Neuland für mich.

Ich brauche also zwei ESP8266, einen als Accesspoint und der andere als Client.
An den Arduino dachte ich, weil ich die beiden ESP8266 ja programmieren muß. Wenn Ihr jetzt schreibt, daß ich dann dazu gar keinen Arduino brauche, ist mir das auch recht. Ich würde den Arduino trotzdem bevorzugen, weil er mir den Einstieg in das Programmieren erleichtert, denke ich. (und später habe ich bestimmt auch noch andere Projekte)

Kurz etwas zu meinem jetzigen Projekt:
Der ESP8266, der als Sender fungieren soll, kommt in einen kleinen "Kitchen-Timer". Da ist nicht viel Platz drin. Um Ansteuerung und Stromversorgung kümmere ich mich. Dieser ESP8266 muß "klein" sein, das ist wichtig. Der andere, der in einem Gerät eingebaut wird, als Empfänger zum Abschalten, darf größer sein.

Könnt ihr mir bitte nochmal raten, was ich kaufen soll? Das wird kein "Spar-Projekt", ich will nur nicht unnützes Zeug beschaffen.
Wie gesagt, den Arduino nebenbei zu kaufen, ist kein Thema, das mache ich, wenn es sinnvoll ist.

Gruß
HDT
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
23.08.2016, 10:27
Beitrag #8
RE: ESP8266 Webserver Programmieren
Meine Empfehlung wäre ein Arduino Micro, um dich in die Programmierung einzuarbeiten, zwei NodeMCU-Module für die Entwicklung der Server- und Client implementierung, und zwei ESP-12-E Module für die fertige Schaltung auf einer eigenen Platine.
Warum der Arduino Micro:
Mit einem Arduino ist der Einstieg in die Programmierung ganz einfach leichter als mit einem ESP8266.
Oft wird Einsteigern zu einem Arduino Uno geraten. Ich persönlich finde den Uno und andere zu ihm pin-kompatible Boards zu groß. Des weiteren sind sie inkompatibel mit Lochrasterplatinen und passen nicht auf ein Steckbrett.
Einziger Vorteil gegenüber den kleineren Arduinos ist die Verfügbarkeit aller möglichen Shields für diesen. Das kann interessant sein wenn man keine Lust hat sich mit der Elektronik zu befassen.
Der Arduino Nano wäre zwar auch geeignet, doch der Micro bietet mehr Möglichkeiten wie z.B. USB-HID was bei zukünftigen Projekten vielleicht mal ganz nützlich sein kann.
Warum das NodeMCU-Modul:
Es verfügt über USB und Spannungswandler, was das Prototyping vereinfacht und ist dabei klein genug fürs Steckbrett.
Warum das ESP-12-E Modul:
Alle nötigen Pins werden herausgeführt und es ist zufällig auch auf dem NodeMCU-modul.

gruß lorenz
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  ESP8266 ESP12-E Webserver-Frage Claus_M 8 265 14.11.2016 22:02
Letzter Beitrag: Claus_M
  ESP8266 Server connect sowerum 1 174 21.10.2016 19:10
Letzter Beitrag: sowerum
  Webserver + Bild als Hintergrund ?! Marc2014 8 247 11.10.2016 21:39
Letzter Beitrag: Bitklopfer
  ESP8266 tuts nicht sowerum 7 396 19.09.2016 21:01
Letzter Beitrag: sowerum
  Hilfe gesucht. Webserver Statsiche und Dynamische HTMl Seite b3ta 11 454 22.08.2016 08:07
Letzter Beitrag: b3ta
  IDE 1.7.10 und Attiny programmieren Seewolf 7 482 06.08.2016 11:49
Letzter Beitrag: Seewolf
  ESP8266 Webserver Marc2014 0 349 30.07.2016 20:15
Letzter Beitrag: Marc2014
Question Webserver, Client, Loop Marc2014 6 369 29.07.2016 21:04
Letzter Beitrag: Marc2014
  Problem mit ESP8266 und EMail senden torsten_156 1 609 13.06.2016 21:14
Letzter Beitrag: torsten_156
  Wetterstation mit Vorhersage auf Webserver reimundko 8 598 05.06.2016 16:06
Letzter Beitrag: reimundko

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste