Rapport Ble
Rapport Ble
Rapport Ble
Beacon
1
Remerciements
Nous voudrions tout d’abord adresser toute notre gratitude à M. Éric Pigeon, notre
tuteur et également client, pour son encadrement et sa disponibilité et précieux
conseils tout au long du projet.
Un merci particulier à M. Basile DUFAY, pour ses apports et ses conseils tout au long
du projet.
2
Table des matières
1. Introduction.......................................................................................................... 5
2. Missions effectuées ............................................................................................. 7
2.1. Développement de la bibliothèque ................................................................ 7
2.1.1. Prise en main du matériel et des logiciels ............................................... 7
2.1.2. Communication entre les deux processeurs (CPU) du microcontrôleur
(MCU) 10
2.1.3. Différence entre le Bluetooth classique et BLE ..................................... 11
2.1.4. Couches du BLE ................................................................................... 12
2.1.5. Communication BLE ............................................................................. 13
2.1.6. Les services et caractéristiques ............................................................ 14
2.1.7. Trame Beacon ...................................................................................... 16
2.1.8. Bibliothèque développée ....................................................................... 17
2.1.9. Application ............................................................................................ 20
2.1.10. Site Web ............................................................................................ 22
2.2. Dimensionnement énergétique .................................................................... 25
2.3. Conception du boîtier .................................................................................. 26
3- Conclusion............................................................................................................ 29
3
TABLE DES FIGURES
4
1. Introduction
Nous avons effectué notre projet supervisé de la troisième année du cycle ingénieur à
l’ESIX, quelques heures par semaine du 20 octobre 2021 au 21 janvier 2022 et tous
les jours du 21 janvier au 04 mars 2022. Durant ce projet supervisé, nous avons
travaillé sur le projet Dispositif BLE Beacon qui est une partie du projet Vikazimut.
Le projet Dispositif BLE Beacon consiste à intégrer la technologie Beacon aux points
de contrôles. Cette technologie basée sur le BLE (Bluetooth Low Energy) permettra à
la balise d’envoyer des signaux à intervalles de temps réguliers. Le téléphone de
l’orienteur capte ce signal dès qu’il est proche de la balise et l’application se charge de
valider son passage au point de contrôle correspondant.
5
Objectifs Eléments d’évaluation ou Critères de succès
livrable
Développement d’une Des fichiers écrits en Cette bibliothèque doit permettre de
bibliothèque en C langage C configurer tous les paramètres de la
permettant la balise BLE Beacon (valeur de la
configuration de la portée, les informations à partager,
balise ...)
Etude et Intégration d’une La balise doit avoir une autonomie
dimensionnement alimentation ayant une de 2 à 3 ans
énergétique autonomie de 2 à 3 ans
Concevoir un boitier Un fichier 3D Le boîtier doit pouvoir contenir le
pour le beacon Un boîtier étanche conçu beacon, doit être étanche et doit
en 3D pouvoir être intégré au format actuel
de la balise
Certaines contraintes nous ont également été imposées par le client. Elles sont
regroupées dans le tableau suivant.
6
2. Missions effectuées
2.1. Développement de la bibliothèque
2.1.1. Prise en main du matériel et des logiciels
Le matériel utilisé pour le projet est le pack Nucléo STM32WB55 composé d’une carte
(figure 1) et d’un dongle USB (figure 2). Ils contiennent des microcontrôleurs de la série
STM32WB55 : STM32WB55RGV6 pour la carte et STM32WB55CGU6 pour le dongle
USB.
Les microcontrôleurs STM32WB55 sont équipés d’un processeur Arm 32 bits Cortex
M4 et d’un processeur Arm 32 bits Cortex M0+ dédié pour la couche radio en temps
réel. Ils sont également équipés du protocole IEEE 802.15.4 et du protocole Bluetooth
Low Energy 5.0 qui est le protocole utilisé pour la technologie Beacon.
7
Figure 1:Carte du pack Nucléo STM32WB55
8
Figure 2: Dongle USB du pack Nucléo STM32WB55
9
- STM32CubeProgrammer : c’est un outil qui fournit un environnement facile à
utiliser et efficace pour lire, écrire et vérifier la mémoire de l'appareil via
l'interface de débogage (JTAG et SWD) et l'interface du chargeur de démarrage
(UART, USB, DFU, I2C, SPI et CAN). Il est utilisé pour téléverser les codes sur
le microcontrôleur.
- STM32CubeMonitor-RF : Outils logiciels pour tester les performances du
Bluetooth Low Energy (BLE) et 802.15.4 RF des appareils basés sur
STM32WB.
SRAM2 : c’est une zone de RAM partagée entre les deux CPU
10
Mailbox : c’est une méthode d’échange des données entre les deux CPU il consiste à
mettre la commande à envoyer dans SRAM2 et envoyer une interruption au deuxième
CPU par l’intermédiaire de l’IPCC, une fois le CPU2 reçoit l’interruption il récupère les
données qui se trouve dans la SRAM2
Les modes BLE (bande passante plus limitée et très faible consommation) et Bluetooth
Standard (niveau d’émission plus élevé et portée plus grande) sont donc des
technologies complémentaires.
11
2.1.4. Couches du BLE
Les différentes couches du BLE sont présentées sur la figure 5.
12
est celui qui veut accéder à ces informations. ATT permet à un serveur
d’exposer à un client un ensemble d’attributs. Un attribut est une valeur
associée aux trois propriétés suivantes : un type d’attribut défini par un UUID
(Universally Unique Identifier), un descripteur d’attribut et un ensemble
d’autorisations.
- HCI : est la couche qui permet l’interaction entre les deux CPU (CPU1 Host,
CPU2 Controller)
13
Figure 7: Etapes de la communication BLE
Une caractéristique est définie comme une valeur utilisée dans un service, elle
possède des propriétés (value, length) et des informations de configuration sur le mode
d’accès (read ,write ,notifiable ).
14
Figure 8: Hiérarchie service et caractéristique
15
2.1.7. Trame Beacon
Il existe 4 types de protocole Beacon :
Pour atteindre notre objectif, nous avons choisi d’utiliser le protocole iBeacon car il est
largement pris en charge et il est simple et facile à mettre en œuvre.
La trame Beacon a une longueur pouvant aller jusqu’à 47 octets (figure 10) :
- 1 octet de préambule
- 4 octets pour l’adresse d’accès
- 2 à 39 octets de données utiles encore appelée PDU (Protocol Data Unit) ;
- 3 octets pour le CRC.
16
- 16 octets pour le UUID qui correspond à un identifiant unique ;
- 2 octets pour le Major qui est un identifiant qui correspond à un sous-ensemble
dont la valeur varie entre 0 à 65535 ;
- 2 octets pour le Minor qui est un identifiant qui correspond à un endroit
spécifique d’un sous-ensemble dont la valeur varie entre 0 et 65535 ;
- 1 octet pour TX qui est utilisé pour calibrer la force du signal.
Dans la trame iBeacon, les éléments les plus importants pour le projet sont :
- Le UUID : dans notre cas, les balises auront toutes le même UUID car elles
appartiennent à la même « série ». Par exemple : 00010203-0405-0607-0809-
0a0b0c0d0e0f ;
- Le Major qui pourra représenter l’identifiant d’une course ;
- Le Minor qui pourra représenter l’identifiant d’un point de contrôle ;
- Le TX qui définira la portée du iBeacon.
17
-
Figure 11: Service et caractéristiques de notre projet
Pour configurer la balise en iBeacon et adapter la trame aux valeurs choisies, trois
fonctions sont nécessaires (figure 12) :
Pour pouvoir configurer à nouveau la balise, il faut appuyer sur le reset ou enlever
l’alimentation et la remettre.
18
Figure 12: Code permettant de changer la trame
19
0x1A +1 dBm
0x1B +2 dBm
0x1C +3 dBm
0x1D +4 dBm
0x1E +5 dBm
0x1F +6 dBm
Tableau 3: Valeurs pour la fonction aci_hal_set_tx_power_level()
2.1.9. Application
Pour intégrer notre dispositif au projet Vikazimut, il est important d’adapter l’application
Vikazimut en fonction. Nous avons créé des applications dont le code sera intégré à
l’application Vikazimut.
Deux applications Android ont été créées : une application « administrateur » pour la
configuration de la balise et l’autre application a pour rôle la récupération de la
trame(figure 13, 14 et 15). La validation du passage se fera donc en fonction du major
et du minor récupérés. Seuls les organisateurs auront accès à la première application
et les coureurs auront accès à la deuxième.
20
Figure 13: Applications Android développées
21
Figure 15: App pour la récupération de la trame iBeacon
22
Figure 16: Interface du site web
23
Figure 18: Configuration de la balise
24
Figure 19: Balise configurée comme iBeacon
- Zone proche (environ 5m) avec une puissance de -20.85 dBm soit 8.22 uW ;
- Zone normale (environ 7m) avec une puissance de -18.85 dBm soit 0.013
mW ;
- Zone éloignée (environ 10m) avec une puissance de -15.25 dBm soit 0.03
mW.
L’objectif est d’avoir une autonomie d’au moins 2 ans soit 17520 heures.
En supposant qu’on utilise une pile bouton de 3V, la capacité de la pile est :
25
- Zone proche : 48 mAh
- Zone normale : 75.92 mAh
- Zone éloignée : 175.2 mAh
Le trou dans le boitier est fait pour le bouton reset. Une matière en caoutchouc
pourra le couvrir pour conserver l’étanchéité et permettre l’appui du bouton.
26
Figure 20: La conception du boitier de la balise
27
Figure 22: Assemblage du Boitier
Imprimante 3D
Temps de fabrication du boitier : cela nous a pris 2h pour imprimer les deux pièces
28
Figure 23: impression du Boitier
3- Conclusion
Ce projet n’a été que très bénéfique pour nous. Nous avons été confrontés à une
technologie qui nous était inconnue et dont les documents sont difficiles à trouver.
Nous avons pris du temps pour bien maîtriser la technologie. Nous avons aimé le
cadre du travail, l’autonomie dans le travail, la confiance de la part de M. PIGEON,
ses apports et conseils et ceux de M. DUFAY.
Ainsi, après avoir compris comment fonctionne la technologie, nous avons développé
la bibliothèque répondant à nos objectifs et plus. Nous avons développé les
applications et site web permettant d’utiliser notre dispositif. Après validation par le
tuteur, nous avons fait le dimensionnement énergétique et la conception du boîtier.
Nous avons dû modifier le design pour répondre aux attentes du tuteur et client.
Nous avons effectué toutes les tâches prévues. Des iBeacons du marché ont
également été commandés, mais il était impossible de les configurer soit parce qu’on
n' avait pas la documentation ou parce qu’on n’avait pas le firmware adapté.
Mais le projet est loin de sa phase finale. Le client aimerait intégrer des panneaux
solaires pour l’alimentation de la balise. Ce travail pourra se baser sur les calculs
effectués lors du dimensionnement énergétique. La question d’optimisation se pose
également. Au lieu d’utiliser le dongle USB, on pourrait utiliser le microcontrôleur
STM32WB5MMG qui a une taille de l’ordre de quelques millimètres mais qui
possède les mêmes caractéristiques que le pack Nucléo. Mais STMicroelectronics ne
pourra nous en procurer qu’en septembre pour des questions de sécurité.
29