wa0uwh / ERB-EspWebServer

ERB's Esp8266 Experimental Web Server
46 stars 11 forks source link

ERB-EspWebServer

/*
 * This Program Provides the following for the Esp8266 as a WebServer:
 * But CAUTION, some functionallity may not have been throughly tested.
 *
 * The code and effort is always changing, check with the GitHub Repositor often,
 *     See GitHub at:     https://github.com/wa0uwh/ERB-EspWebServer
 *     See Change Map at: https://github.com/wa0uwh/ERB-EspWebServer/network
 *
 * The purpose of the program is to provide an Experimental Enviroment in which
 * to create new functions that can be used in my other planned projects.
 *
 * Currently, all Arduino IDE TABS are '.ino' type files, which are compiled as a
 * single blob. The structure of this progame could be better, as normally, the TABS
 * should be set up as '*.h', '*.c', or '*.cpp' files, but this is easier and quicker
 * for my experimental efforts. Future revisions may be properly constructed.
 *
 * Current Features:
 *
 *      All Web Pages are Dynamically Generated by The Esp8266 Processor
 *      Implemented Full (1460 bytes) WIFI Buffered Transfers
 *      All String Constants are saved in Flash, freeing RAM/Heap, via F(),
 *          sF(), and FMT() macros.
 *      Uses ICACHE_FLASH_ATTR to dynamically load seldom used program functions
 *      Copyright and this Text (Introduction) is Compiled into the Executable as
 *          a Web Page
 *      Home Page Dashboard
 *      Help Page
 *      Admin Page, with WiFi Scan and Network Selection
 *      Page Navigator and Resource Links
 *      Raw Data Query
 *      NTP Network Time (Unix Epoch)
 *      mDNS Service/Client
 *      Optional Page AutoRefresh
 *      Auto AP Timeout
 *      Implements and uses Html 'meter' function for FreeHeap and Vdd
 *      Implemented SVG 12/24 Hour Clock
 *      Implemented SVG Gauge for FreeHeap
 *      Implemented SVG Gauge for Vdd
 *      Implemented SVG Line Graph for FreeHeap Historical Data, with Start and
 *          End of Page Markersand reduced Data Transfer by removing Duplicate
 *          Y Data Points
 *      Implemented Data Creation Rate Per Web Page Function
 *      Implemented a Used CPU Seconds Value for Display
 *      Implemented a link to a Visitor Map Display
 *      Implemented Slider Bars, Currently used for Page Refresh Interval
 *      Implemented Code to Serve Raw BINARY Data, for example: the Farm Server Image on Info Page
 *      Moved Bulk Assignments to use 'PROGMEM = R(...)' Syntax,
 *          See: http://en.cppreference.com/w/cpp/language/string_literal
 */

--