Différences entre versions de « Bluefruit-LE-Shield-Software-resources »
Ligne 86 : | Ligne 86 : | ||
== Debug Tools == | == Debug Tools == | ||
− | + | 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. | |
− | {{ambox-stop|text= | + | {{ambox-stop|text=Ces outils de débogages sont uniquement fournit pour les utilisateurs avancés désirant restaurer l'état de leur périphérique. Il n'est pas recommander de les utiliser sauf si vous savez ce que vous faites car une utilisation incorrecte peut bloquer votre board. |
+ | |||
+ | |||
+ | L'utilisez de ces outils se fait à vos propres risques.}} | ||
=== AdaLink (Python) === | === AdaLink (Python) === | ||
+ | Outil en ligne de commande basé sur le wrapper Python. Il permet de programmer le MCU ARM en utilisant soit un [https://www.adafruit.com/search?q=J-Link Segger J-Link] ou un [https://www.adafruit.com/product/2548 STLink/V2]. Vous pouvez l'utiliser pour reflasher votre module Bluefruit LE en utilisant de dernier firmware disponible sur [https://github.com/adafruit/Adafruit_BluefruitLE_Firmware 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 [https://github.com/adafruit/Adafruit_Adalink 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): | |
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
Ligne 106 : | Ligne 108 : | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | + | Vous pouvez également utiliser l'outil AdaLink pour obtenir des informations de diagnostic a propos de votre module. A l'aide de l'option {{fname|--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). | |
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
Ligne 118 : | Ligne 120 : | ||
=== Adafruit nRF51822 Flasher (Python) === | === Adafruit nRF51822 Flasher (Python) === | ||
− | Adafruit | + | 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 de Bootloader et firmware Bluefruit. | |
It currently supports using either a Segger J-Link or STLink/V2 via AdaLink, or [https://github.com/adafruit/Adafruit_nRF51822_Flasher#rpi-gpio-requirements GPIO on a Raspberry Pi] if you don't have access to a traditional ARM SWD debugger. (A pre-built version of OpenOCD for the RPi is included in the repo since building it from scratch takes a long time on the original RPi.) | It currently supports using either a Segger J-Link or STLink/V2 via AdaLink, or [https://github.com/adafruit/Adafruit_nRF51822_Flasher#rpi-gpio-requirements GPIO on a Raspberry Pi] if you don't have access to a traditional ARM SWD debugger. (A pre-built version of OpenOCD for the RPi is included in the repo since building it from scratch takes a long time on the original RPi.) |
Version du 30 juillet 2017 à 14:27
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.
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:
- Code source de la Version 1.x: https://github.com/adafruit/Bluefruit_LE_Connect
- Code source de la Version 2.x: https://github.com/adafruit/Bluefruit_LE_Connect_v2
Version 2.x de l'application à été complètement ré-écrite pour supporter iOS, interface graphique OS X GUI et ligne de commande OS X à partir d'un seul code. |
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.
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).
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).
Debug Tools
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.
Ces outils de débogages sont uniquement fournit pour les utilisateurs avancés désirant restaurer l'état de leur périphérique. Il n'est pas recommander de les utiliser sauf si vous savez ce que vous faites car une utilisation incorrecte peut bloquer votre board.
|
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 de Bootloader et firmware Bluefruit.
It currently supports using either a Segger J-Link or STLink/V2 via AdaLink, or GPIO on a Raspberry Pi if you don't have access to a traditional ARM SWD debugger. (A pre-built version of OpenOCD for the RPi is included in the repo since building it from scratch takes a long time on the original RPi.)
We don't provide active support for this tool since it's purely an internal project, but made it public just in case it might help an adventurous customer debrick a board on their own.
$ 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