Introduktion
Første møde med M5Stack Core2
M5Stack Core2 understøtter flere programmeringsplatforme som Arduino, MicroPython, og M5Stack UIFlow, hvilket gør den alsidig til forskellige IoT-projekter, herunder smarte hjem-enheder, undervisningsværktøjer og hurtig prototyping. Dens modulære design tillader nem udvidelse med andre M5Stack-moduler, hvilket forbedrer dens funktionalitet til forskellige anvendelser.
Nøglefunktioner og kapaciteter
Processor
Dual-core ESP32-D0WDQ6-V3, der kører op til 240MHz.
Hukommelse
-
16MB Flash-hukommelse
-
8MB PSRAM
Trådløs forbindelse
-
WiFi 802.11 b/g/n
-
Bluetooth 4.2 BLE
Brugergrænseflade
-
6 programmerbare touch-knapper
-
Vibrationsmotor til haptisk feedback
Sensorer
-
6-aksers IMU (MPU6886) til accelerations- og gyroskopdata
Lyd
-
Integreret højttaler
-
I2S digitalt lydinterface
Strømstyring
-
AXP192 PMU til batteristyring
-
Understøtter USB Type-C opladning
-
Indbygget LiPo-batteri
RTC
-
Real-Time Clock for præcis tidsregistrering
Hovedindhold i denne artikel
Hovedformålet med denne artikel er at give en omfattende oversigt over M5Stack Core2, et innovativt IoT-udviklingssæt baseret på ESP32-mikrocontrolleren. Vi sigter mod at:
-
Oplys læserne om hardware-specifikationer, herunder dens processorkraft, hukommelse, tilslutningsmuligheder og integrerede sensorer.
-
Fremhæv unikke funktioner som touchskærmsgrænsefladen, haptisk feedback og det modulære design, der tillader projektudvidelse.
-
Vejled brugere gennem de forskellige programmeringsmiljøer (Arduino, MicroPython, UIFlow), som M5Stack Core2 understøtter, og giv indsigt i, hvilket der kan være bedst til forskellige typer projekter.
-
Demonstrer potentielle anvendelser ved at fremvise virkelige eksempler, hvor M5Stack Core2 kan bruges, fra undervisningsværktøjer til smarte hjem-enheder.
-
Hjælp hobbyister, undervisere og professionelle med beslutningstagning vedrørende denne enhed til deres IoT-projekter ved at diskutere dens styrker, begrænsninger og hvordan den sammenlignes med andre lignende platforme.
Ved slutningen af denne artikel vil læserne have en grundig forståelse af, hvad M5Stack Core2 tilbyder, hvordan man udnytter dets kapaciteter, og om det passer til deres specifikke behov inden for IoT-udvikling.
Hvad er M5Stack Core2?
Detaljeret forklaring af M5Stack Core2
M5Stack Core2 er et avanceret ESP32-baseret IoT-udviklingssæt designet til både begyndere og erfarne udviklere. Det har en dual-core ESP32-D0WDQ6-V3 processor, der kører op til 240MHz, med indbygget WiFi og Bluetooth. Dette sæt inkluderer 16MB Flash-hukommelse og 8MB PSRAM for forbedret ydeevne.
Nøglefunktionerne i Core2 inkluderer en 2-tommer kapacitiv touchskærm, der muliggør intuitiv brugerinteraktion, programmerbare touchknapper og en indbygget vibrationsmotor til haptisk feedback. Den har også en integreret RTC (Real-Time Clock) modul til præcis tidsregistrering, og strømstyringen håndteres af AXP192-chippen, som effektivt kontrollerer batteriforbruget. Yderligere funktioner inkluderer en højttaler, en I2S digital lydgrænseflade for klar lydudgang og en 6-aksers IMU-sensor på bagsiden til bevægelsesdetektion.
Anvendelige grupper
Hobbyister og gør-det-selv-entusiaster
Personer, der brænder for elektronik, robotteknik og IoT-projekter og søger en alt-i-en løsning til at eksperimentere med.
Undervisere og studerende
Lærere, der søger engagerende værktøjer til at undervise i programmering, elektronik og IoT-koncepter, samt studerende, der lærer disse emner.
IoT-udviklere
Professionelle eller entusiaster, der udvikler IoT-løsninger og har brug for en kompakt, kraftfuld platform med omfattende forbindelsesmuligheder.
Makers og Hackerspaces
Fællesskaber eller enkeltpersoner involveret i maker fairs, hackathons eller samarbejdsrum, hvor hurtig prototyping er afgørende.
Produktdesignere
Dem, der prototyper nye smarte enheder eller integrerer IoT i eksisterende produkter, og som har brug for en alsidig platform til udvikling og test.
Kunstnere og interaktive installationer
Kreative, der bruger teknologi til at forbedre kunstinstallationer eller interaktive udstillinger med sensorer, skærme og forbindelser.
Forskellen mellem M5Stack Core2 og M5Stack Core2 V1.1
Funktion | M5Stack Core2 | M5Stack Core2 V1.1 |
Strømstyring | AXP192-chip | AXP2101 + INA3221 (Opgraderet Strøm-IC) |
Strømindikatorfarve | Grøn | Blå |
RTC (Real-Time Clock) | Indbygget, men uden dedikeret batteri til RTC |
Inkluderer et dedikeret batteri til RTC til at opretholde tid når slukket |
USB-chip | CH9102F | Det samme, men driverinstallation kan forskellige på grund af hardwareversion |
Generelt design | Klassisk Core2-design | Iterativ version med samme formfaktor men opdateret internt |
Kompatibilitet | Kompatibel med M5GO Bottom for ekstra funktioner | Kompatibilitet med moduler kan kræver fjernelse eller brug af en specifik Bottom2 for fuld funktionalitet |
Programmeringsmiljø | Understøtter Arduino, MicroPython, UIFlow | Samme support, ingen ændring i programmeringsmiljø |
Touchskærm | 2-tommer kapacitiv touchskærm | Samme, uden ændring på skærmen specifikationer |
Vibrationsmotor | Inkluderet til haptisk feedback | Inkluderet, ingen ændring |
Hukommelse og processor | ESP32-D0WDQ6-V3, 16MB Flash, 8MB PSRAM |
Samme specifikationer |
M5Stack Core2 hardware
M5Stack Core2 skærmstørrelse og opløsning
-
Skærmstørrelse: 2 tommer
-
Opløsning: 320 x 240 pixels
M5Stack Core2 processor, hukommelse og lagerplads
-
Processor: Dual-core ESP32-D0WDQ6-V3, der kører op til 240MHz.
-
Hukommelse:RAM: 8MB PSRAM (Pseudo Static RAM)
-
Opbevaring:Flashhukommelse: 16MB
Tilslutningsmuligheder
-
WiFi: 802.11 b/g/n, der muliggør trådløst netværk til IoT-projekter.
-
Bluetooth: Version 4.2 BLE (Bluetooth Low Energy), til lavenergi, kortdistance trådløs kommunikation.
Sensorer og perifere enheder
Sensorer
-
6-akset IMU (Inertial Measurement Unit):Kombinerer en 3-akset accelerometer og en 3-akset gyroskop til bevægelsesregistrering. Den bruger MPU6886-sensoren, som leverer data til orientering, acceleration og rotation.
Disse sensorer er de primære, der er indbygget i M5Stack Core2. Enhedens design tillader dog udvidelse via forskellige M5Stack-moduler og GROVE-porte, som kan tilføje yderligere sensorer som:
Temperatursensorer
Fugtsensorer
Lyssensorer
Nærhedssensorer
Tryksensorer
Magnetfeltssensorer (kompas)
osv.
Periferiudstyr
-
Programmerbare touchknapper:Skærmen inkluderer tre kapacitive touchknapper, som kan programmeres til forskellige funktioner eller brugerinput.
-
Mikrofon:En indbygget mikrofon muliggør lydregistrering eller stemmekommandoer.
-
Højttaler:Integreret til lydudgang, nyttig til alarmer, notifikationer eller musikafspilning.
-
Vibrationsmotor:Giver haptisk feedback, som forbedrer brugerinteraktionen i applikationer som spil eller notifikationer.
-
RTC (Real-Time Clock):Et indbygget RTC-modul til at holde styr på tiden, selv når enheden er slukket, hvilket sikrer nøjagtig tidsregistrering til planlægning eller tidsbaserede operationer.
-
Strømstyrings-IC (PMIC):AXP192-chippen styrer strømfordeling, batteriopladning og spændingsregulering, hvilket er afgørende for at opretholde effektivitet og forlænge batterilevetiden.
-
USB Type-C-port:Til strøm, programmering og datakommunikation. Den understøtter USB OTG til tilslutning af eksterne enheder som tastaturer eller mus i nogle konfigurationer.
-
MicroSD-kortslot:Muliggør ekstra lagerplads, ideelt til logning af data, opdatering af firmware eller lagring af medier.
Strømforsyning og batterilevetid
Strømforsyning
-
Indgangsspænding: 5V via USB-C-port til opladning og strømforsyning af enheden.
-
Strømstyring: Strømforsyningen styres af AXP192-chippen i den originale Core2, og af AXP2101 + INA3221 i Core2 V1.1, hvilket muliggør effektiv kontrol af strømforbruget.
-
Batteriopladning: Understøtter opladning via USB-C-porten, med mulighed for ekstern strømforsyning gennem specifikke pins, hvis det er konfigureret korrekt.
Batteri
-
Batteri inkluderet: Et 390mAh LiPo-batteri er indbygget i Core2, som leverer strøm, når det er frakoblet eksterne kilder.
-
Batteriforlængelse: For forlænget batterilevetid kan brugere tilføje eksterne batterimoduler som M5GO Bottom2 (som inkluderer et ekstra 500mAh batteri) eller stable flere batterimoduler, da de kan parallelkobles.
Batterilevetid
-
Brugsvarighed: Batterilevetiden varierer betydeligt afhængigt af brug.Inaktiv eller lavstrømstilstand: Med skærmen slukket og i lavstrømstilstande kan den vare i timer eller endda dage, afhængigt af hvor ofte den vågner, eller hvor dyb søvntilstanden er.Aktiv brug: Med skærmen tændt og programmer i gang, især dem der bruger WiFi eller Bluetooth, kan batterilevetiden vare fra et par timer op til omkring 5-6 timer, afhængigt af faktorer som skærmens lysstyrke, sensorbrug og processeringsbelastning.
-
Søvntilstande: ESP32's dybe søvntilstand kan dramatisk forlænge batterilevetiden, potentielt i uger eller måneder, hvis enheden kun behøver at vågne lejlighedsvis, f.eks. til datalogning eller periodiske WiFi-tjek.
-
Forbedringer: Brugere rapporterer ofte, at de kan forlænge batterilevetiden gennem softwareoptimeringer, såsom at dæmpe skærmen, reducere sensoraflæsningsfrekvenser eller bruge effektive strømstyringsstrategier som dyb søvn i inaktive perioder.
Yderligere bemærkninger
-
Strømindikator: Der er en indbygget LED (grøn i originalen, blå i V1.1), som angiver strømstatus og kan programmeres til brugerdefinerede notifikationer.
-
RTC-batteri: I V1.1-modellen er der et ekstra lille batteri til RTC, som sikrer tidsregistrering, selv når hovedbatteriet er afladet eller fjernet.
Software og udvikling
Understøttede programmeringssprog
-
C/C++ (bruges med Arduino IDE)
-
Python (MicroPython-variant til ESP32)
-
JavaScript (til visse webbaserede applikationer, ikke direkte enhedsprogrammering, men kan interagere gennem webgrænseflader eller node-red).
Understøttede programmeringsplatforme
-
Arduino: Dette er en af de mest populære platforme til ESP32. Arduino IDE med ESP32-understøttelse giver dig mulighed for at skrive og uploade kode til M5Stack Core2 ved hjælp af C/C++.
-
MicroPython: En implementering af Python 3 til mikrokontrollere, MicroPython er velegnet til dem, der foretrækker Pythons syntaks. Det tilbyder en interaktiv REPL (Read-Eval-Print Loop) til øjeblikkelig kodetestning, hvilket gør det særligt velegnet til undervisning.
-
UIFlow: Dette er M5Stacks eget visuelle programmeringssprog eller blokbaserede programmeringsmiljø, der ligner Scratch eller Blockly. Det er designet til at være meget brugervenligt og giver dig mulighed for at programmere Core2 ved at forbinde blokke, der repræsenterer kodefunktioner. UIFlow kan generere MicroPython- eller Arduino-kode bag kulisserne, som derefter kan redigeres yderligere eller bruges direkte.
Hver af disse miljøer tilbyder forskellige fordele:
-
Arduino giver en mere traditionel mikrokontrollerprogrammeringsoplevelse med adgang til et stort økosystem af biblioteker.
-
MicroPython gør det lettere for begyndere eller Python-entusiaster at komme i gang med hardwareprogrammering og tilbyder en mere læsbar og interaktiv kodningsoplevelse.
-
UIFlow er fremragende til hurtig prototyping, uddannelse eller for dem, der måske ikke har omfattende kodningserfaring, men ønsker at skabe funktionelle IoT-enheder.
Disse platforme udelukker ikke hinanden; du kan starte med én og skifte til en anden eller bruge en anden til forskellige aspekter af dit projekt og udnytte deres unikke funktioner til at opfylde dine udviklingsbehov.
Opsætning af udviklingsmiljø
Installation af Arduino IDE
Besøg Arduino.cc og klik på software, eller du kan klikke HER.
Download Arduino IDE, og installer det.
Installerer Board Management
Board Manager-URL'en bruges til at indeksere udviklingskortoplysninger for en bestemt platform. I Arduino IDE-menuen skal du vælge Fil -> Indstillinger

Kopier M5Stack board management URL nedenfor ind i feltet Additional Board Manager URLs:, og gem.

I sidebjælken, vælg Board Manager, søg efter M5Stack, og klik Installer

Valg af udviklingskort
Afhængigt af det anvendte produkt, vælg det tilsvarende udviklingskort under Værktøjer -> Board -> M5Stack -> {Produktnavn}.

Hurtigstartguide til M5Stack UIFlow 2.0 Web IDE
Hvad er M5Stack UIFlow
UIFlow2 er en brugervenlig grafisk programmerings-IDE, der tilbyder problemfri trådløs og kablet programoverførsel, programklik og kør-funktionalitet, hvilket eliminerer behovet for gentagne kompileringer. Den integreres sømløst med over 100 M5 hardwareperifere og sensorer, hvilket muliggør nem tilføjelse og udvidelse med et enkelt klik. Denne funktion styrker produktprototypeopbygning og fremskynder udviklingsprocessen, hvilket i sidste ende fører til øget produktivitet og effektivitet. I denne vejledning vil vi demonstrere, hvordan man brænder UIFlow 2.x version firmware på din M5Stack-enhed og bruger UIFlow Web IDE til sekundær udvikling af produktet.
Før programmering med UIFlow er der nogle forberedende trin, der skal tages:
-
Installer M5Burner firmware-brændingsværktøjet.
-
Brug M5Burner til at brænde firmwaren til den tilsvarende enhed, log ind på din konto, og konfigurer Wi-Fi-forbindelsen til enheden.
-
Åbn UIFlow Web IDE 2.0 versionen, vælg den passende online enhedsmulighed, og klik for at oprette forbindelse.
-
Træk og slip blokke for at redigere programmet, og klik på Kør-knappen for at fejlfinde programmet.
Yderligere information:
M5Burner er et samlet firmware-brændingsværktøj introduceret af M5Stack. Det gør det muligt for brugere nemt at brænde UIFlow firmware og skrive konfigurationsinformation som Wi-Fi-indstillinger under brændingsprocessen.
Installer M5Burner
M5Stack Community-konto
For at få adgang til M5Burner og UIFlow 2.0/1.0 softwaren, skal du registrere en M5Stack Community-konto. Vær opmærksom på, at denne konto også kan bruges til at logge ind på M5Burner og UIFlow 2.0/1.0 login-siden. For at registrere en M5Stack Community-konto, klik venligst på 'Register' knappen i M5Burner softwaren, UIFlow 2.0/1.0 softwaren eller webversionen.
Firmware-brænding og kørsel af programmer
Installation af USB-driver
Portvalg
For at forbinde enheden til computeren, brug venligst et USB-kabel. Klik derefter på Burn-knappen for den relevante firmware i M5Burner. Du skal derefter indtaste Wi-Fi-oplysningerne og vælge den korrekte enhedsport.

Firmware-brænding
Tilslut enheden til computeren via et USB-kabel, vælg Burn-knappen for den tilsvarende firmware i M5Burner, og udfyld Wi-Fi-konfigurationen, som enheden er forudforbundet til, inklusive Wi-Fi SSID og Wi-Fi-adgangskode, samt andre enhedskonfigurationer, der skal tilføjes eller ændres.


Åbn UIFlow
Klik https://uiflow2.m5stack.com, åbn M5Stack UIFlow 2.0
Klik på enhedsbaren i nederste højre hjørne, så kan du finde din nye enhed sådan her:


Du kan nu bruge M5Stack UIFlow normalt.
Biblioteker og SDK'er
Biblioteker
SDK
Sådan forbinder du M5Stack til Arduino IDE
Forbind din M5Stack Core2 til din computer.
Åbn Arduino IDE, klik på tools-Board-M5Stack-M5Core2

Vælg den rigtige port, ændr din uploadhastighed til 1500000

Grundlæggende programmeringseksempler
Klik på File-Examples-M5Core2, du kan finde de grundlæggende programmeringseksempler.
Når du er færdig med at verificere, kan du uploade koden til din M5Stack Core2.

Udpakning og opsætning
Indhold i kassen
-
1x Core2 V1.1
-
1x Type-C USB (20 cm)
-
1x HEX NØGLE

På bagsiden af M5Stack Core2 findes følgende nøglekomponenter:
-
ESP32-baseret med indbygget Wi-Fi
-
16M Flash og 8M PSRAM
-
-
Indbygget højttaler, strømindikator, vibrationsmotor, RTC, I2S-forstærker, tænd/sluk-knap.
-
TF-kortslot (op til 16GB)
-
Indbygget lithiumbatteri med strømstyringschip
-
Uafhængigt lille kort med en 6-akset IMU og PDM mikrofon
-
M-Bus stik & ben
Når du åbner bagcoveret mærket med ‘Core2’ på venstre side, vil du finde MIC-chippen (SPM1423), IMU-chippen (MPU6886, som inkluderer en 3-akset gyroskop og 3-akset accelerometer), samt benene til forbindelser.
M5Stack Core2 Factory Firmware
M5Stack Core2 Factory Firmware-siden giver en omfattende oversigt over enhedens kapaciteter. Den viser nøgleinformation som MPU6886-chip, real-time ur, batteriniveau og forskellige indstillingsmuligheder. Siden inkluderer også funktioner som tænd/sluk-funktionalitet, Wi-Fi-forbindelsesstatus og en timerfunktion. Derudover tillader den visning af billeder og musik gemt på SD-kortet og giver en visuel repræsentation af det aktuelle volumeniveau. Denne side fungerer som en intuitiv grænseflade til at styre enhedens væsentlige funktioner og overvåge dens ydeevne.
Systemfunktionstest
Systemet understøtter I/O forbindelsestest, smart motortest, summer test og TFT-skærmfunktionstest. Disse tests hjælper med at sikre, at alle komponenter fungerer korrekt, så brugerne kan verificere enhedens nøglefunktioner og ydeevne.
Understøtter Wi-Fi
På Wi-Fi-siden viser M5Stack Core2 tilgængelige Wi-Fi-netværk i nærheden, sorteret efter signalstyrke. Brugere kan nemt se og vælge det bedste netværk til forbindelse, hvilket sikrer optimal signal kvalitet og stabilitet. Denne funktion gør det muligt for enheden hurtigt at oprette forbindelse til et netværk og giver pålidelig støtte til IoT applikationer og fjernbetjeninger.
M5Stack Core2 Eksempler
UIFlow-projekter
I dag bruger jeg M5Stack 8ENCODER og M5Stack Core2 til at vise dig, hvordan du bruger M5Stack UIFlow
Tilslut
Først skal du forbinde M5Stack Core2 og computeren med et Type-C-kabel, og forbinde M5Stack Core2 og 8ENCODER med et Grove-kabel
Fordi 8ENCODER-enheden har 8 kanaler, har vi 9 etiketter på M5Stack Core2-skærmen som dette:
Tilføj enhed
Tilføj derefter en enhed, find 8Encoder og vælg Bus til I2C
Opsætning
Initialiser I2C SCL til 33, SDA til 32, frekvens til 100K
Initialiser encoder8_0 I2C-adresse til 0x41
Løkke
M5Stack 8Encoder kanal værdiindstilling
M5Stack 8Encoder kanal RGB LED farveindstilling

Lad os lave en prototype af en ringende kombinationslås

Hvis kanal 1 værdi = kanal 2 værdi, kanal 3 værdi = kanal 4 værdi
Gør label8 tekst ‘Rigtigt’, og buzzer høj for at minde os
Ellers, label8 tekst 'Forkert', buzzer stille
Lad os uploade koden og finde ud af, hvad der sker


Og vi kan håndtere mere kompleks logik. Hav det sjovt med din M5Stack Core2.
Seje DIY-projekter til M5Stack Core2
M5Stack Core2 og Home Assistant
Integration med Home Assistant
Fordi M5Stack Core2 bruger en ESP32-chip, kan vi bruge ESPHome til at forbinde M5Stack og Home Assistant.


Opsætning af M5Stack Core2 som en hjemmeautomatiseringscontroller
Installer ESPHome i Home Assistant
-
Hvis det ikke allerede er installeret, skal du gå til Home Assistants Indstillinger > Tilføjelser > Tilføjelsesbutik.
-
Søg efter ‘ESPHome’ og installer det. Når det er installeret, skal du starte tilføjelsen.
Opret en ny enhed i ESPHome
-
Når ESPHome-tilføjelsen kører, skal du gå til ESPHome-siden i din Home Assistant-instans.
-
Klik på Ny enhed nederst til højre, og klik derefter på Fortsæt.
-
Navngiv din enhed, f.eks. ‘m5stack-core2’, og vælg ESP32 som platform, vælg derefter M5Stack Core eller M5Stack Core2, hvis det er angivet (den præcise navngivning kan variere afhængigt af ESPHome-versionen).
Konfigurer ESPHome til M5Stack Core2
-
Her er et eksempel på en YAML-konfiguration, du kan bruge til M5Stack Core2:
esphome: name: m5stack-core2 platform: ESP32 board: m5stack-core-esp32 wifi: ssid: "Your_WiFi_SSID" password: "Your_WiFi_Password" # Aktiver fallback hotspot (fanget portal) hvis wifi-forbindelsen fejler ap: ssid: "M5Stack-Core2 Fallback Hotspot" password: "Your_AP_Password" logger: api: ota: sensor: - platform: axp192 adresse: 0x34 i2c_id: bus_a opdateringsinterval: 30s batteriniveau: navn: "M5Stack Core2 Battery Level" # Eksempel på brug af skærmen (hvis understøttet i din ESPHome-version) display: - platform: ili9341 model: M5STACK_CORE2 cs_pin: GPIO5 dc_pin: GPIO15 nulstil_pin: GPIO33 baggrundsbelysning_pin: GPIO32 lambda: |- it.print(0, 0, id(my_text_sensor).state.c_str()); # Hvis du vil bruge knapper eller andre funktioner knap: - platform: gpio navn: "Button A" pin: number: GPIO39 inverted: true id: button_a
✔ Kopieret!
Bemærk: Den præcise konfiguration for displayet er muligvis ikke fuldt understøttet eller kan kræve yderligere opsætning, da der har været omtale af begrænset support for Core2's skærm i ESPHome. Du kan være nødt til at kigge efter bidrag fra fællesskabet eller eksterne biblioteker for fuld funktionalitet.
Kompiler og upload firmwaren
-
Klik på Installer i ESPHome-grænsefladen for at kompilere YAML-konfigurationen til firmware og flash den til M5Stack Core2. Sørg for, at din enhed er i flashing-tilstand (ofte ved at holde tænd/sluk-knappen eller reset-knappen nede under opstart).
Integrer med Home Assistant
-
Når enheden opretter forbindelse til dit WiFi, bør Home Assistant automatisk opdage den, hvis du bruger den native API. Hvis ikke, kan du manuelt tilføje den under Konfiguration > Integrationer > Tilføj integration, søge efter ‘ESPHome’ og indtaste enhedens værtsnavn eller IP.
Fejlfinding og yderligere funktioner
-
Hvis displayet ikke fungerer, eller andre komponenter som sensorer eller knapper ikke genkendes, kan det være nødvendigt at tjekke fællesskabsfora eller GitHub for opdateringer eller brugerdefinerede konfigurationer. Der er diskussioner om, at man manuelt skal tilføje support for visse komponenter i Core2 som strømstyringschippen (AXP192) eller skærmen.
Batteristyring
M5Stack Core2 har et indbygget strømstyringssystem; sørg for at konfigurere det korrekt til batteriovervågning og strømbesparende funktioner.
Brugerdefinerede komponenter
For funktioner, der ikke understøttes indbygget, kan det være nødvendigt at oprette eller bruge brugerdefinerede komponenter eller undersøge alternativer som OpenHASP til displaykontrol.
Husk, at ESPHome-supporten for M5Stack Core2, især vedrørende displayet, kan udvikle sig, så det kan hjælpe med kompatibilitet og funktionstilgængelighed at holde din ESPHome og Home Assistant opdateret.
Fejlfinding og ofte stillede spørgsmål
Almindelige problemer og løsninger
Q1: Hvad er specifikation af M5Stack Core2?
A1:
M5Stack Core2 er et funktionsrigt ESP32 udviklingskort designet til IoT og indlejrede applikationer, drevet af ESP32 D0WDQ6-V3 dual-core MCU med 16MB Flash og 8MB PSRAM. Det leveres med en 2,0-tommer kapacitiv touchskærm, Wi-Fi forbindelse og et 390mAh genopladeligt batteri styret af AXP192 strømkredsløbet, som sikrer effektiv strømstyring. Yderligere funktioner som en USB Type-C grænseflade, TF kortslot, indbygget RTC-modul, vibrationsmotor, I2S digital lydgrænseflade og programmerbare kapacitive trykknapper gør M5Stack Core2 til et ideelt valg for udviklere, der arbejder med smarte enheder, hjemmeautomatisering og interaktive elektronikprojekter.
Q2: Hvad er opløsningen på M5Stack Core2-skærmen?
A2:
M5Stack Core2 har en 2,0-tommer kapacitiv touchskærm med en opløsning på 320x240 pixels.
Q3: Hvad er baud hastighed for M5Stack Core2?
A3:
Den standard baud rate for M5Stack Core2 er typisk sat til 115200 bps for seriel kommunikation. Den kan dog justeres i koden til andre værdier afhængigt af kravene i dit projekt.
Q4: Hvorfor læser mit hukommelseskort ikke på M5Stack Core2, og hvordan kan jeg løse det?
A4:
For at forbedre hukommelseskortlæsningsevnen på M5Stack Core2 kan du bruge følgende kode til at konfigurere GPIO-benene og forbedre hukommelsesgrænsefladen:
for (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); }
✔ Kopieret!

Denne kode konfigurerer de angivne GPIO-ben (18, 19, 23) ved at aktivere de nødvendige pull-up modstande og justere drivstyrken, hvilket kan hjælpe med at forbedre ydelsen ved læsning af hukommelseskort.
Q5: Hvordan registrerer vi strømniveauet på Core2?
A5:
For at registrere strømniveauet på M5Stack Core2 kan du bruge følgende kode, der benytter Core2 API til at hente batterispændingen:
#include void setup() { M5.begin(); } void loop() { Serial.printf("Battery Voltage: %f\n", M5.Axp.GetBatVoltage()); delay(500); }
✔ Kopieret!
Denne kode læser batterispændingen og udskriver den til seriel monitor hvert 500. millisekund. Sørg for at henvise til M5Core2 API-dokumentationen for mere detaljerede funktioner og konfigurationer relateret til strømstyring.
Q6: Hvordan kan jeg vise billeder på M5Stack Core2 ved hjælp af C-sprog?
A6:
For at vise et 320x240 pixel JPG-billede med navnet
logo.jpg
på M5Stack Core2, følg disse trin:-
Opret billedet: Forbered et 320x240 pixel JPG-billede kaldet
logo.jpg
. -
Konverter billedet: Download kildefilerne, pak dem ud, og åbn mappen. Kør
.\conver.ps1
-scriptet i terminalen for at konvertere billedet til et binært format, der er kompatibelt med Core2. -
Erstat billeddataene: Efter konvertering tager du de resulterende binære data og erstatter indholdet i arrayet i den medfølgende kildefil.
-
Upload programmet: Åbn
drawImageData_core2_Pure.ino
-filen, og indsæt de konverterede binære data i arrayet. Upload programmet til M5Stack Core2.



Når programmet er uploadet, vises billedet på skærmen som vist i eksemplet.
Sørg for at henvise til den officielle dokumentation for yderligere instruktioner om håndtering af billeder og deres binære formater.
Tips og tricks til brug af M5Stack Core2
Generelle tips
Batteristyring
Brug AXP192-chippen til strømstyring. Overvåg batteriniveauer via M5Stack Core2-biblioteket eller ESPHome-konfigurationer for effektivt at styre strømforbruget.
Firmwareopdateringer
Tjek regelmæssigt for og opdater firmwaren på din M5Stack Core2 for at få glæde af nye funktioner, forbedret ydeevne og sikkerhedsopdateringer. Brug M5Burner-værktøjet til dette.
Brugerdefineret opstartslogo
Personliggør din enhed ved at sætte et brugerdefineret boot-logo med M5Burner-værktøjet. Dette kan gøre din enhed unik eller afspejle et projekts tema.
Hardwareudnyttelse
Skærmlysstyrke
Juster skærmens lysstyrke programmatisk ved hjælp af AXP192-chippen for at spare batteri. Sænk lysstyrken til mindre kritiske operationer eller når enheden er i standby-tilstand.
Brug af touchscreen
For mere interaktive projekter, udnyt touchscreenens muligheder. Brug M5.Touch-klassen til berøringsdetektion. Husk, at skærmen understøtter multitouch, hvilket kan bruges til mere komplekse brugergrænseflader.
IMU (Inertial Measurement Unit) sensor
Den indbyggede MPU6886 kan bruges til bevægelsessensorer, gestusstyring eller stabilisering af kameraapplikationer. Overvej dens indvirkning på batterilevetiden, hvis den bruges kontinuerligt.
MicroSD-kort
Udnyt microSD-slot til datalogning, lagring af større filer eller udvidelse af hukommelsen til applikationer, der har brug for mere lagerplads end den interne flash tilbyder.
Softwaretips
Arduino IDE
Når du bruger Arduino IDE, skal du sørge for at installere M5Stack Core2 board support-pakken fra M5Stack bibliotekshåndtering for fuld hardwareunderstøttelse.
ESPHome-integration
Hvis du integrerer med Home Assistant via ESPHome, brug eksempelkonfigurationerne, men vær forberedt på nogle justeringer, især for komponenter som skærm eller strømstyring.
Strømbesparende tilstande
Implementer dyb søvntilstand for batteridrevne projekter. M5Stack Core2 kan vækkes fra forskellige triggere som berøring, knaptryk eller timer.
Bluetooth og WiFi
ESP32 understøtter både Bluetooth og WiFi. Brug Bluetooth til lavt strømforbrug og kortdistancekommunikation eller WiFi til mere robust netværk, men håndter deres strømforbrug omhyggeligt.
Projektidéer
Smart home-controller
Forvandl Core2 til en bærbar smart home-controller med touch-baserede grænseflader til styring af lys, klima osv.
Bærbar teknologi
Brug IMU til fitness-trackere eller VR-controllere ved at udnytte de indbyggede sensorer til bevægelsesanalyse.
Uddannelsesværktøjer
Skab interaktive læringsenheder til uddannelsesformål, hvor elever kan interagere med data visuelt.
Fejlfinding
Nulstillingsmetoder
Hvis din enhed hænger, så husk at der er en reset-knap på bagsiden og også en metode til at nulstille med tænd/sluk-knappen ved at holde den nede i cirka 10 sekunder.
Debugging
Brug seriel output til fejlfinding. Tilslut via USB og brug værktøjer som Arduino Serial Monitor eller en terminalemulator for realtidsfeedback fra din kode.
Fællesskabsressourcer
M5Stack-fællesskabet er ret aktivt; fora, GitHub og sociale mediegrupper er gode steder til fejlfinding og inspiration.
Konklusion
Nøglefunktioner og fordele ved M5Stack Core2 V1.1 anmeldelse
Nøglefunktioner
2,0-tommer kapacitiv touchskærm
Har en 320x240 IPS LCD med tre programmerbare virtuelle knapper via hot zone-mapping (FT6336U, I2C-adresse 0x38), som muliggør tilpasset menneske-maskine-interaktion.
Forbedrede sensor- og feedbackfunktioner
Indbygget vibrationsmotor til haptisk feedback og alarmer.
6-akset IMU (MPU6886) til bevægelsessensor og en PDM-mikrofon til lydinput.
Integreret højttaler med I2S-forstærker (NS4168) for lyd i høj kvalitet.
Strøm- og tidsstyring
AXP2101 strømstyringschip (parret med INA3221) optimerer strømforbruget, med en blå strømindikator til status eller brugerdefinerede funktioner.
Real-Time Clock (RTC, BM8563) med dedikeret backupbatteri sikrer præcis timing, selv når enheden er slukket.
500mAh lithiumbatteri til bærbar drift.
Forbindelse og lager
ESP32-D0WDQ6-V3 med dual-core 240MHz processor, Wi-Fi, 16MB Flash og 8MB PSRAM.
MicroSD-kortplads (op til 16GB) til udvidet lagerplads.
USB Type-C, GROVE-porte (I2C, UART, GPIO) og M-Bus-stik til udvidelse.
Udviklingsfleksibilitet
Kompatibel med flere platforme: UIFlow, MicroPython, Arduino, .NET nanoFramework og Zephyr RTOS.
Inkluderer fysiske kontroller som tænd/sluk- og reset-knapper samt en CH9102F USB-til-seriel chip for pålidelig programmering.
Yderligere hardware
Blåt strømindikator-LED, vibrationsmotor og et kompakt design (54 x 54 x 16,5 mm) med plastikhus.
Driftstemperaturområde fra 0°C til 60°C, egnet til forskellige miljøer.
Fordele
-
Alsidighed: Ideel til IoT-terminalcontrollere, gør-det-selv-projekter, STEM-undervisning og smarte hjem-enheder takket være dens rige funktionssæt og udvidelsesmuligheder.
-
Brugervenlig interaktion: Touchskærm og virtuelle knapper kombineret med haptisk feedback skaber en intuitiv grænseflade til forskellige anvendelser.
-
Pålidelig ydeevne: RTC med backupbatteri og strømbesparende AXP2101 sikrer stabil drift, selv i bærbare eller lavstrøms-scenarier.
-
Skalerbarhed: Omfattende tilslutningsmuligheder (Wi-Fi, I2C, UART) og kompatibilitet med M5Stack-moduler (med hensyn til basekompatibilitet) muliggør skræddersyede udvidelser.
-
Udviklervenlig: Multiplatform-understøttelse og et robust økosystem (biblioteker som M5Unified) forenkler udviklingen, mens MicroSD-slot og lydfunktioner øger projektpotentialet.
Praktiske noter
-
Kræver fjernelse af batteribasen ved stabling med M5-moduler; M5GO Bottom2 anbefales for at bevare fuld funktionalitet.
-
Vibrationsmotoren kan forstyrre M5 Base-seriens baser, så undgå at stable med disse.
-
Kantberørings ikke-linearitet kan løses med firmwareopdateringer via M5Tool.
M5Stack Core2 V1.1 skiller sig ud som en kompakt, funktionsrig platform, der balancerer kraft, interaktivitet og fleksibilitet, hvilket gør den til et fremragende valg for hobbyister, undervisere og udviklere.