#include #include #include #define DHTPIN 17 #define DHTTYPE DHT11 DHT dht(DHTPIN, DHTTYPE); // MAC address of the Waveshare receiver uint8_t receiverMAC[] = {0xE4, 0xB3, 0x23, 0xB1, 0xA4, 0x7C}; typedef struct struct_message { float temperature; float humidity; } struct_message; struct_message data; void setup() { Serial.begin(115200); delay(2000); dht.begin(); WiFi.mode(WIFI_STA); if (esp_now_init() != ESP_OK) { Serial.println("Error initializing ESP-NOW"); return; } 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; } Serial.println("ESP-NOW sender ready"); } void loop() { data.temperature = dht.readTemperature(); data.humidity = dht.readHumidity(); esp_err_t result = esp_now_send(receiverMAC, (uint8_t *) &data, sizeof(data)); if (result == ESP_OK) { Serial.println("Data sent"); } else { Serial.println("Error sending data"); } Serial.print("Temp: "); Serial.print(data.temperature); Serial.print(" °C | Hum: "); Serial.print(data.humidity); Serial.println(" %"); delay(2000); }