- Akku Tests und Balkonkraftwerk Speicher         
Ergebnis 1 bis 10 von 59

Thema: ESP8266, arduinoIDE, etliche Probleme

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Robotik Einstein Avatar von inka
    Registriert seit
    29.10.2006
    Ort
    nahe Dresden
    Alter
    77
    Beiträge
    2.180
    hallo Joe,
    ich verwende die ESP's in allen ihren variationen und mit allen kommunikationsmöglichkeiten, die sie mitbringen seit jahren - solche probleme mit dem wlan kenne ich nicht... Wäre interessant mal den code zu sehen? Auch gerne per PM, wenn du es nicht hier posten willst...
    gruß inka

  2. #2
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    8.698
    Ich bin (überraschend) ein bisschen vorangekommen. Mal sehen, wie es weiter geht. Näheres kommt noch.

    Mal ne VorSCHAU.
    Geändert von oberallgeier (23.07.2023 um 19:01 Uhr)
    Ciao sagt der JoeamBerg

  3. #3
    Erfahrener Benutzer Robotik Einstein Avatar von Rabenauge
    Registriert seit
    13.10.2007
    Ort
    Osterzgebirge
    Alter
    56
    Beiträge
    2.211
    Schau doch bitte mal in die Konsole der Arduino-IDE.
    Die ESP spucken einiges an Meldungen aus- wenn dort immer wieder (mit geringem zeitlichen Abstand) das Gleiche erscheint, dann bleibt er hängen und rebootet.
    Du kannst in deinem Code dann gut platzierte Debug-Meldungen unterbringen, um rauszufinden, wo er hängen bleibt.
    Falls es sowas ist, das ist lösbar...das hatte ich auch etliche Male, hab es aber immer hingekriegt.

    Und ja, wie gesagt: die Dinger haben ein gewisses...Eigenleben.
    Nicht alles ist dokumentiert.
    Grüssle, Sly
    ..dem Inschenör ist nix zu schwör..

  4. #4
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    8.698
    .. wenn dort .. dann bleibt er hängen .. Debug-Meldungen.. wo er hängen bleibt ..
    Ja, das war eine der Ursachen mit denen ich kämpfte. Hatte allerlei Meldungen eingefügt (hatte ja wirklich keine Ahnung was da läuft . .) und damit nur das Chaos vergrößert. Langsam komm ich auf den Grund meiner Probleme.

    .. Nicht alles ist dokumentiert.
    Na ja, ich weiß manchmal g arnicht wonach ich suchen soll - mal ehrlich geschrieben.

    Danke für die Hinweise.
    Ciao sagt der JoeamBerg

  5. #5
    Erfahrener Benutzer Robotik Einstein Avatar von Rabenauge
    Registriert seit
    13.10.2007
    Ort
    Osterzgebirge
    Alter
    56
    Beiträge
    2.211
    Setzt mal an irgendeine Stelle in die Hauptschleife ein yield().
    Das ermöglicht dem ESP, Hintergrundprozesse abzuarbeiten (das ganze WLAN-Gedöns ist so einer).
    Bringt oft Stabilität.
    Grüssle, Sly
    ..dem Inschenör ist nix zu schwör..

  6. #6
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    08.07.2004
    Beiträge
    585
    Hi,

    versuch bei der einen Platine doch mal den Quellcode der vorher funktioniert hat.
    Als Passwort 1234 zu nehmen wird wohl nicht funktionieren. Das ist zu kurz.
    Darin sind sich alle Quellen einig die ich habe finden können.

    Oder teile wirklich mal deinen Quelltext.

    Crypi

  7. #7
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    8.698

    ESP8266, arduinoIDE, WLAN-Probleme

    .. versuch .. den Quellcode der vorher funktioniert hat .. Oder teile .. deinen Quelltext. //Crypi
    Problem: Ein Server ist vom Client nicht ansprechbar; Basis ESP8266.

    Projekt:
    Eine WLAN-Server-Client-Kombination aus zwei ESP8266 soll die Information eines im Briefkasten angekommenen Poststücks in einen Wohnraum weiterleiten und da anzeigen. Im Wohnraum wird ein ESP8266 als AP (alternativ, eigener Versuch: soft-AP) eingerichtet mit dem Programm FLAG. Im Briefkasten wird mit einem gleichen ESP und einem Sensor der Client mit dem Programm "Pbox" eingerichtet. Durch den Einwurf von Post wird der Client resettet, aus dem "Tiefschlaf" geweckt, meldet das dem Server und geht wieder in den Tiefschlaf. Der Server zeigt durch Einschalten eines Signals den Empfang dieser Nachricht, die vom eingeworfenen Postgut ausgelöst wurde. Das Projekt ist in dem "ESP8266-Projektbuch" beschrieben; Autor Martin Mohr. "ESP" meint hier eine kleine Platine mit ESP8266 12-F, USB-Buchse, 5Vzu3,3V-Wandler etc.
    Abbildung ESP-Projektbuch.JPG

    Realisierung
    Dieses Projekt "Briefkasten-is-was-drin-Sensor" mit "Signalausgabe" habe ich nach der Beschreibung in der ebook-Ausgabe "Das ESP8266-Projektbuch" angefangen. Die beiden Programmteile "FLAG" für Signalausgabe im Wohnbereich und "PBox" für Briefkasten+Sensor wurden ausgelesen (schlechte PDF, leider viele Lese-, Schreib- und daraus Compilier-Fehler) und als separate *ino-Codes abgelegt. Arbeitsbasis Arduino IDE 2.1.1 mit core ESP8266 3.1.2.
    Abbildung ArduinoIDE2-1-1.JPG

    Nach compilieren und flashen der beiden Programme ist die WLAN-SSID nicht bzw. nicht zuverlässig zu finden. Im folgenden Code sind Zeilen aus dem Originaltext blau markiert. Wenn die blauen Zeilen (alt, original) durch die roten (neu erstellt) ersetzt werden (Kommentarmarken!) wird ein WLAN-Server (Abbildung) aufgebaut und feststellbar.
    Code:
    ..FLAG..
    //  Programm Flag-ESP aus "ESP8266 Das Projektbuch", Seiten 27ff ... korr 08072023
    /*  Beginn: bearbeitet am 20.07.2023 00:44;   Board #01, Einstellg >>FLAG<< auf
            . . . . . . .
    Aktuell bearbeitet 27 07 2023 13h30   übernommen aus D:\..\A2_00\Etest1\AZ..6h14.txt           */
      #include <ESP8266WiFi.h>
      #include <ESP8266WebServer.h>
    
      const char* ssid      = "NodeKTM";             //  Empfänger ist hier FLAG  ! ! <<< Aufrufer = Postbox ! !
    //##  const char* pass      = "12345678";         //
    
    //  / / / / / / Neue/geänderte Deklrarationen etc
      const char* password = "12345678";          //Enter Password here
      IPAddress local_ip(192,168,1,119);
    //  \ \ \ \ \ \ Neue/geänderte Deklarationen etc
    
      IPAddress      ip(192,168,1,120);
      IPAddress gateway(192,168,1,1);              // 22072023-1810 geändert von 1 auf 100 >>>>> nutzt nix, zurück auf 1
      IPAddress subnet(255,255,255,0);
                                                               //
      String inString;
      ESP8266WebServer server(80);
    // --------------------------
    
      void handleRoot()
      {
        server.send(200, "text/plain", "ESP Flag Server");
      }
    // --------------------------
      void handleFlag()
      {
        server.send(200, "text/plain", "Flag is up");
        delay(1500);
      }
    // -------------------------------------------------------
      void setup()                             // ssid = "FLAG";
      {                                 // Sequenz setup Start
        Serial.begin(115200);
        Serial.println("\r\n") ;
    // -------------------------- Beginn "alter" WiFi-Beginn aus "..Projektbuch.."
    //  WiFi.begin(ssid, password);         // im Original (-buch) steht "pass"
    //  WiFi.config(ip, gateway, subnet);
    // -------------------------- Ende   "alter" WiFi-Beginn
    // -------------------------- Beginn "neuer" WiFi-Beginn aus "..Simpl..Srvr-01.."
      WiFi.softAP(ssid, password);
      WiFi.softAPConfig(local_ip, gateway, subnet);
      delay(100);
    // -------------------------- Ende "neuer" WiFi-Beginn aus "..Simpl..Srvr-01.."
        delay( 1000);
        while (WiFi.status() != WL_CONNECTED)   //####    "FLAG"=Anzeige
        {
          delay(  500);
          Serial.print(".");
        }                                       //
        Serial.println("") ;
        Serial.print("Datei ESPtst1.ino für FLAG. ");
        Serial.print("Verbunden mit ");
        Serial.println(ssid);
        Serial.print("IP address: ");
        Serial.println(WiFi.localIP()) ;
        delay(1500);
        server.on("/",handleRoot) ;
        server.on("/flag/", handleFlag);
        server.begin();
        Serial.println("HTTP server started");
      }                             // Sequenz setup Ende
    
      void loop(void)
      {
        server.handleClient();
      }
    Code:
    ..Pbox..
    //  Programm Postbox-ESP aus "ESP8266 Das Projektbuch", Seiten 35ff ... korr 08072023
    /*      bearbeitet am 20.07.2023 23:46 => hh:mm    setup mit delay(1500) vor+nach Serial.println
            . . . .
    aktuell bearbeitet 27 07 2023 11:04   Code für Pbox aus "..Projektbuch.." übernommen/kontrolliert
                       27 07 2023 11h30   >> geändert nur ssid > "NodeKTM" und pass > "12345678"
                       27 07 2023 14h00   >> und geändert: delay nach "serial.begin"
                    /               /               /               /                 */
      #include <ESP8266WiFi.h>
    
      const char* ssid      = "NodeKTM";          // Dies hier ist Postbox       (Empfänger ist FLAG/2)
      const char* pass      = "12345678";         //
    
    //##  const char* serverIp  = "192,168,1,119";     // wie FLAG         geändert auf 20 am 24.07.2023-17h46
      const char* serverIp  = "192,168,1,122";     // 29.07.2023-16h28 neu; laut WLAN-Daten von Board#01/NodeKTM
                            // Versuche: 16h45: 117, 16h46 118, 16:53 119, 17:00 120, 17:17 121, 17h26 122
      int serverPort = 80;
      WiFiClient client;
    // --------------------------
      void setup()
      {
        Serial.begin(115200);
          delay( 1000);
        Serial.println("\r\n");                   // Anmelde"text"; Pbox #02, Zeilenvorschub
    
        WiFi.begin (ssid, pass);                  //
        while (WiFi.status() != WL_CONNECTED)
        {
          delay(  500);
          Serial.print(".");
        }
    
        delay( 1000);
        Serial.println("");
        Serial.print("Pbox verbunden mit ");
        Serial.print(ssid);
        Serial.print(",  IP address: ");
        Serial.println(WiFi.localIP());
    
        if ( !client.connect(serverIp, serverPort) )
          {
            Serial.println("connect fail");
          }
    
        client.print("GET /flag/");
        client.println(" HTTP/1.1");
        client.print("Host: ");
        client.println(serverIp);
        client.println("Connection: close");
        client.println();
        client.stop();
        delay(1500);                      //
        ESP.deepSleep(0);
      }
    
      void loop() { }
    Abb NodeKTM-WLAN-IPv4-x121-17h17.JPG

    Problem:
    Der Server ist vom Client nicht ansprechbar. Seine IPv4-Adresse *.121 ist nicht erreichbar, siehe Terminaldarstellung. Variation der serverIp im Programm Pbox von 192,168,1,117 bis *.122 zeigten keinen Erfolg.
    Abb Terminal_28072023-23h52.JPG Abb Terminal_29072023-17h42.JPG

    Kennt jemand dieses Problem? Bitte um Hilfe.
    Wo sind meine Fehler? Sind die angezeigten IPs, siehe Bild "NodeKTM-WLAN..", richtig? Muss für die Kommunikation eine andere erstellt/angesprochen werden? Welche?

    Danke im Voraus
    Geändert von oberallgeier (30.07.2023 um 10:16 Uhr) Grund: Fehler beseitigt
    Ciao sagt der JoeamBerg

  8. #8
    Erfahrener Benutzer Robotik Einstein Avatar von inka
    Registriert seit
    29.10.2006
    Ort
    nahe Dresden
    Alter
    77
    Beiträge
    2.180
    also, ich weiss nicht ob das was ich hier schreibe nun deinen vorstellungen entspricht, hoffe es aber:

    btw: ich verwende linux, unter windows kann das alles ein bischen anders aussehen...
    --------------------------------------

    - ich habe zwei jungfräuliche ESP8266 genommen
    - auf eines den code "post_box_ESP.ino" unverändert geflasht
    - auf das andere den folgenden "soft_AP_KTM.ino" code geflasht:

    Code:
    // board nodeMCU 1.0
    #include <ESP8266WiFi.h>
    
    IPAddress       ip (192, 168,  1, 92);
    IPAddress local_ip (192, 168,  1, 92);
    IPAddress gateway  (192, 168,  1,  250);
    IPAddress subnet   (255, 255, 255,  0);
    
    void setup()
    {
      Serial.begin(115200);
      delay( 1000);
      Serial.println("");    Serial.println("");    Serial.println("- - - -");
      delay( 1000);
      Serial.println("sett
      Serial.println("");    Serial.println("");    Serial.println("- - - -");
      delay( 1000);
      Serial.println("setting up softAPtst; n01 05082023 16h40");
      Serial.println("AP testen: NodeKTM, 12345678");
      boolean result = WiFi.softAP("NodeKTM", "12345678");
      delay( 2000);
      if (result = true)
      {
        Serial.println("ready! Step: '1' ca 2sec");
      }
      else
      {
        Serial.println("failed!");
      }
    }
    
    void loop()
    {
      Serial.printf("station connected = %d\n", WiFi.softAPgetStationNum());
    
      delay( 1000);
     ing up softAPtst; n01 05082023 16h40");
      Serial.println("AP testen: NodeKTM, 12345678");
      boolean result = WiFi.softAP("NodeKTM", "12345678");
      delay( 2000);
      if (result = true)
      {
        Serial.println("ready! Step: '1' ca 2sec");
      }
      else
      {
        Serial.println("failed!");
      }
    }
    
    void loop()
    {
      Serial.printf("station connected = %d\n", WiFi.softAPgetStationNum());
    
      delay( 1000);
     
    }
    der AP NodeKTM erscheint nun auf dem PC unter den netzwerken, in den eigenschaften des netzwerkes habe ich die IP und anderes eingetragen:
    Klicke auf die Grafik für eine größere Ansicht

Name:	settings_AP_KTM.png
Hits:	12
Größe:	58,9 KB
ID:	35948

    nun kann ich mich in diesem AP mit dem PC, smartphone anmelden und auch der zweite ESP8266 mit dem "PostBox" code meldet sich nach einem reset für ein paar sekunden an. Ist das so ok, oder habe ich es völlig falsch verstanden?
    gruß inka

  9. #9
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    8.698
    .. linux, unter windows kann das .. anders aussehen .. der AP NodeKTM erscheint nun auf dem PC unter den netzwerken, in den eigenschaften des netzwerkes habe ich die IP und anderes eingetragen .. oder habe ich es völlig falsch verstanden?
    Danke für Deine Mühe! Du hast das meiste schon richtig vestanden. Großer Dank für den Hinweis zu den Netzwerkeigenschaften: nun habe ich da etliches zusätzlich gelernt . . . das freut mich.

    Deinen Code hatte ich aufgespielt (leicht modifiziert - 2 loops und so), unter Netzwerkeigenschaften von meinem PC aus Netwerk und dessen Eigenschaften gellöscht (in der shell). Danach (rundum gewechselt alle drei Platinen: FLAG, Pbox und softAD..) eine der Platinen das Netzwerk anmelden lassen und danach wie Du den Rest gestartet. Ja, wie schon früher berichtet (mit Code und Bildern) wird ein Netzwerk erstellt und die Meldung auf der Platine "softAP.." zeigt an, dass eine, manchmal zwei "station connected=.." sind. Auch die Pbox meldet sich am "NodeKTM" an - und bringt, wie bisher immer ihr "..connect: fail". Kein Wunder, wie immer sind leider inwischen die Netzwerkadressen verändert. Und das ist mir unverständlich, ich bekomme es auch nicht wieder gerichtet. Teilweise - wie nach Aufspielen des Codes von Dir, in einem Testlauf - ist die vorgegebene IP 192.168.1.1 eingerichtet, aber es wird von z.B. der Postbox die 192.168.4.2 gezeigt.

    Ich gebs auf - ich kriegs nicht hin. Schade.

    Muss mich mal nach nem passenden Messenger umsehen, vielleicht finde ich irgendwo nen sauberen, funktionierenden Code für die Geschichte mit dem Senden von eMails - vielleicht krieg ich das hin.

    Danke für die Mühe
    Ciao sagt der JoeamBerg

  10. #10
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    8.698

    DER Hinweis . . .

    Zitat Zitat von inka Beitrag anzeigen
    .. den code "post_box_ESP.ino" unverändert .. den folgenden "soft_AP_KTM.ino" code ..
    Im Original spielen ja zwei andere Softwarepaketchen zusammen: "Postbox" als Sensorik "Post ist da" und "Flag" als Empfänger des Sensoriksignals und Anzeige. Aber - huiii - da war mir eingefallen . . .

    Im Umkreis meines Projektchens sind ja vermutlich keine namensgleichen WLANstationen. Also reicht die Kombination Pbox und SoftAP. Letztere mal für Testzwecke etwas stärker *gg* modifiziert - und aktuell (Start direkt vor diesem Post) läuft ein Lanzeittest (ca. 30000 *2 sec, das sind rund neun Stunden). >> Software modifizieren, auf die MiniPlatinchen (Format ca. 2x ESP9266-blank) flashen. Und - nix. Also identische Software auf eine NodeMCU flashen - und es läuft! (mehrere Wechsel der Platinen - Fazit die "kleine" läuft nicht als "Anzeige", die NodeMCU schon).

    Hier die anfängliche Anzeige von eben (nu gehts in die Kletterwand *gg*) und die soll noch die paar Stunden mal laufen. Weiter dann bis in zwei, drei Tagen. Es muss ja noch die "Flag"funktion implementiert werden, wiederholt getestet im Laboraufbau - und dann mal sehen ob das aus dem Briefkasten auch funzt.
    Ciao sagt der JoeamBerg

Ähnliche Themen

  1. Kopfsache - und ein m1284, etliche Servos, viel Alu
    Von oberallgeier im Forum Vorstellungen+Bilder von fertigen Projekten/Bots
    Antworten: 85
    Letzter Beitrag: 08.09.2024, 19:56
  2. [ERLEDIGT] STM32F103C8T6 Mini Board unter Linux mit STlink und ArduinoIDE
    Von oderlachs im Forum ARM - 32-bit-Mikrocontroller-Architektur
    Antworten: 0
    Letzter Beitrag: 08.04.2018, 13:22
  3. ArduinoIDE go STM32 BluePill keine Erfolge gross
    Von oderlachs im Forum Arduino -Plattform
    Antworten: 2
    Letzter Beitrag: 20.02.2018, 10:32
  4. Per ArduinoIDE PWM auf AtTiny
    Von Cysign im Forum C - Programmierung (GCC u.a.)
    Antworten: 3
    Letzter Beitrag: 05.09.2015, 20:25
  5. ArduinoIDE(Linux) findet Port nicht
    Von oderlachs im Forum Arduino -Plattform
    Antworten: 4
    Letzter Beitrag: 08.11.2014, 13:57

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Solar Speicher und Akkus Tests