/** * ESP-NOW: ESP32 Broadcast with ESP-Now * * */ #include #include #include // ESP8266 Mac address (first peer) uint8_t mac_peer1[] = {0x5C, 0xCF, 0x7F, 0x00, 0x0C, 0x51}; // ESP8266 Mac address (second peer) uint8_t mac_peer2[] = {0x5C, 0xCF, 0x7F, 0x02, 0xF7, 0x1E}; // ESP8266 Mac address (third peer) uint8_t mac_peer3[] = {0xEC, 0xFA, 0xBC, 0x41, 0xA9, 0x83}; esp_now_peer_info_t peer1; esp_now_peer_info_t peer2; esp_now_peer_info_t peer3; int i = 0; typedef struct message { int red; int green; int blue; }; struct message myMessage; const int analogInPin = 34; int sensorValue = 0; // value read from the pot int outputValue = 0; void setup() { Serial.begin(115200); //WiFi.mode(WIFI_STA); WiFi.mode(WIFI_AP_STA); // Get Mac Add Serial.print("Mac Address: "); Serial.print(WiFi.macAddress()); Serial.println("ESP32 ESP-Now Broadcast"); // Initializing the ESP-NOW if (esp_now_init() != 0) { Serial.println("Problem during ESP-NOW init"); return; } memcpy(peer1.peer_addr, mac_peer1, 6); peer1.channel = 1; peer1.encrypt = 0; // Register the peer Serial.println("Registering a peer 1"); if ( esp_now_add_peer(&peer1) == ESP_OK) { Serial.println("Peer 1 added"); } memcpy(peer2.peer_addr, mac_peer2, 6); peer2.channel = 1; peer2.encrypt = 0; // Register the peer Serial.println("Registering a peer 2"); if ( esp_now_add_peer(&peer2) == ESP_OK) { Serial.println("Peer 2 added"); } memcpy(peer3.peer_addr, mac_peer3, 6); peer3.channel = 1; peer3.encrypt = 0; // Register the peer Serial.println("Registering a peer 3"); if ( esp_now_add_peer(&peer3) == ESP_OK) { Serial.println("Peer 3 added"); } } void loop() { sensorValue = analogRead(analogInPin); outputValue = map(sensorValue, 0, 4095, 0, 255); Serial.println(outputValue); myMessage.red = random(0, 254); myMessage.green = random(0, 254); myMessage.blue = outputValue;//random(0, 254); Serial.println("Send a new message"); esp_now_send(peer1.peer_addr , (uint8_t *) &myMessage, sizeof(myMessage)); delay(500); esp_now_send(NULL , (uint8_t *) &myMessage, sizeof(myMessage)); delay(1000); }