Bluefruit-LE-Shield-Software-resources

De MCHobby - Wiki
Révision datée du 3 août 2017 à 20:57 par Admin (discussion | contributions) (→‎Debug Tools)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)
Sauter à la navigation Sauter à la recherche


MCHobby investit du temps et de l'argent dans la réalisation de traduction et/ou documentation. C'est un travail long et fastidieux réalisé dans l'esprit Open-Source... donc gratuit et librement accessible.
SI vous aimez nos traductions et documentations ALORS aidez nous à en produire plus en achetant vos produits chez MCHobby.

Introduction

Cette page contient un certain nombre d'outils open source pour la plupart des plateformes supportant Bluetooth Low Energy.

Ces outils permettront de faciliter la communication entre le module Bluefruit LE et autres périphériques Centrales (SmartPhone, Ordinateur, etc).

Bluefruit LE Client Apps and Libraries

Adafruit à préparé une série d'application desktop et mobile ainsi que des bibliothèques pour faciliter, au maximum, les communication entre votre module Bluefruit LE et votre SmartPhone et Laptop. Les codes sources ont étés publiés où lorsque cela à été possible:

Bluefruit LE Connect (Android/Java)

Le support Bluetooth Low Energy a été ajouté depuis Android 4.3 (mais vraiment stable depuis Android 4.4).

Adafruit met donc à disposition Bluefruit LE Connect sur Play Store.

Les codes source complet de Bluefruit LE Connect pour Android est également disponible sur Github. Cela devrait vous aider à démarrer vos propres apps Android. Vous aurez besoin d'une version récente de Android Studio pour pouvoir ouvrir ce projet.

Bluefruit-LE-Shield-Software-resources-00.png
Crédit: AdaFruit Industries www.adafruit.com

Bluefruit LE Connect (iOS/Swift)

Apple a adopté Bluetooth Low Energy très rapidement et Adafruit propose également une version iOS de Bluefruit LE Connect app] (disponible sur l'Apple store).

Le code source swift complet de Bluefruit LE Connect pour iOS est également disponible sur Github. Vous aurez besoin de XCode et un accès au programme développeur d'Apple ("Apple developper program") pour utiliser ce project:

Bluefruit-LE-Shield-Software-resources-10.png
Crédit: AdaFruit Industries www.adafruit.com

Bluefruit LE Connect for OS X (Swift)

Les application bureau OS X sont basées sur le même code que la version 2.x de l'App pour iOS et offre un accès à BLE UART, manipulation des I/O et mise-à-jour OTA du firmware.

C'est un choix judicieux pour faire du logging des données de senseurs afin de les exporter en fichier CSV, JSON ou XML. Vous pourrez ainsi exploiter ces informations dans une autre application. Cette approche vous permet d'utiliser la matériel BLE disponible sur votre ordinateur, il n'est donc pas nécessaire d'ajouter un clé BLE si vous disposez d'un Mac récent.

Le code source complet est également disponible sur Github.

Bluefruit-LE-Shield-Software-resources-20.jpg
Crédit: AdaFruit Industries www.adafruit.com

Ligne de commande Bluefruit LE pour mise-à-jour via OS X (Swift)

Cet outil en ligne de commande expérimental (non supporté, disponible à titre de "test de concept") peut être utilisé pour faire une mise-à-jour du Firmware des périphériques Bluefruit.

Cet utilitaire effectue une mise-à-jour automatique du Firmware (comme celle réalisée par la version graphique du logiciel). Elle vérifie la version du firmware installé sur le périphérique Bluefruit (bia le service "Device Information") et le compare avec les versions du firmware disponibles en ligne. Si nécessaure, les fichiers son téléchargés en tâche de fond.

Installez simplement l'outil précompilé via le fichier DMG et placez le quelque par dans les répertoires systèmes -ou- exécutez le locallement via './bluefruit' (pour voir le message d'aide en anglais):

$ ./bluefruit
bluefruit v0.3
Usage:
	bluefruit <command> [options...]

Commands:
	Scan peripherals:   scan
	Automatic update:   update [--enable-beta] [--uuid <uuid>]
	Custom firmware:    dfu --hex <filename> [--init <filename>] [--uuid <uuid>]
	Show this screen:   --help
	Show version:       --version

Options:
	--uuid <uuid>    If present the peripheral with that uuid is used. If not present a list of peripherals is displayed
	--enable-beta    If not present only stable versions are used

Short syntax:
	-u = --uuid, -b = --enable-beta, -h = --hex, -i = --init, -v = --version, -? = --help

ABLE (Cross Platform/Node+Electron)

ABLE (Adafruit Bluefruit LE Desktop) est une application de bureau cross-platform basé sur la bibliothèque noble de Sandeep Misty et le projet Electron (utilisé par Atom).

Il fonctionne sur OS X, Windows 7+ et une sélectionne de systèmes Linux (Ubuntu testé locallement). Le support Windows 7 est particulièrement intéressant étant qu'il n'a pas de support natif de Bluetooth Low Energy mais la bibliothèque noble permet de dialoguer directement avec des clés Bluetooth 4.0 USB (supportée) pour émuler BLE sur le système (toujours en BETA, prenez plus de précautions lorsque vous travaillez avec lui).

Cette application permet de collecter des données de senseur et permet de réaliser de nombreuses fonctionnalités similaires à celles de l'apps Bluefruit LE Connect mais dans un environnement de bureau.

L'application est toujours en BETA mais le code source complet est disponible sur GitHub ainsi que des binaires pré-compilés (pour faciliter leur utilisation).

Bluefruit-LE-Shield-Software-resources-40.png
Crédit: AdaFruit Industries www.adafruit.com

Toujours en guise de "test de concept", Adafruit à produit du code pour utiliser Python avec les APIs Bluetooth natives sur sur OS X et la dernière versions de Bluez pour Linux (disponibles sur certaines distributions Linux).

Il y a un croquis d'exemple qui montre comment recevoir des données BLE UART ainsi que des informations complémentaires en provenance du service Bluetooth DIS ("Device Information Service").

Il ne s'agit pas d'un projet supporté activement mais plutôt d'un projet d'expérimentation. Si vous avez un Macbook récent ou un Raspberry Pi et quelques connaissances Python vous pourriez trouver les sources Adafruit_Python_BluefruitLE (github d'Adafruit intéressante).

Outil de débogage

Si vous êtes un grand aventurier et que, dans durant vos tribulations, votre module Bluefruit LE à totalement perdu le nord alors les outils suivants pourraient se montrer utiles pour revenir en terrain connue.

AdaLink (Python)

Outil en ligne de commande basé sur le wrapper Python. Il permet de programmer le MCU ARM en utilisant soit un Segger J-Link ou un STLink/V2. Vous pouvez l'utiliser pour reflasher votre module Bluefruit LE en utilisant de dernier firmware disponible sur le dépôt des firmware Bluefruit LE.

Les détails concernant l'utilisation de cet outil sont disponible dans le fichier readme.md du dépôt Github Adafruit_Adalink.

Le reflashage complet du module Bluefruit LE avec AdaLink nécessitera 4 fichiers et ressemblera à quelque-chose comme ceci (en utilisant un JLink):

adalink nrf51822 --programmer jlink --wipe
  --program-hex "Adafruit_BluefruitLE_Firmware/softdevice/s110_nrf51_8.0.0_softdevice.hex" 
  --program-hex "Adafruit_BluefruitLE_Firmware/bootloader/bootloader_0002.hex"
  --program-hex "Adafruit_BluefruitLE_Firmware/0.6.7/blefriend32/blefriend32_s110_xxac_0_6_7_150917_blefriend32.hex"
  --program-hex "Adafruit_BluefruitLE_Firmware/0.6.7/blefriend32/blefriend32_s110_xxac_0_6_7_150917_blefriend32_signature.hex"

Vous pouvez également utiliser l'outil AdaLink pour obtenir des informations de diagnostic a propos de votre module. A l'aide de l'option --info, vous pourrez, par exemple, obtenir des information sur le SoftDevice programmé dans le module ou la révision du circuit intégré (16KB SRAM ou 32KB SRAM).

$ adalink nrf51822 -p jlink --info
Hardware ID : QFACA10 (32KB)
Segger ID   : nRF51822_xxAC
SD Version  : S110 8.0.0
Device Addr : **:**:**:**:**:**
Device ID   : ****************

Adafruit nRF51822 Flasher (Python)

Adafruit nRF51822 Flasher est un outil python utilisé en interne par Adafruit. Il est utilisé en production pour flasher les cartes avec le Firmware Adafruit au moment où elles passent la procédure de test (avant de quitter la ligne d'assemblage).

Cet outil est également utilisé pour tester les différentes releases du firmware durant les phases de débogages.

Il s'appuie sur AdaLink ou OpenOCD (voir ci-dessous) mais vous pouvez utiliser cet outil en ligne de commande pour flashet votre nRF51822 avec un SoftDevice spécifique, combinaison alternatives de Bootloader et firmware Bluefruit.

Actuellement, il supporte soit un J-Link de Segger ou STLink/V2 par l'intermédiaire d'AdaLink, ou GPIO d'un Raspberry Pi si vous n'avez pas accès à un débugger ARM SWD traditionnel. (une version d'OpenOCD précompilé pour RPi est inclus dans le dépot - recompiler cet outils depuis les sources nécessite un temps considérable.)

Adafruit n'offre pas de support actif pour cet outil (puis qu'il s'agit d'un outil à usage interne). Il est rendu public pour aider les utilisateurs aventureux qui désirent se débrouiller par eux-même.

$ python flash.py --jtag=jlink --board=blefriend32 --softdevice=8.0.0 --bootloader=2 --firmware=0.6.7
jtag       	: jlink
softdevice 	: 8.0.0
bootloader 	: 2
board      	: blefriend32
firmware   	: 0.6.7
Writing Softdevice + DFU bootloader + Application to flash memory
adalink -v nrf51822 --programmer jlink --wipe --program-hex "Adafruit_BluefruitLE_Firmware/softdevice/s110_nrf51_8.0.0_softdevice.hex" --program-hex "Adafruit_BluefruitLE_Firmware/bootloader/bootloader_0002.hex" --program-hex "Adafruit_BluefruitLE_Firmware/0.6.7/blefriend32/blefriend32_s110_xxac_0_6_7_150917_blefriend32.hex" --program-hex "Adafruit_BluefruitLE_Firmware/0.6.7/blefriend32/blefriend32_s110_xxac_0_6_7_150917_blefriend32_signature.hex"
...



Basé sur "Bluefruit LE Shield" d'Adafruit Industries, écrit par Kevin Townsend - Traduit en Français par shop.mchobby.be CC-BY-SA pour la traduction
Toute copie doit contenir ce crédit, lien vers cette page et la section "crédit de traduction".

Based on "Bluefruit LE Shield" from Adafruit Industries, written by Kevin Townsend - Translated to French by shop.mchobby.be CC-BY-SA for the translation
Copies must includes this credit, link to this page and the section "crédit de traduction" (translation credit).

Traduit avec l'autorisation d'AdaFruit Industries - Translated with the permission from Adafruit Industries - www.adafruit.com