Advertisement
ununununun

TestWiFi

Aug 4th, 2017
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.15 KB | None | 0 0
  1. #include <ESP8266WiFi.h>
  2. #include <WiFiClient.h>
  3. #include <WiFiUDP.h>
  4.  
  5. bool MATIC = false;
  6. const char *ssid = "PIX";
  7. const char *password = "_050525_:XT";
  8. unsigned int localUdpPort = 6666;  // локальный порт
  9. unsigned int remoteUdpPort = 7979; // удалённый порт
  10.  
  11. char incomingPacket[255];
  12.  
  13. WiFiUDP Udp;
  14.   IPAddress Ip(192, 168, 1, 255);   // IP в куда будет выслан широковещательный запрос. 255 - значит на все адреса 192.168.1.[от 1 до 255]
  15.   IPAddress NMask(255, 255, 255, 0);
  16.   IPAddress RIp(0,0,0,0);
  17.  
  18. void setup() {
  19.  
  20.     Serial.begin(19200);
  21.     /*
  22.     // если нужно запустить как точку доступа
  23.     WiFi.softAPConfig(Ip, Ip, NMask);
  24.     WiFi.softAP(ssid, password);
  25.     IPAddress myIP = WiFi.softAPIP();
  26.    
  27.    */
  28.      delay(10);
  29.  
  30.   // We start by connecting to a WiFi network
  31.  
  32.   Serial.println();
  33.   Serial.println();
  34.   Serial.print("Connecting to ");
  35.   Serial.println(ssid);
  36.  
  37.   WiFi.begin(ssid, password);
  38.  
  39.  //жду пока не законечусь к сети
  40.   while (WiFi.status() != WL_CONNECTED) {
  41.     delay(500);
  42.     Serial.print(".");
  43.   }
  44.   Serial.println("");
  45.   Serial.println("WiFi connected");  
  46.   Serial.println("IP address: ");
  47.   Serial.println(WiFi.localIP());
  48.   Udp.begin(localUdpPort);
  49. }
  50.  
  51. void loop() {
  52.  // char incomingPacket[255];
  53.   int packetSize = Udp.parsePacket();
  54.   if (packetSize)
  55.   {
  56.     // receive incoming UDP packets
  57.     Serial.printf("Received %d bytes from %s, port %d\n", packetSize, Udp.remoteIP().toString().c_str(), Udp.remotePort());  
  58.      RIp = Udp.remoteIP();
  59.      int len = Udp.read(incomingPacket, 255);
  60.      Serial.println("UDP packet contents: "+ String(incomingPacket));
  61.    if (String(incomingPacket) == "xtre") MATIC=!MATIC;
  62.    }
  63.       if (MATIC)
  64.     {
  65.      {  
  66.       Udp.beginPacket(RIp, remoteUdpPort);
  67.        //генерация рандомных данных
  68.        Udp.write(String("\nS"+ String(random(330))+ '\n' +"A"+ String(random(67))+ '\n' + "X"+ String(random(45))+ '\n').c_str());
  69.       Udp.endPacket();
  70.       delay(100);
  71.      }
  72.     }    
  73. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement