<aside> ℹ️ Cette fiche d'activité propose de créer des projets plus complexes en utilisant plusieurs cartes électroniques non connectées entre elles. Une fois les capteurs maîtrisés, nous pouvons en effet mettre en place des expériences nécessitant l’utilisation de plusieurs cartes. Afin de réaliser la collecte des données, il faut pouvoir faire communiquer les cartes entre elles par les airs. Dans cette activité nous allons programmer plusieurs cartes électroniques et échanger des données de capteurs à l’aide de l’extension Magnetics que permet de mettre en œuvre une communication sans fil maillée. Le projet magnetics prend la forme d’une brique technique logicielle implantée directement dans MakeCode. Ce développement est basé sur l’utilisation de la technologie de réseau maillé Bluetooth Low Energy Mesh (BLE Mesh) compatible avec toutes les cartes programmables disposant d’un module Bluetooth Low Energy.
Ressources : https://www.magnetics.edu-up.fr/
*https://blog.rtone.fr/bluetooth-mesh*
*https://fr.wikipedia.org/wiki/Bluetooth_à_basse_consommation*
</aside>
Pour réaliser cette activité nous avons besoin de quatre cartes STM32 IoT Nodes. Trois d’entre elles seront émettrices de données de capteurs (température, humidité, pression), et la dernière sera collectrice des données qu’elle affichera sur un écran OLED. Mis à part l’écran de la dernière, il n’y a pas de câblage car nous utiliserons uniquement les capteurs internes. Nous allons donc vous donner la marche à suivre pour câbler et programmer en premier lieu la carte collectrice puis dans un second temps, programmer individuellement chaque carte émettrice afin de pouvoir construire votre projet.
Câbler l’écran OLED
Nous devons en premier lieu câbler l’écran OLED directement à la carte collectrice. Il y a deux façons de câbler l'écran OLED SSD1306 à une carte, soit avec une connexion I2C ou SPI. Pour notre écran, nous utilisons la connexion I2C via le câble QWIIC/STEMMA avec la convention suivante :
Câbler l’écran OLED
Connecter la carte à l’ordinateur
Avec votre câble USB, connectez la carte collectrice à votre ordinateur en utilisant le connecteur micro-USB. Si tout se passe bien, vous devriez voir apparaître sur votre ordinateur un nouveau lecteur.
Ouvrir MakeCode
Allez dans l'éditeur MakeCode de Let's STEAM. Sur la page d'accueil, créez un nouveau projet en cliquant sur le bouton "Nouveau projet". Donnez à votre projet un nom plus expressif que "Sans titre" et lancez votre éditeur. Ressource : makecode.lets-steam.eu
Installer l’extension Après avoir créé votre nouveau projet, vous obtiendrez l'écran par défaut et vous devrez installer deux extensions pour ce projet spécifique : "magnetics" et "oled".
<aside> 💡 Les extensions dans MakeCode sont des groupes de blocs de code qui ne sont pas directement inclus dans les blocs de code de base que l'on trouve dans MakeCode. Les extensions, comme leur nom l'indique, ajoutent des blocs pour des fonctionnalités spécifiques. Il existe des extensions pour un large éventail de fonctionnalités très utiles, ajoutant des capacités de manette de jeu, de clavier, de souris, de servomoteurs, de la robotique et bien plus encore.
</aside>
Vous voyez le bouton noir AVANCÉ en bas de la colonne des différents groupes de blocs. En cliquant sur ce bouton, vous verrez apparaître des groupes de blocs supplémentaires. En bas, il y a une boîte grise appelée EXTENSIONS. Cliquez sur ce bouton.
Dans la liste des extensions disponibles, vous pouvez trouver l’extension Magnetics qui sera utilisée pour cette activité. Si elle n'est pas directement disponible sur votre écran, vous pouvez la rechercher en utilisant la barre de recherche. Cliquez sur l'extension et un nouveau groupe de blocs apparaîtra sur l'écran principal. Réitérez cette action pour installer l'extension OLED également disponible. Vous pouvez commencer à programmer.
Programmer la carte
Dans l'éditeur JavaScript de MakeCode, copiez/collez le code disponible dans la section "Programmer" ci-dessous. Cliquez sur le bouton "Télécharger" et attendez que la carte finisse de clignoter.
Ecran MakeCode présentant les blocs magnetics
Capture d’écran de MakeCode avec les blocs du programme du collecteur
Une fois la carte collectrice câblée avec l’écran OLED et programmée, nous pouvons préparer les trois cartes émettrices en suivant les mêmes étapes de programmation que lors de l’étape 1. Pour chaque carte, il faudra donc effectuer les tâches suivantes :