/* * ModularWeatherStation * * Copyright (C) 2021 Gergely Polonkai * Author: Gergely POLONKAI * * ModularWeatherStation is free software: you can redistribute it * and/or modify it under the terms of the GNU General Public License * as published by the Free Software Foundation, either version 3 of * the License, or (at your option) any later version. * * ModularWeatherStation is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the implied warranty * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * As additional permission under GNU GPL version 3 section 7, you may * distribute non-source form of the Program without the copy of the * GNU GPL normally required by section 4, provided you inform the * receipents of GNU GPL by a written offer. * */ #include #include #include #include #include "config.h" ESP8266WebServer server(80); static const char TEXT_PLAIN[] PROGMEM = "text/plain"; void reply_not_found() { server.send(404, FPSTR(TEXT_PLAIN), "Not Found"); } void send_metrics() { char message[1]; snprintf(message, 1, ""); server.send(200, "text/plain; version=0.0.4; charset=utf-8", message); } void setup() { IPAddress address; Serial.begin(9600); WiFi.mode(WIFI_STA); WiFi.begin(WIFI_SSID, WIFI_PASS); while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.println("Waiting for WiFi to connect..."); } address = WiFi.localIP(); Serial.print("WiFi Address: "); address.printTo(Serial); Serial.println(""); if (!MDNS.begin(MDNS_NAME)) { Serial.println("Error setting up mDNS responder!"); while (1) { delay(1000); } } server.on("/metrics", HTTP_GET, send_metrics); server.onNotFound(reply_not_found); server.begin(); MDNS.addService("http", "tcp", 80); Serial.println("All set, starting the loop."); } void loop() { MDNS.update(); server.handleClient(); }