Skip to content

Arduino/ESP library with a Web Server to manage device configurations under config.json file stored in the SPIFFS and plot values into real-time dashboard for ESP8266 and ESP32

License

Notifications You must be signed in to change notification settings

paclema/WebConfigServer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

WebConfigServer

Release Build PlatformIO Registry CC BY-NC-SA 4.0 Donate

Features:

Web application:

  • Angular 10 and Bootstrap 4 web application to configure the device and visualize data.
  • Nebular UI Angular lib.
  • ng2-charts to visualize WS data graphs on dashboard web server endpoint.
  • Gzipped compression to store and serve the Webapp.

Firmware:

  • ESP8266/ESP32 support.
  • Store configs as JSON and certs on SPI Flash File System (SPIFFS).
  • AP+STA wifi mode with wifimulti and mDNS support
  • FTP server to easily modify files stored on SPIFFS.
  • WrapperOTA class to handle OTA updates.
  • WrapperWebSockets class to handle WS communication between device and webserver dashboard endpoint.
  • MQTT client as QoS2 to detect disconnection and enabled connection using user&pass and/or certificates.
  • Added configurable DeepSleep modes for ESP8266.
  • Webserver or AsyncWebserver support.
  • Enabled lwip NAT features for ESP32 (Not available for ESP8266 yet, probably never due memory limitations. Check this branch: iot_button napt_esp8266).
  • Added configurable NTP server.

Add a new configuration object:

  1. Update the new object in the configuration file /data/config.json
  2. Add the struct object in the configuration class /lib/WebConfigServer/WebConfigServer.h
  3. Update the parse function to link the json object with the class struct in the configuration class /lib/WebConfigServer/WebConfigServer.cpp

Upload /data folder to ESP SPIFFS File System:

Using platformio run the next command: pio run -t uploadfs

Build webserver to /data fodler:

If you can not run angular-cli from platformio PowerShell using windows, activate it with: Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

Under webserver/ folder:

ng build --prod --optimization=true --outputHashing=none; npm run postbuild

To build and upload SPIFFS

cd ./webserver; ng build --prod --optimization=true --outputHashing=none; npm run postbuild;cd ..; pio run --target uploadfs --environment d1_mini

To build for xammp:

ng build --prod --optimization=true --outputHashing=none --outputPath=C:/xampp/htdocs --deleteOutputPath=false

These build options can be added in angular.json in the future.

Compress /data fodler with gzip:

Under webserver folder:

npm run postbuild

License

WebConfigServer © 2019 by paclema is licensed under CC BY-NC-SA 4.0

CC BY-NC-SA 4.0

About

Arduino/ESP library with a Web Server to manage device configurations under config.json file stored in the SPIFFS and plot values into real-time dashboard for ESP8266 and ESP32

Resources

License

Stars

Watchers

Forks

Packages

No packages published