Utilisez la connectivité Bluetooth du Pico W pour transmettre les valeurs de son capteur de température à un téléphone Android.
Le Raspberry Pi Pico W, une carte de développement IoT populaire de la Raspberry Pi Foundation, a gagné en popularité auprès des fabricants après son lancement en 2022. Depuis la sortie officielle de la version 1.5.1 du SDK C et de la dernière version de MicroPython, il a été plus facile de faire fonctionner la connectivité Bluetooth sur la carte Raspberry Pi Pico W (et WH).
La carte vous permet de lire et de partager des données via Bluetooth, ouvrant une pléthore d'opportunités de projets autour de l'IoT. Et la bonne chose est qu'il ne nécessite qu'une mise à jour du firmware. Suivez simplement les étapes ci-dessous pour lire les données du capteur en utilisant Bluetooth sur votre Raspberry Pi Pico W.
Raspberry Pi Pico avec/WH et Bluetooth
Le Raspberry Pi Pico W est une carte à microcontrôleur qui s'appuie sur le succès du modèle original Raspberry Pi Pico. En conservant le même facteur de forme que son prédécesseur, il ajoute la connectivité Wi-Fi et Bluetooth. Il comporte toujours la norme
Brochage Raspberry Pi Pico pour ses deux en-têtes GPIO à 20 broches.Le Pico W est équipé du chipset radio Infineon CYW43439, qui prend en charge intrinsèquement le Wi-Fi 802.11n et le Bluetooth 5.2.
Installation du dernier SDK Pico C/C++
Le SDK Pico C/C++ est un kit de développement logiciel spécialement conçu pour programmer le microcontrôleur Raspberry Pi Pico à l'aide des langages de programmation C et C++. Il fournit un ensemble de bibliothèques, d'outils et de ressources pour simplifier le processus de développement et permettre aux développeurs de créer des applications pour la carte Pico.
Pour travailler avec le SDK Pico C/C++, vous aurez besoin de quelques composants logiciels essentiels. Voici une liste des programmes nécessaires à télécharger :
- Compilateur ARM GCC: Utilisé pour compiler et construire votre code C/C++ pour le microcontrôleur Pico.
- CMake: Un système de construction multiplateforme qui aide à gérer le processus de construction et à générer des fichiers de projet.
- Outils de création pour Visual Studio 2019: ces outils sont requis si vous utilisez Visual Studio comme environnement de développement intégré (IDE).
- Python: Ce langage de programmation est utilisé par certains des outils Pico SDK, assurez-vous donc d'avoir la version 3.9 ou supérieure installée.
- Gite: Ce système de contrôle de version vous permet de gérer et de suivre les modifications de votre base de code.
- Code Visual Studio: Bien qu'il ne soit pas obligatoire, Visual Studio Code est un éditeur de code populaire avec une excellente prise en charge du SDK Pico, offrant des fonctionnalités telles que la coloration syntaxique, la complétion de code et le débogage.
Installation de MicroPython
Alternativement, vous pouvez utiliser MicroPython pour programmer votre Pico W, comme nous l'utiliserons dans notre exemple ci-dessous. Voici les étapes que vous devrez suivre pour l'installer et l'utiliser.
Flasher le micrologiciel UF2
Il existe plusieurs façons de mettre la carte Pico W en mode chargeur de démarrage. Une façon est d'exécuter la commande machine.bootloader() au REPL MicroPython. Une autre option consiste à maintenir enfoncé le bouton BOOTSEL du Pico tout en branchant la carte sur le port USB de votre ordinateur.
Une fois que votre Pico est en mode chargeur de démarrage, vous remarquerez qu'un périphérique de stockage de masse USB apparaît sur votre ordinateur.
Maintenant, tout ce que vous avez à faire est de copier le fichier UF2, qui contient le nouveau firmware, sur ce périphérique de stockage de masse USB.
Vous pouvez télécharger le fichier UF2 à partir du Page de téléchargement de MicroPython- et si vous souhaitez approfondir les implications de la mise à jour du support Bluetooth, vous pouvez passer par le notes de version.
Une fois le flash du firmware en cours, vous verrez la LED de votre carte Pico clignoter rapidement. La carte se réinitialisera alors automatiquement et sera prête à l'emploi.
Alternativement, vous pouvez flasher le micrologiciel sur le Pico à partir de l'IDE Thonny, comme détaillé ci-dessous.
Utilisation de l'IDE Thonny
Tout d'abord, connectez votre Pico à un ordinateur via USB. Assurez-vous que le Pico est en mode bootloader en maintenant enfoncé le bouton BOOTSEL lors de la connexion de la carte.
Lancez l'IDE Thonny sur votre ordinateur et vous devriez voir une interface avec la fenêtre de l'éditeur, comme indiqué ci-dessous.
Vous devrez changer l'interpréteur utilisé pour MicroPython. Dans le menu Thonny, allez à Outils > Choix.
Dans le Choix fenêtre, cliquez sur le Interprète languette. Choisir MicroPython (Raspberry Pi Pico) du Interprète menu déroulant.
Définissez le port sur Essayez de détecter automatiquement, puis cliquez sur le lien d'installation en bas, ce qui ouvrira une autre fenêtre d'installation. L'IDE devrait automatiquement remplir les détails de votre carte ainsi que le dernier micrologiciel que vous devez installer. Une fois l'installation terminée, cliquez sur le Fermer bouton puis sélectionnez D'ACCORD.
Enregistrement des modules Bluetooth nécessaires
Pour activer la communication Bluetooth Low Energy sur votre Raspberry Pi Pico, vous devrez enregistrer deux modules MicroPython. Voici comment vous pouvez le faire en utilisant l'IDE Thonny (ou d'autres IDE comme uPyCraft).
Allez à notre Dépôt GitHub et saisissez le premier code d'assistance sous le nom ble_advertising.py. Cela vous aidera à générer des charges utiles et à les diffuser aux nœuds connectés.
Une fois que vous avez copié le code, ouvrez un nouveau projet sur Thonny IDE et collez-le dans l'éditeur. Ensuite, enregistrez-le sur le Pico W en tant que ble_advertising.py en cliquant sur Fichier > Enregistrercomme puis en sélectionnant Framboise Pi Pico.
Créez un autre fichier dans Thonny et copiez le code sous un fichier nommé ble_simple_peripheral.py dans le référentiel GitHub.
Enregistrez le code avec son nom d'origine sur la carte Pico W comme vous l'avez fait auparavant.
Lecture de données via Bluetooth LE à l'aide de Pi Pico W
Tout d'abord, assurez-vous de précharger la carte Pico W avec les deux modules (comme indiqué ci-dessus). Créez ensuite un nouveau fichier et copiez-y le code ci-dessous.
depuis machine importer Broche, ADC
importer Bluetooth
depuis ble_simple_peripheral importer BLESimplePériphérique# Créer un objet Bluetooth Low Energy (BLE)
ble = bluetooth. BLE()# Créer une instance de la classe BLESimplePeripheral avec l'objet BLE
sp = BLESimplePeripheral (ble)
adc = ADC(4)alors queVrai:
si sp.is_connected(): # Vérifiez si une connexion BLE est établie
# Lire la valeur du capteur de température interne
température = adc.read_u16() * 3,3 / (65535 * 0,8)
# Transmettre la valeur de température via BLE
temperature_data = str (température).encode()
sp.envoyer(temperature_data)
temps.dormir(1)
Ce code lira le capteur de température interne du Pico et le transmettra via Bluetooth. Enregistrez le fichier sous main.py sur votre carte Pico W puis exécutez-le dans Thonny. Vous devriez pouvoir voir "Commencer la publicité" dans la zone Shell.
Configuration de l'application Android
Sur votre téléphone Android, installez l'application Serial Bluetooth Terminal à partir du Google Play Store.
Télécharger:Borne Bluetooth série (Achats in-app gratuits disponibles)
Activez le Bluetooth de votre téléphone, puis lancez l'application. Aller vers Dispositifs.
Allez à la Bluetooth LE onglet puis cliquez sur ANALYSE.
Après la numérisation, vous verrez le nom du Pico W répertorié comme mpy-uart. Cliquez dessus pour vous connecter.
Une fois les deux appareils connectés, vous verrez le mot "Connecté" dans l'application. Terminal voir.
Les valeurs du capteur de température doivent commencer à apparaître dans le terminal de l'application toutes les secondes, comme indiqué dans l'image ci-dessus.
Vous pouvez vous connecter via Bluetooth à un autre Pico W servant dans un rôle "central" en préchargeant le module d'assistance avec le nom ble_simple_central.py trouvé dans le Dépôt GitHub MUO.
Améliorez votre expérience Pico W
Avec l'intégration Bluetooth, la collecte des valeurs des capteurs devient sans tracas, ouvrant de nouvelles possibilités et améliorant l'expérience globale de travail avec le Raspberry Pi Pico W dans les projets IoT.