#include #include #include #include #define PIN 5 //=wemos D1 Adafruit_NeoPixel pixels = Adafruit_NeoPixel(1, PIN, NEO_GRB + NEO_KHZ800); typedef struct message { int red; int green; int blue; } message; message myMessage; void onDataReceiver(uint8_t * mac, uint8_t *incomingData, uint8_t len) { Serial.println("Message received."); // We don't use mac to verify the sender // Let us transform the incomingData into our message structure memcpy(&myMessage, incomingData, sizeof(myMessage)); Serial.print("Red:"); Serial.println(myMessage.red); Serial.print("Green:"); Serial.println(myMessage.green); Serial.print("Blue:"); Serial.println(myMessage.blue); setColor(0,myMessage.red,myMessage.green,myMessage.blue,100); } //simple function which takes values for the red, green and blue led and also //a delay void setColor(int led, int redValue, int greenValue, int blueValue, int delayValue) { pixels.setPixelColor(led, pixels.Color(redValue, greenValue, blueValue)); pixels.show(); delay(delayValue); } void setup() { Serial.begin(115200); WiFi.disconnect(); ESP.eraseConfig(); // Wifi STA Mode WiFi.mode(WIFI_STA); // Get Mac Add Serial.print("Mac Address: "); Serial.print(WiFi.macAddress()); Serial.println("\nESP-Now Receiver"); // Initializing the ESP-NOW if (esp_now_init() != 0) { Serial.println("Problem during ESP-NOW init"); return; } //esp_now_set_self_role(ESP_NOW_ROLE_SLAVE); // We can register the receiver callback function esp_now_register_recv_cb(onDataReceiver); pixels.begin(); } void loop() { // put your main code here, to run repeatedly: }