Software
Hilfe! Im Stummiforum bin ich unter https://www.stummiforum.de/viewtopic.php?f=7&t=177695 für Hilfestellung erreichbar.
Update: Ich bin ein "Verzetteler" - allzugern bringe ich Dinge nicht zu Ende, weil etwas Neues ruft. So habe ich also für Franky den eigentlichen Anlagenbau vernachlässigt. Diesem widme ich mich nun wieder und Franky bleibt zwangsläufig liegen. Das Forum zeigt, dass er schon ganz gut brauchbar ist, aber auch einige Probleme noch existieren. Hier werde ich vorerst nicht helfen können, um meine Zeitressourcen zu schonen. Ich bitte um Verständnis!
Die folgende Beschreibung unterstellt Windows und eine englischsprachige Installation von VS Code (Standard). Wenn bereits VSC, PlatformIO oder Git installiert sind, können die betreffenden Schritte natürlich übersprungen werden.
Einmalig: Entwicklungsumgebung (IDE) konfigurieren
Die eigentliche IDE: VS Code
PlatformIO ist ein Plugin für Microsoft Visual Studio Code (VS Code). Daher zuerst die passende Installation von VS Code durchführen: https://code.visualstudio.com/#alt-downloads. Sowohl System Installer als auch User Installer können gewählt werden. Beim ersten steht VS Code danach allen, beim zweiten nur dem aktuellen Benutzer zur Verfügung. Dabei gemäß eigenem System die 32- oder 64bit-Variante (wenn das eigene System ein 64bit-System ist, wäre das zu bevorzugen) auswählen.
PlatformIO-Plugin
Nach Start von VS Code Ctrl-Shift-X drücken. Im Suchbereich oben PlatformIO eingeben und von den Ergebnissen PlatformIO IDE auswählen. Im sich öffnenden Bereich rechts neben dem PlatformIO-Icon (der stilisierte Ameisenkopf) die kleine Schaltfläche Install drücken. Sie wechselt dann ihre Beschriftung zu Installing. Rechts unten kann über den Fortschrittsbalken die Installation beobachtet werden. Reload Now drücken, um PlatformIO neu zu starten. Ab nun befindet sich ein PlatformIO-Icon (Ameisenkopf) links. Fertig!
Git
Alle Software ist auf GitHub gespeichert. Um sie zu erhalten, ist Git zu installieren. https://git-scm.com/download/win aufrufen, der Download sollte dabei automatisch starten. Die Installation durchführen. Die vorgeschlagenen Werte können so bestätigt werden.
Erstmalige Benutzung von VS Code
Den Project Explorer mit Ctrl-Shift-E öffnen. Die Schaltfälche Clone Repository drücken und oben im Eingabefeld https://github.com/Moba160/Franky eingeben, mit Enter bestätigen. Nun kann ein Verzeichnis gewählt werden, beispielsweise im eigenen Ordner Dokumente ein Verzeichnis Franky anlegen und dieses mit Select Repository Location auswählen. Die anschließend erscheindende Nachfrage Would you like to open the cloned repository mit Open beantworten.
Jetzt erledigt Platformio noch einige Aufgaben, zu sehen in der blauen Symbolleiste am unteren Rand in der Mitte mit zwei in sich drehenden Aktualisierungspfeilen: PlatformIO: ... Nicht alles, aber einige dieser Aufgaben wird PlatfomIO übrigens in Zukunft immer nach dem Start ausführen, praktisch heißt das, dass einige Aktionen erst nach Abschluss dieser Aufgaben möglich sind. Kommt übrigens beim Versuch des Bauens (s.o.) die Meldung command 'platformio-ide.build' not found einfach abwarten und erneut versuchen.
Das heruntergeladene Franky-PlatformIO-Projekt hat alles nötige beschrieben (nämlich in platformio.ini), z.B. welches Board (M5Stack Core) zu benutzen ist und welche Libraries benötigt werden. Beim erstmaligen Bauen erfolgt das Herunterladen aller benötigten Dateien, das kann also ein wenig länger dauern.
Ich bitte an dieser Stelle (möglicherweise) den Vergleich mit der Arduino-IDE zu ziehen, wo viele Einstellungen und Sub-Installationen durchzuführen waren - all das ist hier komplett im platformio.ini enthalten und wird automatisch ausgeführt!
Für jede neue Version: Bauen/Hochladen
Meist haben wir es nun mit der blauen Symbolleiste am unteren Bildschirmrand links zu tun.
Am einfachsten geht es, das mitgelieferte Script zu starten (die Altenative ist die ausführliche Version, weiter unten beschrieben).
Dazu
Terminal aufrufen (Symbolleiste: [>])
./franky eintippen (richtig lesen: Punkt-Schrägstrich-franky)
Hinweis: Sollte PlatformIO das Gerät nicht finden, fehlt die Treibersoftware. Diese kann unter https://m5stack-store.myshopify.com/pages/download heruntergeladen werden (CP2104-Treiber).
Ausführliche Version
In franky.bat stecken folgende einzelne Schritte, die auch - bei Bedarf - einzeln wie hier folgend beschrieben ausgeführt werden können. In der Regel, außer für die Fehlersuche, ist das nicht nötig:
Neue Version herunterladen
Terminal aufrufen (Symbolleiste: [>])
Libraries aktualisieren: pio lib update eintippen
Franky-SW aktualisieren: git pull eintippen
Hochladen auf den ESP32 (Software flashen)
Symbolleiste: ->
Je nach Umfang der Änderungen dauert der Vorgang kürzer oder länger. Am Anfang wird gebaut (das könnte auch separat durch den Haken "v" in der Symbolleiste erfolgen). Danach wird das Image auf den ESP32 geflasht.
Hochladen auf den ESP32 (Daten flashen)
Franky benutzt Dateien z.B. für die HTML-Seiten. Diese befinden sich im data/-Verzeichnis und müssen auf den ESP32 in das SPIFFS-Filesystem hochgeladen werden:
Terminal aufrufen (Symbolleiste: [>])
pio run -t uploadfs eintippen
(Dieser Schritt ist strenggenommen nur notwendig, wenn sich diese Dateien in einer neuen Franky-Version tatsächlich geändert haben. Um Fehler zu vermeiden, einfach immer hochladen.)
Jetzt ist die Franky-Software installiert und betriebsbereit. Falls zu Fehleranalysezwecken die Ausgabe der seriellen Schnittstelle beobachtet werden soll, ist das kleine Steckersymbol zu betätigen. Franky startet daraufhin neu und folgende Ausschriften sind zu sehen. Zu all dem muss natürlich Franky mit USB weiterhin verbunden sein, was für den Normalbetrieb selbstverständlich nicht erforderlich ist.
Ausblick
Es hat sich herausgestellt, dass viele die Software gar nicht verändern wollen oder können. Daher wird es - in dieser Reihenfolge - bald zwei neue Möglichkeiten geben:
OTA-Update (over the air). Das heißt soviel wie Update ohne Kabel: Man ruft künftig die Webseite von Franky auf, wählt den OTA-Menüeintrag und anschließend die neue Firmware. Sie wird dann automatisch installiert und nach dem ebenfalls automatischen Neustart ist Franky mit neuer Software betriebsbereit
Flashen. Die vorstehende Option setzt noch voraus, all die Installationsschritte der IDE und das Bauen/Upload der (zukünftig) OTA-fähigen Software gemacht zu haben, weil nur so Franky überhaupt erst OTA kann. Wenn ich besser herausbekommen und getestet habe, wie das ESP-Flashtool funktioniert, wird auch das entfallen! Dann ist nur die Flashsoftware erforderlich sowie die Firmware, und damit kann ein brandneuer M5Stack Core mit Franky versehen werden. Alle weiteren Updates können ebenso oder eben wieder über OTA erfolgen. Hilfe gesucht: Zweckdienliche Hinweise von Flashtool-Erfahrenen willkommen (meine Fragen sind: muss ich immer alle Partitions flashen und wenn ja, wo in PlatformIOs Build wären die, oder genügt die Programmpartition).