Closed sulimma closed 3 years ago
Oh ja, lass uns das angehen, es nervt. :)
Ich hab ein paar Anmerkungen:
firmware.tar
nicht löschen, sondern auch a) sich selbst b) boot.py
und c) wlan.json
nicht. a) und b) nicht, um das Risiko zu verringern, bei Problemen das Board wieder manuell in einen bootbaren Zustand zu kriegen (die Files können ja beim Auspacken des Tarballs immer noch überschrieben werden, löschen müssen wir sie dafür nicht); c) nicht, damit die WLAN-Config erhalten bleibt.Je mehr ich darüber nachdenke, desto eher wäre ich dafür, die Funktionalität zum Auspacken eines Updates direkt in die boot.py
zu schreiben. Mein Ansatz wäre folgender:
firmware.tar
existiert. Wenn ja:boot.py
, firmware.tar
und wlan.json
löschen.firmware.tar
via ampy hochladen.boot.py
via ampy hochladen.wlan.json
könnte auch aus dem Tarfile kommen.Kleines Detail: Ich würde es vielleicht ewhome.tar
nennen; unter „Firmware“ verstehe ich eher den MicroPython-Kern.
"ampy run" kopiert ein skript gar nicht in das Dateisystem des Boards sondern führt es dort nur einmalig aus. Insofern muss das Skript sich nicht selbst löschen. wlan-config nicht zu löschen finde ich sinnvoll. boot.py nicht zu löschen hat keinen Nachteil, ich erkenne aber auch den Vorteil nicht so wirklich. Eine einzelne Datei mit ampy hochzuladen wird schon irgendwie klappen.
pipenv run sync-code
Ich habe mich gerade wieder eine Stunde damit herumgeschlagen, Firmware auf das Board zu bekommen. Das sollte besser werden.
Wie wäre folgendes: Wir machen ein Python-Script das die utar-Lib enthält und folgendes tut:
Dann wäre für einen kompletten Sync nur folgene Schritte erforderlich: