ESP32 UDP Command Code Packet Sender Scheme

Управление ESP32 через приложение Windows путем отправки дейтаграмм

  • Программное обеспечение, разработанное для простого управления выводом по запросу пользователя
  • Интерфейс для отправки команд - это любой UDP-клиент, который может отправлять UDP-сообщение - дейтаграмму, например, Packet Sender в Windows.
  • Packet Sender требует изменения конфигурации для корректной отправки дейтаграмм UDP. Выберите опцию, чтобы добавить паузу 500 мс (медленный режим).
  • Конфигурация отправителя пакета - добавьте паузу для медленных устройств
  • Настройка Packet Sender проста, для этого требуется ввести IP-адрес, на который отправляются данные, включая порт. (IP-адрес ESP32 - доступен в списке последовательных линий - UART)
  • Serial Monitor List - содержит IP-адрес ESP32 в локальной сети Packet Sender - пользовательский интерфейс, таблица полученных и отправленных дейтаграмм
  • UDP не гарантирует доставку сообщений. По этой причине ESP32 отправит сообщение отправителю об успешной передаче после получения сообщения (ZAP / VYP). (Однако отправитель может отказаться или не получить сообщение)
  • В результате можно управлять выходом по запросу, будь то в виде диода или реле с переключением потребителей энергии.
  • Интересной особенностью является использование асинхронной библиотеки для ESP32, где функциональность работает в фоновом режиме без необходимости программировать элементы передачи системы.
  • Пакет отправителя можно скачать по адресу: https://packetsender.com/
  • ESP32 program - UDP CONTROL (via Packet Sender) Async

    /*|-----------------------------------------------------------|*/
    /*|SKETCH FOR ESP32 UDP DATAGRAMS CONTROL USING PACKET SENDER |*/
    /*|Author: MARTIN CHLEBOVEC                                   |*/
    /*|Web: http://arduino.clanweb.eu/udp-control-esp32.php       |*/
    /*|Board: ESP32 DevkitC v4 / ESP32 Devkit v1                  |*/
    /*|Buy me coffee: paypal.me/chlebovec                         |*/
    /*|Send ON or OFF string from Packet Sender for change of pin |*/
    /*|-----------------------------------------------------------|*/
     
    #include "WiFi.h"
    #include "AsyncUDP.h"
    const char* ssid = "WIFI_NAME";
    const char* pass = "WIFI_PASSWORD";
    const int led = 2; //D pin (Build-in LED for Devkit V1)
    AsyncUDP udp;
     
    void setup()
    {
      Serial.begin(115200);
      pinMode(led, OUTPUT);
      WiFi.disconnect(true);
      WiFi.mode(WIFI_STA);
      WiFi.begin(ssid, pass);
     
      while (WiFi.status() != WL_CONNECTED) {
        delay(500);
        Serial.print(".");
      }
     
      if (udp.listen(4444)) {
        Serial.print("UDP server na IP: ");
        Serial.print(WiFi.localIP());
        Serial.println(" port: 4444");
        udp.onPacket([](AsyncUDPPacket packet) {
          Serial.print("Type of UDP datagram: ");
          Serial.print(packet.isBroadcast() ? "Broadcast" : packet.isMulticast() ? "Multicast" : "Unicast");
          Serial.print(", Sender: ");
          Serial.print(packet.remoteIP());
          Serial.print(":");
          Serial.print(packet.remotePort());
          Serial.print(", Receiver: ");
          Serial.print(packet.localIP());
          Serial.print(":");
          Serial.print(packet.localPort());
          Serial.print(", Message length: ");
          Serial.print(packet.length()); //dlzka spravy
          Serial.print(", Payload: ");
          Serial.write(packet.data(), packet.length());
          Serial.println();
          String myString = (const char*)packet.data();
          if (myString.startsWith("ON")) {
            Serial.println("Action: Turning ON relay");
            digitalWrite(led, HIGH);
          } else if (myString.startsWith("OFF")) {
            Serial.println("Action: Turning OFF relay");
            digitalWrite(led, LOW);
          }
          packet.printf("ESP32 received %u bytes of data", packet.length()); //odpoved odosielatelovi
        });
      }
    }
     
    void loop()
    {
      delay(1000);
    }
    

    Схема подключения ESP32 с управлением командами UDP

    UDP ovládanie ESP32 - schéma zapojenia