Introduction à Bluetooth Low Energy

Quelques séances d'introductions qui seront données à Yverdon.

Première séance: lundi 14 septembre 2015 dés 18:45, chez Epsitec, Rue de Neuchâtel 32, 1400 Yverdon-les-Bains.

Seconde séance: lundi 28 septembre 2015

Troisième séance: lundi 5 octobre 2015

 

Au menu de la première séance:

L'archive avec quelques exemples, dont uniquement le premier a été abordé durant la première séance: cours_nRF_jmk_20150914.zip. Suite au commentaire de Jean-Daniel qu'il n'est pas très facile de se retrouver avec tous les fichiers "main.c", je les ai renommé pour qu'il correspondent au nom de l'exemple: version 2 de l'archive...

Au menu de la seconde séance:

  • Suite de Comment faire clignoter une LED de plusieurs façons.
  • Allumer et éteindre une LED à travers Bluetooth Low Energy

PDF de la présentation...

 Une archive avec les exemples précédant et de nouveaux fichiers: cours_nrf_jmk20150928.zip.

Discuté durant la séance: bluepy (pour Raspberry-Pi), NoBLE, Evothings.

 

Au menu de la troisième séance:

  • I2C
  • Petite application Android
  • Conclusion

PDF de la présentation...

Archive avec le dernier exemple: cours_nRF51_jmk_20151004.zip. Archive avec l'application Android pour Android Studio: adc2ble.zip.

 


 

Travaux préparatoirs:

Quelques fichiers à télécharger et à installer:

Logiciels spécifiques

Nordic SDK:

  • SDK 9.0.0 (version la plus récente!)
  • SDK 8.1.0 contient la documentation au format HTML.

Il y a une erreur dans les "linker scripts" sans softdevice des SDK: il manque gcc_ au début du nom de fichier des include. Fichier patch ici.

Le SDK 9.0 ne contient plus la documentation Doxygen que contenait le SDK 8.1, mais renvoie sur le site web de Nordic. Personnellement, je préfère la documentation en local du SDK 8, tout en utilisant les fichiers du SDK 9!

Compilateur gcc-arm:

Debugger:

  • Segger J-Link, prendre la version Software and documentation pack correspondante au système d'exploitation. (Utilisez le gros bouton Download, pas le lien juste à coté!)

Assurez-vous que le chemin vers le binaire du compilateur gcc-ARM est bien dans le PATH de recherche. (Pour Windows, voir plus bas, pour les systèmes Unix, adaptez .profile)

Outils annexes:

Pour Windows:

Assurez-vous que la variable PATH (Control Panel/Advanced System Settings/Environnment Variables) contient bien les chemins vers les exécutables Cygwin et compilateur GCC-ARM. Ajoutez également une variable HOME qui pointe sur %USERPROFILE%. Créez déjà un fichier nommé ".gdbinit" dans %USERPROFILE% contenant la ligne "set auto-load safe-path /".

Pour MacOS:
  • XCode (6.4 suffit amplement), depuis XCode: menu XCode, Open Developer Tool, More Developer Tool, puis choisir et installer Command Line Tools (OS X 10....) for XCode 6.4.

Accessoirement, pour MacOS:

  • Egalement depuis More Developer Tool: Hardware IO Tools for Xcode 6.3, ce qui ajoute le "Bluetooth Explorer" et "Packet logger", outils qui peuvent être fort utiles.
  • Accessoirement, avec MacPorts, installer ddd (nécessite XQuartz)
 Pour Linux:
  • S'assurer que make, find, fgrep, ... soient installés. Eventuellement: ddd.
Téléphone/tablette Android

Installer le nRF Master Control Panel (BLE).

Si le programme n'apparait pas dans google play, c'est que l'appareil est trop vieux pour avoir Bluetooth Low Energy!

Si le programme est installable, mais signale après le lancement qu'il n'y a pas de Bluetooth Low Energy, c'est que l'appareil est également trop vieux (comme mon Google Galaxy Nexus, bien qu'il tourne Android 4.4)!

Téléphone/tablette iOS

Malheureusement, je viens de m'apercevoir qu'il n'y a pas d'équivalent au Master Control Panel de Nordic sur iOS!

D'après les descriptions, LightBlue Explorer ou BTLExplorer devraient convenir, mais comme je n'ai pas d'équipement correspondant pour tester...


Documentation

A télécharger pour avoir à portée de main...

Nordic nRF51:

Spécification Bluetooth (en cas d'insomnie):


Des questions? This email address is being protected from spambots. You need JavaScript enabled to view it.