Exemple BLE lampe connectée en Micropython.

L'application propose d'utiliser la carte WB55 en Micropython.
Copier le fichier ble_advertising.py dans la carte à l'aide d'un simple glisser déplacer.

Puis copier le fichier main.py dans la carte WB55. Le nom du périphérique BLE est BLE_WB55 modifiable.

Le programme permet de recevoir des données d'un autre périphérique BLE qui va envoyer des commandes pour allumer ou éteindre la LED bleue sur la carte WB55.

Pour allumer il suffira d'envoyer le code "ON" puis "OFF" pour éteindre.

Si vous appuyez sur le switch SW1 sur la carte, le système enverra "1", si vous appuyez sur SW2, on enverra "2". Attention! on envoie bien un String!

fichier ble_advertising.py

fichier main.py

Vous remarquerez l'utilisation d'UUID (service, TX et Rx) pour pouvoir fonctionner. On utilise alors le profil d'attribut générique (GATT) qui définit un service.

 

Pour tester l'application vous pouvez commencer par utiliser l'application NRFconnect qui est très pratique pour débuter simplement.

Vous commencez par faire un Scan des périphériques, puis identifier le périphérique BLE_WB55 et cliquez sur "Connect".

Puis cliquez sur Nordic UART Service, et visualisez sur characteristic TX l'état des switch (vous allez recevoir "1" ou "2" en fonction du switch activé.

Pour envoyer une commande "ON" ou "OFF", cliquez sur  characteristic RX (flèche vers le haut à droite!), puis dans Write value, saisir la commande voulue "ON" ou "OFF" et cliquez sur SEND.

Vous devez voir la LED s'allumer ou s'éteindre.

Vous remarquerez l'utilisation de la méthode FIND en python qui permet de rechercher une chaine de caractères dans un String.

 

Il est aussi possible de réaliser une application pour Android avec Appinventor pour commander la LED et voir l'état des switch.

Pour cela, on utiliser la dernière version de l'extension BLE pour Appinventor que l'on trouve ici.

L'IHM est très basique et permet de se connecter, par simplicité, avec l'adresse MAC de la carte WB55 que l'on trouve facilement avec NRFConnect. Il doit aussi être possible de le faire en mode scan, non testé.

Vous remarquerez que dans le programme, il faut définir le type de données à envoyer ou recevoir.

Fichier aia (Appiventor source)

Fichier Apk (à installer directement sur son smartphone Android)

Bons essais...