Untitled
#include <WiFi.h> #include <WebServer.h> #include <Adafruit_Sensor.h> #include <DHT.h> #include <DHT_U.h> #define DHTPIN 2 #define DHTTYPE DHT11 const char* ap_ssid = "pico"; const char* ap_password = "12345678"; WebServer server(80); DHT_Unified dht(DHTPIN, DHTTYPE); uint32_t delayMS; long long t0; int temp; int hum; void setup() { Serial.begin(115200); delay(2000); dht.begin(); sensor_t sensor; dht.temperature().getSensor(&sensor); delayMS = sensor.min_delay / 1000; t0 = 0; temp = 0; hum = 0; // Create Access Point WiFi.softAP(ap_ssid, ap_password); IPAddress IP = WiFi.softAPIP(); Serial.print("AP IP address: "); Serial.println(IP); // Simplified route - just returns plain text server.on("/", HTTP_GET, []() { server.send(200, "text/plain", "Hello from PICO"); }); server.on("/temp", HTTP_GET, []() { server.send(200, "text/plain", "Current temp: " + String(temp) + " deg C"); }); server.on("/hum", HTTP_GET, []() { server.send(200, "text/plain", "Current hum: " + String(hum) + " %"); }); server.begin(); Serial.println("HTTP server started"); } void loop() { if ((millis() - t0) >= delayMS) { sensors_event_t event; dht.temperature().getEvent(&event); if (isnan(event.temperature)) { Serial.println(F("Error reading temperature!")); } else { temp = event.temperature; Serial.printf("temp: %d ", temp); } dht.humidity().getEvent(&event); if (isnan(event.relative_humidity)) { Serial.println(F("Error reading temperature!")); } else { hum = event.relative_humidity; Serial.printf("hum: %d\n", hum); } t0 = millis(); } server.handleClient(); }
Leave a Comment