diff --git a/.pioenvs/.sconsign.dblite b/.pioenvs/.sconsign.dblite new file mode 100644 index 0000000..1ff94bc Binary files /dev/null and b/.pioenvs/.sconsign.dblite differ diff --git a/.pioenvs/nodemcu-32s/FrameworkArduino/Esp.cpp.o b/.pioenvs/nodemcu-32s/FrameworkArduino/Esp.cpp.o new file mode 100644 index 0000000..3f56ee6 Binary files /dev/null and b/.pioenvs/nodemcu-32s/FrameworkArduino/Esp.cpp.o differ diff --git a/.pioenvs/nodemcu-32s/FrameworkArduino/HardwareSerial.cpp.o b/.pioenvs/nodemcu-32s/FrameworkArduino/HardwareSerial.cpp.o new file mode 100644 index 0000000..440d6a6 Binary files /dev/null and b/.pioenvs/nodemcu-32s/FrameworkArduino/HardwareSerial.cpp.o differ diff --git a/.pioenvs/nodemcu-32s/FrameworkArduino/IPAddress.cpp.o b/.pioenvs/nodemcu-32s/FrameworkArduino/IPAddress.cpp.o new file mode 100644 index 0000000..11c65ad Binary files /dev/null and b/.pioenvs/nodemcu-32s/FrameworkArduino/IPAddress.cpp.o differ diff --git a/.pioenvs/nodemcu-32s/FrameworkArduino/IPv6Address.cpp.o b/.pioenvs/nodemcu-32s/FrameworkArduino/IPv6Address.cpp.o new file mode 100644 index 0000000..4251076 Binary files /dev/null and b/.pioenvs/nodemcu-32s/FrameworkArduino/IPv6Address.cpp.o differ diff --git a/.pioenvs/nodemcu-32s/FrameworkArduino/MD5Builder.cpp.o b/.pioenvs/nodemcu-32s/FrameworkArduino/MD5Builder.cpp.o new file mode 100644 index 0000000..335440f Binary files /dev/null and b/.pioenvs/nodemcu-32s/FrameworkArduino/MD5Builder.cpp.o differ diff --git a/.pioenvs/nodemcu-32s/FrameworkArduino/Print.cpp.o b/.pioenvs/nodemcu-32s/FrameworkArduino/Print.cpp.o new file mode 100644 index 0000000..1ae4312 Binary files /dev/null and b/.pioenvs/nodemcu-32s/FrameworkArduino/Print.cpp.o differ diff --git a/.pioenvs/nodemcu-32s/FrameworkArduino/Stream.cpp.o b/.pioenvs/nodemcu-32s/FrameworkArduino/Stream.cpp.o new file mode 100644 index 0000000..9dda85f Binary files /dev/null and b/.pioenvs/nodemcu-32s/FrameworkArduino/Stream.cpp.o differ diff --git a/.pioenvs/nodemcu-32s/FrameworkArduino/StreamString.cpp.o b/.pioenvs/nodemcu-32s/FrameworkArduino/StreamString.cpp.o new file mode 100644 index 0000000..c9b75ea Binary files /dev/null and b/.pioenvs/nodemcu-32s/FrameworkArduino/StreamString.cpp.o differ diff --git a/.pioenvs/nodemcu-32s/FrameworkArduino/WMath.cpp.o b/.pioenvs/nodemcu-32s/FrameworkArduino/WMath.cpp.o new file mode 100644 index 0000000..fd6a62c Binary files /dev/null and b/.pioenvs/nodemcu-32s/FrameworkArduino/WMath.cpp.o differ diff --git a/.pioenvs/nodemcu-32s/FrameworkArduino/WString.cpp.o b/.pioenvs/nodemcu-32s/FrameworkArduino/WString.cpp.o new file mode 100644 index 0000000..a1dc387 Binary files /dev/null and b/.pioenvs/nodemcu-32s/FrameworkArduino/WString.cpp.o differ diff --git a/.pioenvs/nodemcu-32s/FrameworkArduino/base64.cpp.o b/.pioenvs/nodemcu-32s/FrameworkArduino/base64.cpp.o new file mode 100644 index 0000000..577d8da Binary files /dev/null and b/.pioenvs/nodemcu-32s/FrameworkArduino/base64.cpp.o differ diff --git a/.pioenvs/nodemcu-32s/FrameworkArduino/cbuf.cpp.o b/.pioenvs/nodemcu-32s/FrameworkArduino/cbuf.cpp.o new file mode 100644 index 0000000..950a3b3 Binary files /dev/null and b/.pioenvs/nodemcu-32s/FrameworkArduino/cbuf.cpp.o differ diff --git a/.pioenvs/nodemcu-32s/FrameworkArduino/esp32-hal-adc.c.o b/.pioenvs/nodemcu-32s/FrameworkArduino/esp32-hal-adc.c.o new file mode 100644 index 0000000..500c31a Binary files /dev/null and b/.pioenvs/nodemcu-32s/FrameworkArduino/esp32-hal-adc.c.o differ diff --git a/.pioenvs/nodemcu-32s/FrameworkArduino/esp32-hal-bt.c.o b/.pioenvs/nodemcu-32s/FrameworkArduino/esp32-hal-bt.c.o new file mode 100644 index 0000000..6e772e9 Binary files /dev/null and b/.pioenvs/nodemcu-32s/FrameworkArduino/esp32-hal-bt.c.o differ diff --git a/.pioenvs/nodemcu-32s/FrameworkArduino/esp32-hal-dac.c.o b/.pioenvs/nodemcu-32s/FrameworkArduino/esp32-hal-dac.c.o new file mode 100644 index 0000000..2615ade Binary files /dev/null and b/.pioenvs/nodemcu-32s/FrameworkArduino/esp32-hal-dac.c.o differ diff --git a/.pioenvs/nodemcu-32s/FrameworkArduino/esp32-hal-gpio.c.o b/.pioenvs/nodemcu-32s/FrameworkArduino/esp32-hal-gpio.c.o new file mode 100644 index 0000000..deaed55 Binary files /dev/null and b/.pioenvs/nodemcu-32s/FrameworkArduino/esp32-hal-gpio.c.o differ diff --git a/.pioenvs/nodemcu-32s/FrameworkArduino/esp32-hal-i2c.c.o b/.pioenvs/nodemcu-32s/FrameworkArduino/esp32-hal-i2c.c.o new file mode 100644 index 0000000..c6af1f6 Binary files /dev/null and b/.pioenvs/nodemcu-32s/FrameworkArduino/esp32-hal-i2c.c.o differ diff --git a/.pioenvs/nodemcu-32s/FrameworkArduino/esp32-hal-ledc.c.o b/.pioenvs/nodemcu-32s/FrameworkArduino/esp32-hal-ledc.c.o new file mode 100644 index 0000000..58fd71c Binary files /dev/null and b/.pioenvs/nodemcu-32s/FrameworkArduino/esp32-hal-ledc.c.o differ diff --git a/.pioenvs/nodemcu-32s/FrameworkArduino/esp32-hal-matrix.c.o b/.pioenvs/nodemcu-32s/FrameworkArduino/esp32-hal-matrix.c.o new file mode 100644 index 0000000..8970c51 Binary files /dev/null and b/.pioenvs/nodemcu-32s/FrameworkArduino/esp32-hal-matrix.c.o differ diff --git a/.pioenvs/nodemcu-32s/FrameworkArduino/esp32-hal-misc.c.o b/.pioenvs/nodemcu-32s/FrameworkArduino/esp32-hal-misc.c.o new file mode 100644 index 0000000..8c75c83 Binary files /dev/null and b/.pioenvs/nodemcu-32s/FrameworkArduino/esp32-hal-misc.c.o differ diff --git a/.pioenvs/nodemcu-32s/FrameworkArduino/esp32-hal-psram.c.o b/.pioenvs/nodemcu-32s/FrameworkArduino/esp32-hal-psram.c.o new file mode 100644 index 0000000..aa56e68 Binary files /dev/null and b/.pioenvs/nodemcu-32s/FrameworkArduino/esp32-hal-psram.c.o differ diff --git a/.pioenvs/nodemcu-32s/FrameworkArduino/esp32-hal-sigmadelta.c.o b/.pioenvs/nodemcu-32s/FrameworkArduino/esp32-hal-sigmadelta.c.o new file mode 100644 index 0000000..7863e64 Binary files /dev/null and b/.pioenvs/nodemcu-32s/FrameworkArduino/esp32-hal-sigmadelta.c.o differ diff --git a/.pioenvs/nodemcu-32s/FrameworkArduino/esp32-hal-spi.c.o b/.pioenvs/nodemcu-32s/FrameworkArduino/esp32-hal-spi.c.o new file mode 100644 index 0000000..7072faa Binary files /dev/null and b/.pioenvs/nodemcu-32s/FrameworkArduino/esp32-hal-spi.c.o differ diff --git a/.pioenvs/nodemcu-32s/FrameworkArduino/esp32-hal-time.c.o b/.pioenvs/nodemcu-32s/FrameworkArduino/esp32-hal-time.c.o new file mode 100644 index 0000000..772c387 Binary files /dev/null and b/.pioenvs/nodemcu-32s/FrameworkArduino/esp32-hal-time.c.o differ diff --git a/.pioenvs/nodemcu-32s/FrameworkArduino/esp32-hal-timer.c.o b/.pioenvs/nodemcu-32s/FrameworkArduino/esp32-hal-timer.c.o new file mode 100644 index 0000000..aa93e9a Binary files /dev/null and b/.pioenvs/nodemcu-32s/FrameworkArduino/esp32-hal-timer.c.o differ diff --git a/.pioenvs/nodemcu-32s/FrameworkArduino/esp32-hal-touch.c.o b/.pioenvs/nodemcu-32s/FrameworkArduino/esp32-hal-touch.c.o new file mode 100644 index 0000000..f2fc397 Binary files /dev/null and b/.pioenvs/nodemcu-32s/FrameworkArduino/esp32-hal-touch.c.o differ diff --git a/.pioenvs/nodemcu-32s/FrameworkArduino/esp32-hal-uart.c.o b/.pioenvs/nodemcu-32s/FrameworkArduino/esp32-hal-uart.c.o new file mode 100644 index 0000000..b88b2c9 Binary files /dev/null and b/.pioenvs/nodemcu-32s/FrameworkArduino/esp32-hal-uart.c.o differ diff --git a/.pioenvs/nodemcu-32s/FrameworkArduino/libb64/cdecode.c.o b/.pioenvs/nodemcu-32s/FrameworkArduino/libb64/cdecode.c.o new file mode 100644 index 0000000..d2d8fef Binary files /dev/null and b/.pioenvs/nodemcu-32s/FrameworkArduino/libb64/cdecode.c.o differ diff --git a/.pioenvs/nodemcu-32s/FrameworkArduino/libb64/cencode.c.o b/.pioenvs/nodemcu-32s/FrameworkArduino/libb64/cencode.c.o new file mode 100644 index 0000000..fcbc6f6 Binary files /dev/null and b/.pioenvs/nodemcu-32s/FrameworkArduino/libb64/cencode.c.o differ diff --git a/.pioenvs/nodemcu-32s/FrameworkArduino/main.cpp.o b/.pioenvs/nodemcu-32s/FrameworkArduino/main.cpp.o new file mode 100644 index 0000000..a0aab88 Binary files /dev/null and b/.pioenvs/nodemcu-32s/FrameworkArduino/main.cpp.o differ diff --git a/.pioenvs/nodemcu-32s/FrameworkArduino/stdlib_noniso.c.o b/.pioenvs/nodemcu-32s/FrameworkArduino/stdlib_noniso.c.o new file mode 100644 index 0000000..5c4665d Binary files /dev/null and b/.pioenvs/nodemcu-32s/FrameworkArduino/stdlib_noniso.c.o differ diff --git a/.pioenvs/nodemcu-32s/FrameworkArduino/wiring_pulse.c.o b/.pioenvs/nodemcu-32s/FrameworkArduino/wiring_pulse.c.o new file mode 100644 index 0000000..22516e3 Binary files /dev/null and b/.pioenvs/nodemcu-32s/FrameworkArduino/wiring_pulse.c.o differ diff --git a/.pioenvs/nodemcu-32s/FrameworkArduino/wiring_shift.c.o b/.pioenvs/nodemcu-32s/FrameworkArduino/wiring_shift.c.o new file mode 100644 index 0000000..cb11455 Binary files /dev/null and b/.pioenvs/nodemcu-32s/FrameworkArduino/wiring_shift.c.o differ diff --git a/.pioenvs/nodemcu-32s/firmware.bin b/.pioenvs/nodemcu-32s/firmware.bin new file mode 100644 index 0000000..ae739a7 Binary files /dev/null and b/.pioenvs/nodemcu-32s/firmware.bin differ diff --git a/.pioenvs/nodemcu-32s/firmware.elf b/.pioenvs/nodemcu-32s/firmware.elf new file mode 100644 index 0000000..126da44 Binary files /dev/null and b/.pioenvs/nodemcu-32s/firmware.elf differ diff --git a/.pioenvs/nodemcu-32s/lib0a7/DNSServer/DNSServer.cpp.o b/.pioenvs/nodemcu-32s/lib0a7/DNSServer/DNSServer.cpp.o new file mode 100644 index 0000000..f62d940 Binary files /dev/null and b/.pioenvs/nodemcu-32s/lib0a7/DNSServer/DNSServer.cpp.o differ diff --git a/.pioenvs/nodemcu-32s/lib0a7/libDNSServer.a b/.pioenvs/nodemcu-32s/lib0a7/libDNSServer.a new file mode 100644 index 0000000..b9add6c Binary files /dev/null and b/.pioenvs/nodemcu-32s/lib0a7/libDNSServer.a differ diff --git a/.pioenvs/nodemcu-32s/lib178/EEPROM/EEPROM.cpp.o b/.pioenvs/nodemcu-32s/lib178/EEPROM/EEPROM.cpp.o new file mode 100644 index 0000000..06c9168 Binary files /dev/null and b/.pioenvs/nodemcu-32s/lib178/EEPROM/EEPROM.cpp.o differ diff --git a/.pioenvs/nodemcu-32s/lib178/libEEPROM.a b/.pioenvs/nodemcu-32s/lib178/libEEPROM.a new file mode 100644 index 0000000..9cdab66 Binary files /dev/null and b/.pioenvs/nodemcu-32s/lib178/libEEPROM.a differ diff --git a/.pioenvs/nodemcu-32s/lib250/WiFi/ETH.cpp.o b/.pioenvs/nodemcu-32s/lib250/WiFi/ETH.cpp.o new file mode 100644 index 0000000..1f023c1 Binary files /dev/null and b/.pioenvs/nodemcu-32s/lib250/WiFi/ETH.cpp.o differ diff --git a/.pioenvs/nodemcu-32s/lib250/WiFi/WiFi.cpp.o b/.pioenvs/nodemcu-32s/lib250/WiFi/WiFi.cpp.o new file mode 100644 index 0000000..20091df Binary files /dev/null and b/.pioenvs/nodemcu-32s/lib250/WiFi/WiFi.cpp.o differ diff --git a/.pioenvs/nodemcu-32s/lib250/WiFi/WiFiAP.cpp.o b/.pioenvs/nodemcu-32s/lib250/WiFi/WiFiAP.cpp.o new file mode 100644 index 0000000..d7f2123 Binary files /dev/null and b/.pioenvs/nodemcu-32s/lib250/WiFi/WiFiAP.cpp.o differ diff --git a/.pioenvs/nodemcu-32s/lib250/WiFi/WiFiClient.cpp.o b/.pioenvs/nodemcu-32s/lib250/WiFi/WiFiClient.cpp.o new file mode 100644 index 0000000..82a9d97 Binary files /dev/null and b/.pioenvs/nodemcu-32s/lib250/WiFi/WiFiClient.cpp.o differ diff --git a/.pioenvs/nodemcu-32s/lib250/WiFi/WiFiGeneric.cpp.o b/.pioenvs/nodemcu-32s/lib250/WiFi/WiFiGeneric.cpp.o new file mode 100644 index 0000000..767995f Binary files /dev/null and b/.pioenvs/nodemcu-32s/lib250/WiFi/WiFiGeneric.cpp.o differ diff --git a/.pioenvs/nodemcu-32s/lib250/WiFi/WiFiMulti.cpp.o b/.pioenvs/nodemcu-32s/lib250/WiFi/WiFiMulti.cpp.o new file mode 100644 index 0000000..7c9d385 Binary files /dev/null and b/.pioenvs/nodemcu-32s/lib250/WiFi/WiFiMulti.cpp.o differ diff --git a/.pioenvs/nodemcu-32s/lib250/WiFi/WiFiSTA.cpp.o b/.pioenvs/nodemcu-32s/lib250/WiFi/WiFiSTA.cpp.o new file mode 100644 index 0000000..3e43a9e Binary files /dev/null and b/.pioenvs/nodemcu-32s/lib250/WiFi/WiFiSTA.cpp.o differ diff --git a/.pioenvs/nodemcu-32s/lib250/WiFi/WiFiScan.cpp.o b/.pioenvs/nodemcu-32s/lib250/WiFi/WiFiScan.cpp.o new file mode 100644 index 0000000..f93d6df Binary files /dev/null and b/.pioenvs/nodemcu-32s/lib250/WiFi/WiFiScan.cpp.o differ diff --git a/.pioenvs/nodemcu-32s/lib250/WiFi/WiFiServer.cpp.o b/.pioenvs/nodemcu-32s/lib250/WiFi/WiFiServer.cpp.o new file mode 100644 index 0000000..798d64d Binary files /dev/null and b/.pioenvs/nodemcu-32s/lib250/WiFi/WiFiServer.cpp.o differ diff --git a/.pioenvs/nodemcu-32s/lib250/WiFi/WiFiUdp.cpp.o b/.pioenvs/nodemcu-32s/lib250/WiFi/WiFiUdp.cpp.o new file mode 100644 index 0000000..ce5dc0d Binary files /dev/null and b/.pioenvs/nodemcu-32s/lib250/WiFi/WiFiUdp.cpp.o differ diff --git a/.pioenvs/nodemcu-32s/lib250/libWiFi.a b/.pioenvs/nodemcu-32s/lib250/libWiFi.a new file mode 100644 index 0000000..1187bf5 Binary files /dev/null and b/.pioenvs/nodemcu-32s/lib250/libWiFi.a differ diff --git a/.pioenvs/nodemcu-32s/lib3a9/ESP Async WebServer_ID306/AsyncEventSource.cpp.o b/.pioenvs/nodemcu-32s/lib3a9/ESP Async WebServer_ID306/AsyncEventSource.cpp.o new file mode 100644 index 0000000..dc64aea Binary files /dev/null and b/.pioenvs/nodemcu-32s/lib3a9/ESP Async WebServer_ID306/AsyncEventSource.cpp.o differ diff --git a/.pioenvs/nodemcu-32s/lib3a9/ESP Async WebServer_ID306/AsyncWebSocket.cpp.o b/.pioenvs/nodemcu-32s/lib3a9/ESP Async WebServer_ID306/AsyncWebSocket.cpp.o new file mode 100644 index 0000000..dbf8e82 Binary files /dev/null and b/.pioenvs/nodemcu-32s/lib3a9/ESP Async WebServer_ID306/AsyncWebSocket.cpp.o differ diff --git a/.pioenvs/nodemcu-32s/lib3a9/ESP Async WebServer_ID306/SPIFFSEditor.cpp.o b/.pioenvs/nodemcu-32s/lib3a9/ESP Async WebServer_ID306/SPIFFSEditor.cpp.o new file mode 100644 index 0000000..f6c3004 Binary files /dev/null and b/.pioenvs/nodemcu-32s/lib3a9/ESP Async WebServer_ID306/SPIFFSEditor.cpp.o differ diff --git a/.pioenvs/nodemcu-32s/lib3a9/ESP Async WebServer_ID306/WebAuthentication.cpp.o b/.pioenvs/nodemcu-32s/lib3a9/ESP Async WebServer_ID306/WebAuthentication.cpp.o new file mode 100644 index 0000000..97f0422 Binary files /dev/null and b/.pioenvs/nodemcu-32s/lib3a9/ESP Async WebServer_ID306/WebAuthentication.cpp.o differ diff --git a/.pioenvs/nodemcu-32s/lib3a9/ESP Async WebServer_ID306/WebHandlers.cpp.o b/.pioenvs/nodemcu-32s/lib3a9/ESP Async WebServer_ID306/WebHandlers.cpp.o new file mode 100644 index 0000000..cdf785d Binary files /dev/null and b/.pioenvs/nodemcu-32s/lib3a9/ESP Async WebServer_ID306/WebHandlers.cpp.o differ diff --git a/.pioenvs/nodemcu-32s/lib3a9/ESP Async WebServer_ID306/WebRequest.cpp.o b/.pioenvs/nodemcu-32s/lib3a9/ESP Async WebServer_ID306/WebRequest.cpp.o new file mode 100644 index 0000000..a2b641b Binary files /dev/null and b/.pioenvs/nodemcu-32s/lib3a9/ESP Async WebServer_ID306/WebRequest.cpp.o differ diff --git a/.pioenvs/nodemcu-32s/lib3a9/ESP Async WebServer_ID306/WebResponses.cpp.o b/.pioenvs/nodemcu-32s/lib3a9/ESP Async WebServer_ID306/WebResponses.cpp.o new file mode 100644 index 0000000..8be2643 Binary files /dev/null and b/.pioenvs/nodemcu-32s/lib3a9/ESP Async WebServer_ID306/WebResponses.cpp.o differ diff --git a/.pioenvs/nodemcu-32s/lib3a9/ESP Async WebServer_ID306/WebServer.cpp.o b/.pioenvs/nodemcu-32s/lib3a9/ESP Async WebServer_ID306/WebServer.cpp.o new file mode 100644 index 0000000..e7c64ee Binary files /dev/null and b/.pioenvs/nodemcu-32s/lib3a9/ESP Async WebServer_ID306/WebServer.cpp.o differ diff --git a/.pioenvs/nodemcu-32s/lib3a9/libESP Async WebServer_ID306.a b/.pioenvs/nodemcu-32s/lib3a9/libESP Async WebServer_ID306.a new file mode 100644 index 0000000..9b22cff Binary files /dev/null and b/.pioenvs/nodemcu-32s/lib3a9/libESP Async WebServer_ID306.a differ diff --git a/.pioenvs/nodemcu-32s/lib3e8/ESP8266FtpServer_ID992/ESP8266FtpServer.cpp.o b/.pioenvs/nodemcu-32s/lib3e8/ESP8266FtpServer_ID992/ESP8266FtpServer.cpp.o new file mode 100644 index 0000000..174f00b Binary files /dev/null and b/.pioenvs/nodemcu-32s/lib3e8/ESP8266FtpServer_ID992/ESP8266FtpServer.cpp.o differ diff --git a/.pioenvs/nodemcu-32s/lib3e8/libESP8266FtpServer_ID992.a b/.pioenvs/nodemcu-32s/lib3e8/libESP8266FtpServer_ID992.a new file mode 100644 index 0000000..1e470ad Binary files /dev/null and b/.pioenvs/nodemcu-32s/lib3e8/libESP8266FtpServer_ID992.a differ diff --git a/.pioenvs/nodemcu-32s/lib69d/SPIFFS/SPIFFS.cpp.o b/.pioenvs/nodemcu-32s/lib69d/SPIFFS/SPIFFS.cpp.o new file mode 100644 index 0000000..3374d05 Binary files /dev/null and b/.pioenvs/nodemcu-32s/lib69d/SPIFFS/SPIFFS.cpp.o differ diff --git a/.pioenvs/nodemcu-32s/lib69d/libSPIFFS.a b/.pioenvs/nodemcu-32s/lib69d/libSPIFFS.a new file mode 100644 index 0000000..682a963 Binary files /dev/null and b/.pioenvs/nodemcu-32s/lib69d/libSPIFFS.a differ diff --git a/.pioenvs/nodemcu-32s/lib886/Wire/Wire.cpp.o b/.pioenvs/nodemcu-32s/lib886/Wire/Wire.cpp.o new file mode 100644 index 0000000..c22ab0b Binary files /dev/null and b/.pioenvs/nodemcu-32s/lib886/Wire/Wire.cpp.o differ diff --git a/.pioenvs/nodemcu-32s/lib886/libWire.a b/.pioenvs/nodemcu-32s/lib886/libWire.a new file mode 100644 index 0000000..cb1bcfa Binary files /dev/null and b/.pioenvs/nodemcu-32s/lib886/libWire.a differ diff --git a/.pioenvs/nodemcu-32s/lib939/ArduinoINA219_ID411/INA219.cpp.o b/.pioenvs/nodemcu-32s/lib939/ArduinoINA219_ID411/INA219.cpp.o new file mode 100644 index 0000000..3e16f00 Binary files /dev/null and b/.pioenvs/nodemcu-32s/lib939/ArduinoINA219_ID411/INA219.cpp.o differ diff --git a/.pioenvs/nodemcu-32s/lib939/libArduinoINA219_ID411.a b/.pioenvs/nodemcu-32s/lib939/libArduinoINA219_ID411.a new file mode 100644 index 0000000..5dc0bbb Binary files /dev/null and b/.pioenvs/nodemcu-32s/lib939/libArduinoINA219_ID411.a differ diff --git a/.pioenvs/nodemcu-32s/libFrameworkArduino.a b/.pioenvs/nodemcu-32s/libFrameworkArduino.a new file mode 100644 index 0000000..f152db4 Binary files /dev/null and b/.pioenvs/nodemcu-32s/libFrameworkArduino.a differ diff --git a/.pioenvs/nodemcu-32s/libFrameworkArduinoVariant.a b/.pioenvs/nodemcu-32s/libFrameworkArduinoVariant.a new file mode 100644 index 0000000..8b277f0 --- /dev/null +++ b/.pioenvs/nodemcu-32s/libFrameworkArduinoVariant.a @@ -0,0 +1 @@ +! diff --git a/.pioenvs/nodemcu-32s/libb23/LiquidCrystal_I2C_ID576/LiquidCrystal_I2C.cpp.o b/.pioenvs/nodemcu-32s/libb23/LiquidCrystal_I2C_ID576/LiquidCrystal_I2C.cpp.o new file mode 100644 index 0000000..8af00f8 Binary files /dev/null and b/.pioenvs/nodemcu-32s/libb23/LiquidCrystal_I2C_ID576/LiquidCrystal_I2C.cpp.o differ diff --git a/.pioenvs/nodemcu-32s/libb23/libLiquidCrystal_I2C_ID576.a b/.pioenvs/nodemcu-32s/libb23/libLiquidCrystal_I2C_ID576.a new file mode 100644 index 0000000..70ec50e Binary files /dev/null and b/.pioenvs/nodemcu-32s/libb23/libLiquidCrystal_I2C_ID576.a differ diff --git a/.pioenvs/nodemcu-32s/libbe8/libTaskScheduler_ID721.a b/.pioenvs/nodemcu-32s/libbe8/libTaskScheduler_ID721.a new file mode 100644 index 0000000..8b277f0 --- /dev/null +++ b/.pioenvs/nodemcu-32s/libbe8/libTaskScheduler_ID721.a @@ -0,0 +1 @@ +! diff --git a/.pioenvs/nodemcu-32s/libc3f/FS/FS.cpp.o b/.pioenvs/nodemcu-32s/libc3f/FS/FS.cpp.o new file mode 100644 index 0000000..4131516 Binary files /dev/null and b/.pioenvs/nodemcu-32s/libc3f/FS/FS.cpp.o differ diff --git a/.pioenvs/nodemcu-32s/libc3f/FS/vfs_api.cpp.o b/.pioenvs/nodemcu-32s/libc3f/FS/vfs_api.cpp.o new file mode 100644 index 0000000..58e3c5c Binary files /dev/null and b/.pioenvs/nodemcu-32s/libc3f/FS/vfs_api.cpp.o differ diff --git a/.pioenvs/nodemcu-32s/libc3f/libFS.a b/.pioenvs/nodemcu-32s/libc3f/libFS.a new file mode 100644 index 0000000..04b3d84 Binary files /dev/null and b/.pioenvs/nodemcu-32s/libc3f/libFS.a differ diff --git a/.pioenvs/nodemcu-32s/libc9f/AsyncTCP_ID1826/AsyncTCP.cpp.o b/.pioenvs/nodemcu-32s/libc9f/AsyncTCP_ID1826/AsyncTCP.cpp.o new file mode 100644 index 0000000..116ba4d Binary files /dev/null and b/.pioenvs/nodemcu-32s/libc9f/AsyncTCP_ID1826/AsyncTCP.cpp.o differ diff --git a/.pioenvs/nodemcu-32s/libc9f/libAsyncTCP_ID1826.a b/.pioenvs/nodemcu-32s/libc9f/libAsyncTCP_ID1826.a new file mode 100644 index 0000000..5222651 Binary files /dev/null and b/.pioenvs/nodemcu-32s/libc9f/libAsyncTCP_ID1826.a differ diff --git a/.pioenvs/nodemcu-32s/libdb7/ESPAsyncWifiManager_ID1438/ESPAsyncWiFiManager.cpp.o b/.pioenvs/nodemcu-32s/libdb7/ESPAsyncWifiManager_ID1438/ESPAsyncWiFiManager.cpp.o new file mode 100644 index 0000000..8e7aa75 Binary files /dev/null and b/.pioenvs/nodemcu-32s/libdb7/ESPAsyncWifiManager_ID1438/ESPAsyncWiFiManager.cpp.o differ diff --git a/.pioenvs/nodemcu-32s/libdb7/libESPAsyncWifiManager_ID1438.a b/.pioenvs/nodemcu-32s/libdb7/libESPAsyncWifiManager_ID1438.a new file mode 100644 index 0000000..c1bc262 Binary files /dev/null and b/.pioenvs/nodemcu-32s/libdb7/libESPAsyncWifiManager_ID1438.a differ diff --git a/.pioenvs/nodemcu-32s/partitions.bin b/.pioenvs/nodemcu-32s/partitions.bin new file mode 100644 index 0000000..1d3d5b9 Binary files /dev/null and b/.pioenvs/nodemcu-32s/partitions.bin differ diff --git a/.pioenvs/nodemcu-32s/src/PowerAnalyzer.ino.cpp.o b/.pioenvs/nodemcu-32s/src/PowerAnalyzer.ino.cpp.o new file mode 100644 index 0000000..7925371 Binary files /dev/null and b/.pioenvs/nodemcu-32s/src/PowerAnalyzer.ino.cpp.o differ diff --git a/src/PowerAnalyzer.ino b/src/PowerAnalyzer.ino index a9bc0c1..20cc28a 100644 --- a/src/PowerAnalyzer.ino +++ b/src/PowerAnalyzer.ino @@ -51,11 +51,12 @@ void data_logging(); //Globale Variablen float shuntvoltage_V = 0, shuntvoltage_mV = 0, busvoltage_V = 0, busvoltage_mV = 0, current_A = 0, current_mA = 0, power_W = 0, power_mW = 0; +float shuntvoltage_V_max = 0, current_A_max = 0, power_W_max = 0, shuntvoltage_V_min = 0, current_A_min = 0, power_W_min = 0; float Ah = 0, mAh = 0, Wh = 0, mWh = 0; float battery_voltage, battery_average; int i_header = 0; bool button1, button2, button3; -bool lcd_light = true; +bool lcd_light = true, wifi_enabled = true; bool measuring_run = false, reset_actual = false, reset_minmax =false, battery_low = false; unsigned long lastread = 0; unsigned long tick; @@ -174,6 +175,7 @@ void setup() { lcd.print("Done"); } else { lcd.print("Wi-Fi disabled"); + wifi_enabled = false; } //Init ina219s @@ -197,7 +199,6 @@ void setup() { task.addTask(t3); task.addTask(t4); task.addTask(t5); - t1.enable(); t2.enable(); t3.enable(); t4.enable(); @@ -223,6 +224,15 @@ void setup() { lcd.setCursor(0,3); lcd.print("Done. Starting up..."); delay(1500); + //Display IP address + if (wifi_enabled) { + lcd.clear(); + lcd.setCursor(6,1); + lcd.print("IP address"); + lcd.setCursor(5,2); + lcd.print(WiFi.localIP()); + delay(1500); + } //Load Default Screen lcd_init(); } @@ -244,7 +254,8 @@ void lcd_print() { lcd.print(busvoltage_V); if (current_A > 10) {lcd.setCursor(1,1);} else if (current_A < 0) {lcd.setCursor(1,1);} else {lcd.setCursor(1,1); lcd.print(" ");} lcd.print(current_A); - if (power_W > 10) {lcd.setCursor(1,2);} else if (power_W < 0){lcd.setCursor(1,2);} else {lcd.setCursor(1,2); lcd.print(" ");} + lcd.setCursor(0,2); + if (power_W < 100 && power_W > 10) {lcd.print(" ")}; else if (power_W < 10) {lcd.print(" ")}; lcd.print(power_W); if (Ah > 10) {lcd.setCursor(13,1);} else if (Ah < 0){lcd.setCursor(11,1);} else {lcd.setCursor(11,1); lcd.print(" ");} lcd.print(Ah); @@ -377,12 +388,37 @@ void readCurrent() { mAh = Ah * 1000; Wh += (power_W * tick)/3600000.0; mWh = Wh * 1000; + + if (shuntvoltage_V_max < shuntvoltage_V) { + shuntvoltage_V_max = shuntvoltage_V; + } + if (current_A_max < current_A) { + current_A_max = current_A; + } + if (power_W_max < power_W) { + power_W_max = power_W; + } + if (shuntvoltage_V_min > shuntvoltage_V) { + shuntvoltage_V_min = shuntvoltage_V; + } + if (current_A_min > current_A) { + current_A_min = current_A; + } + if (power_W_min > power_W) { + power_W_min = power_W; + } } if (reset_actual) { Ah = 0; Wh = 0; data_timestamp = 0; reset_actual = false; + shuntvoltage_V_max = 0; + current_A_max = 0; + power_W_max = 0; + shuntvoltage_V_min = 0; + current_A_min = 0; + power_W_min = 0; } lastread = newtime; ina219.recalibrate(); @@ -460,17 +496,19 @@ void web_measuring_reset(AsyncWebServerRequest *request) { } void web_get_values(AsyncWebServerRequest *request) { - request->send( 200, "application/json", "{\"voltage\":" + String(busvoltage_V) + ", \"current\":" + String(current_A) + ", \"power\":" + String(power_W) + ", \"Ah\":" + String(Ah) + ", \"Wh\":" + String(Wh) + ", \"battery\":" + String(battery_voltage) + ", \"run\":" + String(measuring_run) + "}"); + request->send( 200, "application/json", "{\"voltage\":" + String(busvoltage_V) + ", \"current\":" + String(current_A) + ", \"power\":" + String(power_W) + ", \"Ah\":" + String(Ah) + ", \"Wh\":" + String(Wh) + ", \"battery\":" + String(battery_voltage) + ", \"run\":" + String(measuring_run) + ", \"run\":" + String(shuntvoltage_V_max) + ", \"run\":" + String(shuntvoltage_V_min) + ", \"run\":" + String(current_A_max) + ", \"run\":" + String(current_A_min) + ", \"run\":" + String(power_W_max) + ", \"run\":" + String(power_W_min) + "}"); } void data_logging() { if (measuring_run) { - File tempLog = SPIFFS.open("/datalog.csv", "a"); - tempLog.print(data_timestamp); tempLog.print(','); - tempLog.print(busvoltage_V); tempLog.print(','); - tempLog.print(current_A); tempLog.print(','); - tempLog.println(power_W); - tempLog.close(); + File datalog = SPIFFS.open("/datalog.csv", "a"); + datalog.print(data_timestamp); datalog.print(','); + datalog.print(busvoltage_V); datalog.print(','); + datalog.print(current_A); datalog.print(','); + datalog.println(power_W); datalog.print(','); + datalog.println(Ah); datalog.print(','); + datalog.println(Wh); + datalog.close(); data_timestamp++; } } \ No newline at end of file