Einführung
Erstes Treffen M5Stack Core2
Der M5Stack Core2 unterstützt mehrere Programmierplattformen wie Arduino, MicroPython, und M5Stack UIFlow, was es vielseitig für verschiedene IoT-Projekte macht, einschließlich Smart-Home-Geräten, Bildungstools und Rapid Prototyping. Sein modulares Design ermöglicht eine einfache Erweiterung mit anderen M5Stack-Modulen, wodurch seine Funktionalität für vielfältige Anwendungen verbessert wird.
Hauptmerkmale und Fähigkeiten
Prozessor
Dual-Core ESP32-D0WDQ6-V3, läuft mit bis zu 240MHz.
Erinnerung
-
16 MB Flash-Speicher
-
8 MB PSRAM
Drahtlose Konnektivität
-
WLAN 802.11 b/g/n
-
Bluetooth 4.2 BLE
Benutzeroberfläche
-
6 programmierbare Touch-Tasten
-
Vibrationsmotor für haptisches Feedback
Sensoren
-
6-Achsen-IMU (MPU6886) für Beschleunigungs- und Gyroskopdaten
Audio
-
Integrierter Lautsprecher
-
I2S digitale Audio-Schnittstelle
Energieverwaltung
-
AXP192 PMU für Batteriemanagement
-
Unterstützt USB Typ-C Laden
-
Eingebaute LiPo-Batterie
Echtzeituhr
-
Echtzeituhr für genaue Zeitmessung
Hauptinhalt dieses Artikels
Das Hauptziel dieses Artikels ist es, einen umfassenden Überblick über das M5Stack Core2 zu geben, ein innovatives IoT-Entwicklungskit basierend auf dem ESP32-Mikrocontroller. Wir beabsichtigen:
-
Informieren Sie die Leser über die Hardwarespezifikationen, einschließlich der Rechenleistung, des Speichers, der Konnektivitätsoptionen und der integrierten Sensoren.
-
Heben Sie einzigartige Merkmale wie die Touchscreen-Oberfläche, haptisches Feedback und das modulare Design hervor, das eine Projekterweiterung ermöglicht.
-
Führen Sie Benutzer durch die verschiedenen Programmierumgebungen (Arduino, MicroPython, UIFlow), die vom M5Stack Core2 unterstützt werden, und bieten Sie Einblicke, welche für verschiedene Arten von Projekten am besten geeignet sein könnten.
-
Demonstrieren Sie potenzielle Anwendungen, indem Sie reale Beispiele zeigen, bei denen der M5Stack Core2 eingesetzt werden kann, von Bildungswerkzeugen bis hin zu Smart-Home-Geräten.
-
Unterstützen Sie Hobbyisten, Pädagogen und Fachleute bei der Entscheidungsfindung, die dieses Gerät für ihre IoT-Projekte in Betracht ziehen, indem Sie seine Stärken, Einschränkungen und den Vergleich mit anderen ähnlichen Plattformen erläutern.
Am Ende dieses Artikels werden die Leser ein umfassendes Verständnis davon haben, was der M5Stack Core2 bietet, wie sie seine Fähigkeiten nutzen können und ob er ihren spezifischen Anforderungen im Bereich der IoT-Entwicklung entspricht.
Was ist M5Stack Core2?
Detaillierte Erklärung des M5Stack Core2
Der M5Stack Core2 ist ein fortschrittliches IoT-Entwicklungskit auf ESP32-Basis, das sowohl für Anfänger als auch für erfahrene Entwickler konzipiert ist. Es verfügt über einen Dual-Core-ESP32-D0WDQ6-V3-Prozessor mit bis zu 240 MHz, mit integrierten WiFi- und Bluetooth-Funktionen. Dieses Kit enthält 16 MB Flash-Speicher und 8 MB PSRAM für verbesserte Leistung.
Zu den wichtigsten Merkmalen des Core2 gehören ein 2-Zoll-Kapazitiv-Touchscreen, der eine intuitive Benutzerinteraktion ermöglicht, programmierbare Touch-Tasten und ein integrierter Vibrationsmotor für haptisches Feedback. Es verfügt außerdem über ein integriertes RTC (Echtzeituhr)-Modul für genaue Zeitmessung, und das Energiemanagement wird vom AXP192-Chip übernommen, der den Batterieverbrauch effizient steuert. Weitere Funktionen sind ein Lautsprecher, eine I2S-Digital-Audioschnittstelle für klaren Soundausgang und ein 6-Achsen-IMU-Sensor auf der Rückseite zur Bewegungserkennung.
Anwendbare Gruppen
Hobbyisten und Heimwerker
Personen, die sich für Elektronik, Robotik und IoT-Projekte begeistern und nach einer All-in-One-Lösung zum Experimentieren suchen.
Lehrkräfte und Studierende
Lehrkräfte, die nach ansprechenden Werkzeugen für den Unterricht in Programmierung, Elektronik und IoT-Konzepten suchen, sowie Schüler, die diese Fächer lernen.
IoT-Entwickler
Fachleute oder Enthusiasten, die IoT-Lösungen entwickeln und eine kompakte, leistungsstarke Plattform mit umfangreichen Konnektivitätsoptionen benötigen.
Hersteller und Hackerspaces
Gemeinschaften oder Einzelpersonen, die an Maker Fairs, Hackathons oder kollaborativen Räumen beteiligt sind, in denen schnelles Prototyping entscheidend ist.
Produktdesigner
Diejenigen, die neue intelligente Geräte prototypisieren oder IoT in bestehende Produkte integrieren und eine vielseitige Plattform für Entwicklung und Test benötigen.
Künstler und interaktive Installationen
Kreative, die Technologie nutzen, um Kunstinstallationen oder interaktive Ausstellungen mit Sensoren, Displays und Konnektivität zu verbessern.
Unterschied zwischen M5Stack Core2 und M5Stack Core2 V1.1
Besonderheit | M5Stack Core2 | M5Stack Core2 V1.1 |
Energieverwaltung | AXP192-Chip | AXP2101 + INA3221 (Aufgerüstet Leistungs-IC) |
Leuchtanzeige Farbe | Grün | Blau |
RTC (Echtzeituhr) | Eingebaut, aber keine eigene Batterie für RTC |
Enthält eine eigene Batterie für RTC zur Zeitmessung, wenn ausgeschaltet |
USB-Chip | CH9102F | Gleich, aber die Treiberinstallation könnte unterscheiden sich aufgrund der Hardware-Version |
Allgemeines Design | Klassisches Core2-Design | Iterative Version mit derselben Formfaktor, aber aktualisierte Innereien |
Kompatibilität | Kompatibel mit M5GO Bottom für zusätzliche Funktionen | Kompatibilität mit Modulen könnte erfordert das Entfernen oder die Verwendung eines bestimmten Bottom2 für volle Funktionalität |
Programmierumgebung | Unterstützt Arduino, MicroPython, UIFlow | Gleiche Unterstützung, keine Änderung in Programmierumgebung |
Touch-Screen | 2-Zoll kapazitiver Touchscreen | Gleich, ohne Änderung im Bildschirm Spezifikationen |
Vibrationsmotor | Inklusive haptischem Feedback | Inbegriffen, keine Änderung |
Speicher und Prozessor | ESP32-D0WDQ6-V3, 16MB Flash, 8 MB PSRAM |
Gleiche Spezifikationen |
M5Stack Core2 Hardware
M5Stack Core2 Bildschirmgröße und Auflösung
-
Bildschirmgröße: 2 Zoll
-
Auflösung: 320 x 240 Pixel
M5Stack Core2 Prozessor, Speicher und Speicherplatz
-
Prozessor: Dual-Core ESP32-D0WDQ6-V3, arbeitet mit bis zu 240 MHz.
-
Erinnerung:RAM: 8MB PSRAM (Pseudo-Statischer RAM)
-
Lagerung:Flash-Speicher: 16 MB
Konnektivitätsoptionen
-
WiFi: 802.11 b/g/n, ermöglicht drahtlose Netzwerke für IoT-Projekte.
-
Bluetooth: Version 4.2 BLE (Bluetooth Low Energy), für energiearme, kurzreichweitige drahtlose Kommunikation.
Sensoren und Peripheriegeräte
Sensoren
-
6-Achsen-IMU (Trägheitsmesseinheit):Kombiniert einen 3-Achsen-Beschleunigungssensor und ein 3-Achsen-Gyroskop zur Bewegungserfassung. Es verwendet den MPU6886-Sensor, der Daten für Orientierung, Beschleunigung und Rotation liefert.
Diese Sensoren sind die primären, die im M5Stack Core2 eingebaut sind. Das Design des Geräts ermöglicht jedoch eine Erweiterung durch verschiedene M5Stack-Module und GROVE-Anschlüsse, die zusätzliche Sensoren hinzufügen können wie:
Temperatursensoren
Feuchtigkeitssensoren
Lichtsensoren
Näherungssensoren
Drucksensoren
Magnetfeldsensoren (Kompass)
usw.
Peripheriegeräte
-
Programmierbare Touch-Tasten:Der Bildschirm verfügt über drei kapazitive Touch-Tasten, die für verschiedene Funktionen oder Benutzereingaben programmiert werden können.
-
Mikrofon:Ein eingebautes Mikrofon ermöglicht die Tonerkennung oder Sprachsteuerungsfunktionen.
-
Lautsprecher:Integriert für Audioausgabe, nützlich für Alarme, Benachrichtigungen oder Musikwiedergabe.
-
Vibrationsmotor:Bietet haptisches Feedback und verbessert die Benutzerinteraktion in Anwendungen wie Spielen oder Benachrichtigungen.
-
RTC (Echtzeituhr):Ein integriertes RTC-Modul zur Zeiterfassung, auch wenn das Gerät ausgeschaltet ist, um eine genaue Zeitmessung für Zeitplanung oder zeitbasierte Vorgänge zu gewährleisten.
-
Leistungsmanagement-IC (PMIC):Der AXP192-Chip verwaltet die Stromverteilung, das Batterieladen und die Spannungsregelung, was entscheidend für die Aufrechterhaltung der Effizienz und die Verlängerung der Batterielebensdauer ist.
-
USB-Typ-C-Anschluss:Für Stromversorgung, Programmierung und Datenkommunikation. Es unterstützt USB OTG zum Anschluss externer Geräte wie Tastaturen oder Mäuse in einigen Konfigurationen.
-
MicroSD-Kartensteckplatz:Ermöglicht zusätzlichen Speicher, ideal für das Protokollieren von Daten, das Aktualisieren der Firmware oder das Speichern von Medien.
Stromversorgung und Akkulaufzeit
Stromversorgung
-
Eingangsspannung: 5V über USB-C-Anschluss zum Laden und zur Stromversorgung des Geräts.
-
Stromversorgung: Die Stromversorgung wird im ursprünglichen Core2 vom AXP192-Chip und im Core2 V1.1 vom AXP2101 + INA3221 verwaltet, was eine effiziente Steuerung des Stromverbrauchs ermöglicht.
-
Batterieladung: Unterstützt das Laden über den USB-C-Anschluss, mit der Möglichkeit externer Stromversorgungsoptionen über bestimmte Pins, wenn diese korrekt konfiguriert sind.
Batterie
-
Batterie enthalten: Ein 390mAh LiPo-Akku ist im Core2 eingebaut und liefert Strom, wenn keine externe Quelle angeschlossen ist.
-
Batterieerweiterung: Für eine längere Batterielaufzeit können Benutzer externe Batteriemodule wie das M5GO Bottom2 (das eine zusätzliche 500mAh-Batterie enthält) hinzufügen oder mehrere Batteriemodule stapeln, da sie parallel geschaltet werden können.
Akkulaufzeit
-
Nutzungsdauer: Die Akkulaufzeit variiert erheblich je nach Nutzung.Leerlauf- oder Energiesparmodi: Mit ausgeschaltetem Bildschirm und im Energiesparmodus kann es je nach Häufigkeit des Aufwachens oder der verwendeten Schlafmodus-Tiefe Stunden oder sogar Tage durchhalten.Aktive Nutzung: Bei eingeschaltetem Bildschirm und aktiv laufenden Programmen, insbesondere solchen, die WiFi oder Bluetooth verwenden, kann die Akkulaufzeit je nach Faktoren wie Bildschirmhelligkeit, Sensornutzung und Prozessorbelastung von einigen Stunden bis zu etwa 5-6 Stunden betragen.
-
Schlafmodi: Der Tiefschlafmodus des ESP32 kann die Batterielebensdauer erheblich verlängern, möglicherweise für Wochen oder Monate, wenn das Gerät nur gelegentlich aufwachen muss, zum Beispiel für die Datenprotokollierung oder periodische WiFi-Überprüfungen.
-
Verbesserungen: Nutzer berichten häufig, dass sie die Akkulaufzeit durch Softwareoptimierungen verlängern können, wie zum Beispiel das Abdunkeln des Bildschirms, die Reduzierung der Sensorabfrageraten oder die Verwendung effizienter Energiemanagementstrategien wie den Tiefschlaf für inaktive Phasen.
Zusätzliche Hinweise
-
Stromanzeige: Es gibt eine eingebaute LED (grün im Original, blau in V1.1), die den Stromstatus anzeigt und für benutzerdefinierte Benachrichtigungen programmiert werden kann.
-
RTC-Batterie: Im Modell V1.1 gibt es eine zusätzliche kleine Batterie für die RTC, die die Zeitmessung sicherstellt, selbst wenn die Hauptbatterie entladen oder entfernt ist.
Software und Entwicklung
Unterstützte Programmiersprachen
-
C/C++ (verwendet mit Arduino IDE)
-
Python (MicroPython-Version für ESP32)
-
JavaScript (für bestimmte webbasierte Anwendungen, keine direkte Geräteprogrammierung, kann aber über Webschnittstellen oder node-red interagieren).
Unterstützte Programmierplattformen
-
Arduino: Dies ist eine der beliebtesten Plattformen für den ESP32. Die Arduino IDE mit ESP32-Unterstützung ermöglicht es Ihnen, Code in C/C++ zu schreiben und auf den M5Stack Core2 hochzuladen.
-
MicroPython: Eine Implementierung von Python 3 für Mikrocontroller, MicroPython eignet sich gut für diejenigen, die die Syntax von Python bevorzugen. Es bietet eine interaktive REPL (Read-Eval-Print Loop) für sofortiges Testen von Code, was es besonders bildungsfreundlich macht.
-
UIFlow: Dies ist M5Stacks eigene visuelle Programmiersprache oder blockbasierte Programmierumgebung, ähnlich wie Scratch oder Blockly. Sie ist sehr benutzerfreundlich gestaltet und ermöglicht es Ihnen, den Core2 durch das Verbinden von Blöcken, die Codefunktionen darstellen, zu programmieren. UIFlow kann im Hintergrund MicroPython- oder Arduino-Code generieren, der dann weiter bearbeitet oder direkt verwendet werden kann.
Jede dieser Umgebungen bietet unterschiedliche Vorteile:
-
Arduino bietet eine traditionellere Programmiererfahrung für Mikrocontroller mit Zugang zu einem umfangreichen Ökosystem von Bibliotheken.
-
MicroPython erleichtert Anfängern oder Python-Enthusiasten den Einstieg in die Hardware-Programmierung und bietet ein besser lesbares und interaktives Programmiererlebnis.
-
UIFlow ist ausgezeichnet für schnelles Prototyping, Bildung oder für diejenigen, die möglicherweise nicht über umfangreiche Programmierkenntnisse verfügen, aber funktionale IoT-Geräte erstellen möchten.
Diese Plattformen schließen sich nicht gegenseitig aus; Sie können mit einer beginnen und zu einer anderen wechseln oder eine weitere für verschiedene Aspekte Ihres Projekts verwenden, um deren einzigartige Funktionen entsprechend Ihren Entwicklungsanforderungen zu nutzen.
Entwicklungsumgebung einrichten
Arduino IDE installieren
Besuchen Sie Arduino.cc und klicken Sie auf Software, oder Sie können auf HIER. klicken
Laden Sie die Arduino IDE herunter und installieren Sie sie.
Installation der Board-Verwaltung
Die Board-Manager-URL wird verwendet, um die Informationen der Entwicklungsplatine für eine bestimmte Plattform zu indexieren. Wählen Sie im Arduino-IDE-Menü Datei -> Einstellungen

Kopieren Sie die M5Stack Board-Management-URL unten in das Feld Zusätzliche Board-Manager-URLs: einfügen, und speichern.

Wählen Sie in der Seitenleiste Board Manager aus, suchen Sie nach M5Stack und klicken Sie Installieren

Auswahl des Entwicklungsboards
Je nach verwendetem Produkt wählen Sie das entsprechende Entwicklungsboard unter Werkzeuge -> Board -> M5Stack -> {Product Name} aus.

Schnellstartanleitung für M5Stack UIFlow 2.0 Web IDE
Was ist M5Stack UIFlow
UIFlow2 ist eine benutzerfreundliche grafische Programmier-IDE, die nahtloses drahtloses und kabelgebundenes Programm-Pushen, Programm-Klick-und-Ausführen-Funktionalität bietet und somit wiederholte Kompilierungen überflüssig macht. Sie integriert sich nahtlos mit über 100 M5 Hardware-Peripheriegeräten und Sensoren, was eine mühelose Hinzufügung und Erweiterung mit einem einzigen Klick ermöglicht. Diese Funktion unterstützt den Aufbau von Produktprototypen und beschleunigt den Entwicklungsprozess, was letztlich zu erhöhter Produktivität und Effizienz führt. In diesem Tutorial zeigen wir, wie man die UIFlow 2.x Version Firmware auf Ihrem M5Stack-Gerät aufspielt und die UIFlow Web IDE für die Sekundärentwicklung des Produkts verwendet.
Bevor Sie mit UIFlow programmieren, sind einige vorbereitende Schritte erforderlich:
-
Installieren Sie das Firmware-Brennprogramm M5Burner.
-
Verwenden Sie M5Burner, um die Firmware für das entsprechende Gerät zu brennen, melden Sie sich bei Ihrem Konto an und konfigurieren Sie die Wi-Fi-Verbindung für das Gerät.
-
Öffnen Sie die UIFlow Web IDE Version 2.0, wählen Sie die entsprechende Online-Geräteoption aus und klicken Sie auf Verbinden.
-
Ziehen Sie Blöcke per Drag & Drop, um das Programm zu bearbeiten, und klicken Sie auf die Schaltfläche "Ausführen", um das Programm zu debuggen.
Zusätzliche Informationen:
M5Burner ist ein einheitliches Firmware-Brennwerkzeug, das von M5Stack eingeführt wurde. Es ermöglicht Benutzern, die UIFlow-Firmware einfach zu brennen und während des Brennvorgangs Konfigurationsinformationen wie Wi-Fi-Einstellungen zu schreiben.
Installieren Sie M5Burner
M5Stack Community-Konto
Um auf die M5Burner- und UIFlow 2.0/1.0-Software zuzugreifen, müssen Sie ein M5Stack Community-Konto registrieren. Bitte beachten Sie, dass dieses Konto auch zum Anmelden auf der M5Burner- und UIFlow 2.0/1.0-Anmeldeseite verwendet werden kann. Um ein M5Stack Community-Konto zu registrieren, klicken Sie bitte auf die Schaltfläche „Registrieren“ in der M5Burner-Software, der UIFlow 2.0/1.0-Software oder der Webversion.
Firmware brennen & Programme ausführen
USB-Treiberinstallation
Portauswahl
Um das Gerät mit dem Computer zu verbinden, verwenden Sie bitte ein USB-Kabel. Klicken Sie dann in M5Burner auf die Schaltfläche Burn für die entsprechende Firmware. Anschließend müssen Sie die Wi-Fi-Informationen eingeben und den richtigen Geräteport auswählen.

Brennen von Firmware
Verbinden Sie das Gerät über ein USB-Kabel mit dem Computer, wählen Sie die Schaltfläche "Burn" für die entsprechende Firmware in M5Burner aus und füllen Sie die Wi-Fi-Konfiguration aus, mit der das Gerät vorverbunden ist, einschließlich Wi-Fi SSD und Wi-Fi Passwort, sowie andere Geräteeinstellungen, die hinzugefügt oder geändert werden müssen.


Öffnen Sie UIFlow
Klicken https://uiflow2.m5stack.com, öffnen Sie die M5Stack UIFlow 2.0
Klicken Sie auf die Geräteleiste in der unteren rechten Ecke, so finden Sie Ihr neues Gerät:


Sie können M5Stack UIFlow jetzt normal verwenden.
Bibliotheken und SDKs
Bibliotheken
SDK
Wie man M5Stack mit der Arduino IDE verbindet
Verbinden Sie Ihren M5Stack Core2 mit Ihrem Computer.
Öffnen Sie die Arduino IDE, klicken Sie auf Werkzeuge-Board-M5Stack-M5Core2

Wählen Sie den richtigen Port, ändern Sie Ihre Upload-Geschwindigkeit auf 1500000

Grundlegende Programmierbeispiele
Klicken Sie auf Datei-Beispiele-M5Core2, dort finden Sie die grundlegenden Programmierbeispiele.
Wenn Sie die Überprüfung abgeschlossen haben, können Sie den Code in Ihren M5Stack Core2 hochladen.

Auspacken und Einrichten
Lieferumfang
-
1x Core2 V1.1
-
1x Typ-C USB (20 cm)
-
1x INBUSSCHLÜSSEL

Die Rückseite des M5Stack Core2 verfügt über die folgenden Hauptkomponenten:
-
ESP32-basiert mit integriertem Wi-Fi
-
16M Flash und 8M PSRAM
-
-
Eingebauter Lautsprecher, Stromanzeige, Vibrationsmotor, RTC, I2S-Verstärker, Einschalttaste.
-
TF-Kartensteckplatz (bis zu 16GB)
-
Eingebaute Lithiumbatterie mit Energiemanagement-Chip
-
Unabhängige kleine Platine mit einem 6-Achsen-IMU und PDM-Mikrofon
-
M-Bus-Buchse und -Pins
Sobald Sie die Rückabdeckung mit der Aufschrift „Core2“ auf der linken Seite öffnen, finden Sie den MIC-Chip (SPM1423), den IMU-Chip (MPU6886, der ein 3-Achsen-Gyroskop und einen 3-Achsen-Beschleunigungssensor enthält) sowie die Anschlussstifte.
M5Stack Core2 Werksfirmware
Die M5Stack Core2 Factory Firmware-Seite bietet einen umfassenden Überblick über die Fähigkeiten des Geräts. Sie zeigt wichtige Informationen wie den MPU6886-Chip, die Echtzeituhr, den Akkustand und verschiedene Einstellungsoptionen. Die Seite enthält auch Funktionen wie die Ein-/Ausschaltfunktion, den Wi-Fi-Verbindungsstatus und eine Timerfunktion. Zusätzlich ermöglicht sie die Anzeige von auf der SD-Karte gespeicherten Bildern und Musik und bietet eine visuelle Darstellung des aktuellen Lautstärkepegels. Diese Seite dient als intuitive Schnittstelle zur Verwaltung der wesentlichen Funktionen des Geräts und zur Überwachung seiner Leistung.
Systemfunktionstest
Das System unterstützt I/O-Verbindungstests, intelligente Motortests, Summer-Tests und Funktionstests des TFT-Bildschirms. Diese Tests helfen sicherzustellen, dass alle Komponenten korrekt funktionieren, sodass Benutzer die wichtigsten Funktionen und die Funktionalität des Geräts überprüfen können.
Unterstützt Wi-Fi
Auf der Wi-Fi-Seite zeigt der M5Stack Core2 verfügbare Wi-Fi-Netzwerke in der Nähe an, sortiert nach Signalstärke. Benutzer können einfach das beste Netzwerk für die Verbindung auswählen, um optimale Signalqualität und Stabilität zu gewährleisten. Diese Funktion ermöglicht es dem Gerät, schnell eine Verbindung zu einem Netzwerk herzustellen und bietet zuverlässige Unterstützung für IoT-Anwendungen und Fernbedienungen.
M5Stack Core2 Beispiele
UIFlow-Projekte
Heute verwende ich den M5Stack 8ENCODER und M5Stack Core2, um Ihnen zu zeigen, wie man M5Stack UIFlow benutzt
Verbinden
Verbinden Sie zunächst M5Stack Core2 und Computer mit einem Type-C-Kabel und verbinden Sie M5Stack Core2 und 8ENCODER mit einem Grove-Kabel.
Da die 8ENCODER-Einheit 8 Kanäle hat, haben wir 9 Beschriftungen auf dem M5Stack Core2-Bildschirm wie folgt:
Einheit hinzufügen
Fügen Sie als Nächstes eine Einheit hinzu, suchen Sie 8Encoder und wählen Sie den Bus zu I2C
Aufstellen
Initialisiere I2C SCL auf 33, SDA auf 32, Frequenz auf 100K
Initialisiere encoder8_0 I2C-Adresse auf 0x41
Schleife
M5Stack 8Encoder Kanalwert einstellen
M5Stack 8Encoder Kanal RGB LED Farbe einstellen

Lass uns einen Prototyp eines klingelnden Zahlenschlosses machen

Wenn Kanal 1 Wert = Kanal 2 Wert, Kanal 3 Wert = Kanal 4 Wert
Beschrifte label8 mit 'Rechts', und der laute Summer erinnert uns
Sonst, label8 Text 'Falsch', Summer still
Lass uns den Code hochladen und herausfinden, was passieren wird


Und wir können komplexere Logik verarbeiten. Viel Spaß mit deinem M5Stack Core2.
Coole DIY-Projekte für M5Stack Core2
M5Stack Core2 und Home Assistant
Integration mit Home Assistant
Da der M5Stack Core2 einen ESP32-Chip verwendet, können wir ESPHome nutzen, um M5Stack und Home Assistant zu verbinden.


Einrichten des M5Stack Core2 als Heimautomatisierungssteuerung
ESPHome in Home Assistant installieren
-
Falls noch nicht installiert, navigieren Sie zu den Einstellungen von Home Assistant > Add-ons > Add-on-Store.
-
Suche nach „ESPHome“ und installiere es. Nach der Installation starte das Add-on.
Erstellen Sie ein neues Gerät in ESPHome
-
Nachdem das ESPHome-Add-on läuft, gehen Sie zur ESPHome-Seite in Ihrer Home Assistant-Instanz.
-
Klicken Sie unten rechts auf Neues Gerät und dann auf Weiter.
-
Benennen Sie Ihr Gerät, z. B. ‚m5stack-core2‘, und wählen Sie ESP32 als Plattform, dann wählen Sie M5Stack Core oder M5Stack Core2, falls aufgeführt (die genaue Bezeichnung kann je nach ESPHome-Version variieren).
ESPHome für M5Stack Core2 konfigurieren
-
Hier ist ein Beispiel für eine YAML-Konfiguration, die Sie für den M5Stack Core2 verwenden könnten:
esphome: Name: m5stack-core2 Plattform: ESP32 board: m5stack-core-esp32 W-lan: ssid: "Ihr_WiFi_SSID" password: "Ihr_WiFi_Passwort" # Fallback-Hotspot (Captive Portal) aktivieren, falls die WLAN-Verbindung fehlschlägt ap: ssid: "M5Stack-Core2 Fallback Hotspot" password: "Ihr_AP_Passwort" Logger: API: Befehl: Sensor: - Plattform: axp192 Adresse: 0x34 i2c_id: bus_a update_interval: 30s Batteriestand: name: "M5Stack Core2 Batteriestand" # Beispiel für die Verwendung des Bildschirms (falls in Ihrer ESPHome-Version unterstützt) Anzeige: - Plattform: ili9341 Modell: M5STACK_CORE2 cs_pin: GPIO5 dc_pin: GPIO15 Reset-Pin: GPIO33 backlight_pin: GPIO32 Lambda: |- it.print(0, 0, id(my_text_sensor).state.c_str()); # Wenn Sie Schaltflächen oder andere Funktionen verwenden möchten Taste: Plattform: GPIO Name: "Knopf A" Stift: Nummer: GPIO39 invertiert: wahr ID: button_a
✔ Kopiert!
Hinweis: Die genaue Konfiguration für das Display wird möglicherweise nicht vollständig unterstützt oder erfordert zusätzliche Einrichtung, da es Berichte über eingeschränkte Unterstützung des Bildschirms des Core2 in ESPHome gibt. Möglicherweise müssen Sie nach Beiträgen der Community oder externen Bibliotheken für die volle Funktionalität suchen.
Firmware kompilieren und hochladen
-
Klicken Sie in der ESPHome-Oberfläche auf Installieren, um die YAML-Konfiguration in Firmware zu kompilieren und auf das M5Stack Core2 zu flashen. Stellen Sie sicher, dass Ihr Gerät sich im Flash-Modus befindet (oft durch Halten der Einschalttaste oder der Reset-Taste beim Start).
In Home Assistant integrieren
-
Sobald das Gerät mit Ihrem WLAN verbunden ist, sollte Home Assistant es automatisch erkennen, wenn Sie die native API verwenden. Falls nicht, können Sie es manuell unter Konfiguration > Integrationen > Integration hinzufügen hinzufügen, indem Sie nach „ESPHome" suchen und den Hostnamen oder die IP-Adresse des Geräts eingeben.
Fehlerbehebung und zusätzliche Funktionen
-
Wenn das Display nicht funktioniert oder andere Komponenten wie Sensoren oder Tasten nicht erkannt werden, sollten Sie möglicherweise Community-Foren oder GitHub nach Updates oder benutzerdefinierten Konfigurationen durchsuchen. Es gibt Diskussionen darüber, dass man die Unterstützung für bestimmte Komponenten des Core2 wie den Power-Management-Chip (AXP192) oder den Bildschirm manuell hinzufügen muss.
Batteriemanagement
Der M5Stack Core2 verfügt über ein integriertes Energiemanagementsystem; stellen Sie sicher, dass Sie es korrekt für die Batteriüberwachung und Energiesparfunktionen konfigurieren.
Benutzerdefinierte Komponenten
Für Funktionen, die nicht nativ unterstützt werden, müssen Sie möglicherweise benutzerdefinierte Komponenten erstellen oder verwenden oder Alternativen wie OpenHASP für die Anzeige-Steuerung in Betracht ziehen.
Denken Sie daran, dass die ESPHome-Unterstützung für M5Stack Core2, insbesondere in Bezug auf das Display, sich weiterentwickeln kann. Daher kann es hilfreich sein, Ihre ESPHome- und Home Assistant-Versionen auf dem neuesten Stand zu halten, um die Kompatibilität und Verfügbarkeit von Funktionen zu gewährleisten.
Fehlerbehebung und FAQs
Häufige Probleme und Lösungen
F1: Was ist die Spezifikation von M5Stack Core2?
A1:
Der M5Stack Core2 ist ein funktionsreiches ESP32-Entwicklungsboard, das für IoT- und eingebettete Anwendungen entwickelt wurde, angetrieben vom ESP32 D0WDQ6-V3 Dual-Core MCU mit 16MB Flash und 8MB PSRAM. Es verfügt über einen 2,0-Zoll kapazitiven Touchscreen, Wi-Fi Konnektivität und einen 390mAh wiederaufladbaren Akku, der vom AXP192 Power-Chip verwaltet wird und eine effiziente Stromsteuerung gewährleistet. Zusätzliche Funktionen wie eine USB Type-C-Schnittstelle, ein TFKartensteckplatz, ein integriertes RTC-Modul, ein Vibrationsmotor, eine I2S-Digital-Audioschnittstelle und programmierbare kapazitive Touch-Tasten machen den M5Stack Core2 zur idealen Wahl für Entwickler, die an intelligenten Geräten, Hausautomation und interaktiven Elektronikprojekten arbeiten.
Q2: Wie hoch ist die Auflösung des M5Stack Core2 Displays?
A2:
Der M5Stack Core2 verfügt über einen 2,0-Zoll kapazitiven Touchscreen mit einer Auflösung von 320x240 Pixeln.
F3: Was ist die Baud Rate von M5Stack Core2?
A3:
Die Standard-Baudrate für den M5Stack Core2 ist typischerweise auf 115200 bps für die serielle Kommunikation eingestellt. Sie kann jedoch im Code je nach den Anforderungen Ihres Projekts auf andere Werte angepasst werden.
F4: Warum wird meine Speicherkarte auf dem M5Stack Core2 nicht gelesen und wie kann ich das beheben?
A4:
Um die Speicherkarte-Lesefähigkeit auf dem M5Stack Core2 zu verbessern, können Sie den folgenden Code verwenden, um die GPIO-Pins zu konfigurieren und die Speicher-Schnittstelle zu optimieren:
für (auto gpio : (const uint8_t[]){18, 19, 23}) { *(volatile uint32_t*)(GPIO_PIN_MUX_REG[gpio]) |= FUN_DRV_M; gpio_pulldown_dis((gpio_num_t)gpio); gpio_pullup_en((gpio_num_t)gpio); }
✔ Kopiert!

Dieser Code konfiguriert die angegebenen GPIO-Pins (18, 19, 23), indem die notwendigen Pull-up-Widerstände aktiviert und die Antriebskraft angepasst werden, was die Leistung beim Lesen von Speicherkarten verbessern kann.
F5: Wie erkennen wir den Leistungspegel von core2?
A5:
Um den Leistungspegel des M5Stack Core2 zu erkennen, können Sie den folgenden Code verwenden, der die Core2-API nutzt, um die Batteriespannung abzurufen:
#include void setup() { M5.start(); } void-Schleife() { Serial.printf("Batteriespannung: %f\n", M5.Axp.GetBatVoltage()); Verzögerung (500); }
✔ Kopiert!
Dieser Code liest die Batteriespannung aus und gibt sie alle 500 Millisekunden im seriellen Monitor aus. Stellen Sie sicher, dass Sie die M5Core2 API-Dokumentation für detailliertere Funktionen und Konfigurationen im Zusammenhang mit dem Energiemanagement konsultieren.
F6: Wie kann ich Bilder auf dem M5Stack Core2 mit der Programmiersprache C anzeigen?
A6:
Um ein 320x240 Pixel JPG-Bild mit dem Namen
logo.jpg
auf dem M5Stack Core2 anzuzeigen, folgen Sie diesen Schritten:-
Erstellen Sie das Bild: Bereiten Sie ein 320x240 Pixel JPG-Bild namens
logo.jpg
vor. -
Bild konvertieren: Laden Sie die Quelldateien herunter, entpacken Sie sie und öffnen Sie den Ordner. Führen Sie das
.\conver.ps1
-Skript im Terminal aus, um das Bild in ein mit Core2 kompatibles Binärformat zu konvertieren. -
Ersetzen Sie die Bilddaten: Nach der Konvertierung nehmen Sie die resultierenden Binärdaten und ersetzen den Inhalt im Array der bereitgestellten Quelldatei.
-
Programm hochladen: Öffnen Sie die Datei
drawImageData_core2_Pure.ino
und fügen Sie die konvertierten Binärdaten in das Array ein. Laden Sie das Programm auf den M5Stack Core2 hoch.



Sobald das Programm hochgeladen ist, wird das Bild wie im Beispiel auf dem Bildschirm angezeigt.
Stellen Sie sicher, dass Sie die offizielle Dokumentation für zusätzliche Anweisungen zum Umgang mit Bildern und deren Binärformaten konsultieren.
Tipps und Tricks zur Verwendung des M5Stack Core2
Allgemeine Tipps
Batteriemanagement
Verwenden Sie den AXP192-Chip für das Energiemanagement. Überwachen Sie den Batteriestand über die M5Stack Core2-Bibliothek oder ESPHome-Konfigurationen, um den Energieverbrauch effizient zu steuern.
Firmware-Updates
Überprüfen Sie regelmäßig die Firmware Ihres M5Stack Core2 und aktualisieren Sie sie, um von neuen Funktionen, Leistungsverbesserungen und Sicherheitspatches zu profitieren. Verwenden Sie dazu das M5Burner-Tool.
Benutzerdefiniertes Boot-Logo
Personalisieren Sie Ihr Gerät, indem Sie mit dem M5Burner-Tool ein benutzerdefiniertes Startlogo festlegen. Dadurch wird Ihr Gerät einzigartig oder spiegelt das Thema eines Projekts wider.
Hardware-Auslastung
Bildschirmhelligkeit
Passen Sie die Bildschirmhelligkeit programmatisch mit dem AXP192-Chip an, um Batterie zu sparen. Verringern Sie die Helligkeit für weniger kritische Vorgänge oder wenn das Gerät im Standby-Modus ist.
Verwendung des Touchscreens
Für interaktivere Projekte nutzen Sie die Fähigkeiten des Touchscreens. Verwenden Sie die Klasse M5.Touch zur Berührungserkennung. Denken Sie daran, dass der Bildschirm Multi-Touch unterstützt, was für komplexere Benutzeroberflächen verwendet werden kann.
IMU (Trägheitsmesseinheit) Sensor
Der integrierte MPU6886 kann für Bewegungserkennung, Gestensteuerung oder zur Stabilisierung von Kameraanwendungen verwendet werden. Berücksichtigen Sie die Auswirkungen auf die Akkulaufzeit, wenn er kontinuierlich verwendet wird.
MicroSD-Karte
Nutzen Sie den microSD-Steckplatz für die Datenprotokollierung, das Speichern größerer Dateien oder die Erweiterung des Speichers für Anwendungen, die mehr Speicher benötigen als der interne Flash bietet.
Software-Tipps
Arduino IDE
Wenn Sie die Arduino IDE verwenden, stellen Sie sicher, dass Sie das M5Stack Core2 Board-Support-Paket aus dem M5Stack Bibliotheksmanager installieren, um vollständige Hardwareunterstützung zu erhalten.
ESPHome-Integration
Wenn Sie die Integration mit Home Assistant über ESPHome vornehmen, verwenden Sie die Beispielkonfigurationen, sollten aber auf einige Anpassungen vorbereitet sein, insbesondere bei Komponenten wie dem Bildschirm oder der Stromversorgung.
Energiesparmodi
Implementieren Sie den Tiefschlafmodus für batteriebetriebene Projekte. Der M5Stack Core2 kann durch verschiedene Auslöser wie Berührung, Tastendruck oder Timer aufgeweckt werden.
Bluetooth und WLAN
Der ESP32 unterstützt sowohl Bluetooth als auch WiFi. Verwenden Sie Bluetooth für energiearme, kurzreichweitige Kommunikation oder WiFi für robustere Netzwerkbedürfnisse, aber verwalten Sie deren Stromverbrauch sorgfältig.
Projektideen
Smart Home Steuerung
Verwandeln Sie den Core2 in einen tragbaren Smart-Home-Controller mit berührungsbasierten Schnittstellen zur Steuerung von Licht, Klima usw.
Tragbare Technologie
Verwenden Sie das IMU für Fitness-Tracker oder VR-Controller und nutzen Sie die integrierten Sensoren zur Bewegungsanalyse.
Lehrmittel
Erstellen Sie interaktive Lerngeräte für Bildungszwecke, bei denen Schüler visuell mit Daten interagieren können.
Fehlerbehebung
Methoden zurücksetzen
Wenn Ihr Gerät hängt, denken Sie daran, dass sich auf der Rückseite eine Reset-Taste befindet und es auch eine Methode zum Zurücksetzen über die Einschalttaste gibt, indem Sie diese etwa 10 Sekunden lang gedrückt halten.
Debuggen
Verwenden Sie die serielle Ausgabe zum Debuggen. Verbinden Sie sich über USB und verwenden Sie Tools wie den Arduino Serial Monitor oder einen Terminalemulator für Echtzeit-Feedback von Ihrem Code.
Community-Ressourcen
Die M5Stack-Community ist sehr aktiv; Foren, GitHub und Social-Media-Gruppen sind großartige Orte für Problemlösungen und Inspiration.
Abschluss
Hauptmerkmale und Vorteile der M5Stack Core2 V1.1 Bewertung
Hauptmerkmale
2,0-Zoll kapazitiver Touchscreen
Verfügt über ein 320x240 IPS-LCD mit drei programmierbaren virtuellen Tasten über Hot-Zone-Mapping (FT6336U, I2C-Adresse 0x38), die eine anpassbare Mensch-Maschine-Interaktion ermöglichen.
Erweiterte sensorische und Rückmeldungsfähigkeiten
Eingebauter Vibrationsmotor für haptisches Feedback und Benachrichtigungen.
6-Achsen-IMU (MPU6886) zur Bewegungserfassung und ein PDM-Mikrofon für die Audioeingabe.
Integrierter Lautsprecher mit I2S-Verstärker (NS4168) für hochwertigen Klang.
Leistungs- und Zeitmanagement
AXP2101 Stromversorgungs-Management-Chip (in Kombination mit INA3221) optimiert den Stromverbrauch, mit einer blauen Stromanzeige für Status oder benutzerdefinierte Funktionen.
Echtzeituhr (RTC, BM8563) mit einer eigenen Backup-Batterie sorgt für präzise Zeitmessung, selbst wenn das Gerät ausgeschaltet ist.
500mAh Lithiumbatterie für den tragbaren Betrieb.
Konnektivität und Speicher
ESP32-D0WDQ6-V3 mit Dual-Core 240MHz Prozessor, Wi-Fi, 16MB Flash und 8MB PSRAM.
MicroSD-Kartensteckplatz (bis zu 16 GB) für erweiterten Speicher.
USB Typ-C, GROVE-Anschlüsse (I2C, UART, GPIO) und M-Bus-Buchse für Erweiterbarkeit.
Entwicklungsflexibilität
Kompatibel mit mehreren Plattformen: UIFlow, MicroPython, Arduino, .NET nanoFramework und Zephyr RTOS.
Enthält physische Bedienelemente wie Ein- und Ausschaltknöpfe sowie einen CH9102F USB-zu-Seriell-Chip für zuverlässiges Programmieren.
Zusätzliche Hardware
Blaue Betriebsanzeige-LED, Vibrationsmotor und ein kompaktes Design (54 x 54 x 16,5 mm) mit Kunststoffgehäuse.
Betriebstemperaturbereich von 0°C bis 60°C, geeignet für verschiedene Umgebungen.
Vorteile
-
Vielseitigkeit: Ideal für IoT-Terminalcontroller, DIY-Projekte, MINT-Bildung und Smart-Home-Geräte aufgrund seines umfangreichen Funktionsumfangs und seiner Erweiterbarkeit.
-
Benutzerfreundliche Interaktion: Der Touchscreen und die virtuellen Tasten, kombiniert mit haptischem Feedback, schaffen eine intuitive Schnittstelle für vielfältige Anwendungen.
-
Zuverlässige Leistung: Die RTC mit Backup-Batterie und der energieeffiziente AXP2101 gewährleisten einen konsistenten Betrieb, selbst in tragbaren oder stromsparenden Szenarien.
-
Skalierbarkeit: Umfangreiche Konnektivitätsoptionen (Wi-Fi, I2C, UART) und Kompatibilität mit M5Stack-Modulen (unter Berücksichtigung der Basiskompatibilität) ermöglichen maßgeschneiderte Erweiterungen.
-
Entwicklerfreundlich: Multi-Plattform-Unterstützung und ein robustes Ökosystem (Bibliotheken wie M5Unified) vereinfachen die Entwicklung, während der MicroSD-Steckplatz und die Audiofunktionen das Projektpotenzial erhöhen.
Praktische Hinweise
-
Erfordert das Entfernen der Batteriebasis beim Stapeln mit M5-Modulen; M5GO Bottom2 wird empfohlen, um die volle Funktionalität zu erhalten.
-
Der Vibrationsmotor kann mit den Basen der M5 Base-Serie interferieren, daher sollte ein Stapeln mit diesen vermieden werden.
-
Die Nichtlinearität der Kantentastung kann mit Firmware-Updates über M5Tool behoben werden.
Der M5Stack Core2 V1.1 zeichnet sich als kompakte, funktionsreiche Plattform aus, die Leistung, Interaktivität und Flexibilität in Einklang bringt und somit eine ausgezeichnete Wahl für Hobbyisten, Pädagogen und Entwickler gleichermaßen darstellt.