2018-11-25

Esp8266 WebServer als Arduino Tab.

WebServer.ino

// ****************************************************************
// Sketch Esp8266 Webserver Modular(Tab)
// created: Jens Fleischer, 2018-05-16
// last mod: Jens Fleischer, 2018-11-25
// For more information visit: https://fipsok.de
// ****************************************************************
// Hardware: Esp8266
// Getestet auf: Nodemcu, Wemos D1 Mini Pro, Sonoff Switch, Sonoff Dual
/******************************************************************
  Copyright (c) 2018 Jens Fleischer. All rights reserved.

  This file is free software; you can redistribute it and/or
  modify it under the terms of the GNU Lesser General Public
  License as published by the Free Software Foundation; either
  version 2.1 of the License, or (at your option) any later version.
  This file 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
  Lesser General Public License for more details.
*******************************************************************/
// Der WebServer Tab ist der Haupt Tab mit "setup" und "loop".
// #include "FS.h" #include <ESP8266WebServer.h> müssen im Haupttab aufgerufen werden
// Die Funktionalität des ESP8266 Webservers ist erforderlich.
// "server.onNotFound()" darf nicht im Setup des ESP8266 Webserver stehen.
// Inklusive Arduino OTA-Updates
/**************************************************************************************/

#include <ESP8266WebServer.h>
#include <ArduinoOTA.h>     // https://arduino-esp8266.readthedocs.io/en/latest/ota_updates/readme.html
#include "FS.h"

ESP8266WebServer server(80);

void setup() {
  Serial.begin(115200);
  delay(100);
  //Serial.printf("\nSketchname: %s\nBuild: %s\n\n", (__FILE__), (__TIMESTAMP__));  // Core Version 2.3.0
  Serial.printf("\nSketchname: %s\nBuild: %s\n%s\n\n", (__FILE__), (__TIMESTAMP__), ESP.getFullVersion().c_str()); // ab Core Version 2.4.0
  ArduinoOTA.begin();
  
  spiffs();
  admin();
  Connect();
  //bme280();
  //bme280Duo();
  //dht22();
  //ds18b20();
  //espboardLed();
  //onboardLed();      // Die Tabs die du nutzen möchtest, musst du Einkommentieren
  //setupTime();
  //ds18b20list();
  //bh1750();
  //dualRelais();
  //schaltuhr();

  ArduinoOTA.onStart([]() {
    //speichern();                                //Wenn Werte vor dem Neustart gespeichert werden sollen
  });
  server.begin();
}

void loop() {
  ArduinoOTA.handle();
  server.handleClient();
  if (millis() < 0x2FFF || millis() > 0xFFFFF0FF) {
    runtime();
  }
}

Zurück