Maker Diary NRF52840, Bluetooth BLE et Circuit Python

J’ai beau aimer l’ESP32, il faut toutefois avouer que pour ce qui est d’utiliser Python dessus (à l’aide de Micropython), ce n’est pas la meilleure carte pour ça, en particulier pour le Bluetooth qui n’est à ma connaissance pas (ou très mal) géré.

C’est pour ça que j’ai hâte de voir l’ESP32-S2 qui sera compatible avec Circuit Python (officiellement) car elle possède plus de bibliothèque prête à l’usage et le fait de pouvoir le reprogrammer en modifiant juste un fichier ou en faisant un drag and drop et assez magique.

Heureusement il existe d’autres cartes, comme la MakerDiary NRF52840, pour ça, elle ne coûte pas excessivement cher (dans les 12.99$)
https://store.makerdiary.com/products/nrf52840-mdk-usb-dongle

Voici quelques-une de ces caractéristiques

  • Bluetooth Low Energy

  • Économe en consommation électrique

  • Elle est vraiment toute petite !

  • Tag NFC

  • Une LED RGB

  • Et surtout compatible avec Circuit Python (grâce à gpshead)

Présentation de produit de Nordic

J’ai lu pas mal de documentations sur comment installer Circuit Python, mais ma méthode est indubitablement la plus simple ! Pour tester ça nous allons voir comment contrôler la LED RGB depuis un téléphone.

Installer NRF Connect

Tout d’abord, il nous faut NRF Connect, ce logiciel va nous permettre d’installer Circuit Python sur notre carte.

Vous pouvez le télécharger ici : https://www.nordicsemi.com/Software-and-Tools/Development-Tools/nRF-Connect-for-desktop

Sur NRFConnect, il nous faut le programme : Programmer.

Mettre la carte en mode Bootloader

Appuyer sur le bouton RESET puis brancher la carte, vous devriez voir une LED rouge pulsé.

Maintenant vous pouvez connecter votre carte à NRF Connect Programmer

Télécharger Adafruit NRF52 Bootloader et Circuit Python

Nous voici connectez à notre carte, pour Circuit Python, il va nous falloir deux fichiers :

  • Un bootloader, qui va transformer notre carte en lecteur USB

  • Circuit Python pour interpréter notre code python

Télécharger mdk_nrf52840_dongle_bootloader-X.X.X_sXXX_X.X.X.hex ici :https://github.com/adafruit/Adafruit_nRF52_Bootloader/releases

Puis télécharger Circuit Python ici : https://circuitpython.org/board/makerdiary_nrf52840_mdk_usb_dongle/

Téléverser les fichiers HEX.

Dans le programmeur, ajouter les deux fichiers HEX, puis appuyez sur WRITE (vous devrez voir ceci)

Vous allez avoir besoin d’un SoftDevice pour téléverser le programme, mais il est inclus dans l’Adafruit NRF52 Bootloader

Débrancher et Rebrancher votre carte, vous devriez la voir apparaître comme un lecteur USB (avec comme nom CircuitPy)

Félicitations vous pouvez maintenant coder avec Circuit Python !

Vous n’aurez plus accès à votre carte avec NRF Connect à partir de maintenant, si vous voulez téléversez un nouveau programme, appuyez sur le bouton RESET.

Testez la communication BLE

Le truc le plus marrant avec Circuit Python, c’est qu’il suffit de drag and drop des fichiers pour que ça marche !

Pour tester ça, je vous propose de télécharger ce programme et de le copier sur votre carte : https://github.com/maditnerd/makerdiary_circuitpython_test/archive/master.zip

Repo Github

Une fois copiez, la LED devrait être toute blanche !

Contrôler la LED RGB

Maintenant pour la contrôler depuis un smartphone :

  • Télécharger Adafruit Bluefruit LE Connect depuis votre appstore

  • Connectez-vous à CIRCUITPY**

  • Aller dans Controller / Color Picker et changer la couleur

Faites vos propres programmes

Et voilà pour ce tutoriel, allez fouiller dans les tutoriels d’Adafruit pour aller plus loin, tout les codes pensés pour l’Adafruit NRF52840 devrait marcher sans problème.

Vous pouvez utiliser n’importe quel programme pour coder, Adafruit recommande Code With Mu (https://codewith.mu/)

À chaque fois que vous sauvegarder code.py, le code va redémarrer, vous pouvez vérifier le port série pour voir les erreurs et le debug.

Commentaire