Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Wemos Sketch: brauche Spezialist

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Wemos Sketch: brauche Spezialist

    This topic has been deleted. Only users with topic management privileges can see it.
    • Lenny.CB
      Lenny.CB Most Active @bahnuhr last edited by

      @bahnuhr bin mir nicht sicher... muss da nicht wo ein "?" rein?
      Etwa so: 192.168.243.175?alti=300

      1 Reply Last reply Reply Quote 0
      • bahnuhr
        bahnuhr Forum Testing Most Active last edited by bahnuhr

        mein server.on sieht so aus:
        server.on("/alti", HTTP_GET, handlealti);

        Bei: 192.168.243.175/alti
        wird korrekt zu "handlealti" verzweigt.

        1 Reply Last reply Reply Quote 0
        • OliverIO
          OliverIO last edited by

          von wo aus möchtest du den befehl senden?
          Aus einer Visualisierung heraus oder über ein skript im javascripot-adapter von iobroker?

          OliverIO 1 Reply Last reply Reply Quote 0
          • bahnuhr
            bahnuhr Forum Testing Most Active last edited by

            erstmal im pc browser (chrome).

            Später evtl. über javascript als request Befehl.

            OliverIO 1 Reply Last reply Reply Quote 0
            • OliverIO
              OliverIO @OliverIO last edited by

              Wenn du es aus dem javascript adapter versenden möchtest, dann schaue mal hier
              https://www.twilio.com/blog/2017/08/http-requests-in-node-js.html
              Das erste Beispiel

              und hier die API bei NODE zum https objekt, da dürfte das Beispiel bei
              https.get(url[, options][, callback])[s
              interessant sein.

              1 Reply Last reply Reply Quote 0
              • OliverIO
                OliverIO @bahnuhr last edited by OliverIO

                @bahnuhr ok wenn dann aus einer visualisierung, dann
                https://api.jquery.com/jquery.get/

                und direkt aus dem browser, dann einfach tippen 🙂

                1 Reply Last reply Reply Quote 0
                • OliverIO
                  OliverIO last edited by

                  sorry hab mir den post nochmal durchgelesen.
                  dann wäre korrekt, was lenny geschrieben hat

                  bahnuhr 1 Reply Last reply Reply Quote 0
                  • OliverIO
                    OliverIO last edited by OliverIO

                    falls du das programmieren eines webservers auf der wemos seite meinst (sorry so deutlich hast du dich da nicht ausgedrückt), dann schau mal hier

                    https://randomnerdtutorials.com/esp8266-web-server/

                    da ist ein beispiel drin mit Übertragung von parameter

                    bahnuhr 1 Reply Last reply Reply Quote 0
                    • bahnuhr
                      bahnuhr Forum Testing Most Active @OliverIO last edited by

                      @OliverIO sagte in Wemos Sketch: brauche Spezialist:

                      sorry so deutlich hast du dich da nicht ausgedrückt

                      bin noch am üben 😉

                      Dein Link hatte ich schon gesehen. Klappt aber nicht.
                      Weil der loop den Ablauf blockiert.
                      (schwierig ausgedrückt).

                      Bin aber ein bißchen weiter.

                      Habe folgenden Schnipsel gefunden.
                      Damit klappt es bisher ganz gut, muss aber noch daran rumfeilen.

                        while (client.connected()) {
                           if (client.available()) {
                             char c = client.read();
                             if (readString.length() < 100) { readString = readString + c; }
                      
                             if (c == '\n' ) {
                               if(readString.indexOf("alti") > -1){
                                  int DP = (readString.indexOf("="));   //Zeichen '=' suchen
                                  String su;
                                  su = readString.substring(DP+1,readString.length());
                                  alti = su.toInt();
                                  //alti ((int(readString.charAt(DP+1))-48)*10) + (int(readString.charAt(DP+2))-48); // die 2 Zeichen nach dem '=' in Zahl wandeln
                               }
                                Serial.println ("----------------------------");
                                Serial.print("Alti= "); Serial.println (alti/5);
                                Serial.println ("----------------------------");
                                break;
                             }
                      
                           }
                         }
                         
                      
                      OliverIO 1 Reply Last reply Reply Quote 0
                      • bahnuhr
                        bahnuhr Forum Testing Most Active @OliverIO last edited by

                        @OliverIO sagte in Wemos Sketch: brauche Spezialist:

                        dann wäre korrekt, was lenny geschrieben hat

                        meinst du das?
                        "muss da nicht wo ein "?" rein?"

                        Das klappt bei mir nicht.

                        OliverIO 1 Reply Last reply Reply Quote 0
                        • bahnuhr
                          bahnuhr Forum Testing Most Active last edited by bahnuhr

                          Ich sende euch mal mein Probierscript.

                          Damit empfange ich nun zuverlässig Werte per sketch.

                          #include <ESP8266WiFi.h>
                           
                          const char* ssid = "Mueller-7390";
                          const char* password = "abcde";
                           
                          long zahl = 0;
                          int alti;
                          String readString;
                          WiFiServer server(80);
                           
                          void setup() {
                            Serial.begin(9600);
                            delay(10);
                           
                            // 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.print("Use this URL : ");
                            Serial.print("http://");
                            Serial.print(WiFi.localIP());
                            Serial.println("/");
                           
                          }
                           
                          void loop() {
                            // Check if a client has connected
                            WiFiClient client = server.available();
                           
                            if (client) {
                             boolean currentLineIsBlank = true;
                             while (client.connected()) {
                               if (client.available()) {
                                 char c = client.read();
                                 if (readString.length() < 100) { readString = readString + c; }
                          
                                 if (c == '\n' ) {
                                   if(readString.indexOf("alti") > -1){
                                      int DP = (readString.indexOf("="));   //Zeichen '=' suchen
                                      String su;
                                      su = readString.substring(DP+1,readString.length());
                                      alti = su.toInt();
                                      //alti ((int(readString.charAt(DP+1))-48)*10) + (int(readString.charAt(DP+2))-48); // die 2 Zeichen nach dem '=' in Zahl wandeln
                                   }
                                    Serial.println ("----------------------------");
                                    Serial.print("Alti= "); Serial.println (alti/5);
                                    Serial.println ("----------------------------");
                                    break;
                                 }
                          
                               }
                             }
                             
                             readString="";
                           
                             // give the web browser time to receive the data
                             delay(1);
                             // close the connection:
                             client.stop();
                             //Serial.println("client disonnected");
                           }
                          
                           
                            delay(1000);
                            zahl = zahl +1;
                            Serial.println(zahl);
                            //Serial.println("");
                           
                          }
                          

                          URL ist z.B.: http://192.168.243.87/alti=2800

                          und per Monitor wird dann ausgegeben:
                          ae9fef08-65eb-4915-a24b-e3112b02b7c5-image.png

                          1 Reply Last reply Reply Quote 0
                          • OliverIO
                            OliverIO @bahnuhr last edited by

                            @bahnuhr said in Wemos Sketch: brauche Spezialist:

                              while (client.connected()) {
                                 if (client.available()) {
                                   char c = client.read();
                                   if (readString.length() < 100) { readString = readString + c; }
                            
                                   if (c == '\n' ) {
                                     if(readString.indexOf("alti") > -1){
                                        int DP = (readString.indexOf("="));   //Zeichen '=' suchen
                                        String su;
                                        su = readString.substring(DP+1,readString.length());
                                        alti = su.toInt();
                                        //alti ((int(readString.charAt(DP+1))-48)*10) + (int(readString.charAt(DP+2))-48); // die 2 Zeichen nach dem '=' in Zahl wandeln
                                     }
                                      Serial.println ("----------------------------");
                                      Serial.print("Alti= "); Serial.println (alti/5);
                                      Serial.println ("----------------------------");
                                      break;
                                   }
                            
                                 }
                               }
                               
                            

                            das sieht schon mal ganz gut aus. du bist auf dem richtigen weg
                            muss ich manchmal auch mich langsam ran tasten.

                            1 Reply Last reply Reply Quote 0
                            • OliverIO
                              OliverIO @bahnuhr last edited by

                              @bahnuhr said in Wemos Sketch: brauche Spezialist:

                              @OliverIO sagte in Wemos Sketch: brauche Spezialist:

                              dann wäre korrekt, was lenny geschrieben hat

                              meinst du das?
                              "muss da nicht wo ein "?" rein?"

                              Das klappt bei mir nicht.

                              da das auf dem wemos eigentlich kein webserver ist, sondern nur ne netzein/ausgabeschnittstelle 🙂
                              die so tut als ob es ein webserver ist, kannst du das ignorieren.
                              Das Fragezeichen kommt von diversen standards. Da du sender und empfänger selber programmierst, kannst du machen was du willst.
                              du hättest es ggfs. beachten müssen, falls das wemos teil wirklich ein paar webserverstandards eingebaut hätte.

                              1 Reply Last reply Reply Quote 0
                              • First post
                                Last post

                              Support us

                              ioBroker
                              Community Adapters
                              Donate

                              897
                              Online

                              31.8k
                              Users

                              79.9k
                              Topics

                              1.3m
                              Posts

                              javascript
                              3
                              14
                              390
                              Loading More Posts
                              • Oldest to Newest
                              • Newest to Oldest
                              • Most Votes
                              Reply
                              • Reply as topic
                              Log in to reply
                              Community
                              Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                              The ioBroker Community 2014-2023
                              logo