Hallo zusammen, ich möchte hier mein kleines Projekt vorstellen: libbtle https://github.com/ccier/libbtle Es handelt sich hierbei um einen kompletten Bluetooth Low Energy Stack, den ich aus dem Linux Kernel (BlueZ) herausgeschält habe, daher auch GPL2. Zielsetzung: * alles möglichst einfach halten, daher keine Command/Response/Event Queues, immer nur eine Transaktion * lauffähig unter Linux, Windows und Embedded Systems * reines C mit GCC * kein Multithreading notwendig Aktuell vorhanden sind: HCI, L2CAP, ATT und SMP. Es sind aber noch keine GATT-Prozeduren (z.B Find Services) vorhanden. Auch der Security Mananger (SMP) ist noch nicht eingebunden. Es ist viel Code vorhanden, den ich noch an den richtigen Stellen verheiraten muss. Stand der Dinge ist: Device-Discovery möglich, Device-Connect möglich Ich verwende derzeit ein normales USB BT4.0 Dongle (Broadcom oder CSR Chip), um libbtle zu entwickeln. Der USB-Transport kann auch ganz einfach gegen UART ausgetauscht werden, falls ein BT4.0 HCI-Modul eingesetzt werden soll. Ich freue mich über ein Feedback. Gruß Christian
Ich finde BLE sehr spannend. Was kannst Du denn zu einer embedded Implementierung empfehlen?
Hi Christian, A Bluetooth Low energy stack on multiple platforms is something I would be interested in contributing to as well! Please let me know if there is some way for me to get in touch with you. An email ID or something would be great!
:
Bearbeitet durch User
Hallo BLE... Was ist jetzt der Vorteil deines Stacks zum Bluez Stack? Mal abgesehen von der Größe?! Bin fast zufrieden mit dem Linux Stack... leider gibt es noch keine Möglichkeit die BLE Connect Poll Zeiten zu vergößern... Laut dem Bluez IRC Channel, wurde in den letzten Tagen daran gearbeitet und ich warte so auf den Bluez 5.11 Stack... Ohne diese Funktion kann man nicht von Low Energy sprechen, weil der Client aufgefordert wird, sich aller zB 70 ms zu melden... Wie ist das bei dir gelöst? Grüße Basti
@name: Was meinst Du genau? @codejug: Just fork on Github, add your code and send a pull-request. @counterfeiter: Nunja, ich habe das Ganze hauptsächlich als akademische Maßnahme gemacht, um genau zu verstehen, wie BLE funktioniert, nachdem ich mir das Buch BLE von Robin Heydon gekauft hatte. libbtle ist ja nur ein kleiner Teil - der Bluetooth Low Energy Teil - von BlueZ. Es hat nicht den Anspruch, BlueZ ersetzen zu wollen. BlueZ ist im Kernel- und User-Space zuhause. Libbtle ist nur im User-Space zuhause. Ein Vorteil wenn der Kernel alt ist und der BlueZ-Kernel-Teil damit auch alt ist und kein BLE unterstützt. Man könnte libbtle auch auf einem normalen kleinen Mikrocontroller ohne OS laufen lassen. Zum Beispiel ein STM32 mit normalem HCI-Bluetooth Modul. Entweder per USB oder UART.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.