Wie verbinde ich ein Wii Balance Board über Bluetooth mit Android?

Stichwort "Ich habe nichts versucht und mir gehen die Ideen aus" ...


Was will ich?:

Ich möchte ein Unity-Spiel für Android mit dem Wii Balance Board als Controller erstellen.


Was habe ich recherchiert?:

Das Wii Balance Board verwendet Standard-Bluetooth, um sich mit der Wii zu verbinden. Das Board hat kein Passwort. Alle Ergebnisse für die Verbindung des Boards mit einem Android-Gerät weisen auf zwei Apps FitScale und WiiScale hin , die beide nicht mit meinem Gerät kompatibel sind. Ich kann keine anderen Ergebnisse als diese beiden Apps finden.


Was ist meine Frage?:

Warum kann mein Telefon (Nexus 4, Lollipop) keine Verbindung zu einem Gerät ohne PIN herstellen? (Ich werde aufgefordert, eine PIN einzugeben, und "OK" ist ausgegraut, bis ich eine PIN eingebe). Wie kann ich es also dazu bringen, sich mit meinem Bluetooth zu verbinden?

Gibt es außer Bluetooth noch eine andere Möglichkeit, Informationen vom Board auf mein Telefon zu übertragen?


Anmerkungen:

  • Mein Windows 8 kann sich einwandfrei mit meinem Board verbinden.
  • Ja, ich habe versucht, mein Telefon und Bluetooth "aus und wieder einzuschalten".
  • Ja, mein Bluetooth funktioniert.
  • Ja, mein Board funktioniert (wie ich schon sagte, ich könnte Eingaben von ihm auf meinem PC bekommen).
  • Mein Board erscheint in meiner Bluetooth-Liste.
  • Jede Information ist willkommen!

Antworten (1)

TL;DR

Derzeit ist es für Nexus 4 , das auf Lager (AOSP) läuft , nicht möglich , sich über Bluetooth mit dem Wii Balance Board zu verbinden.

Grund : Auf JellyBean 4.2 hat Android seinen Bluetooth-Stack geändert, und der neue "unterstützt" L2CAP nicht, das zum Verbinden mit Wii-Peripheriegeräten verwendet wird.

Lösung : Einige benutzerdefinierte ROMs (z. B. CyanogenMod) und benutzerdefinierte Kernel können dieses Problem beheben.

(Spezielle Antwort für Ihren Fall: Leider ist es keine gute Idee, ein Unity-Spiel für Android mit dem Wii Balance Board als Controller zu erstellen.)


Einzelheiten

Aus FitScale's "What's New" und WiiScale's Beschreibung:

  • Installation auf JellyBean MR1 4.2 verhindern, da Google den Android-Bluetooth-Stack ersetzt. Der neue Stack stellt die von FitScale benötigte Funktionalität nicht zur Verfügung, was ihn vorerst inkompatibel macht.

  • **FUNKTIONIERT NICHT auf NEXUS-Geräten oder JELLY BEAN- oder ANDROID 4.2-Geräten.

Mit diesem Hinweis als Ausgangspunkt fand ich eine Diskussion im MoDaCo-Forum :

Beitrag Nr. 4 : Google hat die unsichere L2CAP-Socket-Unterstützung in Android 4.2.x beschädigt/entfernt. Aus diesem Grund funktionierten Wiimotes und andere Wii-Peripheriegeräte nicht mehr. Weisen Sie Google an, diese Funktion zu reparieren/wiederherzustellen.

Und schließlich bestätigt der Bericht zum AOSP Issue Tracker dies: Issue #58164: Support Bluetooth L2CAP (erwägen Sie, dies zu markieren, um den Fortschritt zu verfolgen. Außerdem gibt es dort einige konstruktive technische Informationen).

Eine Sache, die Sie interessieren könnte:

Beitrag Nr. 50 : Okay, also bin ich auf einem Nexus 7 gerootet und führe den neuesten offiziellen Build von CyanogenMod 11 aus. Bevor ich CM geflasht habe, hat es immer nach einem Passwort gefragt, wenn versucht wurde, eine WiiMote über direktes Bluetooth zu verbinden. Jetzt, wo ich CM ausführe, verbindet es sich mit on, ohne nach einer PIN zu fragen.

Außerdem erwähnt Beitrag Nr. 113 einen Link zur Überprüfung des Android-Codes, der anscheinend versucht, WiiMote (und möglicherweise andere Wii-Peripheriegeräte) auf dem nächsten Build von Android zu unterstützen. Es wird jedoch immer noch ein Kernel benötigt, der Folgendes unterstützt:

CONFIG_HIDRAW=y
CONFIG_UHID=y
CONFIG_HID_WIIMOTE=y

3.4-basierte Kernel unterstützen nur die ursprüngliche WiiMote,
3.10-Kernel sollten native Unterstützung für WiiMotes der 2. Generation haben,
Wii U-Fernbedienungen haben es bis zur Kernel-Veröffentlichung 3.11 nicht geschafft.