Repository navigation
Updating labels
Labels get new firmware over the radio, through the AP. The AP holds one image per label model and hands it to the labels of that model, block by block, when they poll. No jig needed.
Give new firmware to one label of each model first:
- On the Dashboard, tick one label and send it the firmware (or
PUT /api/tag-firmware?to=<MAC>). - Watch it until it has installed and checked in for at least 10 polls. Its start screen shows the new version.
- Give it to the rest of that model:
POST /api/tag-firmware/{model}?to=all, or tick them on the dashboard.
A label running older firmware than the web page has gets a small arrow in its firmware column on the dashboard.
python3 esl_client.py tag-ota # each model: which image, how many labels have it
python3 esl_client.py tag-ota openesl-tag-1.54-<version>-ota.bintag-ota <file> sends to every label of that model at once, so use it only when you are sure. tag-ota --delete MODEL stops the updates.
- A release that does not change a model's firmware keeps the same version for it, so nothing is sent.
- An update costs some battery: the label downloads about 40 KB.
- A label fetches about 11 KB per wake-up, and between the parts it comes back after a few seconds instead of after its poll interval, so an update takes a few minutes whatever the interval is. Many labels at once keep the radio busy for longer, and the dashboard can feel slower meanwhile on an ESP32-C6 AP.
- To go back, upload the older release's label firmware the same way. A label takes any version that is not its own.
- A label that does not start after an update has to go back in the jig (Flashing labels).
- Labels flashed before 0.3.0 have no bootloader and need one pass in the jig first.
How it works inside: docs/tag-ota.md.
OpenESL is released under the MIT licence. These pages are made from the wiki/ folder in the repository: to fix something, send a pull request there, or open an issue.
Getting started
Access point
Labels
Layouts
Sending content
- Overview
- HTTP API
- esl-client
- Price lists from CSV
- Scheduled prices
- Home Assistant
- Weather on a label
Running it
- Dashboard
- Health and webhook
- Updating the AP
- Updating labels
- Upgrading from older versions
- Backup and restore
- Moving to a new AP
Help
Developers