Advertisement
Guest User

Servercript

a guest
Feb 22nd, 2019
198
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.  #include <ESP8266WiFi.h>
  2.  
  3.   #define     LED1      D0          // Verbindung zum Client
  4.  
  5.   char*       ssid;                 // Server SSID
  6.   char*       password;             // Server Passwort
  7.  
  8.   #define     MAXSC     2           // Maximale Anzahl an Clients
  9.   WiFiServer  IServer(9001);        // Server und Portnummer
  10.   WiFiClient  IClient[MAXSC];       // Maximale Anzahl an Clients festlegen
  11.  
  12.   void setup()
  13.   {
  14.     Serial.begin(115200);              
  15.     pinMode(LED1, OUTPUT);          
  16.    
  17.     Serial.println();
  18.     Serial.println("I/O Pin Mode fertig");
  19.  
  20.     SetWifi("HALLO", "");         //void SetWiFi gestartet (richtet WiFi ein)
  21.   }
  22.  
  23.   void loop()
  24.   {
  25.     IrgendEinName();                //void IrgendEinName() läuft ab
  26.   }
  27.  
  28.   void SetWifi(char* Name, char* Password)
  29.   {
  30.     WiFi.disconnect();                     //Alle vorherigen Verbindungen schließen
  31.  
  32.     WiFi.mode(WIFI_AP_STA);                               //WiFi Mode
  33.     Serial.println("WIFI Mode : AccessPoint Station");
  34.    
  35.    
  36.     ssid      = Name;                   //WiFi Einrichtung
  37.     password  = Password;
  38.     WiFi.softAP(ssid, password);
  39.     Serial.println("WIFI < " + String(ssid) + " > ... Started");
  40.    
  41.     delay(1000);
  42.     IPAddress IP = WiFi.softAPIP();     //IP Adresse ausgeben
  43.     Serial.print("AccessPoint IP : ");
  44.     Serial.println(IP);
  45.  
  46.     IServer.begin();                    //Server starten
  47.     Serial.println("Server Started");
  48.   }
  49.  
  50.   void IrgendEinName()
  51.   {
  52.     if (IServer.hasClient())            //Wenn ein Client vorhanden ist / sich mit dem AP verbunden hat
  53.     {
  54.       Serial.println("gefunden");
  55.       for(int i = 0; i < MAXSC; i++)
  56.       {                                                           //In dieser for() Schleife wird nach einem freien
  57.         if (!IClient[i] || !IClient[i].connected())               //freien Platz in einer Array gesucht, um einen neuen
  58.         {                                                         //Client darin abzuspeichern
  59.           if(IClient[i]) IClient[i].stop();                      
  60.           IClient[i] = IServer.available();                       //Hier geschieht das speichern
  61.           Serial.print("Neuer Client : "); Serial.print(String(i+1) + " - ");
  62.           continue;                                                  
  63.         }
  64.       }
  65.       digitalWrite(LED1, HIGH);                     //Falls kein freier Platz vorhanden ist -> rausschmeißen
  66.       WiFiClient IClient = IServer.available();
  67.       IClient.stop();
  68.     }
  69.       //Serial.println("draußen");    
  70.     for(int i = 0; i < MAXSC; i++)                   //Daten nach Information abfragen
  71.     {
  72.       //Serial.println("Unten");
  73.       if (IClient[i] && IClient[i].connected())      //Ist in i ein Client abgespeichert && verbunden?
  74.       {
  75.         if(IClient[i].available())                   //Hat Client i eine Anfrage?
  76.         {
  77.           while(IClient[i].available())              //Sollange Anfrage vorhanden...
  78.           {
  79.             Serial.println(IClient[i].readStringUntil('\n')); //Anfrage bis zum Ende printen
  80.  
  81.             IClient[i].println("<OK>");                       //Jedesmal eine Bestätigung zurücksenden
  82.           }
  83.         }
  84.       }
  85.     }
  86.   }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement