/********* Rui Santos Complete project details at https://RandomNerdTutorials.com *********/ #include #include #include "ESPAsyncWebServer.h" #include #include "SSD1306Wire.h" SSD1306Wire display(0x3c, 5, 4); String Temp1; String Temp2; String Hum1; String Hum2; // Replace with your network credentials (STATION) const char* ssidStation = "XXXXX"; const char* passwordStation = "XXXXX"; // ACCESS POINT credentials const char* ssidAP = "XXXXX"; const char* passwordAP = " Wetterstation Kattenbusch 4: Innen/Außen //

Wetterstation Kattenbusch 4: Innen/Außen

Innen - Temperatur

°C

Datensatz:

Innen - Luftfeuchtigkeit

%

Datensatz:

Außen - Temperatur

°C

Datensatz:

Außen - Luftfeuchtigkeit

%

Datensatz:

)rawliteral"; void setup() { // Initialize Serial Monitor Serial.begin(115200); display.init(); display.flipScreenVertically(); display.setTextAlignment(TEXT_ALIGN_LEFT); display.setFont(ArialMT_Plain_10); // Set the device as a Station and Soft Access Point simultaneously WiFi.mode(WIFI_AP_STA); // Set device as a Wi-Fi Station WiFi.begin(ssidStation, passwordStation); while (WiFi.status() != WL_CONNECTED) { delay(1000); Serial.println("Setting as a Wi-Fi Station.."); } Serial.print("Station IP Address: "); Serial.println(WiFi.localIP()); Serial.print("Wi-Fi Channel: "); Serial.println(WiFi.channel()); // Set device as an access point WiFi.softAP(ssidAP, passwordAP, CHAN_AP, true); // Init ESP-NOW if (esp_now_init() != ESP_OK) { Serial.println("Error initializing ESP-NOW"); return; } // Once ESPNow is successfully Init, we will register for recv CB to // get recv packer info esp_now_register_recv_cb(OnDataRecv); server.on("/", HTTP_GET, [](AsyncWebServerRequest *request){ request->send_P(200, "text/html", index_html); }); events.onConnect([](AsyncEventSourceClient *client){ if(client->lastId()){ Serial.printf("Client reconnected! Last message ID that it got is: %u\n", client->lastId()); } // send event with message "hello!", id current millis // and set reconnect delay to 1 second client->send("hello!", NULL, millis(), 10000); }); server.addHandler(&events); server.begin(); } void loop() { display.clear(); display.drawString(0, 0, "Wetterstation 05/2020"); display.drawString(0,12, "Innentemperatur:"); display.drawString(90,12, Temp1); display.drawString(0,24, "Innenluftdruck:"); display.drawString(90,24, Hum1); display.drawString(0,36, "Außentemperatur:"); display.drawString(90,36, Temp2); display.drawString(0,48, "Außenluftdruck:"); display.drawString(90,48, Hum2); display.display(); static unsigned long lastEventTime = millis(); static const unsigned long EVENT_INTERVAL_MS = 5000; if ((millis() - lastEventTime) > EVENT_INTERVAL_MS) { events.send("ping",NULL,millis()); lastEventTime = millis(); } }