#include #include // Structure example to receive data typedef struct struct_message { char message[32]; } struct_message; // Create a struct_message called myData struct_message myData; const int ledPin = 12; // Change to your actual LED pin // Callback function that will be executed when data is received void OnDataRecv(uint8_t *mac, uint8_t *incomingData, uint8_t len) { memcpy(&myData, incomingData, sizeof(myData)); Serial.print("Bytes received: "); Serial.println(len); Serial.print("Message: "); Serial.println(myData.message); // Turn on or off LED based on the received message if (String(myData.message) == "1") { digitalWrite(ledPin, HIGH); } else if (String(myData.message) == "0") { digitalWrite(ledPin, LOW); } } void setup() { // Initialize Serial Monitor Serial.begin(115200); // Set device as a Wi-Fi Station WiFi.mode(WIFI_STA); // Init ESP-NOW if (esp_now_init() != 0) { Serial.println("Error initializing ESP-NOW"); return; } // Register for recv CB to get recv packet info esp_now_set_self_role(ESP_NOW_ROLE_SLAVE); esp_now_register_recv_cb(OnDataRecv); // Initialize LED pin pinMode(ledPin, OUTPUT); } void loop() { }