- LiFePO4 Speicher Test         
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 Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    8.686

    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 11:16 Uhr) Grund: Fehler beseitigt
    Ciao sagt der JoeamBerg

  2. #2
    Erfahrener Benutzer Robotik Einstein Avatar von inka
    Registriert seit
    29.10.2006
    Ort
    nahe Dresden
    Alter
    77
    Beiträge
    2.180
    Zitat Zitat von oberallgeier Beitrag anzeigen
    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.
    das wäre für mich ein grund sich ein andres beispiel zu suchen...

    EDIT:
    der hier schreibt zwar, dass sein projekt noch nicht so funktioniert wie es sollte, allerdings ist die Suche nach dem fehler vermutlich einfacher als in einem vom pdf eingescannt code. Man müsste das aufbauen und schauen warum es nicht funktioniert. Und er arbeitet ja auch dran. Übrigens ist das das erste mal, dass ich so einen hinweis sehe. bemerkenswert!
    Geändert von inka (30.07.2023 um 18:26 Uhr)
    gruß inka

  3. #3
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    8.686
    das wäre für mich ein grund sich ein andres beispiel zu suchen...
    Wars für mich auch fast(schon, beinahe). Aber wenn ich da weitermache, bekomme ich vielleicht einen kleinen Schimmer über WLAN und seine Teile. iot lässt grüssen *gg*.

    .. der hier schreibt zwar, dass sein projekt noch nicht so funktioniert wie es sollte, allerdings ist die Suche nach dem fehler ..
    Meine Fehlersuche endet vorerst in einer Art Debug-Version mit zwei verschiedenen IPs beim Aufruf durch den Client: 92 und 93. Angezeigt wird für den Server 92! Aber die Ausgaben deuten auf Probleme. Nur - ich kann das nicht enträtseln.

    Darstellungen:
    Eigenschaften des Servers.
    Ausgabe "93"
    Ausgabe "92"
    Code:
    Code
    Vielleicht findet hier jemand die Lösung/Erklärung und hilft mir aus dem Dunkel... ?
    Ciao sagt der JoeamBerg

  4. #4
    Erfahrener Benutzer Robotik Einstein Avatar von inka
    Registriert seit
    29.10.2006
    Ort
    nahe Dresden
    Alter
    77
    Beiträge
    2.180
    Zitat Zitat von oberallgeier Beitrag anzeigen
    Vielleicht findet hier jemand die Lösung/Erklärung und hilft mir aus dem Dunkel... ?
    wurde ja schon ein paar mal erwähnt: das letzte funktionierende codebeispiel für das zusammenspiel zwischen client und server noch einmal flashen, evtl. - um einen defekt auszuschliessen - einen anderen D1mini verwenden, und vielleicht auch wirklich ganz unten bei dem problem anfangen. Wenn das zusammenspiel client/server bei dem einfachen codebeispiel funktioniert, kann man experimentieren, weil man eine basis hat auf die man immer wieder zurückkehren kann. So stocherst du wirklich nur im dunkeln herum

    - - - Aktualisiert - - -

    ich habe hier noch ein beispiel gefunden, da wird die benachrichtigung aus dem briefkasten nicht zwischen einem AP und einem client gesendet, sondern über pushover auf ein smartphone. Man wird also auch unterwegs benachrichtigt, wenn post kommt. Auch eine gute idee. Habs noch nicht ausprobiert, noch keine zeit gefunden, kommt aber noch. Und man kann beide esp's testen, ob sie ok sind...
    gruß inka

  5. #5
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    8.686
    Grüß Dich Crypi,
    da ist mir die Antwort auf Dein Posting "auf der Strecke" geblieben. Sorry. Hol ich jetzt nach, bevor ich andere Aktionen starte.

    Zitat Zitat von jcrypter Beitrag anzeigen
    .. ich versteh den Zusammenhang mit der Fritzbox nicht..
    Versteh ich auch nicht.

    .. Hast Du mal versucht dein Passwort für das vom ESP erzeugte WLAN zu verändern gemäß der Links die ich gepostet hatte ..
    Danke im Nachhinein für Deinen Hinweis. Feines Werkzeug, sehr nützlich. Ich hatte gleich mehrere Tests gemacht: a) das Progrämmchen abwechselnd auf eine von meine BEIDEN ESP-Platinchen geflasht. Dazu abwechselnd auf mein WLAN24 (2,4GB) bzw WLAN5 (5GB) eingestellt. Die Testobjekte über Terminal verbunden und dann kam stets sauber die Antwort:
    Code:
      setting up soft-AP
      ready!
      station connected = 0
      station connected = 0
       Kommentar: WLAN24 oder W..5 eingekoppelt
      station connected = 1
    je nachdem, über welche WLAN-Instanz ich den PC eingewählt hatte.
    Das gleiche Ergebnis auch bei dem Test:
    ESPBoard#01 mit "WLAN-Server-schaltet-2LEDs" und ESPBoard#2 mit dem "setting up soft-AP"-tester. Gleicher Wechsel von 0 auf 1, sobald das WLAN "NodeKLM" übers Smartphone aktiviert wurde.

    Gleichzeitig ist(war) dies für mich die Feststellung, dass beide ESP-Boards einwandfrei arbeiten. Hatte ich übrigens gestern auch noch gemacht. (Diese ganze Versuchsgeschichte ist s..mässig aufwendig, wenn mans halbwegs ordentlich macht - na ja.)
    Geändert von oberallgeier (01.08.2023 um 11:40 Uhr) Grund: ESPBoard - sind ja nicht ESSbar
    Ciao sagt der JoeamBerg

  6. #6
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    08.07.2004
    Beiträge
    585
    Moin,
    ich bin jetzt unsicher wie der Stand ist.
    Du konntest beide Module in Betrieb nehmen, beide können sich ins WLAN einwählen.
    Der nächste Schritt ist jetzt das Erzeugen eines eigenen WLAN durch ein Modul und das Einwählen in dieses Netz durch das Zweite?
    Also die beiden Quelltexte die Du mit farbigen Anmerkungen vor einer Weile gespostet hast?

    Ist das so richtig?

    Crypi

  7. #7
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    8.686
    .. wie der Stand ist ..
    Vielleicht eine Erkenntnis. Stand - hmmm - blöd ausgedruckt - kein Stand (Ruhe) sondern "alles fließt". Aber der Reihe nach.

    In den Eigenschaften des WLANs "NodeKLM" hatte ich zuletzt ausgelesen die IP: 192.168.1.92.

    Da wurde also der Server (hier "FLAG" auf Platine #01) auf die ip 192.168.1.92 gestellt, geflasht und am Terminal getestet; bleibt "am Strom". Ok. Dann den Client ("Pbox", Platine #02) ebenfalls auf 192.168.1.92, geflasht und am Terminal getestet; bleibt "am Strom".

    Nun die frische NodeMCU-Platine hervorgeholt (liegt ja seit Tagen rum). Den "setting up soft-AP"-tester einprogrammert und angeworfen. Und - siehe da - der "soft-AP"-tester" zeigt ne Reihe "station connected = 0", dann ein paar "station connected = 1", danach wieder "station connected = 0". Heißt: der Client hatte den Server angesprochen - wurde verstanden und ging - programmgemäß schnell in den Tiefschlaf. Das Terminal der ESP-Pbox zeigte zwei gleiche Adressen, aber trotzdem (s)ein "connect fail". Na ja, immerhin war ja ein "connected" feststellbar gewesen.

    Klingt schon halbwegs gut. In der WLAN-Liste am PC die Eigenschaften des WLANs NodeKLM anhand der Windows-Liste des PC ausgelesen - wen wunderts - IP = 192.168.1.92.

    Zur Belohnung und Entspannung ab in die Kletterhalle.

    Danach die Platinen wie eben oben bestromt und den "setting up soft-AP"-tester angeworfen. Nur "station connected = 0", Abbruch nach ner Minute oder länger. Wegen (m)eines schon länger bestehenden Verdachtes mal die IP des NodeKLM ausgelesen. Alles klar - IP = 192.168.4.1.

    Daraus mein aktueller Schluss "alles fließt" - sprich: ich kann keine feste IP in den ESP rüberbringen. Ich wüsste auch nicht wie das g eht. Aber der Test von heute vormittgs, oben beschrieben, zeigt, dass bei gleicher/verlässlicher IP ein Kontakt möglich ist. Nur - wie fixiere ich die IP? Mal später nachsehen obs dafür ne Lösung gibt. Evtl. ist der softAP des Rätsels Lösung. Aber jetzt ist wieder mal ein paar Tage Pause fällig.

    PS: Möglicherweise liegt das Problem auch in der Geschichte AP oder softAP. Denn mit den beiden Programmzeilen "blau" und "rot" - oben, funktioniert nur die rote Variante. Nur die rote (WiFi.softAP...) zeigt auch eine WLAN-Instanz in der Wlanliste des PC. Die blaue (WiFi.begin...) erstellt mir - laut der genannten Liste - keine sichtbare WLAN-Verbindung :-/// .
    Geändert von oberallgeier (01.08.2023 um 18:13 Uhr)
    Ciao sagt der JoeamBerg

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

    Ratlos

    Hallo Mitleser,

    nochmal kurz die Aufgabe: 2 Module, ein Empfänger- und Anzeigemodul "Flag" und ein Überwachungsmodul "Pbox", beide als ESP8266MOD 12-F. Zur Information die aktellen Codes; es sind etliche LED-Aktionen und Textzeilen zum Debuggen eingefügt. Die Funktion wurde meist ohne diese "Debug"-Einfügungen getestet, funktionierte gleich bis auf immer wieder gleiche, meist aber geänderte ip´s. Diese meist sehr zufälligen, von mir nicht beeinflussbaren ip-Änderungen sind mein eigentliches Problem. Bisher :-/ Vielleicht kann/will jemand helfen? Danke im Voraus.
    Anmerkung: die drei Platinen wurden testweise auch mal getauscht, um ihre vollständige Funktionalität sicher zu stellen.

    Einschub CODEs
    Code:
    //  Programm Flag-ESP aus "ESP8266 Das Projektbuch", Seiten 27ff ... korr 08072023
    //  Beginn: bearbeitet am 20.07.2023 00:44 => hh:mm     Boardeinstellg >>FLAG<< auf Board #01
    //        . . . . . . .
    //Aktuell bearbeitet 02 08 23 0944  GENAU abstimmen mit Projektbuch, ABER eigene Fix-Daten
    
      #include <ESP8266WiFi.h>
      #include <ESP8266WebServer.h>
      #include <Servo.h>
    
      #define  LED 2                             // LED16=D0; LED wird mit "low" eingeschaltet, "high" => aus
                                                  // LED2 =!D4 (int. LED)
      const char* ssid      = "NodeKTM";             //  Empfänger ist hier FLAG  ! ! <<< Aufrufer = Postbox ! !
      const char* password = "12345678";            //Enter Password here
    
      IPAddress       ip (192,168,  1, 92);
      IPAddress local_ip (192,168,  1, 92);
      IPAddress gateway  (192,168,  1,  1);
      IPAddress subnet   (255,255,255,  0);
    
      Servo myservo;
      String inString;
      ESP8266WebServer server(80);
    // --------------------------
      void handleRoot()
      {
        server.send(200, "text/plain", "ESP Flag Server");
        Serial.println("\r\nhandleRoot on");           // ###> 1 Zeile Einfügung
      }
    // --------------------------
      void handleFlag()
      {
        server.send(200, "text/plain", "Flag is up");
    //      1 Zeile Einfügung zur besseren Veständlichkeit
        Serial.println("\r\nhandleFlag on");           // ###> 1 Zeile Einfügung
        delay(1500);
      }
    // ---------------------------------------------------------------------------------------------------------
      void setup()                             // ssid = "FLAG";
      {                                         // Sequenz setup Start
        Serial.begin(115200);
        delay( 2000);                       
        Serial.println("\r\n");             // Start mit neuer Zeile
    // -------------------------------------------------------
    // -------------------------- #01 Beginn zu LED, LED IST aus
        pinMode(LED, OUTPUT);               // Port Ausgang D0 schalten
        digitalWrite(LED, HIGH);            // LED ein        LED (1)           LED I   EIN    IIIIIII    das erste Mal
        delay( 1000);                       
    // -------------------------- #01  Ende  zu LED, LED IST an
    // -------------------------- #02  Beginn  zu LED, LED IST an
        digitalWrite(LED, LOW );                // LED aus    LED (0)           LED     A U S   00000000  das erste Mal
    // -------------------------- #02  Ende  zu LED, LED geht aus
    // -------------------------------------------------------
        delay( 2000);                       // Verzögerungszeit zur sicheren Ausgabe von seriell
    //###  Zusatz - für Debug-/Informations-/Orientierungszwecke
        Serial.println("FLAG.xxx11, #03, NodeKTM, 1++8 .1.92, 0508 17h08,");   // Quelle Code und Board-Nr
                                            // 11h17: Zeile ?79? : myservo.write(0); zugefügt
    //  Serial.println("\r\n") ;
    // -------------------------- Beginn "alter" WiFi-Beginn aus "..Projektbuch.."
    //  WiFi.begin(ssid, password);         // im Original(-buch) steht "pass" statt password
    //  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);
    // -------------------------- Ende "neuer" WiFi-Beginn aus "..Simpl..Srvr-01.."
    // -------------------------- #03 Beginn zu LED, LED ist aus
        digitalWrite(LED, HIGH );                // LED an        LED (1)           LED I   EIN    IIIIIII    das zweite Mal
    // -------------------------- #03  Ende  zu LED, LED geht an
        delay( 1000);                           // Verzögerungszeit zur sicheren Ausgabe
        while (WiFi.status() != WL_CONNECTED)   //####    "FLAG"=Anzeige
        {
          delay(  500);
          Serial.print(".");
        }                                       //
    // -------------------------- #04 Beginn zu LED, LED ist an
        digitalWrite(LED, LOW );                // LED aus        LED (0)           LED     A U S   00000000  das zweite Mal
    // -------------------------- #04  Ende  zu LED, LED geht aus
    //###  Serial.println("") ;
    //  >>>>    Übernahme aus Simpl-..Srv.. ------------//  first line of the code snippet below, for
    //  example, indicates that when a server receives an HTTP request on the root (/) path, it will
    //  call the handle_OnConnect() function. Important to note that the URL specified is a relative path.
    //    server.on("/", handle_OnConnect);
    //    Serial.println("") ;
    //    Serial.print("Datei xxxx1.ino für FLAG. ");
    // -------------------------- 
        Serial.print("Verbunden mit ");
        Serial.println(ssid);
        Serial.print("localIP address: ");
        Serial.println(WiFi.localIP()) ;
        myservo.attach(13);                     // Syntax servo.attach :
    //- myservo.write(0);                       // servo.attach(pin); oder servo.attach(pin, min, max)
        delay(1500);                            // servo.attach(pin, min, max) mindefault 544, max 2400
    //  myservo.write(0);
    //- myservo.detach();
        server.on("/",handleRoot) ;
        server.on("/flag/", handleFlag);
    //      >>>>    Übernahme aus Simpl-..Srv..
    //  ..if the client requests a URL that isn’t specified with
    //  server.on(). It should give a 404 error (Page Not Found)
    //  as a response
    //  server.onNotFound(handle_NotFound);
    // -------------------------- #05 Beginn zu LED, LED ist aus
        digitalWrite(LED, HIGH);                // LED ein        LED D4 (1)           LED   ein, das dritte Mal
    // -------------------------- #05  Ende  zu LED, LED ist an
        delay(1500);                            // servo.attach(pin, min, max) mindefault 544, max 2400
    // -------------------------- #06 Beginn zu LED
        digitalWrite(LED, LOW );               // LED aus        LED D4 (0)            LED   aus, das dritte Mal
        delay(1500);                            // servo.attach(pin, min, max) mindefault 544, max 2400
    // -------------------------- #06  Ende  zu LED
        server.begin();
        Serial.println("HTTP server started");
      }                             // Sequenz setup Ende
    
      void loop(void)
      {
        server.handleClient();
    /* -------------------------- #05 Beginn zu LED
        digitalWrite(LED, HIGH);                // LED ein        LED D4 (1)
        delay(  50);                            //
    // -------------------------- #05  Ende  zu LED
    // -------------------------- #06 Beginn zu LED
        digitalWrite(LED, LOW );               // LED aus        LED D4 (0)
        delay( 1000);                            //
    // -------------------------- #06  Ende  zu LED
                                                          */
      }
    //  E N D E    des originalen Codes
    // -------------------------- 
    // -------------------------- 
    //  void handle_OnConnect()
    //  {
    //    Serial.println("handle OnConnect");
    //  }
    //  void handle_NotFound() 
    //  {
    //    server.send(404, "text/plain", "Not found");
    //  }
    // -------------------------- 
    // --------------------------
    Code:
    //  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
            . . . .    P B O X
    aktuell bearbeitet 05 08 2023 17h43
                    /               /               /               /                 */
      #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,92";         // Adresse aktuell 01 08 2023 17h54
    
    // --------------------------                ------------------------
    
      int serverPort = 80;
      WiFiClient client;
    // --------------------------
      void setup()
      {
        Serial.begin(115200);
          delay( 2000);
        Serial.println("");                     // Anmelde"text"; (Pbox #02,) nur Zeilenvorschub
        Serial.println("Pbox-xxx12, #02, NodeKTM, 1++8, .1.92, 0508-17h42");                   // Anmelde"text"; Pbox #02, Zeilenvorschub
    
        WiFi.begin (ssid, pass);                  //
    
        while (WiFi.status() != WL_CONNECTED)
        {
          delay(  500);
          Serial.print(".");
        }
    
        delay( 1000);
        Serial.println("");
        Serial.println("Pbox-xxx12, #02, NodeKTM, 1++8, .1.92, 0508-17h42");
        Serial.print("\r\nverbunden mit :  ");
        Serial.print(ssid);
        Serial.print("\r\nIP address/WiFi.localIP() :  ");
        Serial.println(WiFi.localIP());
    //  >>>>>>>><   neu    
        Serial.print("serverIp ist :"); Serial.print(serverIp);Serial.println("");
    
        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() { }
    Code:
    // softIPtst.ino
    #include <ESP8266WiFi.h>                    
    //  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    
    void setup()
    {
      Serial.begin(115200);
      delay( 1000);
      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());
    /*  if ( !WiFi.softAPgetStationNum() )
      digitalWrite(LED, LOW);            // LED ein
      if ( WiFi.softAPgetStationNum() ) 
      {
        digitalWrite(LED, HIGH );            // LED aus
        delay(  200);
      }
      else { delay(  200); }
      delay(  800);
      digitalWrite(LED, HIGH );            // LED aus     */
      delay( 1000);
    //  Serial.println();
    }
    Platine/Programm Flag startet einen WLAN-AP, "NodeKTM", "ip(192,168,1,92)" - und horcht auf ein Signa (alternativ mal testweise vor allem anderen die softAP - erfolglos)l. Nach dem Start geht er in eine while-Schleife
    ........while (WiFi.status() != WL_CONNECTED)
    und sendet ohne "CONNECTED" dauernd einen Punkt auf die serielle Schnittstelle. Mit dem Zeitpunkt "CONNECTED" soll die Schleife verlassen werden in die eigentliche "loop"-Routine mit
    ........server.handleClient();
    Aktuell (ohne softAPtst) gibts nur eine endlose Ausgabe (USB-seriell) von Punkten. Die WLAN-Liste am Win10-PC zeigt die SSID (NodeKTM) mit - zum Zeitpunkt dieses Berichtes - IPv4 192.168.1.93 und IPv4-DNS-Server 192.168.1.92 (gelegentlich auch 192.168.4.2/192.168.4.1 oder siehe Bild unten auch mal ne 169.254.134.222 !!!).

    Pbox startet (jetzt) ebenfalls einen WLAN-AP mit gleichen Parametern: SSID, ip, Passwort etc., fragt wie oben:
    ........while (WiFi.status() != WL_CONNECTED)
    und sendet ohne "CONNECTED" dauernd einen Punkt auf die serielle Schnittstelle. Mit dem Zeitpunkt "CONNECTED" soll Verbindung genannt werden und der Controller in Tiefschlaf gehen. Die loop-Schleife bleibt leer.
    Bei einem Power-on/off bzw. dem funktionsbedingten Pinnsignal erfolgt der RESET.

    Die letzten Experimente brachten keine Verbindung nach der eben beschriebenen Vorgehensweise. Es sei denn . . . .

    Die Platine NodeMCU-ESP8266MOD 12-F enthält das Programm "softPStst". Sie fragt
    ........boolean result = WiFi.softAP("NodeKTM", "12345678");
    auf dem WLAN "NoteKTM" ab und meldet die Anzahl der erkannten aktiven Stationen.
    Beim aktuellen Testbetrieb - eben, noch OHNE die beiden Platinen/Programme "FLAG" und "Pbox" wurde WLAN erstellt mit IPv4 192.168.4.2 und IPv4-DNS-Server 192.168.4.1.
    Werden die beiden Platinen/Programme "FLAG" und "Pbox" zuerst eingeschaltet werden andere oder gleiche IPs erstellt; fast durchwegs andere. Werden "FLAG" und "Pbox" vor der "softPStst" bestromt (dabei zeigen sie die "."Punktfolge im Dauerstrom) schaltet nach rund fünf bis sechs Sekunden nach Bestromen der "softPStst" die "Pbox" aus der Punktesenderei weiter.

    ........Bild Text Pbox

    Dabei trifft Pbox diese falschen IPs nicht, soweit ich die zufälligerweise gleichen IPs feststellte, war die Pbox aber auch bei gemeinsamer IP nicht über "Connection: close" bis zum "deepSleep" durchgekommen.

    Ich finde keine weitere Möglichkeit das Ganze zu richten. Die Version über Mail oder Messenger (hatte Andree-HB ja Ende 20222 beschrieben) wollte ich eigentlich nicht nehmen - niemand in der Familie hat nen Messenger laufen ...

    PS: Bilder aus diesem Thread vor diesem Posting werden demnächst gelöscht.
    Geändert von oberallgeier (06.08.2023 um 18:07 Uhr)
    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, 20: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, 14:22
  3. ArduinoIDE go STM32 BluePill keine Erfolge gross
    Von oderlachs im Forum Arduino -Plattform
    Antworten: 2
    Letzter Beitrag: 20.02.2018, 11:32
  4. Per ArduinoIDE PWM auf AtTiny
    Von Cysign im Forum C - Programmierung (GCC u.a.)
    Antworten: 3
    Letzter Beitrag: 05.09.2015, 21:25
  5. ArduinoIDE(Linux) findet Port nicht
    Von oderlachs im Forum Arduino -Plattform
    Antworten: 4
    Letzter Beitrag: 08.11.2014, 14:57

Berechtigungen

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

LiFePO4 Speicher Test