2016-05-12 25 views
0

Ich arbeite mit ANCS kompatiblen Android BLE App. Der ANCS-Inhaltskonsument ist ein nRF52-basiertes Ding, das nach ANCS-Benachrichtigungen lauscht und (auch) in der Lage sein sollte, das Telefonvolumen einzustellen.BLE: HID Eingabegerät zusammen mit ANC Service

Ich habe den ANCS als erwünschte UUID im Werbepaket und die HID-Geräte-UUID im Werbeantwortpaket.

Alles ist gut mit iOS. Alles funktioniert und keine Probleme. Aber mit Android funktioniert der ANCS-Teil meines Systems in Ordnung, aber ich kann nicht den Volume-Teil arbeiten. Nach dem Bonden zeigt der Android das Gerät als Eingabegerät an und es wird auch zur Eingabe ausgewählt. Wenn ich versuche, die Lauter/Leiser-Taste zu senden, bekomme ich keine Anzeige von der Android-Seite.

Meine Annahme war, dass ich keine Verbindung zum nrf Board als peripheral (bluetoothdevice.connectGatt()), ich habe nur Gatt Server läuft und die nrf Board den ANCS-Dienst. Dieser Teil funktioniert gut. Ich habe auch versucht, es über connectGatt zu verbinden und die Dienste zu überprüfen und die Benachrichtigungen dafür zu aktivieren. Ich kann jedoch keine Anzeige sehen, wenn ich den Schlüssel sende. Wenn ich das Lesen für das Merkmal oder den Deskriptor anfordere, funktioniert das OK.

Gibt es einen grundlegenden Fehler in meinem Denken? Sollte das Android-Framework nicht mit dem Tastaturteil umgehen? Auch warum kann ich keine Benachrichtigung über die Änderung von input_report erhalten?

+0

Hallo @Maash! Wir arbeiten an einer ähnlichen Anwendung, bei der wir ANCS-Service und BLE-Service aus unserer nativen iOS-App kombinieren, um Benachrichtigungen und einige benutzerspezifische Einstellungen und Einstellungen auf SensorTag (TI-CC2650) zu erhalten. Jetzt funktionieren die ANCS- und BLE-Dienste einzeln, funktionieren jedoch nicht mehr, wenn sie miteinander kombiniert werden. Können Sie uns vorschlagen, was wir hier falsch machen könnten? Danke! –

Antwort

0

Ok, die Tastatur funktioniert jetzt auch mit Android. Ich höre die Tastaturlautstärke im gatt Callback. Problem mit dem vorherigen Versuch war, dass ich gerade & die Merkmale und Beschreibungen in einer Schleife gelesen habe. Nachdem ich die Operationen serialisiert habe, funktioniert es gut.

+0

Könnten Sie bitte erläutern, wie Sie Schlüssel aus der Ferne gelesen haben? Haben Sie nach gatt connect() eine Verbindung hergestellt und HID-Berichte erhalten? Ich stehe mit etwas Ähnlichem fest, daher wäre eine Anleitung sehr hilfreich. – GPS

+0

Ja. Das HID-Profil musste eine ganze Tastatur sein, nicht nur die speziellen Tasten für die Lautstärke. Und stellen Sie sicher, dass das Profil auch eine Tastatur ist. Andernfalls ignoriert iOS die Eingabe. – Maash

+0

Mit Profil wollte ich sagen, dass Sie das GAP-Aussehen als Tastatur haben sollten. – Maash