Introduction
Première rencontre M5Stack Core2
Le M5Stack Core2 prend en charge plusieurs plateformes de programmation telles que Arduino, MicroPython, et M5Stack UIFlow, ce qui le rend polyvalent pour divers projets IoT, y compris les dispositifs domotiques, les outils éducatifs et le prototypage rapide. Son design modulaire permet une extension facile avec d'autres modules M5Stack, améliorant ainsi sa fonctionnalité pour des applications variées.
Caractéristiques et capacités principales
Processeur
Processeur double cœur ESP32-D0WDQ6-V3, fonctionnant jusqu'à 240MHz.
Mémoire
-
Mémoire flash de 16 Mo
-
8 Mo de mémoire PSRAM
Connectivité sans fil
-
Wi-Fi 802.11 b/g/n
-
Bluetooth 4.2 BLE
Interface utilisateur
-
6 boutons tactiles programmables
-
Moteur à vibration pour retour haptique
Capteurs
-
IMU 6 axes (MPU6886) pour les données d'accélération et de gyroscope
Audio
-
Haut-parleur intégré
-
Interface audio numérique I2S
Gestion de l'alimentation
-
AXP192 PMU pour la gestion de la batterie
-
Prend en charge la charge USB Type-C
-
Batterie LiPo intégrée
RTC
-
Horloge en temps réel pour une mesure précise du temps
Contenu principal de cet article
L'objectif principal de cet article est de fournir un aperçu complet du M5Stack Core2, un kit de développement IoT innovant basé sur le microcontrôleur ESP32. Nous visons à :
-
Informer les lecteurs sur les spécifications matérielles, y compris sa puissance de traitement, sa mémoire, ses options de connectivité et ses capteurs intégrés.
-
Mettez en avant les caractéristiques uniques telles que l'interface à écran tactile, le retour haptique et le design modulaire qui permet l'expansion du projet.
-
Guide les utilisateurs à travers les différents environnements de programmation (Arduino, MicroPython, UIFlow) pris en charge par M5Stack Core2, offrant des conseils sur celui qui pourrait être le mieux adapté à différents types de projets.
-
Démontrer les applications potentielles en présentant des exemples concrets où le M5Stack Core2 peut être utilisé, des outils éducatifs aux dispositifs domotiques.
-
Aider à la prise de décision pour les amateurs, les éducateurs et les professionnels envisageant cet appareil pour leurs projets IoT en discutant de ses points forts, de ses limites et de la manière dont il se compare à d'autres plateformes similaires.
À la fin de cet article, les lecteurs auront une compréhension approfondie de ce que le M5Stack Core2 offre, comment exploiter ses capacités, et s'il correspond à leurs besoins spécifiques dans le domaine du développement IoT.
Qu'est-ce que M5Stack Core2 ?
Explication détaillée de M5Stack Core2
Le M5Stack Core2 est un kit de développement IoT avancé basé sur l'ESP32, conçu à la fois pour les débutants et les développeurs expérimentés. Il est équipé d'un processeur double cœur ESP32-D0WDQ6-V3 fonctionnant jusqu'à 240MHz, avec des capacités WiFi et Bluetooth intégrées. Ce kit comprend 16MB de mémoire Flash et 8MB de PSRAM pour des performances améliorées.
Les points forts du Core2 incluent un écran tactile capacitif de 2 pouces qui permet une interaction utilisateur intuitive, des boutons tactiles programmables, et un moteur de vibration intégré pour un retour haptique. Il dispose également d'un module RTC (horloge temps réel) intégré pour une mesure précise du temps, et la gestion de l'alimentation est assurée par la puce AXP192, qui contrôle efficacement la consommation de la batterie. Parmi les autres fonctionnalités, on trouve un haut-parleur, une interface audio numérique I2S pour une sortie sonore claire, et un capteur IMU 6 axes à l'arrière pour la détection de mouvement.
Groupes concernés
Passionnés et amateurs de bricolage
Les personnes passionnées par l'électronique, la robotique et les projets IoT à la recherche d'une solution tout-en-un pour expérimenter.
Éducateurs et étudiants
Les enseignants à la recherche d'outils attrayants pour enseigner la programmation, l'électronique et les concepts de l'IoT, ainsi que les étudiants apprenant ces matières.
Développeurs IoT
Professionnels ou passionnés développant des solutions IoT qui ont besoin d'une plateforme compacte et puissante avec de nombreuses options de connectivité.
Créateurs et Hackerspaces
Communautés ou individus impliqués dans des maker fairs, hackathons ou espaces collaboratifs où le prototypage rapide est essentiel.
Concepteurs de produits
Ceux qui prototypent de nouveaux appareils intelligents ou intègrent l'IoT dans des produits existants, ayant besoin d'une plateforme polyvalente pour le développement et les tests.
Artistes et installations interactives
Créatifs utilisant la technologie pour améliorer les installations artistiques ou les expositions interactives avec des capteurs, des écrans et la connectivité.
Différence entre M5Stack Core2 et M5Stack Core2 V1.1
Fonctionnalité | M5Stack Core2 | M5Stack Core2 V1.1 |
Gestion de l'alimentation | Puce AXP192 | AXP2101 + INA3221 (Amélioré Circuit intégré de puissance) |
Couleur de l'indicateur de puissance | Vert | Bleu |
RTC (Horloge Temps Réel) | Intégré, mais sans batterie dédiée pour RTC |
Comprend une batterie dédiée pour RTC pour maintenir l'heure lorsque éteint |
Puce USB | CH9102F | Idem, mais l'installation du pilote pourrait diffèrent en raison de la version matérielle |
Conception générale | Conception classique Core2 | Version itérative avec la même facteur de forme mais composants internes mis à jour |
Compatibilité | Compatible avec M5GO Bottom pour des fonctionnalités supplémentaires | Compatibilité avec les modules pourrait exigent de supprimer ou d'utiliser un spécifique Bottom2 pour une fonctionnalité complète |
Environnement de programmation | Prend en charge Arduino, MicroPython, UIFlow | Même support, pas de changement dans environnement de programmation |
Écran tactile | Écran tactile capacitif de 2 pouces | Pareille, sans changement d'écran caractéristiques |
Moteur à vibrations | Inclus pour le retour haptique | Inclus, aucun changement |
Mémoire et processeur | ESP32-D0WDQ6-V3, 16MB Flash, 8 Mo de mémoire PSRAM |
Mêmes spécifications |
Matériel M5Stack Core2
Taille et résolution de l'écran M5Stack Core2
-
Taille de l'écran : 2 pouces
-
Résolution : 320 x 240 pixels
Processeur, mémoire et stockage M5Stack Core2
-
Processeur : ESP32-D0WDQ6-V3 double cœur, fonctionnant jusqu'à 240MHz.
-
Mémoire:RAM : 8MB PSRAM (Pseudo Static RAM)
-
Stockage:Mémoire flash : 16 Mo
Options de connectivité
-
WiFi : 802.11 b/g/n, permettant la mise en réseau sans fil pour les projets IoT.
-
Bluetooth : Version 4.2 BLE (Bluetooth Low Energy), pour une communication sans fil à faible consommation d'énergie et à courte portée.
Capteurs et Périphériques
Capteurs
-
IMU 6 axes (Unité de mesure inertielle) :Combine un accéléromètre 3 axes et un gyroscope 3 axes pour la détection de mouvement. Il utilise le capteur MPU6886, qui fournit des données pour l'orientation, l'accélération et la rotation.
Ces capteurs sont les principaux intégrés dans le M5Stack Core2. Cependant, la conception de l'appareil permet une extension via divers modules M5Stack et ports GROVE, qui peuvent ajouter des capteurs supplémentaires tels que :
Capteurs de température
Capteurs d'humidité
Capteurs de lumière
Capteurs de proximité
Capteurs de pression
Capteurs de champ magnétique (boussole)
etc.
Périphériques
-
Boutons tactiles programmables :L'écran comprend trois boutons tactiles capacitifs, qui peuvent être programmés pour diverses fonctions ou entrées utilisateur.
-
Microphone:Un microphone intégré permet la détection sonore ou les commandes vocales.
-
Conférencier:Intégré pour la sortie audio, utile pour les alarmes, les notifications ou la lecture de musique.
-
Moteur à vibrations :Fournit un retour haptique, améliorant l'interaction utilisateur dans des applications telles que les jeux ou les notifications.
-
RTC (Horloge Temps Réel) :Un module RTC intégré pour garder la trace du temps, même lorsque l'appareil est éteint, garantissant une mesure précise du temps pour la planification ou les opérations basées sur le temps.
-
Circuit intégré de gestion de l'alimentation (PMIC) :La puce AXP192 gère la distribution d'énergie, la charge de la batterie et la régulation de la tension, ce qui est crucial pour maintenir l'efficacité et prolonger la durée de vie de la batterie.
-
Port USB Type-C :Pour l'alimentation, la programmation et la communication de données. Il prend en charge USB OTG pour connecter des périphériques externes comme des claviers ou des souris dans certaines configurations.
-
Emplacement pour carte MicroSD :Permet un stockage supplémentaire, idéal pour la journalisation des données, la mise à jour du firmware ou le stockage de médias.
Alimentation et autonomie de la batterie
Alimentation électrique
-
Tension d'entrée : 5V via le port USB-C pour la charge et l'alimentation de l'appareil.
-
Gestion de l'alimentation : L'alimentation est gérée par la puce AXP192 dans le Core2 original, et par l'AXP2101 + INA3221 dans le Core2 V1.1, permettant un contrôle efficace de la consommation d'énergie.
-
Chargement de la batterie : Prend en charge la charge via le port USB-C, avec la possibilité d'options d'alimentation externes via des broches spécifiques si configuré correctement.
Batterie
-
Batterie incluse : Une batterie LiPo de 390mAh est intégrée dans le Core2, fournissant de l'énergie lorsqu'il est déconnecté des sources externes.
-
Extension de batterie : Pour une autonomie prolongée, les utilisateurs peuvent ajouter des modules de batterie externes comme le M5GO Bottom2 (qui inclut une batterie supplémentaire de 500mAh) ou empiler plusieurs modules de batterie puisqu'ils sont parallélisables.
Autonomie de la batterie
-
Durée d'utilisation : L'autonomie de la batterie varie considérablement en fonction de l'utilisation.Modes de veille ou de faible consommation : avec l'écran éteint et en modes de faible consommation, il peut durer des heures voire des jours, selon la fréquence à laquelle il se réveille ou la profondeur du mode veille utilisé.Utilisation active : Avec l'écran allumé et des programmes en cours d'exécution, en particulier ceux utilisant le WiFi ou le Bluetooth, l'autonomie de la batterie peut durer de quelques heures à environ 5-6 heures, en fonction de facteurs tels que la luminosité de l'écran, l'utilisation des capteurs et la charge de traitement.
-
Modes de sommeil : le mode de sommeil profond de l'ESP32 peut considérablement prolonger la durée de vie de la batterie, potentiellement pendant des semaines ou des mois si l'appareil n'a besoin de se réveiller que de temps en temps, par exemple pour la journalisation des données ou des vérifications périodiques du WiFi.
-
Améliorations : Les utilisateurs rapportent souvent qu'ils peuvent prolonger la durée de vie de la batterie grâce à des optimisations logicielles, telles que la réduction de la luminosité de l'écran, la diminution des fréquences de sondage des capteurs, ou l'utilisation de stratégies de gestion de l'énergie efficaces comme le mode veille profonde pendant les périodes d'inactivité.
Notes supplémentaires
-
Indicateur d'alimentation : Il y a une LED intégrée (verte dans l'original, bleue dans la V1.1) qui indique l'état de l'alimentation et peut être programmée pour des notifications personnalisées.
-
Batterie RTC : Dans le modèle V1.1, il y a une petite batterie supplémentaire pour le RTC, garantissant la conservation de l'heure même lorsque la batterie principale est déchargée ou retirée.
Logiciel et Développement
Langages de programmation pris en charge
-
C/C++ (utilisé avec Arduino IDE)
-
Python (saveur MicroPython pour ESP32)
-
JavaScript (pour certaines applications web, pas de programmation directe des appareils mais peut interagir via des interfaces web ou node-red).
Plateformes de programmation prises en charge
-
Arduino : C'est l'une des plateformes les plus populaires pour l'ESP32. L'IDE Arduino avec le support ESP32 vous permet d'écrire et de téléverser du code sur le M5Stack Core2 en utilisant le C/C++.
-
MicroPython : Une implémentation de Python 3 pour microcontrôleurs, MicroPython convient parfaitement à ceux qui préfèrent la syntaxe de Python. Il offre un REPL interactif (Read-Eval-Print Loop) pour un test immédiat du code, ce qui le rend particulièrement adapté à un usage éducatif.
-
UIFlow : Il s'agit du langage de programmation visuel propre à M5Stack ou d'un environnement de programmation par blocs similaire à Scratch ou Blockly. Il est conçu pour être très convivial, vous permettant de programmer le Core2 en connectant des blocs représentant des fonctions de code. UIFlow peut générer du code MicroPython ou Arduino en arrière-plan, qui peut ensuite être modifié ou utilisé directement.
Chacun de ces environnements offre différents avantages :
-
Arduino offre une expérience de programmation de microcontrôleur plus traditionnelle avec un accès à un vaste écosystème de bibliothèques.
-
MicroPython facilite la prise en main de la programmation matérielle pour les débutants ou les passionnés de Python, offrant une expérience de codage plus lisible et interactive.
-
UIFlow est excellent pour le prototypage rapide, l'éducation, ou pour ceux qui n'ont pas une grande expérience en codage mais souhaitent créer des dispositifs IoT fonctionnels.
Ces plateformes ne sont pas mutuellement exclusives ; vous pouvez commencer avec l'une et passer à une autre ou en utiliser une différente pour divers aspects de votre projet, en tirant parti de leurs fonctionnalités uniques pour répondre à vos besoins de développement.
Configuration de l'environnement de développement
Installation de l'IDE Arduino
Visitez le site Arduino.cc et cliquez sur software, ou vous pouvez cliquer ICI.
Téléchargez Arduino IDE, installez-le.
Installation de la gestion de la carte
L'URL du Board Manager est utilisée pour indexer les informations de la carte de développement pour une plateforme particulière. Dans le menu de l'IDE Arduino, sélectionnez Fichier -> Préférences

Copiez l'URL de gestion des cartes M5Stack ci-dessous dans le champ URLs supplémentaires du gestionnaire de cartes :, et enregistrez.

Dans la barre latérale, sélectionnez Board Manager, recherchez M5Stack, et cliquez sur Installer

Sélection de la carte de développement
Selon le produit utilisé, sélectionnez la carte de développement correspondante sous Outils -> Carte -> M5Stack -> {Product Name}.

Guide de démarrage rapide pour M5Stack UIFlow 2.0 Web IDE
Qu'est-ce que M5Stack UIFlow
UIFlow2 est un IDE de programmation graphique convivial qui offre une transmission de programme sans fil et filaire fluide, une fonctionnalité de clic et d'exécution du programme, éliminant ainsi le besoin de compilations répétées. Il s'intègre parfaitement à plus de 100 périphériques matériels et capteurs M5, permettant une addition et une expansion sans effort en un seul clic. Cette fonctionnalité permet la construction de prototypes de produits et accélère le processus de développement, conduisant finalement à une productivité et une efficacité accrues. Dans ce tutoriel, nous démontrerons comment flasher le firmware de la version UIFlow 2.x sur votre appareil M5Stack et utiliser l'IDE Web UIFlow pour le développement secondaire du produit.
Avant de programmer avec UIFlow, il y a quelques étapes préparatoires à suivre :
-
Installez l'outil de gravure de firmware M5Burner.
-
Utilisez M5Burner pour flasher le firmware du dispositif correspondant, connectez-vous à votre compte et configurez la connexion Wi-Fi pour le dispositif.
-
Ouvrez la version 2.0 de l'IDE Web UIFlow, sélectionnez l'option de périphérique en ligne appropriée, puis cliquez pour vous connecter.
-
Faites glisser et déposez les blocs pour modifier le programme, puis cliquez sur le bouton Exécuter pour déboguer le programme.
Informations supplémentaires :
M5Burner est un outil unifié de gravure de firmware introduit par M5Stack. Il permet aux utilisateurs de graver facilement le firmware UIFlow et d'écrire des informations de configuration telles que les paramètres Wi-Fi pendant le processus de gravure.
Installer M5Burner
Compte Communauté M5Stack
Pour accéder aux logiciels M5Burner et UIFlow 2.0/1.0, vous devrez enregistrer un compte Communauté M5Stack. Veuillez noter que ce compte peut également être utilisé pour vous connecter à la page de connexion de M5Burner et UIFlow 2.0/1.0. Pour enregistrer un compte Communauté M5Stack, veuillez cliquer sur le bouton 'Register' dans le logiciel M5Burner, le logiciel UIFlow 2.0/1.0 ou la version web.
Gravure du firmware et exécution des programmes
Installation du pilote USB
Sélection du port
Pour connecter l'appareil à l'ordinateur, veuillez utiliser un câble USB. Ensuite, cliquez sur le bouton Burn pour le firmware correspondant dans M5Burner. Vous devrez ensuite entrer les informations Wi-Fi et sélectionner le port de l'appareil correct.

Gravure du micrologiciel
Connectez l'appareil à l'ordinateur via un câble USB, sélectionnez le bouton Burn pour le firmware correspondant dans M5Burner, et remplissez la configuration Wi-Fi à laquelle l'appareil est pré-connecté, y compris le SSID Wi-Fi et le mot de passe Wi-Fi, ainsi que d'autres configurations de l'appareil qui doivent être ajoutées ou modifiées.


Ouvrir UIFlow
Cliquez https://uiflow2.m5stack.com, ouvrez le M5Stack UIFlow 2.0
Cliquez sur la barre des appareils dans le coin inférieur droit, vous pouvez trouver votre nouvel appareil comme ceci :


Vous pouvez maintenant utiliser M5Stack UIFlow normalement.
Bibliothèques et SDK
Bibliothèques
SDK
Comment connecter M5Stack à Arduino IDE
Connectez votre M5Stack Core2 et votre ordinateur.
Ouvrez Arduino IDE, cliquez sur Outils-Board-M5Stack-M5Core2

Choisissez le bon port, changez votre vitesse de téléchargement à 1500000

Exemples de programmation de base
Cliquez sur Fichier-Exemples-M5Core2, vous pouvez trouver les exemples de programmation de base.
Lorsque vous avez terminé la vérification, vous pouvez télécharger le code dans votre M5Stack Core2.

Déballage et installation
Qu'y a-t-il dans la boîte
-
1x Core2 V1.1
-
1x USB Type-C (20 cm)
-
1x CLÉ HEXAGONALE

L'arrière du M5Stack Core2 présente les composants clés suivants :
-
Basé sur ESP32 avec Wi-Fi intégré
-
16M Flash et 8M PSRAM
-
-
Haut-parleur intégré, indicateur de puissance, moteur de vibration, RTC, amplificateur I2S, bouton d'alimentation.
-
Emplacement pour carte TF (jusqu'à 16 Go)
-
Batterie lithium intégrée avec puce de gestion de l'alimentation
-
Carte indépendante compacte avec un IMU 6 axes et un microphone PDM
-
Prise et broches M-Bus
Une fois que vous ouvrez la couverture arrière étiquetée « Core2 » sur le côté gauche, vous trouverez la puce MIC (SPM1423), la puce IMU (MPU6886, qui comprend un gyroscope 3 axes et un accéléromètre 3 axes), ainsi que les broches pour les connexions.
Firmware d'usine M5Stack Core2
La page Firmware d'usine du M5Stack Core2 offre une vue d'ensemble complète des capacités de l'appareil. Elle affiche des informations clés telles que la puce MPU6886, l'horloge en temps réel, le niveau de batterie et diverses options de réglage. La page inclut également des fonctionnalités comme la fonction marche/arrêt, le statut de connexion Wi-Fi et une fonction minuterie. De plus, elle permet l'affichage des images et de la musique stockées sur la carte SD et fournit une représentation visuelle du niveau de volume actuel. Cette page sert d'interface intuitive pour gérer les fonctions essentielles de l'appareil et surveiller ses performances.
Test de Fonction Système
Le système prend en charge les tests de connexion I/O, les tests de moteur intelligent, les tests de buzzer et les tests de fonctionnalité de l'écran TFT. Ces tests permettent de s'assurer que tous les composants fonctionnent correctement, permettant aux utilisateurs de vérifier les principales caractéristiques et fonctionnalités de l'appareil.
Prise en charge du Wi-Fi
Sur la page Wi-Fi, le M5Stack Core2 affiche les réseaux Wi-Fi disponibles à proximité, triés par force du signal. Les utilisateurs peuvent facilement visualiser et sélectionner le meilleur réseau pour la connexion, garantissant une qualité de signal optimale et une stabilité. Cette fonctionnalité permet à l'appareil de se connecter rapidement à un réseau, offrant un soutien fiable pour les applications IoT et les opérations à distance.
Exemples M5Stack Core2
Projets UIFlow
Aujourd'hui, j'utilise le M5Stack 8ENCODER et le M5Stack Core2 pour vous montrer comment utiliser M5Stack UIFlow
Connecter
Tout d'abord, connectez M5Stack Core2 et l'ordinateur avec un câble Type-C, puis connectez M5Stack Core2 et 8ENCODER avec un câble Grove
Parce que l'unité 8ENCODER dispose de 8 canaux, nous avons 9 étiquettes sur l'écran du M5Stack Core2 comme ceci :
Ajouter une unité
Ensuite, ajoutez une unité, trouvez 8Encoder et choisissez le Bus vers I2C
Installation
Init I2C SCL à 33, SDA à 32, fréquence à 100K
Initialiser l'adresse I2C de encoder8_0 à 0x41
Boucle
Réglage de la valeur du canal 8Encoder de M5Stack
M5Stack 8Encoder canal RGB LED réglage de la couleur

Faisons un prototype d'un cadenas à combinaison sonore

Si la valeur du canal 1 = la valeur du canal 2, la valeur du canal 3 = la valeur du canal 4
Faites que le texte de label8 soit « Right », et le buzzer retentisse fort pour nous rappeler
Sinon, texte de label8 'Faux', buzzer silencieux
Téléchargeons le code et découvrons ce qui va se passer


Et nous pouvons gérer une logique plus complexe. Amusez-vous avec votre M5Stack Core2.
Projets DIY sympas pour M5Stack Core2
M5Stack Core2 et Home Assistant
Intégration avec Home Assistant
Parce que le M5Stack Core2 utilise une puce ESP32, nous pouvons utiliser ESPHome pour connecter M5Stack et Home Assistant.


Configurer le M5Stack Core2 comme contrôleur de domotique
Installer ESPHome dans Home Assistant
-
Si ce n'est pas déjà fait, allez dans Paramètres de Home Assistant > Add-ons > Boutique d'add-ons.
-
Recherchez « ESPHome » et installez-le. Une fois installé, lancez le module complémentaire.
Créer un nouvel appareil dans ESPHome
-
Après que le module complémentaire ESPHome est en cours d'exécution, allez à la page ESPHome dans votre instance Home Assistant.
-
Cliquez sur Nouveau périphérique en bas à droite, puis sur Continuer.
-
Nommez votre appareil, par exemple « m5stack-core2 », et sélectionnez ESP32 comme plateforme, puis choisissez M5Stack Core ou M5Stack Core2 si listé (la dénomination exacte peut varier selon la version d'ESPHome).
Configurer ESPHome pour M5Stack Core2
-
Voici un exemple de configuration YAML que vous pourriez utiliser pour le M5Stack Core2 :
esphome: nom : m5stack-core2 plateforme : ESP32 board: m5stack-core-esp32 Wi-Fi: ssid : "Your_WiFi_SSID" password: "Your_WiFi_Password" # Activer le point d'accès de secours (portail captif) en cas d'échec de la connexion wifi ap: ssid : "M5Stack-Core2 Fallback Hotspot" password: "Your_AP_Password" enregistreur: API: commande: capteur: - plateforme : axp192 adresse : 0x34 i2c_id : bus_a update_interval: 30s niveau_de_batterie : name: "Niveau de batterie M5Stack Core2" # Exemple d'utilisation de l'écran (si pris en charge dans votre version ESPHome) afficher: - plateforme : ili9341 model: 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()); # Si vous souhaitez utiliser des boutons ou d'autres fonctionnalités bouton: - plateforme : gpio nom : « Bouton A » épingle: numéro : GPIO39 inversé : vrai identifiant : bouton_a
✔ Copié !
Note : La configuration exacte de l'affichage pourrait ne pas être entièrement prise en charge ou pourrait nécessiter une configuration supplémentaire, car il a été mentionné un support limité pour l'écran du Core2 dans ESPHome. Vous pourriez avoir besoin de chercher des contributions communautaires ou des bibliothèques externes pour une fonctionnalité complète.
Compiler et téléverser le firmware
-
Cliquez sur Installer dans l'interface ESPHome pour compiler la configuration YAML en firmware et la flasher sur le M5Stack Core2. Assurez-vous que votre appareil est en mode flash (souvent en maintenant le bouton d'alimentation ou le bouton de réinitialisation lors du démarrage).
Intégrer avec Home Assistant
-
Une fois que l'appareil se connecte à votre WiFi, Home Assistant devrait le détecter automatiquement si vous utilisez l'API native. Sinon, vous pouvez l'ajouter manuellement dans Configuration > Intégrations > Ajouter une intégration, en recherchant « ESPHome » et en entrant le nom d'hôte ou l'adresse IP de l'appareil.
Dépannage et fonctionnalités supplémentaires
-
Si l'écran ne fonctionne pas ou si d'autres composants comme les capteurs ou les boutons ne sont pas reconnus, vous devrez peut-être consulter les forums communautaires ou GitHub pour des mises à jour ou des configurations personnalisées. Il y a des discussions sur la nécessité d'ajouter manuellement le support pour certains composants du Core2 comme la puce de gestion d'alimentation (AXP192) ou l'écran.
Gestion de la batterie
Le M5Stack Core2 dispose d'un système de gestion de l'alimentation intégré ; assurez-vous de le configurer correctement pour la surveillance de la batterie et les fonctionnalités d'économie d'énergie.
Composants personnalisés
Pour les fonctionnalités non prises en charge nativement, vous pourriez avoir besoin de créer ou d'utiliser des composants personnalisés ou d'examiner des alternatives comme OpenHASP pour le contrôle de l'affichage.
N'oubliez pas que le support ESPHome pour M5Stack Core2, en particulier concernant l'affichage, pourrait évoluer, donc garder votre ESPHome et Home Assistant à jour pourrait aider à la compatibilité et à la disponibilité des fonctionnalités.
Dépannage et FAQ
Problèmes courants et solutions
Q1 : Quel est le spécifications de M5Stack Core2 ?
A1 :
Le M5Stack Core2 est une carte de développement ESP32 riche en fonctionnalités, conçue pour les applications IoT et embarquées, alimentée par le MCU double cœur ESP32 D0WDQ6-V3 avec 16MB Flash et 8MB PSRAM. Il est équipé d'un écran tactile capacitif de 2,0 pouces, d'une connectivité Wi-Fi et d'une batterie rechargeable de 390mAh gérée par la puce d'alimentation AXP192, garantissant un contrôle efficace de l'énergie. Des fonctionnalités supplémentaires telles qu'une interface USB Type-C, un slot pour carte TF, un module RTC intégré, un moteur de vibration, une interface audio numérique I2S et des boutons tactiles capacitifs programmables font du M5Stack Core2 un choix idéal pour les développeurs travaillant sur des appareils intelligents, l'automatisation domestique et des projets électroniques interactifs.
Q2 : Quelle est la résolution de l'écran M5Stack Core2 ?
A2:
Le M5Stack Core2 est équipé d'un écran tactile capacitif de 2,0 pouces avec une résolution de 320x240 pixels.
Q3 : Quel est le baud taux de M5Stack Core2 ?
A3:
Le baud rate par défaut pour le M5Stack Core2 est généralement réglé à 115200 bps pour la communication série. Cependant, il peut être ajusté dans le code à d'autres valeurs en fonction des besoins de votre projet.
Q4 : Pourquoi ma carte mémoire n'est-elle pas lue sur le M5Stack Core2, et comment puis-je la réparer ?
A4:
Pour améliorer la capacité de lecture de la carte mémoire sur le M5Stack Core2, vous pouvez utiliser le code suivant pour configurer les broches GPIO et améliorer l'interface mémoire :
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); }
✔ Copié !

Ce code configure les broches GPIO spécifiées (18, 19, 23) en activant les résistances de tirage nécessaires et en ajustant la force de pilotage, ce qui peut aider à améliorer les performances de lecture de la carte mémoire.
Q5 : Comment détectons-nous le niveau de puissance de core2 ?
A5:
Pour détecter le niveau de puissance du M5Stack Core2, vous pouvez utiliser le code suivant qui utilise l'API Core2 pour récupérer la tension de la batterie :
#include void setup() { M5.start(); } boucle vide() { Serial.printf("Tension de la batterie : %f\n", M5.Axp.GetBatVoltage()); délai(500); }
✔ Copié !
Ce code lit la tension de la batterie et l'affiche sur le moniteur série toutes les 500 millisecondes. Assurez-vous de consulter la documentation de l'M5Core2 API pour des fonctions et configurations plus détaillées liées à la gestion de l'alimentation.
Q6 : Comment puis-je afficher des images sur le M5Stack Core2 en utilisant le langage C ?
A6 :
Pour afficher une image JPG de 320x240 pixels nommée
logo.jpg
sur le M5Stack Core2, suivez ces étapes :-
Créer l'image : Préparez une image JPG de 320x240 pixels appelée
logo.jpg
. -
Convertir l'image : Téléchargez les fichiers source, décompressez-les, puis ouvrez le dossier. Exécutez le script
.\conver.ps1
dans le terminal pour convertir l'image en un format binaire compatible avec Core2. -
Remplacez les données de l'image : Après la conversion, prenez les données binaires résultantes et remplacez le contenu dans le tableau du fichier source fourni.
-
Téléchargez le programme : Ouvrez le fichier
drawImageData_core2_Pure.ino
et insérez les données binaires converties dans le tableau. Téléchargez le programme sur le M5Stack Core2.



Une fois le programme téléchargé, l'image sera affichée à l'écran comme montré dans l'exemple.
Assurez-vous de consulter la documentation officielle pour des instructions supplémentaires sur la gestion des images et de leurs formats binaires.
Astuces et conseils pour utiliser M5Stack Core2
Conseils généraux
Gestion de la batterie
Utilisez la puce AXP192 pour la gestion de l'alimentation. Surveillez les niveaux de batterie via la bibliothèque M5Stack Core2 ou les configurations ESPHome pour gérer efficacement la consommation d'énergie.
Mises à jour du micrologiciel
Vérifiez régulièrement et mettez à jour le firmware de votre M5Stack Core2 pour bénéficier des nouvelles fonctionnalités, des améliorations de performance et des correctifs de sécurité. Utilisez l'outil M5Burner pour cela.
Logo de démarrage personnalisé
Personnalisez votre appareil en définissant un logo de démarrage personnalisé à l'aide de l'outil M5Burner. Cela peut rendre votre appareil unique ou refléter le thème d'un projet.
Utilisation du matériel
Luminosité de l'écran
Ajustez la luminosité de l'écran par programmation en utilisant la puce AXP192 pour économiser la batterie. Réduisez la luminosité pour les opérations moins critiques ou lorsque l'appareil est en mode veille.
Utilisation de l'écran tactile
Pour des projets plus interactifs, exploitez les capacités de l'écran tactile. Utilisez la classe M5.Touch pour la détection tactile. N'oubliez pas que l'écran prend en charge le multi-touch, ce qui peut être utilisé pour des interfaces utilisateur plus complexes.
Capteur IMU (Unité de Mesure Inertielle)
Le MPU6886 intégré peut être utilisé pour la détection de mouvement, le contrôle gestuel ou la stabilisation des applications caméra. Prenez en compte ses implications sur la durée de vie de la batterie s'il est utilisé en continu.
Carte MicroSD
Utilisez le slot microSD pour la journalisation des données, le stockage de fichiers volumineux ou l'extension de la mémoire pour les applications nécessitant plus d'espace de stockage que celui offert par la mémoire flash interne.
Conseils logiciels
IDE Arduino
Lors de l'utilisation de l'IDE Arduino, assurez-vous d'installer le package de support de la carte M5Stack Core2 depuis le gestionnaire de bibliothèques M5Stack pour un support matériel complet.
Intégration ESPHome
Si vous intégrez avec Home Assistant via ESPHome, utilisez les configurations d'exemple mais soyez prêt à effectuer quelques ajustements, en particulier pour des composants comme l'écran ou la gestion de l'alimentation.
Modes d'économie d'énergie
Implémentez le mode veille profonde pour les projets alimentés par batterie. Le M5Stack Core2 peut se réveiller à partir de divers déclencheurs tels que le toucher, l'appui sur un bouton ou le minuteur.
Bluetooth et WiFi
L'ESP32 prend en charge à la fois le Bluetooth et le WiFi. Utilisez le Bluetooth pour des communications à faible consommation d'énergie et à courte portée, ou le WiFi pour des besoins de réseau plus robustes, mais gérez leur consommation d'énergie avec soin.
Idées de projets
Contrôleur de maison intelligente
Transformez le Core2 en un contrôleur domotique portable avec des interfaces tactiles pour contrôler les lumières, le climat, etc.
Technologie portable
Utilisez l'IMU pour les trackers de fitness ou les contrôleurs VR, en tirant parti des capteurs intégrés pour l'analyse des mouvements.
Outils pédagogiques
Créer des dispositifs d'apprentissage interactifs à des fins éducatives, où les étudiants peuvent interagir visuellement avec les données.
Dépannage
Méthodes de réinitialisation
Si votre appareil se bloque, souvenez-vous qu'il y a un bouton de réinitialisation à l'arrière ainsi qu'une méthode de réinitialisation via le bouton d'alimentation en le maintenant enfoncé pendant environ 10 secondes.
Débogage
Utilisez la sortie série pour le débogage. Connectez-vous via USB et utilisez des outils comme le Moniteur Série Arduino ou un émulateur de terminal pour un retour en temps réel de votre code.
Ressources communautaires
La communauté M5Stack est assez active ; les forums, GitHub et les groupes sur les réseaux sociaux sont d'excellents endroits pour résoudre des problèmes et trouver de l'inspiration.
Conclusion
Caractéristiques clés et avantages de la revue M5Stack Core2 V1.1
Caractéristiques principales
Écran tactile capacitif de 2,0 pouces
Dispose d'un écran IPS LCD 320x240 avec trois boutons virtuels programmables via la cartographie de zones tactiles (FT6336U, adresse I2C 0x38), permettant une interaction homme-machine personnalisable.
Capacités sensorielles et de rétroaction améliorées
Moteur de vibration intégré pour un retour haptique et des alertes.
IMU 6 axes (MPU6886) pour la détection de mouvement et un microphone PDM pour l'entrée audio.
Haut-parleur intégré avec amplificateur I2S (NS4168) pour une sortie sonore de haute qualité.
Gestion de l'énergie et du temps
La puce de gestion d'alimentation AXP2101 (associée à INA3221) optimise la consommation d'énergie, avec un indicateur de puissance bleu pour le statut ou des fonctions personnalisées.
L'horloge en temps réel (RTC, BM8563) avec une batterie de secours dédiée garantit une synchronisation précise même lorsque l'appareil est éteint.
Batterie lithium 500mAh pour une utilisation portable.
Connectivité et Stockage
ESP32-D0WDQ6-V3 avec processeur double cœur 240MHz, Wi-Fi, 16MB Flash, et 8MB PSRAM.
Emplacement pour carte MicroSD (jusqu'à 16 Go) pour un stockage étendu.
USB Type-C, ports GROVE (I2C, UART, GPIO) et prise M-Bus pour l'extensibilité.
Flexibilité de développement
Compatible avec plusieurs plateformes : UIFlow, MicroPython, Arduino, .NET nanoFramework et Zephyr RTOS.
Comprend des commandes physiques telles que les boutons d'alimentation et de réinitialisation, ainsi qu'une puce CH9102F USB-série pour une programmation fiable.
Matériel supplémentaire
Voyant d'alimentation bleu, moteur vibrant, et un design compact (54 x 54 x 16,5 mm) avec un boîtier en plastique.
Plage de température de fonctionnement de 0°C à 60°C, adaptée à divers environnements.
Avantages
-
Polyvalence : Idéal pour les contrôleurs terminaux IoT, les projets DIY, l'éducation STEM et les dispositifs de maison intelligente grâce à son ensemble riche de fonctionnalités et son extensibilité.
-
Interaction conviviale : L'écran tactile et les boutons virtuels, combinés à un retour haptique, créent une interface intuitive pour diverses applications.
-
Performance Fiable : Le RTC avec batterie de secours et le AXP2101 économe en énergie garantissent un fonctionnement constant, même dans des scénarios portables ou à faible consommation d'énergie.
-
Scalabilité : De nombreuses options de connectivité (Wi-Fi, I2C, UART) et la compatibilité avec les modules M5Stack (en tenant compte de la compatibilité de base) permettent des extensions personnalisées.
-
Convivial pour les développeurs : la prise en charge multiplateforme et un écosystème robuste (bibliothèques comme M5Unified) simplifient le développement, tandis que le slot MicroSD et les capacités audio augmentent le potentiel des projets.
Notes pratiques
-
Nécessite le retrait de la base de la batterie lors de l'empilement avec les modules M5 ; M5GO Bottom2 est recommandé pour conserver la pleine fonctionnalité.
-
Le moteur de vibration peut interférer avec les bases de la série M5 Base, il faut donc éviter de les empiler avec celles-ci.
-
La non-linéarité du toucher des bords peut être résolue par des mises à jour du firmware via M5Tool.
Le M5Stack Core2 V1.1 se distingue comme une plateforme compacte et riche en fonctionnalités qui équilibre puissance, interactivité et flexibilité, en faisant un excellent choix pour les amateurs, les éducateurs et les développeurs.