Des résultats en quatre-vingt dix minutes : développement BLE à l'aide de Blue Gecko

Ces dernières années ont connu une explosion des applications de l'Internet des Objets (IdO), avec des produits tels que les compteurs intelligents, les capteurs sans fil, les wearables, les appareils domotiques et les systèmes d'alarme. La connectivité sans fil est au cœur de l'IdO, avec un certain nombre de normes sans fil qui collaborent pour couvrir l'ensemble du spectre applicatif.

En particulier, le Bluetooth Low Energy (BLE, Bluetooth à faible consommation énergétique), également connu sous le nom Bluetooth Smart (« intelligent ») est conçu pour les applications de condition physique, de la santé, la sécurité, le divertissement à domicile, et la commercialisation de proximité basée sur la localisation géographique (« beacons », balises). Par rapport au Bluetooth classique, le Bluetooth Smart offre une consommation réduite d'énergie, un faible coût, des temps de connexion rapides, combinés à des niveaux élevés de fiabilité et de sécurité. 

Grâce au Blue Gecko, le dernier né de la famille sans fil Gecko SoC de Silicon Labs, les développeurs peuvent réaliser le prototypage d'une nouvelle idée ou développer une application BLE simple en seulement 90 minutes, en utilisant les kits, les outils et le logiciel de démonstration disponibles. 

Famille Gecko sans fil de Silicon Labs

Avec la famille sans fil Gecko (EFR32), Silicon Labs offre des solutions hautement intégrées, robustes, fiables et faciles à utiliser sans fil et de système sur puce RF (SoC, Silicon on Chip) Les appareils sans fil Gecko sont basés sur le Cortex-M4 core 32 bits ARM, complété par une unité à virgule flottante, fonctionnant jusqu'à 40 MHz, avec un maximum de 256 Ko de mémoire programme flash et de 32 ko de mémoire de données RAM.  Selon les appareils, les périphériques comprennent notamment des convertisseurs analogique-numérique, des comparateurs, des canaux PWM, le cryptage AES, ECC et SHA, la communications I2C.

Blue Gecko est optimisé pour Bluetooth Smart ; les autres SoC comprennent Mighty Gecko pour ZigBee® et les protocoles de Thread, et Flex Gecko pour les applications propriétaires 2,4 GHz.

Présentation de Blue Gecko 

La famille Blue Gecko SoC (EFR32BG) offre évolutivité, efficacité énergétique, sécurité et simplicité de conception pour les applications Bluetooth Smart. En plus des SoC sans fil, le portefeuille Blue Gecko comprend des modules sans fil pré-certifiés, une pile logicielle Bluetooth Smart et un kit de développement logiciel en langage C facile à utiliser (SDK).

Le matériel Bleu Gecko : SoC ou module ?

0516 SE Blue Gecko Wireless Image 1

Figure 1 : comparaison d'un module BGM113 Blue Gecko et de la conception de référence SoC (source : Silicon Labs)

Deux options principales sont disponibles, en ce qui concerne le matériel :
1) Utiliser un module sans fil pré conçu contenant le SoC
2) Utiliser un Système sur puce sans fil (SoC) et l'intégrer à votre carte de circuit imprimé personnalisée (PCB). 

Le module est livré avec une conception de PCB complète, notamment l'optimisation RF et la disposition de l'antenne, le blindage, les composants de synchronisation, et une nomenclature externe. Un module comporte des coûts initiaux plus élevés et peut consommer plus d'espace qu'une conception de SoC personnalisée. Les modules Blue Gecko de Silicon Labs bénéficient cependant des validations réglementaires et des certifications de normes, qui permettent ultérieurement d'économiser du temps et de l'argent durant le cycle de développement. 

Le SoC est plus petit et moins cher qu'un module sans fil et le coût total des composants est susceptible d'être plus faible. Mais la conception initiale entraîne des coûts cachés qui doivent être examinés avec soin. Certains des coûts cachés d'une conception utilisant un SoC comprennent : 

- Concepteurs et ingénieurs RF : Une conception Bluetooth fait appel à des compétences de conception spécialisées. De nombreux facteurs peuvent affecter la performance, y compris le matériau d'isolation du PCB, la forme des traces, même le placement des vis.  Un ingénieur RF peut coûter jusqu'à 200 000 $ par an. 
- L'équipement et les installations du laboratoire : une chambre anéchoïque peut coûter 20 000 $ voire davantage, plus 30 à 50 000 $ pour l'équipement. Les installations de test RF peuvent coûter plusieurs milliers de dollars par jour.
- Mise en page PCB et sélection de l'antenne : bien que les fabricants de SoC fournissent généralement des modèles de conception et des directives de mise en page de référence détaillés, les développements RF suivent rarement précisément le plan. Quelques cycles rapides de conception de PCB peuvent augmenter considérablement les coûts. 
- Validations et certifications réglementaires : Un produit Bluetooth Smart doit satisfaire aux exigences réglementaires de la FCC, de l'Union européenne, ou de toute autre autorité. Une certification par le groupe de travail SIG Bluetooth est également nécessaire. L'utilisation d'un module pré-certifié peut permettre au produit final d'éviter un grand nombre de tests. 
- Réduction du chiffre d'affaire du produit du fait de retards de mise sur le marché : dans l'environnement commercial 'actuel avec ses cycles de développement toujours plus serrés, même un petit retard peut se traduire par des pertes de revenus. 
- Gestion des approvisionnements et assurance : dans le cas de productions de faible volumes, les modules peuvent atténuer les risques d'approvisionnement. Se fournir en un seul module est beaucoup plus simple que l'approvisionnement de tous les composants pour pouvoir fixer un SoC sur la carte. 

Bien que chaque conception soit différente, même certains fabricants de gros volumes de téléphones portables ont choisi une solution à base de modules.  Une analyse détaillée des choix de conception à base de SoC par rapport aux modules peut être consultée ici. 

Kit sans fil Bluetooth Smart Wireless Starter 

Quelle que soit la voie que vous décidiez de prendre, le kit Bluetooth Smart Wireless Starter (WSTK) fournit un moyen rapide et pratique d'évaluer le matériel Blue Gecko et de démarrer le développement de logiciels. Il se compose de la carte principale, d'un module de carte radio, et de cartes d'extension en option.

La carte principale comprend une connectivité Ethernet et USB, le capteur de température et d'humidité Si7021, un écran 128 x 128 pixels, un support de pile-bouton et d'autres périphériques.

0516 SE Blue Gecko Wireless Image 2

Figure 2 : Le kit Wireless Starter (WSTK) avec le module et la carte d'extension sans fil BGM111 Blue Gecko (Source: Silicon Labs)

Un choix de cartes radio est disponible pour le développement Blue Gecko. En ce qui concerne les modules, il existe deux versions, BG111 et BG113, avec des spécifications différentes ; pour les conception de SoC, la carte radio EFR32BG est également disponible. La carte d'extension offre des fonctionnalités supplémentaires telles qu'un accéléromètre, une manette de commande, des voyants DEL et deux boutons poussoirs.

Options de développement logiciel Blue Gecko

Pour le développement de code Bluetooth Smart avec des SoC ou des modules Blue Gecko, vous avez le choix entre deux environnements de développement flexibles à utiliser avec le WSTK. 

Pour une application simple avec des fonctions standard, ou pour prototyper une idée avec un minimum d'effort, pensez à utiliser BGScript.  Il s'agit d'un langage de script de style BASIC qui offre un environnement de développement logiciel rapide et simple. BGScript crée des applications simples Bluetooth Smart qui fonctionnent sur le BGM111 ou le BGM113.

Pour faire face à des contraintes de conception plus complexes ou si vous concevez du matériel personnalisé, vous pouvez développer des applications en partant de zéro avec le langage C intégré à l'aide de Simplicity Studio et de son IDE basé sur Eclipse et de sa suite complète d'outils d'optimisation.  Le code compilé fonctionne de manière native sur un SoC Bluetooth Smart Blue Gecko 

Pour réaliser une évaluation rapide du code Blue Gecko, l'application Blue Gecko fonctionne sur un smartphone ou une tablette dotée de Bluetooth 4.0 ou version ultérieure.  Elle comprend quatre exemples d'applications : un thermomètre médical, une balise (« beacon ») de commerce de proximité, une détection clé fob, et un test de pile BLE et de profil.  

Développement logiciel avec BGScript

BGScript permet d'accéder à toutes les fonctionnalités nécessaires pour commencer le codage immédiatement sans se soucier de la complexité du protocole Bluetooth, du matériel embarqué, de la planification, de la gestion de la mémoire, etc. Les applications peuvent être utilisées pour automatiser les fonctions communes Bluetooth Smart telles que l'ouverture d'une connexion, l'écoute des interruptions GPIO, et même la lecture et l'écriture de données via UART, SPI, I2C ou les interfaces GPIO.

0516 SE Blue Gecko Wireless Image 3

Figure 3 : Le modèle de programmation source BGScript (Silicon Labs)

Les applications BGScript peuvent également effectuer des tâches simples de traitement de données en utilisant les opérations arithmétiques, les opérations binaires, les tampons, et la comparaison de données BGScript disponibles.

BGScript est construit par dessus la couche BGAPI dans la pile logicielle Bluetooth Smart et est exécuté directement par un module sans fil BGM111 ou BGM113. 

C'est un langage de programmation événementiel ; un événement tel que l'initialisation du système, une connexion Bluetooth ou une interruption d'E/S, déclenche l'exécution du code de l'application associée à cet événement. Le code de script est interprété au moment de l'exécution par un interpréteur BGScript faisant partie du firmware. 

Des applications complètes peuvent être mises en œuvre sans recours à un contrôleur hôte externe, ce qui réduit les coûts de composants et la taille de la carte.

Développement logiciel en 90 minutes

0516 SE Blue Gecko Wireless Image Green text

Figure 4 : un exemple de code BGScript illustrant l'écouteur d'événement de démarrage avec ses appels à la BGAPI (Source : Silicon Labs)

Dans la mesure où un programme applicatif BGScript se compose essentiellement d'appels à la BGAPI, une application peut être assemblée très rapidement. La figure 4 montre un exemple de code : l'écouteur d'événement de démarrage de l'application Thermomètre médical, qui est l'un des 4 exemples applicatifs 4 inclus dans le SDK Blue Gecko. Le code de l'application d'événement de démarrage se compose de plusieurs appels à la BGAPI : 

- Définir une broche GPIO élevée pour permettre le contrôle d'une DEL sur la carte d'évaluation
- Définir les paramètres de publicité à un intervalle de 100 ms
- Commencer à diffuser des paquets de publicité connectables pour laisser les appareils à distance BLE effectuer un balayage et se connecter
- Mettre en place un second minuteur périodique pour programmer des lectures de température. 

Une discussion plus détaillée sur cette application peut être trouvée à cette adresse.  Deux documents utiles sur le développement BGScript Blue Gecko sont Le guide de développement BGScript, qui couvre les fonctionnalités, la syntaxe, et les opérateurs intégré du langage ; et le Guide de référence des API du BGM111 ou du BGM113, qui détaille toutes les méthodes API disponibles dans la pile.

Avantages et limites de BGScript

En tant que langage interprété, BGScript comporte des avantages et des inconvénients.

Certains de ces avantages sont les suivants :

- Il crée des applications autonomes qui fonctionnent directement sur un module 
- Il utilise une syntaxe simple et nécessite une expérience de programmation minimale
- Il utilise des fonctionnalités et des opérations courantes du langage de programmation
- Il comporte des fonctions permettant de simplifier les tâches complexes et d'accéder aux fonctionnalités courantes de BGAPI 
- Il ne nécessite pas de programmation C personnalisée ou de licence du compilateur

Voici certaines de ses limites :
- S'agissant d'un langage interprété et nécessitant de la puissance supplémentaire pour pouvoir s'exécuter, les performances de BGScript sont limitées par rapport à un contrôle API externe. BGScript peut exécuter plusieurs milliers de commandes par seconde. Bien que BGScript fonctionne à la fois sur les modules et les SoC, son SDK ne permet pas un accès complet aux périphériques matériels sous-jacents.

Développement logiciel basé sur la langage C à l'aide de Simplicity Studio et du SDK C Bluetooth Smart

0516 SE Blue Gecko Wireless Image 4

Figure 5 : Simplicity Studio constitue un cadre de développement logiciel puissant construit autour d'un IDE Eclipse (source : Silicon Labs)

BGScript gère de nombreuses opérations standard et fournit une couche d'abstraction à la pile Bluetooth Smart, mais il est mieux adapté à des applications simples car l'API BGScript ne permet pas un accès illimité au matériel sous-jacent.

Si votre application est complexe avec des minuteurs rapides ou des interruptions, ou si votre application doit communiquer avec un appareil externe tel qu'un microcontrôleur via un UART, vous avez besoin de Simplicity Studio, un environnement de développement complet construit sur un IDE basé sur Eclipse.  L'IDE apporte aux développeurs de la flexibilité en prenant en charge le compilateur ARM IAR Workbench intégré. Il permet également une intégration transparente avec des outils d'optimisation tels que :

- L'AppBuilder, un outil interactif pour configurer des modules de code fournis par Silicon Labs pour mettre en œuvre des applications 
- Le Profileur, qui rend possible le profilage énergétique du code en temps réel en mesurant la consommation électrique
- L' analyseur réseau, qui capture une trace de l'activité du réseau sans fil
- Le Configurateur matériel, qui génère automatiquement du code pour les périphériques matériels et le port E/S
- Le SDK C Bluetooth Smart, qui vous permet de développer des applications logicielles Système sur puce (SoC) en C sur un seul microcontrôleur.

0516 SE Blue Gecko Wireless Image 5

Figure 6 : développement Bluetooth Smart à l'aide de Simplicity Studio (Source : Silicon Labs)

La figure 6 montre le modèle de développement BT Smart avec Simplicity Studio. Contrairement à la version BGScript, l'application interagit directement avec la BGAPI. 

dans le cas du développement Blue Gecko, les composants nécessaires Simplicity Studio sont :

- Simplicity Studio Framework avec le Package de support EFR32BG
- SDK C Bluetooth Smart
- IAR Embedded Workbench (IAR Systems) pour ARM 7.3 ou version ultérieure - utilisé comme compilateur dans l'environnement Simplicity Studio. 

Avantages et limites de Simplicity Studio

Simplicity Studio est un système de développement complet. Comme pour tout système similaire, il faut du temps pour se familiariser avec les nombreux outils de développement Bluetooth Smart.

Les avantages comprennent :

- Le code compilé C permet un fonctionnement plus rapide qu'une solution BGScript interprétée
- Le SDK C Bluetooth Smart permet d'accéder aux périphériques matériels les plus sous-jacents, et permet une plus grande flexibilité de développement des applications clientes
- Le configurateur matériel permet d'accéder à des périphériques SoC et à la configuration personnalisée des périphériques SoC sur les PCB OEM
- Le profileur d'énergie permet l'optimisation énergétique du code en temps réel en mesurant la consommation électrique en mode natif (sans nécessiter d'équipement de mesure supplémentaire ou de sonde matérielle)

Ses inconvénients sont les suivants :

- Une durée de développement accrue
- Il nécessite une connaissance approfondie du langage C 
- Il nécessite l'achat d'une licence pour IAR Embedded Workbench (IAR Systems) pour ARM 7.3 ou version ultérieure

Conclusion 

Bleu Gecko offre la combinaison parfaite de fonctionnalités pour permettre aux développeurs BLE d'entrer sur le marché dans les plus brefs délais, qu'ils utilisent un module pré-certifié ou développent une solution basée sur un SoC personnalisé à partir de zéro.  

Construit sur un ARM Cortex-M4 core standard de l'industrie, Blue Gecko offre le meilleur des deux mondes. Pour tester rapidement de nouvelles idées ou des applications standard, un environnement de développement basé sur BGScript peut rendre opérationnelles des applications presque immédiatement. Pour des développements plus complexes, Simplicity Studio permet aux développeurs de personnaliser tous les aspects de leur conception, avec un large éventail d'outils d'optimisation et de modules de code prédéfinis.

Quelle que soit la plate-forme logicielle utilisée, il y a compatibilité logicielle complète entre le SoC Blue Gecko et les solutions à base de modules permettant aux développeurs de migrer rapidement du module au SoC si les exigences évoluent. 

Voir les produits connexes

SLWSTK6101B

Silicon Labs Cartes et kits de développement RF/sans fil Afficher

Voir les produits connexes

SLWSTK6020A

Silicon Labs Cartes et kits de développement RF/sans fil Afficher

Actualité

Sorry, your filter selection returned no results.

Nous avons mis à jour notre politique de confidentialité. Prenez un moment pour lire les changements. En cliquant sur "J'accepte", vous acceptez la clause de confidentialité d'Arrow Electronics ainsi que les conditions d'utilisation.

Notre site Internet place des cookies sur votre appareil pour améliorer votre expérience et pour améliorer notre site. Pour en savoir plus sur les cookies que nous utilisons et la façon de les désactiver, cliquez ici. Des cookies et des technologies de suivi peuvent être utilisés à des fins de marketing. En cliquant sur « Accepter », vous consentez au placement de cookies sur votre appareil et à notre utilisation de technologies de suivi. Cliquez sur « En savoir plus » pour de plus amples informations et instructions sur la façon de désactiver les cookies et les technologies de suivi. Même si l'acceptation des cookies et technologies de suivi est volontaire, leur désactivation peut entraîner un mauvais fonctionnement du site Internet et certaines publicités peuvent être moins pertinentes pour vous. Nous respectons votre confidentialité. Lisez notre politique de confidentialité ici.