D1 Mini Pro csatlakozás után megáll a hálózat

ESP8266, ESP32 chipek és az ESP-xx modulok. Programozási nyelvek, trükkök, hardware tippek.
zolee1988
Újonc
Újonc
Hozzászólások: 10
Csatlakozott: 2016. október 31. hétfő, 15:18

D1 Mini Pro csatlakozás után megáll a hálózat

Hozzászólás Szerző: zolee1988 »

Sziasztok,
Van 3 darab Wemos D1 Mini Pro-m, most kezdtem a WiFi részbe belemélyedni, és problémába ütköztem.
Csatlakozik a routerhez, pár percig megy is, majd az egész WiFi hálózat megáll, minden eszköz (laptop, tv, telefonok) csatlakozva maradnak, viszont nem forgalmaznak adatok, egymást se látják, internet megáll, letöltések megszakadtak a laptopon, nem jön be semmilyen weboldal se a telefonokon.
Az ESP8266 modulok DHCP-n kapnak IP-t, Arduino IDE-ben programozom, "webszerver" fut rajtuk. A program a PIN-ket kapcsolja, most éppen egy LED-t, attól függően, hogy milyen URL-t hívok meg a másik eszközről böngészőben:
Pl.: LED be: GET http://192.168.0.105/D2/on
LED ki: GET http://192.168.0.105/D2/off
zolee1988
Újonc
Újonc
Hozzászólások: 10
Csatlakozott: 2016. október 31. hétfő, 15:18

Re: D1 Mini Pro csatlakozás után megáll a hálózat

Hozzászólás Szerző: zolee1988 »

Elnézést, közben végzett a fiam a furdéssel, nem tudtam időben szerkeszteni a hozzászólást:

itt az egyik példakód:

Kód: Egész kijelölése

/*
 *  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 = "IWILLSTEALYOURMONEY";
const char* password = "namnamnewnew";

// 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);
  pinMode(LED_BUILTIN, OUTPUT);     // Initialize the LED_BUILTIN pin as an output
  // prepare GPIO2
  pinMode(0, OUTPUT);
  digitalWrite(0, 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(0, val);
   digitalWrite(LED_BUILTIN, val);   // Turn the LED on (Note that LOW is the voltage level
  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(10);
  //Serial.println("Client disonnected");

  // The client will actually be disconnected 
  // when the function returns and 'client' object is detroyed
}
mindhárom modullal jelentkezik a hiba, több hasonló kóddal, bár a WiFi kezelés mindegyikben ugyanaz.
Avatar
SanyiSay
Elektronbűvölő
Hozzászólások: 1031
Csatlakozott: 2009. február 28. szombat, 7:00

Re: D1 Mini Pro csatlakozás után megáll a hálózat

Hozzászólás Szerző: SanyiSay »

Üdv.
egy tipp:
nagyon nincs hiba a kódban.
talán ezt a sort még betenném, hogy ha megszakad a routerrel a kapcsolat akkor újra csatlakozzon.

Kód: Egész kijelölése

	
WiFi.setAutoReconnect(true);
de ez sem bolondítja meg a routert, max csak megszakad a kapcsolat az esp-vel ha ez nincs beállítva.
Valamint a GPIO 0-át azt én nem annyira szeretem használni mert ha L szinten marad induláskor, akkor ugye programozó módban indul az esp.
Nagyon routerekhez nem értek, de én megpróbálnám fix IP címmel, routerbe beállított DHCP IP tartományt ellenőrizném, hogy jut e minden eszköznek megfelelő, vagy esetleg a fix IP címek nem ütköznek e a DHCP tartománnyal.
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

Re: D1 Mini Pro csatlakozás után megáll a hálózat

Hozzászólás Szerző: Robert »

Visszaraknám a print részt - tájékoztatásnak jó lene.
Valamint a print debug-ot is használnám (és akkor teljeset kiválasztva).
Valamint az etherreal/Wireshark programmal monitoroznám a WiFi részt, hogy kinek milyen hasfájása van.

Nincs túl sok eszköz a routeren?
http://www.tavir.hu - a gazda :)
zolee1988
Újonc
Újonc
Hozzászólások: 10
Csatlakozott: 2016. október 31. hétfő, 15:18

Re: D1 Mini Pro csatlakozás után megáll a hálózat

Hozzászólás Szerző: zolee1988 »

Valami szerintem a routerrel lehetséges.
Nincs sok eszköz, 3 telefon, egy laptop meg egy médialejátszó van csatlakozva.
Amit most kipróbáltam, hogy az egyikre rátöltöttem egy egyszerű DHT tesztet ami soros portra írja ki az értékeket, WiFi nincs használva, nem csatlakozik, de valamiért létrehozza a saját kis ESP***** hálózatát, akkor is megáll a router.
Valószínűleg elnyomják egymás jelét.
Megpróbálom másik csatornára tenni a routert, bár azt hiszem automatán van. Meg itt a panelben nincs sok szabad csatorna :)
Avatar
SanyiSay
Elektronbűvölő
Hozzászólások: 1031
Csatlakozott: 2009. február 28. szombat, 7:00

Re: D1 Mini Pro csatlakozás után megáll a hálózat

Hozzászólás Szerző: SanyiSay »

Valami szerintem a routerrel lehetséges.
Valószínű.
Nálam is panel. 20+ a fogható wifi jelek száma, nincs szabad csatorna, és amikor bekapcsolom a routerem akkor az épp működö esp-k átállnak a router csatornájára kis időre, +5-10db esp wifi hálózat. szóval van bőven wifi adó egy helyen.
de valamiért létrehozza a saját kis ESP***** hálózatát
létezik olyan hogy csatlakozik a routerhez akkor is ha saját hálózatot hoz létre. AP-STA mód.
Valamint ne kész kódokkal teszteld szerintem hanem AP, STA, AP-STA módokkal. Legalább megismered azokat is. :)

Kis leírás, nem tökéletes de ez van.
https://github.com/esp8266/Arduino/blob ... /readme.md

Amúgy a te bemásolt kódod órákon át hiba nélkül megy itt mellettem 2 esp-n. Azzal a kis módosítással amit írtam.
Válasz küldése