#include #include uint8_t receiverMAC[] = {0xD4, 0xF9, 0x8D, 0x04, 0x42, 0x64}; // Change to actual receiver MAC // Data structure to send typedef struct struct_message { int value; } struct_message; struct_message myData; // Callback when data is sent void onDataSent(const uint8_t *mac_addr, esp_now_send_status_t status) { Serial.print("Send Status: "); Serial.println(status == ESP_NOW_SEND_SUCCESS ? "Success" : "Fail"); } void setup() { Serial.begin(115200); WiFi.mode(WIFI_STA); // Set ESP32 to Station mode // Initialize ESP-NOW if (esp_now_init() != ESP_OK) { Serial.println("ESP-NOW Init Failed!"); return; } esp_now_register_send_cb(onDataSent); // Register peer esp_now_peer_info_t peerInfo = {}; memcpy(peerInfo.peer_addr, receiverMAC, 6); peerInfo.channel = 0; peerInfo.encrypt = false; if (esp_now_add_peer(&peerInfo) != ESP_OK) { Serial.println("Failed to add peer"); return; } } void loop() { myData.value = random(1, 100);; // Send data esp_err_t result = esp_now_send(receiverMAC, (uint8_t *)&myData, sizeof(myData)); if (result == ESP_OK) { Serial.println("Sent successfully"); } else { Serial.println("Error sending data"); } delay(2000); // Send every 2 seconds }