There are two ways to start with the installation of the sensor.
1) Use the fully compiled version
An already compiled version can be downloaded from GitHub.

To flash the downloaded bin-file to the microcontroller, the program “ESPEasy Flasher” can be used in addition to various other options. This software can be found on GitHub at https://github.com/BattloXX/ESPEasyFlasher/releases/tag/1.1.
After downloading, simply unzip the ZIP file, copy the downloaded bin file into the same folder, connect the microcontroller to the PC and start FlashESP8266.exe. After selecting the correct COM port and firmware, start the flash process by clicking on “Flash”.

That was all. Go ahead wtih 3)
2) Compile it yourself with source code
The source code can also be also downloaded from GitHub. This can then be compiled using ArduinoIDE or Visual Code (with PlatformIO) and loaded directly onto the microcontroller using these environments.
However, you should already have experience in using these tools.
I use some external libraries that have to be integrated into the development environment before compilation.
- ESP8266WiFi.h
- ESP8266mDNS.h
- ESP8266WebServer.h
- ESP8266HTTPClient.h
- ESP8266httpUpdate.h
- Ticker.h
- EEPROM.h
- Wire.h
All libraries listed above are included in the ESP8266 core (https://github.com/esp8266/Arduino). Currently it is mandatory to use version 2.4.7! This is done e.g. in the Board-Manager of the Arduino IDE.
Here are other libraries used, depending in part on the connected sensors:
- LiquidCrystal_I2C.h (https://github.com/bitbank2/BitBang_I2C, https://github.com/fdebrabander/Arduino-LiquidCrystal-I2C-library)
- ss_oled.h (https://github.com/bitbank2/ss_oled)
- PubSubClient.h (https://pubsubclient.knolleary.net/)
- NTPClient.h (https://github.com/arduino-libraries/NTPClient)
- WiFiUdp.h
- SimpleTimer.h (https://github.com/kiryanenko/SimpleTimer)
- Pushover.h (https://github.com/ArduinoHannover/Pushover)
- myTypes.h
- DHT.h (https://github.com/adafruit/DHT-sensor-library)
- VL53L0X.h (https://github.com/pololu/vl53l0x-arduino)
- SparkFun_VL53L1X.h (https://github.com/sparkfun/SparkFun_VL53L1X_Arduino_Library)
3) Start-Up
Once the firmware has been flashed to the Microcontroller and everything is correctly wired, the sensor can be put into operation.
The sensor tries to connect to a configured WLAN. If this does not succeed (which is the case during the first start-up), the sensor creates a WLAN access point with the name “WLAN cistern” which should be found in the smartphone, for example. Connect to this WLAN.
Now call up the address http://192.168.4.1 in the browser of the connected device. This address is usually also displayed and linked in the connection settings of the connected WLAN. The configuration page of the sensor now opens.
Enter the SSID and the password of the home wifi and click on “Save configuration”. The other settings (cistern form, etc.) can be made later.
The sensor then restarts and attempts to connect to the home wifi. If this was successful, the access point is no longer accessible and the sensor should have been assigned an IP address in the home network. This can be looked up in the router (e.g. in the Friztbox under “Home network -> Network”).
If the “WLAN cistern” access point is still visible, the connection to the home WLAN was not successful. Then carry out the above steps again.
Connectivity