Forum: Mikrocontroller und Digitale Elektronik Bluetooth HID Modul // Classic BT, BLE,?


von DerHans (Gast)


Lesenswert?

Hallo Leute,

Ich möchte für mich und meinen Bekanntenkreis ein 
Bluetooth-Custom-Keyboard bauen. Sollte möglichst unkompliziert in der 
Anbindung (ab Win7, iOS, OSX, Andorid) sein.

Bis gestern dachte ich, dass BLE die Patentlösung (Energiesparend) ist 
...
=> Hab gerade ein nRF51822 von Nordic hier liegen.
Mit dem Android-Smartphone klappt alles bestens, aber als ich es gestern 
mit dem Macbook und Win-PC (Win7 via CSR 4.0-BT-Dongle) versucht habe 
und außer vieler Verbindungsfehler nicht viel war - hege ich so meine 
Zweifel.

Wie würdet ihr ein BT-HID-Keyboard umsetzen? Ist es sinnvoll noch auf BT 
2.1 oder 3.0 zu setzen? Oder mit Gewalt auf BLE, obwohl ich unter Win7 
noch garnicht und unter OSX nur nach dem Löschen und Neuprogrammieren 
des BLE-Moduls eine Verbindung bekommen habe?

Das tolle am nRF51822 ist das SoC, da kann ich mir einen extra 
Controller sparen und den Akku deutlich kleiner auslegen.
Eine interessante Alternative wäre das RN-42-HID bzw. SPBT3.0DP2
Aber da geht ohne extra-Controller leider nix ...

Was denkt ihr dazu?
Viele BT-Keyboards am Markt haben BT 3.0 aber trotzdem ne super lange 
Batterie/Akkulaufzeit, wie bekommen die das hin? BT3.0 zieht verbunden 
immer noch 5-10mA und beim Senden eher 20-40mA.

von Stefan F. (Gast)


Lesenswert?

> Ist es sinnvoll noch auf BT 2.1 oder 3.0 zu setzen?

Kommt auf die Geräte an, mit denen das keyboard verbunden werden soll.

> Was denkt ihr dazu?

So oder so ist Bluetooth zickig. Immer wenn du denkst "ja es läuft" 
kommt jemand mit einem anderen Smartphone oder Computer um die Ecke, wo 
es doch nicht geht.

Solche Probleme hast du nicht nur mit Tastaturen, sondern auch mit 
Audo/Headsets und seriellen Ports (SPP).

Meine anfängliche Begeisterung für Bluetooth ist inzwischen an einem 
Tiefstpunkt angekommen.

von Olaf (Gast)


Lesenswert?

> mit dem Macbook und Win-PC (Win7 via CSR 4.0-BT-Dongle) versucht habe

BLE funktioniert erst aber Win10.

> So oder so ist Bluetooth zickig. Immer wenn du denkst "ja es läuft"
> kommt jemand mit einem anderen Smartphone oder Computer um die Ecke, wo
> es doch nicht geht.

Oh ja! Das ist alles unausgereifter Bastelkram

Olaf

von Stefan F. (Gast)


Lesenswert?

> Das ist alles unausgereifter Bastelkram

Ich denke, es sind eher die Gerätetreiber, die häufig unausgereift sind, 
kombiniert mit Software, die den einen oder anderen Standard nicht 
unterstützt, kombiniert mir Hardware, die den einen oder anderen 
Standard nicht unterstützt.

Die Chancen sind hoch, daß es irgendwo hakt. ich denke nicht, daß die 
Spezifikation schuld ist, sondern eher die reale Umsetzung und der 
schnelle Fortschritt.

von Frank K. (fchk)


Lesenswert?

DerHans schrieb:

> Wie würdet ihr ein BT-HID-Keyboard umsetzen? Ist es sinnvoll noch auf BT
> 2.1 oder 3.0 zu setzen? Oder mit Gewalt auf BLE, obwohl ich unter Win7
> noch garnicht und unter OSX nur nach dem Löschen und Neuprogrammieren
> des BLE-Moduls eine Verbindung bekommen habe?

Das kommt auf den Rechner an. Windows 7 hat noch kein natives Bluetooth 
LE, sondern nur proprietäre Stacks. BLE kam erst mit Windows 8. Macs 
können erst ab 2010 oder 2011 BLE. Wenn Du also einen alten Mac Pro 1,1 
von 2006 hast, dann wirst Du dort mit BLE nichts.

fchk

von Torsten R. (Firma: Torrox.de) (torstenrobitzki)


Lesenswert?

Hallo Hans,

DerHans schrieb:
> Ist es sinnvoll noch auf BT
> 2.1 oder 3.0 zu setzen? Oder mit Gewalt auf BLE, obwohl ich unter Win7
> noch garnicht und unter OSX nur nach dem Löschen und Neuprogrammieren
> des BLE-Moduls eine Verbindung bekommen habe?

Wahrscheinlich ist Dein Beispiel auf dem nrf51 so umgesetzt, dass der 
nur einen Bond unterstützt. Das Bonding, ist der Austausch und die 
Persistierung von Langzeit-Schlüsseln für die Verschlüsselung. Oder das 
devices Advertised direkt an die gebondete Gegenstelle (ADV_DIRECT_IND).

Wenn Du was mit BLE machst, loht es sich, sich ein zweites Eval-Board zu 
besorgen und dies als Sniffer zu verwenden (Software gibts bei Nordic).

> Das tolle am nRF51822 ist das SoC, da kann ich mir einen extra
> Controller sparen und den Akku deutlich kleiner auslegen.
> Eine interessante Alternative wäre das RN-42-HID bzw. SPBT3.0DP2
> Aber da geht ohne extra-Controller leider nix ...

Das selbe Problem wirst Du da auch woanders haben können. Guck Dir an, 
was das Beispiel, dass Du benutzt wirklich macht.

> Viele BT-Keyboards am Markt haben BT 3.0 aber trotzdem ne super lange
> Batterie/Akkulaufzeit, wie bekommen die das hin? BT3.0 zieht verbunden
> immer noch 5-10mA und beim Senden eher 20-40mA.

Bei meiner BLE Tastatur an meinem MacBook hält die Batterie Monate und 
die wird täglich viele Stunden verwendet.

mfg Torsten

von Jim M. (turboj)


Lesenswert?

DerHans schrieb:
> Mit dem Android-Smartphone klappt alles bestens, aber als ich es gestern
> mit dem Macbook und Win-PC (Win7 via CSR 4.0-BT-Dongle) versucht habe
> und außer vieler Verbindungsfehler nicht viel war - hege ich so meine
> Zweifel.

BLE HID wird erst in Windows 10 unterstützt. Liess das Kleingedruckte, 
Windows 7 hat gar keine Unterstützung für Bluetooth Low Energy.

BT Classic HID hat eine Größenordnung mehr Stromverbrauch.

DerHans schrieb:
> OSX nur nach dem Löschen und Neuprogrammieren
> des BLE-Moduls eine Verbindung bekommen habe?

Hint: Debug Logs via UART oder Segger RTT aktivieren, dann sieht man 
Fehler auf der Device Seite besser.

Ich hatte in den Device Manager Code einbauen müssen der ein Neues 
Pairing auch dann ermöglicht wenn schon viele alte Daten da waren:
1
static api_result_t dm_callback(dm_handle_t const * p_handle,
2
                                      dm_event_t const  * p_event,
3
                                      api_result_t        event_result)
4
{
5
6
  app_trace_log("[DC] event 0x%lX result 0x%lX\r\n", p_event->event_id, event_result);
7
8
  if (event_result!=NRF_SUCCESS) {
9
    if (event_result == DM_DEVICE_CONTEXT_FULL){
10
      dm_device_delete_all(&dm_instance);
11
    }
12
13
    return NRF_SUCCESS;
14
  }
15
   // Start Security Request timer below
16
   // [...]

Falls Du den Peer Manager (NRF SDK >10) verwendest: Melde Dich. Für den 
braucht es Code damit Re-Pairing tut.

DerHans schrieb:
> Viele BT-Keyboards am Markt haben BT 3.0 aber trotzdem ne super lange
> Batterie/Akkulaufzeit

Die haben einen großen Akku drin, und schalten BT nach einiger Zeit der 
Nichtbenutzung automagisch ab. Ich hatte hier IIRC mal BT Classic 
Verbindungen mit rund 1 mA Verbrauch ohne Datenübertragung. Da hält der 
Akku schon recht lange mit.

: Bearbeitet durch User
von DerHans (Gast)


Lesenswert?

Jim M. schrieb:
> BLE HID wird erst in Windows 10 unterstützt. Liess das Kleingedruckte,
> Windows 7 hat gar keine Unterstützung für Bluetooth Low Energy.

Das ist für mich die entscheidende Aussage, Danke!
Hab vorhin mal versucht auf Win7 BT 4.x vernünftig mit einem 
BLE-USB-Dongle zum Laufen zu bringen - so richtig wills nicht.

Dann werde ich wohl bei BT 3.0 oder zur Not 2.1 bleiben.

von DerHans (Gast)


Lesenswert?

Kennt jemand von euch das SPBT3.0DP2 Modul von ST?

Liegt gerade vor mir und bin gerade etwas enttäuscht. Von anderen 
BT-Modulen (z.B. RN42) kenne ich sehr Umfangreiche AT-Befehle zum HID, 
aber hier siehts verdammt abgespeckt aus ... die haben nichteinmal einen 
Befehl für den Descriptor - geschweige den, dass ich es bis jetzt 
geschafft habe eine HID-Verbindung herzustellen.

Hat jemand Erfahrungen?, hab ich etwas übersehen?

Bin durch Zufall noch über das BT33 von Ampedrftech. Sieht aus wie das 
von ST, aber hat einen deutlich umfangreicheren AT-Command-Satz, vor 
allem im Bezug auf HID. Bekommt man nur irgendwie nirgends (einzeln). 
Außerdem BT-Class 1.5 ...

Kennt jemand von euch gute BT 3.0 Module? Google schon seit Stunden und 
irgendwie kommt nix brauchbares raus :( - sooooo selten sind die doch 
auch nicht.

von Torsten R. (Firma: Torrox.de) (torstenrobitzki)


Lesenswert?

DerHans schrieb:

> Kennt jemand von euch gute BT 3.0 Module? Google schon seit Stunden und
> irgendwie kommt nix brauchbares raus :( - sooooo selten sind die doch
> auch nicht.

Such' doch mal nach "Bluetooth Classic".

von Jim M. (turboj)


Lesenswert?

DerHans schrieb:
> Kennt jemand von euch gute BT 3.0 Module?

Bringt für BT HID genau gar nix, in 2.x und 3.0 wurden AFAIK nur 
schnellere Übertragungsmodi definiert - die aber auch mehr Strom 
schlucken.

Die einzige mir derzeit bekannte Hardware für BT 3.0 ist das Nexus 7 von 
2012. Und selbst das soll inoffiziell auf BT4.0 mit alternativer 
Firmware updatebar sein.

von DerHans (Gast)


Lesenswert?

Torsten R. schrieb:
> Such' doch mal nach "Bluetooth Classic".

Alles schon gemacht. Google mich seit erstellen des Beitrags zum Krüppel 
:D
Warum ich gerade auf BT 3.0 fixiert bin? weil die Module, die ich 
gefunden habe die halbe Stromaufnahme von z.B. dem RN42 haben (z.B. das 
von ST)

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
Noch kein Account? Hier anmelden.