Tout ce que vous devez savoir sur M5Stack Core2

RuffRuff Apps RuffRuff Apps by Tsun

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.

M5Stack Core2 ESP32 Kit de développement IoT V1.1

M5Stack Core2 Dev Kit V1.1

Voir le produit

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

Kit de développement IoT M5Stack Core2 ESP32

M5Stack Core2 Dev Kit

Voir le produit
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
 
M5Stack Core2-1
Copiez l'URL de gestion des cartes M5Stack ci-dessous dans le champ URLs supplémentaires du gestionnaire de cartes :, et enregistrez.
 
M5Stack Core2-2
Dans la barre latérale, sélectionnez Board Manager, recherchez M5Stack, et cliquez sur Installer
M5Stack Core2-3

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}.
M5Stack Core2-4

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.
 M5Stack Core2-5
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.
  
M5Stack Core2-11M5Stack Core2-7
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 :
  
M5Stack Core2-8
M5Stack Core2-9
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
 
M5Stack Core2-13
Choisissez le bon port, changez votre vitesse de téléchargement à 1500000
 
M5Stack Core2-14

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.
 
M5Stack Core2-15

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
M5Stack Core2-16
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

M5Stack Core2-17

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.
 

M5Stack Core2-18

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.
 

M5Stack Core2-19

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.

  

M5Stack Core2-20

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.
 

M5Stack Core2-21

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 :
 

M5Stack Core2-22

Ajouter une unité

Ensuite, ajoutez une unité, trouvez 8Encoder et choisissez le Bus vers I2C
 

M5Stack Core2-23

Installation

Init I2C SCL à 33, SDA à 32, fréquence à 100K
Initialiser l'adresse I2C de encoder8_0 à 0x41
 

M5Stack Core2-24

Boucle

Réglage de la valeur du canal 8Encoder de M5Stack
 

M5Stack Core2-25

M5Stack 8Encoder canal RGB LED réglage de la couleur
 
M5Stack Core2-26
Faisons un prototype d'un cadenas à combinaison sonore
  
M5Stack Core2-28
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
 
M5Stack Core-29M5Stack Core2-30
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.
 
M5Stack Core2-31
M5Stack Core2-32

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é !

M5Stack Core2-33
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 :
  1. Créer l'image : Préparez une image JPG de 320x240 pixels appelée logo.jpg.
  2. 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.
  3. 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.
  4. 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.
M5Stack Core2-34
M5Stack Core2-35
M5Stack Core2-36
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.

Ressources supplémentaires

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqués d'un *

Barre latérale

Inscrivez-vous à notre newsletter

Obtenez les dernières informations sur nos produits et offres spéciales.