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.
    • 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

                            774
                            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