-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Implement OTA updates #13
Comments
Just some background: https://blog.espressif.com/ota-updates-framework-ab5438e30c12 |
Note, I found the bug where our module was being sensed as only 2MB Flash, when in fact we have 4MB flash. |
I think that was fixed in 923b601 |
I would check for updates against a known location such as the sotamat.com web server. GitHub LFS does not allow us to purge old versions and storage counts against the free tier quota. Hence we should use some non-GitHub web server. We also want to make the process as simple as possible for non-developers. Developers can build their own source from GitHub. |
(Note to self, more background information) see https://gitlab.com/kevinwolfe/esp32_template/-/blob/87ca0ecd615115fdc33013d45b84a237da230575/main/main.c for example |
@brianmathews Please give me a URL on sotamat.com where I can check for "official" releases of SOTAcat. I'd like to implement the "check for new version" feature, which is a component of OTA updates. Ideally, official releases would have version and checksum encoding built into their filenames. The greatest version, or most-recently-dated version would could be used to determine freshness relative to the user's current version. The checksum would be used to validate the downloaded contents. That could be stored in a separate file (i.e. |
You can name the file(s) anything you want. They will just be part of the Wordpress Media folder as files in the pattern: https://sotamat.com/wp-content/uploads/YOUR-FILENAME-HERE ...and I am assuming that our releases are infrequent enough that we can just manually publish a new release after testing. If you want automated builds with automated deployment onto the Wordpress site, then we'd need to invest more thought into this. |
Excellent.
|
For the 1-click WebSerial deployment that is on the https://sotamat.com/sotacat page, the BIN file and version files are already scripted and part of the build process. For OTA we can extend the build process to make the required files on every build. |
We may want a different unified BIN that doesn't blow away settings in
NVS. Maybe one that just packs code and web assets. Different build
script?
…On Wed, Apr 17, 2024 at 11:21 PM Brian Mathews ***@***.***> wrote:
For the 1-click WebSerial deployment that is on the
https://sotamat.com/sotacat page, the BIN file and version files are
already scripted and part of the build process. For OTA we can extend the
build process to make the required files on every build.
When we want to publish I just drag-n-drop the set of files into
Wordpress's Media Bin and voila.
If you look at how the current unified BIN file is made in the
platformio.ini file and the respective Python build extensions to
PlatformIO you can see how you can do something very similar. for 2,3,4:
it's just I'd do 2,3,4 on every build (if it is fast) and simply put those
assets in the .gitignore. I can drag-n-drop into Wordpress when we want a
real "release".
—
Reply to this email directly, view it on GitHub
<#13 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAAN4MCE6QBZMWKKBGWJNMLY55Q73AVCNFSM6AAAAABDUHE25SVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANRTGA4DMNBRGI>
.
You are receiving this because you authored the thread.Message ID:
***@***.***>
|
Brian says:
OTA updates would be wonderful. However, we are nearly at the 2MB limit and OTA requires 3X the storage. We can double our memory because PlatformIO thinks our board only has 2MB of storage when in fact it has 4MB. We need to twiddle a setting.
The text was updated successfully, but these errors were encountered: