Hallo, ich bin auf der Suche nach einem Bluetooth-Modul, welches es mir
erlaubt möglichst viele kleine Datenpakete zu übermitteln.
Ich hatte überlegt ein Modul mit dem SPP Profil zu verwenden, allerdings
ist dieses Protokoll 1. Vermutlich zu langsam für die anfallenden
Datenraten und 2. ist es unter Bluetooth 4.0 nicht mehr aktuell.
Außerdem hatte ich OBEX ins Visier genommen. Aber auch dieses Profil
scheint ehr für BT Classic zu sein.
Jetzt stellt sich mir die Frage, worauf achte ich bei der Wahl des
Bluetooth-Moduls.
Das Modul soll in Verbindung mit einem ARM Cortex M0 verwendet werden.
Es soll den BT4.0 Standard verwenden.
Jetzt liest man immer wieder dass BT4.0+EDR Datenraten von bis zu 24Mb/s
kann.
Unter welchen Umständen ist dies der Fall?
Ich hatte mir bisher die Module von Bluegiga, Laird und Microchip
angesehen.
Bin dort bei den Modulen von Laird nicht sicher welche Profile nun alle
unterstützt werden.
Die Microchip Module scheinen kein Obex/SPP zu können. Haben dafür aber
MLDP, welches aber auch nur eine Serielle Verbindung emuliert.
Wäre für jede hilfe dankbar.
Hallo,
ich kenne nur BLE4.0, die höheren Versionen 4.1 und 4.2 kenne ich leider
nicht, daher bezieht sich meine Aussage auf 4.0 und das Module BLE113
von Bluegiga:
Zunächst muss du abschätzen, wie viele Daten du tatsächlich übertragen
willst. Bei 4.0 ist die effektive Datenrate wirklich klein. Laut einigen
Foren kommt man bei dem BLE113 auf maximale effektive Datenraten von
1kBit/s bis 10kBit/s.
Man hat bei BLE keine richtigen Profile, sondern man definiert sich
Attribute, die z.B. einem Sensorwert entsprechen und schreibt dort die
Werte rein. Auf der Gegenseite holt man die Attribute aus dem BLE-Modul
dann ab. Man kann die Attribute auch mehrere Byts groß definieren, so
dass man sich dann Pakete basteln kann, die mehrere Daten enthalten.
Ich denke, dass bei den höheren Standards (4.1 und 4.2) dieses Konzept
beibehalten wurde (wie gesagt, ich kenne sie nicht), nur dass die
Paketgröße und die Übertragungsintervalle angepasst wurden, um höhere
Datenraten zu erreichen.
Du etwas im Hinterkopf haben, mit welchen Endgeräten du dein Gerät
nutzen möchtest. Wenn du es für die Allgemeinheit baust, kann es sein,
dass es nicht genügend Endgeräte gibt, die die Standards 4.1 und 4.2
unterstützen. Ich kenne den Markt nicht so genau, denke aber, dass es
z.zT nur wenige Mobiltelefone mit >4.0 gibt.
Am Besten wird es sein, wenn du dir die Datenblätter mal durchliest. Die
geben Aufschluss über die genaue Funktion der Module.
Ich hoffe, ich konnte dir etwas helfen. Vielleicht kannst du etwas über
die Anwendung schreiben, dann kann ich dir evtl. noch etwas sagen.
Viele Grüße
Mr.Moe
Hallo, dann komme ich mit BLE4.0 nicht aus.
1-10kbits waren auch die werte die ich gestern noch gefunden habe.
Ich benötige schon minimum 500kbits.
Vielen dank für deine Ausführungen, das bestätigt mich schon in meinen
eigenen Recherchen.
Gruß
Manuel
Manollo139 schrieb:> Hallo, ich bin auf der Suche nach einem Bluetooth-Modul, welches es mir> erlaubt möglichst viele kleine Datenpakete zu übermitteln.
Viele kleine Datenpakete sind der Tod für eine hohe Übertragungsrate.
Wenn du außerdem tatsächlich Paketorientiert übertragen willst, fällt
RFCOMM und somit SPP schonmal weg.
Muss es ein Protokoll sein, das einem allgemeinem Standard entspricht?
Wenn nicht, nimm ein Chip mit HCI interface und schreibe dein eigenes
Protokoll, das auf L2CAP aufbaut. (L2CAP sendet Paketorientiert)
Solche Chips gibts von TI, die CC256x-serie z.B.
oder von Panasonic die PAN13xx-serie (was aber auch nur ein CC25xx-Chip
ist)
Verwende dann btstack als Protokollstack, gibts bei googlecode
Hallo EFA,
kannst du bitte kurz erklären wie du die AMS002/001 von ack.me einsetzt.
Ich möchte meine BTM220-Bluetooth Module durch die AMS001 ersetzen, die
Daten an einen PC mit USB-Bluetooth Dongle senden.
Vielen Dank.
Gruß biker10
Das AMS001 ist gemäß Appnote/Evalkit per Uart mit meinem Cortex-M0+
verbunden, (rxd, txd, reset), zusätzlich verwende ich noch einen gpio
für die umschaltung zwischen STREAM/COMMAND-Mode, und einen GPIO für die
Erkennung ob ein Client connected ist.
Das Ganze kommuniziert mit ca. 20Hz, mit kurzen Datenpaketen mit einer
selbstgebauten IOS-Iphone-APP, eine Verbindung zum MAC habe ich nicht
getestet.