====== NUCLEO-WB55RG : Qu'est-ce que c'est ? ====== Une interface de programmation pour la carte Nucleo-64 avec le microcontroleur STM32WB55. **NUCLEO-WB55RG** : la carte est développée par STMicroelectronics est équipée d’un microcontrôleur STM32 avec Bluetooth Low Energy (BLE). Avant la première utilisation, il est nécessaire de charger un firmware dans la carte NUCLEO-WB55RG afin qu'elle puisse exécuter des programmes en Python. {{:wb55rg1.png?nolink&300 |}} * Basé sur un processeur Dual-core 32‑bit Arm Cortex-M4 et M0+ CP offrant beaucoup de puissance * Antenne intégré dans le PCB * Mémoire Flash : 1 Mb * Mémoire SRAM : 256 KB * Bluetooth 5.2 * Connectique : USB-B * 68 pins ---- ====== L'interface ====== L’interface permet de programmer en bloc avec une transcription en parallèle en langage Python. Attention : La carte ST NUCLEO-WB55RG est nécessaire pour exécuter le programme une fois les capteurs positionnés ! Cette interface est composée de 5 parties : - le menu, situé en haut. Via les icônes, on accède aux paramètres ou aux fonctions d’exécution du code, mais aussi à la gestion des affichages. - les catégories des blocs, à gauche, dans lesquelles sont rangés les éléments à piocher pour construire le programme. Accompagné d'une zone de construction, qui permet l’assemblage des blocs pour créer le programme. - la zone de code, située au centre, qui affiche le code en langage Python - le simulateur, situé à droite, qui permet de simuler les cartes, capteurs et microcontrôleur sans le matériel. - la console, située en bas, qui montre le programme exécuté. Il est également possible d'interagir avec son programme dans cette console. {{ :wb55rg_interface.png?nolink |}} Les blocs **"Au démarrage"** et **"Répéter indéfiniment"** sont les éléments clés du fonctionnement de la carte. Ils sont présents dès l'ouverture de l'interface. Les instructions placées dans le bloc "Au démarrage", seront exécutées dès l'alimentation en électricité de la carte. Alors que les instructions du programme placées dans le bloc "Répéter indéfiniment", seront exécutées après le démarrage et ensuite en continu jusqu'à ce que la carte ne soit plus alimentée en électricité. ===== Naviguer sur l'interface ===== {{::wb55rg4.png?nolink&100|}} **Télécharger le script Python :** {{::televerser.png?nolink&100 |}} **Envoyer le programme Python dans la carte :** le code est exécuté sur la carte dès la fin du transfert. {{::wb55rg5.png?nolink&100 |}} **Télécharger le firmware MicroPython :** {{::annuler_retablir.png?nolink&80 |}} **Annuler ou rétablir :** les actions précédentes ou suivantes. {{::zoom.png?nolink&400|}} ---- ====== Les points fort de l'interface ====== ===== Traduction du code assemblé par blocs en C++ ===== Le langage C++ est difficile à appréhender, notamment pour les débutants. L'interface permet de débuter avec la logique de programmation par bloc, qui élimine le risque d'erreur de syntaxe, puis de passer en douceur au code textuel C++. ===== Transfert du code vers la carte en 1 clic ! ===== Le système permet le transfert d'un programme vers la carte (avec les navigateurs compatibles Chrome, Edge, Opéra, Safari ; sur Firefox le téléchargement de programme est possible via un glisser-déposer). ===== Simulateur ===== L'interface Nucleo-WB55RG embarque un simulateur, ce qui permet d'exécuter un programme sans avoir de matériel ! La quasi-totalité des blocs sont disponibles dans le simulateur, ce qui permet de réaliser de très nombreux projets. [[https://fr.vittascience.com/wiki?interface=wb55|Découvrez la liste des blocs disponible dans l'interface.]] ===== Traceur de graphe en temps réel ===== L'interface permet de tracer un graphique à partir des données reçues par la carte en temps réel, puis d'exporter ces données en toute simplicité aux formats CSV ou API. Le traceur de graphe fonctionne également avec le simulateur pour encore mieux tester vos programmes avant de passer au réel ! ---- ====== Tutoriels ====== ===== Charger le firmware ===== Pour programmer la carte en MicroPython, par code ou par bloc depuis le site Vittascience, il faut charger le firmware adéquat. {{ ::wb55rg2.png?nolink&600 |}} Voici les étapes à suivre : - Pour flasher la carte, vérifier que le cavalier (pièce métallique entourée de plastique noir) est positionné sur USB STL en haut de la carte au niveau des sources d'alimentation. Si ce n'est pas le cas, déplacer le cavalier sur USB STL. Voir sur l'illustration ci-dessus de droite. - Brancher le câble USB sur le port ST _ LINK pour charger le firmware. Les deux LED rouges s'allument. - Télécharger le firmware à l'adresse : [[https://stm32python.gitlab.io/fr/docs/Micropython/Telechargement]], puis glisser-déposer celui-ci dans votre carte, qui est apparue comme une clé USB nommée "NOD-WB55". Attention : ne pas décompresser le fichier. - Lorsque le téléchargement est terminé, une LED verte s’allume (LED 6 à droite du bouton "Reset"). - Débrancher le câble USB. - Déplacer le cavalier précédemment utilisé (voir le point d'étape n°1) sur USB MCU. Voir sur l'illustration de gauche. - Rebrancher le câble sur le port USB _ USER (soit l’autre port USB). Voir sur l'illustration de gauche. - Connecter la carte à l’ordinateur, la LED 5 est allumée en rouge. La carte est donc bien alimentée. - Utiliser l’interface Vittascience pour programmer votre carte : * utiliser de préférence un navigateur sous Chromium, * se rendre sur Vittascience - onglet "Programmer", * sélectionner l’interface STM32, * cliquer sur “Connecter” et sélectionner la carte, * le fichier main.py chargé est exécuté en continu.