Question:
Comment démarrer avec Bluetooth 4.0 (BLE / Low Energy)
mlam
2011-12-06 20:45:51 UTC
view on stackexchange narkive permalink

Je veux commencer avec Bluetooth 4.0 / Bluetooth Low Energy / BLE. Je sais que c'est différent d'un Bluetooth normal.

Actuellement, j'utilise le module BlueSmirf Bluetooth 2.1, l'interface UART et le profil SPP.

J'ai une opération simple qui envoie une chaîne à arduino. Jusqu'à 512 octets / seconde. Depuis que j'utilise le module BlueSMirft BT, c'est facile et tout est transparent.

Il semble que ce ne soit pas facile de faire cela dans BT4. http://www.bluegiga.com/BLE112_Bluetooth_low_energy_module

Je veux juste avoir une idée de base à quel point il est difficile d'apprendre BT 4.0 avant d'acheter le kit de développement. Pas bon marché, 350 $ +.

  1. Avez-vous un exemple de code sur la façon de configurer et d'envoyer une chaîne simple à l'aide de BT4?
  2. La technologie Bluetooth Low Energy prend en charge les paquets de données très courts (8 octets minimum jusqu'à 27 octets maximum) qui sont transférés à 1 Mbps. http://www.bluetooth.com/Pages/low-energy-tech-info.aspx Avec cette limitation, puis-je envoyer des données de 512 octets / seconde?

Merci!

Cinq réponses:
Guan Yang
2012-04-17 00:59:31 UTC
view on stackexchange narkive permalink

J'ai également joué avec BLE et j'ai décidé d'opter pour la puce Nordic nRF8001 car elle semblait plus facile à utiliser et ne nécessitait pas d'outils IAR coûteux. Le nRF8001 est légèrement moins cher que la pièce CC2540 dans BLE112, mais il est réservé aux esclaves.

J'ai acheté le kit de développement nRF8001 de Nordic pour 99 $, qui comprend des échantillons nRF8001 et plusieurs cartes nRF8001 ( un avec une antenne de trace et un avec un connecteur SMA) avec un en-tête standard de 0,1 "pour une interface facile avec votre carte de développement de microcontrôleur. La documentation suppose que vous avez la carte de développement nRFgo à 399 $ et que vous souhaitez utiliser le microcontrôleur nRF8200 inclus. Je n'ai pas , donc à la place, j'ai câblé une carte nRF8001 directement à un Arduino.

Vous parlez SPI au nRF8001, mais fondamentalement avec 2 broches différentes de type sélection esclave. faible pour indiquer que le maître (vous) voulez envoyer un message. L'autre broche (RDYN) est pour l'esclave (nRF8001) pour indiquer qu'il a reçu quelque chose par RF qu'il veut envoyer au maître, ou qu'il est prêt pour recevoir une commande du maître. Le maître amène alors REQN bas et commence à recevoir.

Le protocole est très concis et bien documenté (dans le PDF de spécifications du produit fourni par Nordic) et j'ai écrit un croquis Arduino pour configurer le nRF8001 et le faire parler à mon iPhone 4S dans un après-midi. Le format est essentiellement un octet de longueur, un octet de commande, puis des arguments optionnels spécifiques à la commande.

Vous aurez besoin du logiciel nRFgo Studio de Nordic pour créer une configuration spécifiant les services que votre appareil prendra en charge; il inclura alors un fichier services.h contenant les messages de configuration que vous devez envoyer au nRF8001. J'ai finalement réussi à émuler un moniteur de fréquence cardiaque et à afficher des chiffres dans l'application de démonstration iOS de Nordic.

Un gros avantage de nRF8001 par rapport à BLE112 est que, mis à part les messages de configuration propriétaires générés par nRFgo Studio, vous ne traitez qu'avec un protocole série bien documenté. Aucune mise à jour du firmware! C’est très cool que le CC2540 ait un microcontrôleur 8051 intégré, mais vous devrez soit payer des milliers de dollars pour les outils IAR, soit faire face aux limitations et aux inconvénients de la pile logicielle de BlueGiga. Un CC2540 brut est moins cher qu'un nRF8001 plus un microcontrôleur, mais les cartes BlueGiga ne sont pas bon marché.

(Il y a un UART sur le nRF8001 qui est présenté sur les cartes incluses dans le kit de développement, mais c'est uniquement pour Le mode de test direct de Bluetooth n'est généralement pas utilisé.)

J'aimerais vous en parler plus en détail. Veuillez vous arrêter à la salle de chat à un moment donné si vous en avez l'occasion. J'y suis à peu près tous les jours de la semaine de 10 h 00 à 18 h 00 HNE et à plusieurs autres moments également. Utilisez le @ pour me cingler et je ne manquerai pas de m'arrêter.
Pourriez-vous poster / ajouter le schéma de l'arduino et du nRF8001? Si possible, le croquis Arduino serait génial!
Je suis probablement la dernière personne au monde à découvrir que mon iPhone 4s a BLE (en fait, après l'avoir recherché sur Google, j'ai découvert que c'était le * premier * appareil à implémenter BT 4.0). Maintenant, je suis tenté d'acquérir une de ces cartes de développement aussi.
Stuart Cording
2012-02-14 02:07:15 UTC
view on stackexchange narkive permalink

La présentation sur le site Web de BlueGiga pour ce module, dernière diapositive, fournit le débit de données:

http://www.bluegiga.com/files/bluegiga/Bluetooth_LE/LowEnergy_HowItWorks.pdf

Le débit réel des données d'application est limité à 200kbps, bien que les données soient transmises à 1Mbps.

Vous voulez transférer 512 octets par seconde == 512 x 8 = 4096 bits par seconde

4096 x 60 secondes = 245760 bits par minute, soit 45 kbps de plus que ce que Bluetooth Low Energy peut supporter.

Ainsi, seulement si vous pouvez réduire votre charge de données, il a une chance de fonctionner.

De plus, n'oubliez pas que BLE est de faible puissance / énergie car il est conçu pour n'envoyez que de petites quantités de données de manière irrégulière. Si vous envoyez la grande quantité de données que vous proposez, je ne suis pas tout à fait sûr que vous réaliserez d'importantes économies d'énergie dans votre application. Le module que vous avez mis en évidence dans BlueGiga a besoin de 27 mA en transmission. Certains de leurs autres modules (v2.1 + EDR) peuvent consommer aussi peu que 7 mA, mais ils peuvent également atteindre 70 mA.

Malheureusement, je ne peux pas commenter votre question de programmation car je n'ai pas eu de chance pour utiliser réellement ces modules.

Bonne chance!

Pourquoi multipliez-vous par 60? 4096 bits par seconde correspondent à 4 kbps (contre 200 kbps max). Son application transférera 245760 bits par * minute *.
Florian Echtler
2013-10-14 17:20:53 UTC
view on stackexchange narkive permalink

http://dmitry.gr/index.php?r=05.Projects&proj=15&proj=11.%20Bluetooth%20LE%20fakery montre une approche intéressante de BLE: l'auteur réutilise un extrêmement module nRF24L01 + bon marché (1 - 2 $) et simple pour l'envoi de publicités BLE. Pour certaines applications, cela peut déjà suffire.

Gustavo Litovsky
2014-04-10 00:44:05 UTC
view on stackexchange narkive permalink

Il existe de nombreuses façons. Les deux chipsets les plus populaires de Tgr sont CC2541 de TI et nRF51822 de Nordic. J'ai une belle comparaison qui entre dans les détails: http://www.argenox.com/library/wp_bluetooth.php

Dr. Nissim Zur
2013-03-12 22:39:55 UTC
view on stackexchange narkive permalink

vous faites une erreur dans votre calcul. 512 x 8 = 4096 bits par seconde: c'est OK et bien sûr 4096 peuvent être envoyés avec 1 Mbit / sec, 1000000 bits peuvent passer, pas seulement 4096. pourquoi multipliez-vous cela par 60? trouver en quelques minutes? 1Mbit peut transférer 100Kbyte.



Ce Q&R a été automatiquement traduit de la langue anglaise.Le contenu original est disponible sur stackexchange, que nous remercions pour la licence cc by-sa 3.0 sous laquelle il est distribué.
Loading...