Hirdetés

Új hozzászólás Aktív témák

  • Janos250

    őstag

    válasz Wolfram #19320 üzenetére

    Nincs ez elbonyolítva.
    Hirtelenjében ezt hoztam össze.
    Ha erre gondoltál használd, ha nem, majd valakinek valamire hátha jó lesz.

    #define __cplusplus  201103L
    #include <WiFi.h>
    #include <WiFiClient.h>
    #include <string>
    #include  <iostream>
    #include <fstream>  //  ofstream
    #include <stdio.h>
    using namespace std;
    #define remoteServerPort 80
    //const char* ssid     = "*********";
    //const char* password = "*********";
    uint8_t ServerIPlocal[] {192,168,0,30} ; 
    uint8_t gatewayIPlocal[] {192,168,0,1} ;  
    uint8_t subnetIPlocal[] {255,255,255,0} ; 
    WiFiServer remoteServer (remoteServerPort );
    WiFiClient remoteServerClient ;
    void setup() {
      
      delay(1000);
      Serial.begin(115200) ;
      delay(1000);
      WiFi.begin(ssid, password );
      delay(2000);
      WiFi.config(ServerIPlocal, gatewayIPlocal, subnetIPlocal) ;
      WiFi.setAutoReconnect(true);
      delay(2000);
      printf("\nConnecting to %s \n",ssid);
      uint8_t i = 0;
      while (WiFi.status() != WL_CONNECTED && i++ < 20){ 
        printf(".");
        delay(500); 
        }
      if(i == 21){
        printf("\nCould not connect to \n",ssid); 
        while(1) delay(500);
      } ;
        
      string strMyURL = "http://"+
                          to_string(WiFi.localIP()[0])+"."+
                          to_string(WiFi.localIP()[1])+"."+                      
                          to_string(WiFi.localIP()[2])+"."+                      
                          to_string(WiFi.localIP()[3])+":"+
                          to_string(remoteServerPort)                    
                          ;   
        
      printf("My URL: %s \n",strMyURL.c_str() );
      uint8_t ip[]{192,168,0,33};
      String valasz = httpGet((IPAddress)ip) ;
      Serial.println();  Serial.println();  Serial.println();  Serial.println();
      Serial.println("ez a valasz:");  
      Serial.println(valasz);
    }  // end setup

    void loop() {
    } ;  //  end loop

    String httpGet(IPAddress ip){
    const char GET_HTTP[] PROGMEM = R"=====(
    GET / HTTP/1.1
    )=====";
      uint16_t idozites ;
      String reply ;
      WiFiClient remoteServerClient ;
      if (!remoteServerClient.connect(ip,80)){
        return "no connect";
        Serial.println ("connect hiba");
      } ;
    // Serial.println ("connected"); 
      remoteServerClient.println(GET_HTTP); 
      idozites = 0 ;
      reply = "" ;
                            
      while (
                  remoteServerClient.available() ||
                  (idozites++ < 500)            
            ) // rxBuffer->available()
      {
                                          
        if (remoteServerClient.available()){
          char c=remoteServerClient.read();
          idozites = 0 ;
          reply += c ;
    //      printf("%c",c);  
        } 
        else{
          delay(1);        
        }; // if (remoteServerClient.available())                        
          } ;  // end while (remoteServerClient.available())
    //  printf("\n");      
      remoteServerClient.stop(); // _rxBuffer = NULL; _connected = false;
     
    //  Serial.println();Serial.println();Serial.println();Serial.println();
    //  Serial.println("Ez a string");
    //  Serial.println(reply);
    return reply ;
    };

Új hozzászólás Aktív témák