// Include Libraries
//#include <esp_now.h> ////////////////////////////
//#include <WiFi.h> /////////////////////////////////
// Variables for test data
int int_value;
float float_value;
bool bool_value = true;
// MAC Address of responder - edit as required
uint8_t broadcastAddress[] = {0x24, 0x6F, 0x28, 0x7A, 0xAE, 0x7C};
// Define a data structure
typedef struct struct_message {
char a[32];
int b;
float c;
bool d;
} struct_message;
// Create a structured object
struct_message myData;
// Peer info
//esp_now_peer_info_t peerInfo; ///////////////
// Callback function called when data is sent
/* //////////////////
void OnDataSent(const uint8_t *mac_addr, esp_now_send_status_t status) {
Serial.print("\r\nLast Packet Send Status:\t");
//Serial.println(status == ESP_NOW_SEND_SUCCESS ? "Delivery Success" : "Delivery Fail");
}*/ //////////////////
void setup() {
// Set up Serial Monitor
Serial.begin(115200);
char txt[25];
txt[0] = '\0';
//Serial.begin(57600);
strcat(txt, "Hello");
strcat(txt, " World");
Serial.println(txt);
strcpy(txt, "Hello");
Serial.println(txt);
strcat(txt, " World");
Serial.println(txt);
delay(5000);
// Set ESP32 as a Wi-Fi Station
//WiFi.mode(WIFI_STA); /////////////////////////////////
// Initilize ESP-NOW
/* //////////////////////////////
if (esp_now_init() != ESP_OK) {
Serial.println("Error initializing ESP-NOW");
return;
}
*/ ///////////////////////////////
// Register the send callback
//esp_now_register_send_cb(OnDataSent); ///////////////////////////////////////
// Register peer
/* //////////////////////////
memcpy(peerInfo.peer_addr, broadcastAddress, 6);
peerInfo.channel = 0;
peerInfo.encrypt = false;
*/ /////////////////////////
// Add peer
/* //////////////////////////////////////////
if (esp_now_add_peer(&peerInfo) != ESP_OK){
Serial.println("Failed to add peer");
return;
}
*/ //////////////////////////////////
}
void loop() {
// Create test data
// Generate a random integer
int_value = random(1,20);
// Use integer to make a new float
float_value = 1.3 * int_value;
// Invert the boolean value
bool_value = !bool_value;
// Format structured data
strcpy(myData.a, "Welcome to the Workshop!"); ///////////////////
// myData.a = "Welcome to the Workshop!"; ///----------------------
myData.b = int_value;
myData.c = float_value;
myData.d = bool_value;
// Send message via ESP-NOW
// esp_err_t result = esp_now_send(broadcastAddress, (uint8_t *) &myData, sizeof(myData)); /////////////////////////////
/* ////////////////////////////
if (result == ESP_OK) {
Serial.println("Sending confirmed");
}
else {
Serial.println("Sending error");
}
*/////////////////////
Serial.println(myData.a); ///--------------------------------
Serial.println(myData.b); ///--------------------------------
Serial.println(myData.c); ///--------------------------------
Serial.println(myData.d); ///--------------------------------
delay(2000);
}