Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <ESP8266WiFi.h>
- #include <WiFiClient.h>
- #include <WiFiUDP.h>
- bool MATIC = false;
- const char *ssid = "PIX";
- const char *password = "_050525_:XT";
- unsigned int localUdpPort = 6666; // локальный порт
- unsigned int remoteUdpPort = 7979; // удалённый порт
- char incomingPacket[255];
- WiFiUDP Udp;
- IPAddress Ip(192, 168, 1, 255); // IP в куда будет выслан широковещательный запрос. 255 - значит на все адреса 192.168.1.[от 1 до 255]
- IPAddress NMask(255, 255, 255, 0);
- IPAddress RIp(0,0,0,0);
- void setup() {
- Serial.begin(19200);
- /*
- // если нужно запустить как точку доступа
- WiFi.softAPConfig(Ip, Ip, NMask);
- WiFi.softAP(ssid, password);
- IPAddress myIP = WiFi.softAPIP();
- */
- delay(10);
- // We start by connecting to a 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");
- Serial.println("IP address: ");
- Serial.println(WiFi.localIP());
- Udp.begin(localUdpPort);
- }
- void loop() {
- // char incomingPacket[255];
- int packetSize = Udp.parsePacket();
- if (packetSize)
- {
- // receive incoming UDP packets
- Serial.printf("Received %d bytes from %s, port %d\n", packetSize, Udp.remoteIP().toString().c_str(), Udp.remotePort());
- RIp = Udp.remoteIP();
- int len = Udp.read(incomingPacket, 255);
- Serial.println("UDP packet contents: "+ String(incomingPacket));
- if (String(incomingPacket) == "xtre") MATIC=!MATIC;
- }
- if (MATIC)
- {
- {
- Udp.beginPacket(RIp, remoteUdpPort);
- //генерация рандомных данных
- Udp.write(String("\nS"+ String(random(330))+ '\n' +"A"+ String(random(67))+ '\n' + "X"+ String(random(45))+ '\n').c_str());
- Udp.endPacket();
- delay(100);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement