(F)OTA-update für FiPy

Gerade noch bemerkt, dass ich die hiveeyes-Dateien auf dem Python-Server im falschen Verzeichnis hatte, nämlich nach der Versionsnummer. Da gehört aber noch ein Verzeichnis /flash/ dazwischen.

Damit scheinen Standard-Szenarien abgedeckt zu sein, d.h. Dateien im Verzeichnis /flash/ und /flash/lib/ werden unterstützt

Requesting: manifest.json?current_ver=1.0.0
Requesting: 1.1.0/flash/settings.example.py
Requesting: 1.1.0/flash/lib/hx711_heisenberg.py
Requesting: 1.1.0/flash/lib/umal.py
Requesting: 1.1.0/flash/settings.example-bob.py
Requesting: 1.1.0/flash/boot.py
Requesting: 1.1.0/flash/settings.py
Requesting: 1.1.0/flash/lib/hx711.py
Requesting: 1.1.0/flash/lib/mininet.py
Requesting: 1.1.0/flash/main.py

Aber schon ein neues, bisher nicht vorhandenes Verzeichnis macht Probleme:

Requesting: 1.1.0/flash/foo/bar.py
[Errno 2] ENOENT

oder auch eine weitere Verzeichnisebene in /lib/ die noch nicht auf dem device existiert

Requesting: 1.1.1/flash/lib/terkin/api/__init__.py
[Errno 2] ENOENT

Damit kann weder die hiveeyes- noch hiverize-Software mit den bestehenden OTA-Mitteln von PyCom hochgeladen werden, da es in beiden Varianten weitere Verzeichnisse und geschachtelte Verzeichnisse gibt.

Wenn das Verzeichnis bereits vorhanden ist, kann der OTA-Service dort auch Dateien updaten!!

Requesting: 1.1.1/flash/lib/hiveeyes/sensor_hx711.py
Requesting: 1.1.1/flash/lib/hiveeyes/sensor_bme280.py

Ein Wechsel von der hiverize zur hiveeyes-Software oder vice versa ist aber mit den jetzt verfügbaren Boardmitteln nicht machbar. Dazu müsste das OTA-Skript Verzeichnisse anlegen können.

1 Like

Eine Alternative zum bisher getesteten könnte der Weg über pybytes sein

https://docs.pycom.io/pybytes/releases/

Mit der überarbeiteten PyCom-Firmware von @Andreas läuft das OTA-Skript wieder, sogar zuverlässiger als bisher! Leider kann das Skript immer noch keine neuen Ordner anlegen, d.h. Softwareänderungen, die neue Verzeichisse benötigen bekommen wir so nicht auf den FiPy, alles andere scheint aber gut zu laufen! Sehr schön!!

Pybytes kannten wir bisher primär zum erst-provisioning von Geräten. Wie oben schon angedeutet fährt der Zug aber weiter und mit der neuen Version kann auch code editiert und auf das Gerät geladen werden, quasi eine online-IDE jetzt mit Pymakr.

Damit ergeben sich für OTA-updates neue Möglichkeiten, wenn man die cloud von PyCom nutzen möchte.

[via: PyCom-Newsletter Mai, 2020]

5 posts were split to a new topic: Umstellung auf Terkin Firmware