# 🇫🇷 M5Stack, une petit device IOT bien sympathique, programmable en Python

Le M5Stack est un device à base de ESP32, qui se décline en différents modèles et qui aun gros avantage: il se présente comme un produit fini (et non pas comme une carte électronique avec des fils qui sortent de tous les côtés) sous la forme d'un boîtier (un demi cube) avec un petit écran couleur et 3 boutons sur sa face avant. Il permet donc une initiation à l'IOT facilitée caril embarque un certains nombre de capteurs prêts à l'emploi (j'ai la version M5Stack Gray):

  • Wifi + Bluetooth
  • un petit haut parleur
  • un connecteur Grove/I2C 😍
  • un MPU6886: donc gyroscope et accéléromètre
  • un BMM150: donc un magnetomètre

Il embarque aussi une batterie (donc autonome - je n'ai pas encore testé la durée)

Il est compatible Arduino, mais aussi (et c'est ce qui m'intéresse) Micro Python

Voir le banc d'essai M5Stack – une approche de qualité du prototypage avec l’ESP32 (opens new window)

Il est livré dans une petite boîte en plastique:

alt M5

# Rapide tour du propriétaire

🖐️ je n'emploie pas toujours les bons termes car je suis un gros gros noob en électronique

Le M5Stack a un port USB C avec un câble fourni ainsi que des câbles Dupont pour vos branchements:

alt M5

Une face avec un bouton on/off, un connecteur Grove et les I/O ports et bien sûr le port USB C:

alt M5

Une face avec un emplacement pour une SD card, et les bus ports:

alt M5

Une face avec le haut-parleur et des I/O ports:

alt M5

Une face avec encore des bus ports

alt M5

Et enfin le dessous:

alt M5

# Mise en route

Vous aleez avoir besoin d'installer 2,3 choses sur votre ordinateur et sur le M5Stack.

  • Allez sur https://docs.m5stack.com/#/en/quick_start/m5core/m5stack_core_quick_start (opens new window)
  • Choisissez UIFlow (🖐️ je ne parlerais pas de la partie Arduino, car je ne l'ai pas installée)
  • Téléchargez le driver CP2104 pour le système d'exploitation qui vous intéresse
  • Installez le (suivez la doc 📝, c'est plutôt clair)
  • Ensuite vous allez avoir du M5Burner (qui vous pr-ermettra de flasher votre jouet)
  • Téléchargez le et installez le
  • Lancez M5Burner
  • 🖐️🖐️🖐️ Branchez votre M5Stack sur votre ordinateur

Vous allez obtenir cette interface:

alt M5

  • Sélectionnez la version de UIFlow que vous allez installer (la plus récente)
  • Sélectionnez le port de connexion adéquat: dans mon cas c'était le USBtoUART
  • Saisissez votre SSID (wifi) et son password (dans mon cas, la connexion avec ma box Free n'a pas fonctionné, j'ai utilisé un point Wifi avec mon téléphone et c'est très bien passé)
  • Cliquez sur Burn et patientez un peu (ce n'est pas long, je dirais grand maximum 1 minutes)

Votre M5Stack va redémarrer et vous devriez obtenir ce type d'écran:

alt M5

si ce n'est pas le cas, vous pouvez en appuyant une fois sur le bouton on/off puis rapidement sur le 3 bouton (celui le plus à droite) revenir sur l'écran de setup pour pouvoir basculer sur le mode wifi:

alt M5

Ah, au fait, comme on est en wifi vous pouvez débrancher le câble:

alt M5

🎉 on vient de faire le plus dur 😃

# 1er "programme"

Donc Sur l'écran de votre M5Stack vous avez une clé d'API ainsi qe l'adresse d'un site web, si vous allez sur ce site, vous arriverez sur ceci:

alt M5

Saisissez votre clé d'API et connectez vous, voous allez arrive sur l'IDE du M5Stack:

alt M5

Vous pouvez programmer à la "Scratch":

alt M5

Mais aussi, retrouver le code Python généré automatiquement, et vous pouvez aussi le modifier

alt M5

Si vous clickez sur la flêche d'exécution en haut à droite de la fenêtre de l'IDE, votre code sera exécuté directement sur votre M5Stack:

alt M5

Sympa, non? 😉

# Mais ce n'est pas encore fini

L'IDE web que nous avons utilisé, existe aussi en mode offline et vous pouvez le télécharger ici: https://docs.m5stack.com/#/en/quick_start/m5core/m5stack_core_get_started_MicroPython?id=uiflow-desktop-ide (opens new window)

Pour pouvoir l'utiliser, il faudra repasser en mode de connexion USB (et donc re connecter votre M5Stack sur votre ordinateur avec le cable USB) et changer le mode dans les paramètres du M5Stack:

alt M5

alt M5

Et maintenant vous pouvez bosser "offline" (petite remarque, le M5Stack même connecté en USB, peut accéder à Internet via le paramétrage wifi précédent)

🖐️ je préfère utiliser Python que la version graphique de développement à base de briques, mais c'est très pratique car pour chaque élément, composants, etc... cela vous génère une exemple de code Python

# Last but not least: VScode

Il existe une extension VSCode pour pouvoir directement programmer le M5Stack : vscode-m5stack-mpy (opens new window)

Une fois installée, vous pouvez accéder directement au stockage de votre jouet et coder en MicroPython (👋 le code de votre application doit être dans le répertoire /apps pour être accessible et exécutable sur le M5Stack ):

alt M5

Vous pouvez exécuter le code et tester l'application directement sur le M5Stack:

alt M5

alt M5

Et une fois votre M5Stack débranché, en utilisant le bouton central ...

alt M5

... Vous pouvez accéder à la liste des applications et lancer votre application "hello":

alt M5

Et l'utiliser en mode "stand alone"

alt M5

alt M5

Maintenant il ne reste plus qu'à trouver des idées d'applications (il faut que je retrouve le code, mais mon M5Stack fonctionnait comme un client MQTT, et mes GitLab runners envoyaient les mises à jour de build à mon M5Stack).

C'est tout pour aujourd'hui 👋

Last Articles