M5Stack Core2 Update und Info [kein Support]

Fortsetzung von

Aktuelle Bibliotheken

https://www.arduino.cc/reference/en/libraries/websockets


Update 08.03.2021 Version 07.4.1
Link zum sketch

  • homee wird jetzt per User ID und Passwort eingebunden.
    es wird kein Token benötigt. Sollten mehrere Stacks genutzt werden so muss
    die DeviceId im Sketch geändert werden -> auf der Sha512 Seite zu finden.
  • Luftdaten.info sind nur über den Sketch einstellbar ( Sensor ID )
  • Achtung es muss die Crypto Lib und die base64 Lib installiert werden

Vielen Dank an @danil für die Zuarbeit im SHA512 Bereich.

Update 19.02.2021 Version 0.7.2
Link zum Sketch

  • In der WebUi muss nun nicht mehr die Attribut ID eingegeben werden.
    diese zieht sich der M5Stack jetzt selber. Nach einer Änderung der Node ID
    sollte der M5 neugestartet werden.
  • Der Temperatur ID ist jetzt nur noch die Node ID
  • Die HG Funktion ist in dieser Version nicht vorhanden und wird nachgepflegt.
    Hier gibt es leider kleiner Fehler die noch beseitigt werden müssen.

Update 12.02.2021 Version 0.7.1
Link zum Sketch

  • Fehler beim speichern der Daten behoben
  • neue HG Funktion ( Beta nur auf Button 1 im 6er Buttonfeld)
    Bitte immer komplette Felder ( Button , Wlan oder homee) speichern.

Update 10.02.2021 Version 0.7
Link zum Sketch

  • neu WebUi
  • neu Button Anzahl wählbar 1, 2, 4 oder 6
  • homee Debug Mode auf Seite 4 und im Seriellen Monitor

Update 07.02.2021 Version 0.4

  • Debugmodus auf der Seite 4

Link zum Sketch

Die Installationshinweise vom oberen Link bitte auch beachten.

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Anleitung für die Installation und Verwendung der benötigten Arduino IDE.
Beispiel anhand der deutschen Windows-Version. (von @BetaTobi)

0. Arduino IDE Installation - Deltas für Mac-User:

(@hblaschka - 12.02.2021): Nachfolgend findet sich die tolle und vollständige Anleitung von @BetaTobi mit einem Fokus auf Windows-User. Für Mac-User gibt es einige kleine Unterschiede, welche nachfolgend (in Englisch) komplett hier beschrieben sind:
https://docs.m5stack.com/#/en/quick_start/m5core/m5stack_core_get_started_Arduino_MacOS

Diese Deltas sind (im wesentlichen):

  • Unter Systemeinstellungen / Sicherheit / Allgemein muss der App-Download für App Store und verifizierte Entwickler erlaubt sein (notfalls über das Schloss links unten und das Admin-Passwort aktivieren)
  • Überprüft gem. der oben verlinkten Anleitungen (bei via USB&USB-C verbundenem Gerät) ob der Treiber richtig installiert wurde. Dazu im Terminal ein ls /dev/tty* eingeben und bei der Ausgabe anschauen ob in der Ausgabe /dev/tty.SLAB_USBtoUART erscheint.
  • Derselbe Befehl OHNE das angesteckte Gerät sollte dazu führen, dass das o.g. Gerät bei der Eingabe desselben Befehls NICHT mehr erscheint (damit habt Ihr das Gerät identifiziert, welches Ihr später in der IDE auswählt (in Tobis Beispiel unten COM5, bei uns Apple-Usern halt systembedingt anders).
  • Anders als bei Tobi nachfolgend beschrieben, finden sich die Voreinstellungen bei der Mac-Version der Arduiono IDE nicht unter Datei, sondern unter Arduiono / Einstellungen dort unter Zusätzliche Boardverwalter-URL die u.g. URL einpasten und mit OK bestätigen.
  • Um die unter Punkt 8. genannten Libraries zu installieren ist es wichtig zu wissen, dass diese auf dem Äpfelchen im Dokumente-Ordner des Users finden, unter dem Ihr die Arduino IDE installiert habt. Im Finder also Dokumente / Arduino / Libraries / und im File-System /Users/USERNAME/Documents/Arduino/libraries/(wobei USERNAME=Name des Users mit dem die IDE installiert wurde)
  • Die manuell herunterzuladenden Bibliotheken können wir aber deutlich eleganter herunterladen als Windows-User, wenn wir zuvor die Comand Line Tools und HomeBrew installiert haben (wie das geht findet sich hier: https://ifreaky.net/so-installierst-du-wget-unter-os-x/
    Danach reicht es ein wget richtige Release-URL der oben verlinkten Bibliothek (wenn wir uns im o.g. Verzeichnis befinden) und das gesamte Repository wird mit dem richtigen Namen komplett heruntergeladen.
  • Der Rest ist weitgehend gleich.

1. Arduino IDE Download:
Die Arduino IDE kann hier heruntergeladen werden (offizielle Seite):

https://www.arduino.cc/en/software

Die Software läuft auf Windows, Linux und Mac.
Einen Web-Editor gibts auch.

Ob ihr die Software installiert oder als Stand-Alone-Version betreibt, macht keinen Unterschied.

2. Erster Start und Einstellung der Software:

Beim ersten Start der Software seht ihr folgendes Fenster:

Jetzt müsst ihr zuerst in die „Voreinstellungen“ wechseln (im Menü „Datei“).

Dort klickt ihr bei „Zusätzliche Boardverwalter-URLs“ auf den Button ganz rechts.

Und fügt im sich öffnenden Fenster die folgende URL hinzu:

https://dl.espressif.com/dl/package_esp32_index.json

Es können auch mehrere URLs angegeben sein, eine URL pro Zeile.

image

Danach schließt ihr die Fenster jeweils mit „OK“.

3. Board auswählen:

Als nächstes wählt ihr im Menü „Werkzeuge“ über „Board“ zu „Boardverwalter“.

Dort sucht ihr nach „esp32“ und klickt anschließend auf „Installieren“.

Nach erfolgreicher Installation könnt ihr dieses Fenster wieder „Schließen“.

Jetzt könnt ihr das gewünschte Board auswählen, indem ihr über das Menü „Werkzeuge“ und „Board“ den Eintrag „ESP32 Arduino“ auswählt, und anschließend das genaue Modell „M5Stack-Core-ESP32“ auswählt.

4. M5Stack Core2 anschließen:

Ihr könnt jetzt euren M5Stack Core2 mit dem USB-Kabel mit dem Computer verbinden (kann man auch schon vorher machen). Eventuell müsst ihr kurz warten, bis die Treiber installiert wurden (geht bei Windows automatisch).

5. Anschluss wählen:

Jetzt könnt ihr den „Port“ auswählen, über den euer M5Stack Core2 mit eurem Computer verbunden ist. Dazu geht ihr ins Menü „Werkzeuge“ über den Eintrag „Port“ und wählt den entsprechenden Port aus. In diesem Beispiel ist es COM5, aber es kann auch ein anderer sein. Normalerweise steht dort auch nur ein Port (der richtige) zur Auswahl.

6. Andere allgemeine Einstellungen für den M5Stack Core2

Normalerweise sind die automatisch ausgewählten Voreinstellungen für euer Board korrekt. Falls doch mal etwas nicht funktionieren sollte (oder ihr wild rumgeklickt und alles verstellt habt :slight_smile: ), könnt ihr im Menü „Werkzeuge“ im grün markierten Bereich noch einige Einstellungen vornehmen.

7. Notwendige Libraries über die Arduino IDE installieren:

Wenn ihr die neuste Arduino Version verwendet, sind einige Libraries bereits vorinstalliert bzw. vorhanden. Aber einige Libraries müsst ihr zwingend zusätzlich installieren.
Nachfolgend sind die Libraries aufgeführt, die ihr direkt über die Arduino IDE installieren könnt.

Die vollständige Liste der benötigten Libraries findet ihr weiter oben.

Um die nötigen Libraries für den Code zu installieren, geht ihr wie folgt vor:
Im Menü „Werkzeuge“ wählt ihr den Eintrag „Bibliotheken verwalten…“ aus.

Im sich öffnenden Fenster sucht ihr jetzt nacheinander nach den oben gelisteten Libraries und installiert diese.

Das wären:

arduinojson

websockets

ntpclient

8. Libraries manuell herunterladen und installieren.

Einige Libraries könnt ihr nicht über die Arduino IDE installieren.
Diese müssen manuell heruntergeladen und installiert werden.

Die vollständige Liste der benötigten Libraries findet ihr weiter oben.

Nachfolgend soll das manuelle Herunterladen und Installieren anhand der M5Core2-Library dargestellt werden.

Zunächst müsst ihr im Ordner „libraries“ einen neuen Ordner mit dem Namen der benötigten Library erstellen. In diesem Beispiel lautet der Name „M5Core2“.

Falls ihr den Speicherort nicht kennt, findet ihr den Eintrag in den Einstellungen der Arduino IDE.
Klickt dazu im Menü „Datei“ auf den Eintrag „Voreinstellungen“. Dort steht ganz oben der „Sketchbook-Speicherort“.
Innerhalb dieses Ordners findet ihr auch eure selbst installierten Libraries im Unterordner „libraries“.

Dann ladet ihr euch die benötigte Library herunter.
Die vollständige Liste der benötigten Libraries findet ihr weiter oben.

Für die M5Core2-Library ist der Link wie folgt:

Anschließend entpackt ihr alle Dateien in das leere M5Core2-Verzeichnis.

Jetzt kann diese Library innerhalb der Arduino IDE verwendet werden.

9. Programm-Code herunterladen und öffnen:

Den Programm-Code könnt ihr euch von GitHub herunterladen.
Bitte informiert euch oben im Wiki welche Version die aktuellste oder empfohlene ist.
Der allgemeine Link ist hier:

Ihr könnt den gesamten Code herunterladen und in eurem Arduino-Verzeichnis hineinkopieren.
Wo genau euer Arduino-Verzeichnis liegt, hängt von eurer Installation ab. Ihr könnt den Pfad aber auch in den Einstellungen der Arduino IDE ändern bzw. einstellen.

Bitte erstellt für den gesamten Code ein separates Verzeichnis, das auch den gleichen Namen wie der „Hauptcode“ hat.
In diesem Beispiel ist der Dateiname des „Hauptcodes“ dieser hier: M5homeeWebUi0.7.1.ino
Und diese Dateien und alle zugehörigen Dateien und Unterverzeichnisse liegen im Ordner „M5homeeWebUi0.7.1“.

Jetzt könnt ihr das Programm laden (Doppelklick auf den Dateinamen) oder direkt über die Arduino IDE öffnen.

Das Ganze sollte dann so aussehen:

10. Code kompilieren:

Zunächst solltet ihr den Code kompilieren um generelle Fehler oder fehlende Libraries auszuschließen.
Dazu klickt ihr ganz oben links auf das Symbol mit dem kleinen Haken (überprüfen).

image

Jetzt dauerts eine Weile. Nicht ungeduldig werden :slight_smile:
Es gibt einen Fortschrittsbalken am rechten unteren Rand des Fensters.

Wenn alles geklappt hat, bekommt ihr im unteren schwarzen Statusfenster eine positive Anzeige, wie diese hier:

11. Code auf M5Stack Core2 laden:

Wenn ihr den Code erfolgreich kompilieren konntet, dann könnt ihr den Code jetzt auf den M5Stack Core2 hochladen.

Ihr könnt alle nötigen Daten auch später in der Web-UI eingeben.
Diese werden anschließend permanent gespeichert.

Um den Code hochzuladen, klickt ihr auf den kleinen Pfeil links oben.

Jetzt heißt es wieder warten… :slight_smile:
Aber auch beim Hochladen kann man den Fortschritt anhand des Balkens (rechts unten) und des Textes im schwarzen Statusfenster sehen.

Wenn alles geklappt hat, bekommt ihr die Meldung, dass das „Hochladen abgeschlossen“ ist und die Statusmeldung „Hard resetting via RTS pin…“.

Das bedeutet, dass ihr euren M5Stack Core2 jetzt neustarten müsst/sollt, damit alle Änderungen (am Code) übernommen werden.

Fertig :slight_smile:

12. Erstes Starten des M5Stack Core2 und verbinden mit Web-UI:

Wenn ihr den M5Stack Core2 das erste Mal startet, erzeugt dieser einen eigenen AP (es wird also ein eigenes WLAN erstellt).
Mit diesem WLAN müsst ihr euch verbinden (mit eurem PC, Notebook, Tablet, Handy…).
Der Name dieses WLANs hängt von eurem M5Stack ab, aber es wird ziemlich sicher „ESP“ im Namen stehen.
Es kann manchmal etwas dauern, bis das WLAN gefunden wird.

Screenshot 2021-02-12 203334

Für die Verbindung mit diesem WLAN benötigt ihr kein Passwort.
Sobald ihr euch verbunden habt, gebt ihr im Browser die folgende IP-Adresse ein:
192.168.4.1

Daraufhin wird euch die Web-UI angezeigt.

Dort gebt ihr in der ersten Zeile die SSID und das PW „eures“ WLANs zuhause ein.
Und dann klickt ihr auf „Speichern“.

Anschließend startet ihr den M5Stack Core2 neu und verbindet euren Computer wieder mit eurem „normalen“ WLAN (also mit dem WLAN, dessen SSID und Passwort ihr grade in der Web-UI eingegeben habt).

Jetzt verbindet sich der M5Stack Core2 mit eurem WLAN und ihr könnt die Web-UI über dessen IP-Adresse erreichen.
Die IP-Adresse des M5Stack Core2 könnt ihr entweder in eurem Router auslesen oder ihr aktiviert den „Seriellen Monitor“ der Arduino IDE, wenn ihr den M5Stack noch per USB-Kabel verbunden habt.

Anschließend könnt ihr über die Web-UI die restlichen Daten eingeben, also z.B.:

  • Lokale IP-Adresse eures homees
  • Token für den Zugang zu eurem homee
  • Namen und IDs eurer Geräte, die ihr abfragen wollt

Geänderte Einträge bitte jeweils mit „Speichern“ bestätigen.

13. Fertig eingerichteter M5Stack Core2:

Beim nächsten Neustart des M5Stack Core2 könnt ihr diesen jetzt vollständig nutzen.
Da die Updates im Quellcode schneller eingearbeitet werden, als hier dokumentiert werden kann :slight_smile: , wird auf eine gesonderte Beschreibung der Funktionen verzichtet.

Exemplarisch wird hier nur auf die unten dargestellten Bilder verwiesen, wie es denn „generell aussehen sollte“.
Wichtig ist, dass der „Link“ (Kettengliedsymbol) unten rechts nicht „gebrochen“ dargestellt wird.
Ansonsten hättet ihr nämlich keine Verbindung zu eurem homee.

Es kann auch mal ein paar Sekunden dauern, bis die Werte alle dargestellt werden, also wieder nicht direkt ungeduldig werden :slight_smile:

15 „Gefällt mir“

@Micha - Ich habe Dir aus dem Post mal ein Wiki gemacht, damit ist sichergestellt, dass Du den initialen Post immer wieder editieren kannst.

Ich würde empfehlen, dass Du bei Releases dann immer den Post (mit Datumshinweis) editierst und dann darunter noch mal einen separaten Hinweis auf den Release mit Verweis auf den Eingangspost postest. So hatten wir damals am Ende bei homeean sichergestellt, dass für Newbies immer die aktuellsten Informationen oben sind.

Ansonsten guck ich mal, dass ich (wenn ich zu viel Zeit habe) einen Artikel zur Installation für Newbies schreibe, sobald ich meinen M5Stack Core2 bekommen habe.

8 „Gefällt mir“

Danke @BetaTobi - Du hast das ja schon alles gemacht (bin ich ja gar nicht gewohnt, dass hier mal Leute Dinge anständig dokumentieren) :wink:

Ich hab oben (oberhalb Deiner super Beschreibung) noch die Deltas für Mac-User festgehalten, damit sollten auch die Apfel-Fans zum Ziel kommen.

3 „Gefällt mir“

Na danke :crazy_face::wink:

4 „Gefällt mir“

:smile: :see_no_evil:

3 „Gefällt mir“