Diese Seite ist noch nicht für die Öffentlichkeit nutzbar, da alles noch in der Entwicklung ist.


Die Umgebung erstellen.

Als Erstes müssen diese Dateien im Dateisystem des Gerätes erezugt werden. Dazu dient das Micropython Script mk_json.py. Dieses wird am Besten auf das Gerät kopiert. Dann im Editorfenster von Thonny geöffnet und die erforderlichen Daten eingetragen. Von Thonny aus wird es dann auf dem Gerät ausgeführt und erzeugt so die erforderlichen Dateien.

mk_json.py kann auch aus dem PC heraus ausgeführt werden. Dann besteht aber die Gefahr, dass falsche / alte Daten auf des Gerät gelangen, wenn man mit dem Script verschiedene Geräte vorbereitet.

Die erforderlichen Dateien:

Der OTA Updater benötigt einige Informationen, die ihm in verschiedenen Dateien bereitgestellt werden.

Diese Dateien sind meist im Json-Format gespeichert und haben dann die Endung .json.

Die erforderlichen Dateien sind:

wlansecrets.py

Diese Datei ist für die Verbindung mit dem Wlan erforderlich. Sie enthält nur die Daten für ein Wlan als Variablen:

SSID = 'Wlanname'
PW = 'Passwort'

Deshalb wird sie auch nicht im Json-Format, sondern als einfaches Python-Modul erstellt.

dev_config.jason

Enthält Konfigurationsdaten für dieses Gerät. Diese sind nicht nur für den Updater, sondern für alle Programme auf diesem Gerät, die Konfigurationsdaten benötigen. Diese Datei ist individuell für jedes Gerät.

[
{
„dev_typ“: „M5ATOM Lite“,
„“: „“,
„dev_name“: „Markiese“,
„fixIP“: „192.168.5.32“
}
]

So ist es möglich ein und das selbe Script auf mehrere Geräte zu kopieren und die individuellen Daten aus der Datei zu holen.

jobs.json

Diese Datei enthält eine Liste mit Dictionaries die die Informationen enthalten, die der Updater braucht um seinen Job machen zu können:

[
{ ‚repo‘ : ‚kapest007/My-Micropython-OTA-Updater‘,
‚file‘ : ‚ota.py‘,
‚ziel‘ : ‚boot.py‘
},
{ ‚repo‘ : ‚kapest007/Markiese‘,
‚file‘ : ‚Markiese.py‘,
‚ziel‘ : ‚main.py‘
}
]

Hier sind es der Pfad zum Repo, der Filename im Repo und der Name unter dem das File im Micropython-File-System des Gerätes gespeichert werden soll.

Jeder Job hat sein eigenes Dictionary.

Damit können auch Module (Bibliotheken) in den Updateprozess aufgenommen werden.

current_versions.jason

Enthält eine Liste, die ein Dictionary mit den Namen und Versionsnummern der aktuell auf dem Gerät installierten Programmen enthält:

[
{
‚ota.py‘ : ‚v00.00.000‘,
‚Markiese.py‘ : ‚v00.00.000‘
}
]

Diese Datei wird nach einem Update vom Update-Script angepasst.

Das OTA Updater Script installieren.

Dazu wird nur die Datei ota.py unter dem Namen boot.py in das Filesystem des Gerätes kopiert.

Ein Neustart führt dann das Updater Script aus. Dabei aktualisiert sich der Updater ggf. und lädt dann automatisch das Hauptprogramm nach main.py.

Das geschieht, weil in current_versions.json die Versionsnummern v00.00.000 immer kleiner sind als die latest Version im Repo.

Du musst eingeloggt sein um eine Antwort hinterlassen zu können.