# 🇫🇷 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:
# 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:
Une face avec un bouton on/off, un connecteur Grove et les I/O ports et bien sûr le port USB C:
Une face avec un emplacement pour une SD card, et les bus ports:
Une face avec le haut-parleur et des I/O ports:
Une face avec encore des bus ports
Et enfin le dessous:
# 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:
- 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:
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:
Ah, au fait, comme on est en wifi vous pouvez débrancher le câble:
🎉 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:
Saisissez votre clé d'API et connectez vous, voous allez arrive sur l'IDE du M5Stack:
Vous pouvez programmer à la "Scratch":
Mais aussi, retrouver le code Python généré automatiquement, et vous pouvez aussi le modifier
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:
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:
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 ):
Vous pouvez exécuter le code et tester l'application directement sur le M5Stack:
Et une fois votre M5Stack débranché, en utilisant le bouton central ...
... Vous pouvez accéder à la liste des applications et lancer votre application "hello":
Et l'utiliser en mode "stand alone"
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
- 🇫🇷 Type Result en Kotlin | 2020-10-31 | Kotlin
- 🇫🇷 Type Result en Kotlin | 2020-10-31 | Kotlin
- 🇬🇧 Every GitLab Page deserves a real CI/CD | 2020-07-23 | GitLab CI
- 🇫🇷 Lit-Element, commencer doucement | 2020-07-20 | WebComponent
- 🇬🇧 Build quickly and host easily your Docker images with GitLab and GitLab CI | 2020-06-02 | GitLab CI
- 🇬🇧 Deploy quickly on Clever Cloud with GitLab CI | 2020-05-31 | GitLab CI
- 🇫🇷 Borg Collective, mes jouets pour apprendre Knative | 2020-05-30 | Knative
- 🇬🇧 Borg Collective, Toys to learn Knative | 2020-05-30 | Knative
- 🇫🇷 M5Stack, une petit device IOT bien sympathique, programmable en Python | 2020-05-09 | IOT
- 🇫🇷 Knative, l'outil qui rend Kubernetes sympathique | 2020-05-02 | kubernetes