Skip to content

Data collection on one click firmware upgrade

Gunnar Skjold edited this page Apr 13, 2024 · 4 revisions

When upgrading your device, relevant information to determine what firmware your device should get will be sent to a centralized server. The information is also kept for statistical purposes.

We utilize espressif arduino built-in HTTP OTA upgrade code. The relevant code can be found here: ESP32 HTTPUpdate and ESP8266 HTTPUpdate

The following headers are automatically attached to the upgrade request and is also kept for statistics:

ESP32 header ESP8266 Header Description Purpose
x-ESP32-STA-MAC x-ESP8266-STA-MAC MAC address of WiFi modem Used to identify the device
x-ESP32-AP-MAC x-ESP8266-AP-MAC AP MAC address, if different from STA
x-ESP32-version x-ESP8266-version Current version of your firmware Used to determine next safe version
x-ESP32-free-space x-ESP8266-free-space Free space on flash Used to determine if new firmware will fit
x-ESP32-sketch-size x-ESP8266-sketch-size Size of the current firmware Used to determine if new firmware will fit
x-ESP32-sketch-md5 x-ESP8266-sketch-md5 MD5 checksum of current firmware Used to determine if current firmware is intact
x-ESP32-sketch-sha256 SHA256 checksum of current firmware Used to determine if current firmware is intact
x-ESP32-chip-size x-ESP8266-chip-size Total size of flash Used to determine if new firmware will fit
x-ESP32-sdk-version x-ESP8266-sdk-version ESP SDK version of current firmware
x-ESP32-mode x-ESP8266-mode What mode was used to upgrade
x-AMS-board-type x-AMS-board-type Board type
x-AMS-meter-mfg x-AMS-meter-mfg Meter manufacturer
x-AMS-meter-model x-AMS-meter-model Meter model

All values above are kept to build statistics about firmware upgrades. Note that IP address is not linked to this information.

IP address will only exist in server access logs for up to one month.