Esp32 EspBoardLed als Arduino Tab.
EspBoardLed.ino
// ****************************************************************
// Arduino IDE Tab Esp32 EspBoardLed Modular
// created: Jens Fleischer, 2018-09-20
// last mod: Jens Fleischer, 2020-05-02
// For more information visit: https://fipsok.de
// ****************************************************************
// Hardware: Esp32
// Software: Esp32 Arduino Core 1.0.0 - 2.0.14
// Getestet auf: ESP32 Dev Module
/******************************************************************
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.
*******************************************************************/
// Diese Version von EspBoardLed sollte als Tab eingebunden werden.
// #include <ESP32WebServer.h> muss im Haupttab aufgerufen werden
// Die Funktionalität des ESP32 Webservers ist erforderlich.
// Die Funktion "espboardLed();" muss im Setup aufgerufen werden.
/**************************************************************************************/
void espboardLed() {
pinMode(LED_BUILTIN, OUTPUT); // OnBoardLed Esp32
server.on ( "/led", esp32Led );
}
void esp32Led() { //Html Seite
if (server.hasArg("led")) {
digitalWrite(LED_BUILTIN, !digitalRead(LED_BUILTIN)); // LED umschalten
DEBUG_P(digitalRead(LED_BUILTIN) ? "LED ist aus" : "LED ist an");
}
char temp[760];
snprintf(temp, sizeof temp, R"(<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<style>
body {
background-color: #a9a9a9;
display: flex;
flex-flow: column;
align-items: center;
}
input {
height: 2.5em;
width: 8em;
font-size: 1em;
}
[value$=n] {
background-color: #adff2f;
}
[value$=s] {
background-color: red;
}
</style>
<title>Onboard Led</title>
</head>
<body>
<h2>Onboard Led schalten</h2>
<h3>ESP32 Dev Module</h3>
<p>LED ist %s<p>
<form action="/led">
<input name="led" type="submit" value="LED %s">
</form>
</body>
</html>)", digitalRead(LED_BUILTIN) ? "an" : "aus", digitalRead(LED_BUILTIN) ? "Aus" : "Ein");
server.send(200, "text/html", temp);
}