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.
- Update the new object in the configuration file /data/config.json
- Add the struct object in the configuration class /lib/WebConfigServer/WebConfigServer.h
- Update the parse function to link the json object with the class struct in the configuration class /lib/WebConfigServer/WebConfigServer.cpp
Using platformio run the next command: pio run -t uploadfs
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.
Under webserver folder:
npm run postbuild
WebConfigServer © 2019 by paclema is licensed under CC BY-NC-SA 4.0