Frage:
Erste Schritte mit Bluetooth 4.0 (BLE / Low Energy)
mlam
2011-12-06 20:45:51 UTC
view on stackexchange narkive permalink

Ich möchte mit Bluetooth 4.0 / Bluetooth Low Energy / BLE beginnen. Ich weiß, dass es sich von einem normalen Bluetooth unterscheidet.

Derzeit verwende ich das BlueSmirf Bluetooth 2.1-Modul, die UART-Schnittstelle und das SPP-Profil.

Ich habe eine einfache Operation, bei der eine Zeichenfolge an Arduino gesendet wird. Bis zu 512 Byte / Sekunde. Da ich das BlueSMirft BT-Modul verwende, ist es einfach und alles ist transparent.

Es scheint nicht einfach zu sein, dies in BT4 zu tun. http://www.bluegiga.com/BLE112_Bluetooth_low_energy_module

Ich möchte nur die grundlegende Vorstellung davon bekommen, wie schwierig es ist, BT 4.0 zu lernen, bevor ich das Entwicklungskit kaufe. Nicht billig, über 350 US-Dollar.

  1. Haben Sie einen Beispielcode zum Einrichten und Senden einer einfachen Zeichenfolge mit BT4?
  2. Die Bluetooth-Niedrigenergietechnologie unterstützt sehr kurze Datenpakete (Minimum 8 Oktett bis maximal 27 Oktett), die mit 1 Mbit / s übertragen werden. http://www.bluetooth.com/Pages/low-energy-tech-info.aspx Kann ich mit dieser Einschränkung Daten mit 512 Byte / Sekunde senden?
  3. ol>

    Danke!

Fünf antworten:
Guan Yang
2012-04-17 00:59:31 UTC
view on stackexchange narkive permalink

Ich habe auch mit BLE herumgespielt und mich für den nordischen nRF8001-Chip entschieden, da er einfacher zu handhaben war und keine teuren IAR-Tools benötigte. nRF8001 ist etwas billiger als das CC2540-Teil in BLE112, aber nur für Slaves.

Ich habe Nordics nRF8001-Entwicklungskit für 99 US-Dollar gekauft, das nRF8001-Beispiele und mehrere nRF8001-Karten ( eine mit einer Trace-Antenne und eine mit einem SMA-Anschluss) mit einem Standard-0,1-Zoll-Header für die einfache Verbindung mit Ihrer Mikrocontroller-Entwicklungsplatine. In der Dokumentation wird davon ausgegangen, dass Sie die nRFgo-Entwicklungsplatine für 399 US-Dollar haben und den mitgelieferten nRF8200-Mikrocontroller verwenden möchten Also habe ich stattdessen eine nRF8001-Karte direkt mit einem Arduino verbunden.

Sie sprechen SPI mit nRF8001, aber im Grunde genommen mit 2 verschiedenen Slave-Select-ähnlichen Pins. Ein Pin (REQN) ist ein traditioneller Slave-Select, der mitgebracht wird niedrig, um anzuzeigen, dass der Master (Sie) eine Nachricht senden möchte. Der andere Pin (RDYN) ist für den Slave (nRF8001), um anzuzeigen, dass er etwas über RF empfangen hat, das er an den Master senden möchte oder bereit ist Um einen Befehl vom Master zu erhalten, setzt der Master die REQN auf niedrig und beginnt mit dem Empfang.

Das Protokoll ist sehr präzise und gut dokumentiert (im von Nordic bereitgestellten Produktspezifikations-PDF). Ich habe eine Arduino-Skizze geschrieben, um den nRF8001 einzurichten und ihn an einem Nachmittag mit meinem iPhone 4S sprechen zu lassen. Das Format besteht im Wesentlichen aus einem Längenbyte, einem Befehlsbyte und optionalen befehlsspezifischen Argumenten.

Sie benötigen die nRFgo Studio-Software von Nordic, um eine Konfiguration zu erstellen, in der die von Ihrem Gerät unterstützten Dienste angegeben sind. Es enthält dann eine Datei services.h mit den Setup-Meldungen, die Sie an nRF8001 senden müssen. Endlich gelang es mir, einen Herzfrequenzmesser zu emulieren und Zahlen in der iOS-Demo-App von Nordic anzuzeigen.

Ein großer Vorteil von nRF8001 im Vergleich zu BLE112 besteht darin, dass Sie neben den von nRFgo Studio generierten proprietären Setup-Meldungen nur mit einem gut dokumentierten seriellen Protokoll arbeiten. Keine Firmware-Upgrades! Es ist sehr cool, dass der CC2540 über einen integrierten 8051-Mikrocontroller verfügt, aber Sie müssen entweder Tausende von Dollar für die IAR-Tools bezahlen oder sich mit den Einschränkungen und Belästigungen des BlueGiga-Software-Stacks befassen. Ein roher CC2540 ist billiger als nRF8001 plus ein Mikrocontroller, aber die Karten von BlueGiga sind nicht billig.

(Auf dem nRF8001 befindet sich ein UART, der auf den im Entwicklungskit enthaltenen Karten herausgebracht wird, aber nur für Der direkte Testmodus von Bluetooth wird normalerweise nicht verwendet.)

Ich würde gerne mit Ihnen ausführlicher darüber sprechen. Bitte schauen Sie irgendwann im Chatraum vorbei, wenn Sie die Gelegenheit dazu haben. Ich bin fast jeden Wochentag von 10 bis 18 Uhr EST und zu verschiedenen anderen Zeiten dort. Verwenden Sie das @, um mich anzupingen, und ich werde sicher vorbeischauen.
Könnten Sie den Schaltplan für das Arduino und den nRF8001 posten / hinzufügen? Wenn möglich, wäre die Arduino-Skizze großartig!
Ich bin wahrscheinlich die letzte Person auf der Welt, die herausfindet, dass mein iPhone 4s BLE hat (tatsächlich habe ich nach dem Googeln herausgefunden, dass es das * erste * Gerät war, das BT 4.0 implementiert hat). Jetzt bin ich versucht, auch eines dieser Entwicklungsboards zu bekommen.
Stuart Cording
2012-02-14 02:07:15 UTC
view on stackexchange narkive permalink

Die Präsentation auf der BlueGiga-Website für dieses Modul, letzte Folie, enthält den Datendurchsatz:

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

Der tatsächliche Durchsatz der Anwendungsdaten ist auf 200 KBit / s begrenzt, obwohl die Daten mit 1 MBit / s übertragen werden.

Sie möchten 512 Byte pro Sekunde übertragen == 512 x 8 = 4096 Bit pro Sekunde

4096 x 60 Sekunden = 245760 Bit pro Minute, das sind 45 KBit / s mehr, als Bluetooth Low Energy unterstützen kann.

Nur wenn Sie Ihre Datenlast reduzieren können, besteht eine Chance, dass sie funktioniert.

Vergessen Sie auch nicht, dass BLE eine geringe Leistung / Energie aufweist, da es darauf ausgelegt ist Senden Sie nur kleine Datenmengen unregelmäßig. Wenn Sie die von Ihnen vorgeschlagene große Datenmenge senden, bin ich mir nicht ganz sicher, ob Sie in Ihrer Anwendung große Energieeinsparungen erzielen werden. Das von BlueGiga hervorgehobene Modul benötigt 27 mA für die Übertragung. Einige ihrer anderen Module (v2.1 + EDR) können nur 7 mA verbrauchen, aber sie können auch 70 mA erreichen.

Leider kann ich Ihre Programmierfrage nicht kommentieren, da ich keine Chance hatte um diese Module tatsächlich zu verwenden.

Viel Glück!

Warum multiplizieren Sie mit 60? 4096 Bit pro Sekunde sind 4 kbit / s (gegenüber maximal 200 kbit / s). Seine Anwendung überträgt 245760 Bit pro * 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 zeigt einen interessanten Ansatz für BLE: Der Autor verwendet einen extremen billiges (1 - 2 $) und einfaches nRF24L01 + Modul zum Versenden von BLE-Werbung. Für einige Anwendungen ist dies möglicherweise bereits ausreichend.

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

Es gibt viele Möglichkeiten. Die beiden beliebtesten Chipsätze von Tgr sind CC2541 von TI und nRF51822 von Nordic. Ich habe einen schönen Vergleich, der ins Detail geht: http://www.argenox.com/library/wp_bluetooth.php

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

Sie machen einen Fehler in Ihrer Berechnung. 512 x 8 = 4096 Bit pro Sekunde: Dies ist in Ordnung und natürlich kann 4096 mit 1 Mbit / s gesendet werden, 1000000 Bit können passieren, nicht nur 4096. Warum multiplizieren Sie das mit 60? in wenigen Minuten zu finden? 1 MBit kann 100 KByte übertragen.



Diese Fragen und Antworten wurden automatisch aus der englischen Sprache übersetzt.Der ursprüngliche Inhalt ist auf stackexchange verfügbar. Wir danken ihm für die cc by-sa 3.0-Lizenz, unter der er vertrieben wird.
Loading...