Hallo, ich arbeite gerade an einem Projekt mit mehreren esp8266, die
Daten an einen esp8266 senden sollen, der einen Access Point bildet.
Ich habe zum testen diesen Code für den Access Point benutzt:
1 | [...]
|
2 |
|
3 | void loop()
|
4 | {
|
5 | WiFiClient client = server.available();
|
6 | if (!client) return;
|
7 |
|
8 | unsigned long ultimeout = millis()+250;
|
9 | while(!client.available() && (millis()<ultimeout) ) delay(1);
|
10 | if(millis()>ultimeout) return;
|
11 |
|
12 | String sRequest = client.readStringUntil('\r');
|
13 | client.flush();
|
14 |
|
15 | [...]
|
16 |
|
17 | client.print(sHeader);
|
18 | client.print(sResponse);
|
19 |
|
20 | client.stop();
|
21 | }
|
(Eine bearbeitete Version von diesem Code)
https://blog.thesen.eu/stabiler-http-1-1-wlan-webserver-mit-dem-esp8266-microcontroller/
Und für den Client habe ich, von dem WiFiClient Beispiel
(https://github.com/esp8266/Arduino/blob/master/libraries/ESP8266WiFi/examples/WiFiClient/WiFiClient.ino),
den Code so umgeschrieben:
1 | [...]
|
2 | const char* ssid = "ESP-Accesspoint";
|
3 | const char* password = "12345678";
|
4 |
|
5 | const char* host = "192.168.4.1";
|
6 |
|
7 | [...]
|
8 |
|
9 | WiFiClient client;
|
10 | const int httpPort = 80;
|
11 | if (!client.connect(host, httpPort)) {
|
12 | Serial.println("connection failed");
|
13 | return;
|
14 | }
|
15 |
|
16 | String url = "/?pin=";
|
17 | if (digitalRead(0)) url += "FUNCTION1OFF";
|
18 | else url += "FUNCTION1ON";
|
19 |
|
20 | client.print(String("GET ") + url + " HTTP/1.1\r\n" +
|
21 | "Host: " + host + "\r\n" +
|
22 | "Connection: close\r\n\r\n");
|
23 | unsigned long timeout = millis();
|
24 |
|
25 | [...]
|
Der Server funktioniert bereits mit meinem Laptop. Ich verbinde den
Laptop mit dem esp8266 und rufe 192.168.4.1 im Browser auf.
Als ich den Client mit dem Router verbunden habe, konnte ich auch auf
data.sparkfun.com/... zugreifen.
Wenn ich jetzt aber versuche den Client mit dem AP zu verbinden,
verbindet er sich zwar mit dem AP, bleibt aber bei der client.connect()
Methode hängen:
Connecting to ESP-Accesspoint
......
WiFi connected
IP address:
192.168.4.2
connecting to 192.168.4.1
connection failed
connecting to 192.168.4.1
connection failed
Vielen Dank schon mal im Voraus