Подключите Android к Wii Remote с помощью Bluetooth - PullRequest
4 голосов
/ 14 марта 2011

Я работаю над проектом на Android, в котором я хочу подключиться и общаться между моим Android-устройством и Wii Remote / Balance Board.В настоящее время я пытаюсь использовать библиотеку motej и библиотеку bluecove для достижения этой цели.Я знаю, что эти две библиотеки могут работать вместе под Android, чтобы подключить устройство, потому что у меня настроено тестовое приложение, которое подключается правильно (и может отправлять данные, я могу заставить пульт грохотать и включать или выключать любой из светодиодов)но он неожиданно закрывается через мгновение после установления соединения.Я не уверен, почему это заканчивается так.Я очень новичок в разработке Bluetooth, поэтому я подумал, что этот путь с библиотеками поможет мне начать работу без необходимости разбираться с мелочами в связи с подключением.Но так как у меня возникли некоторые проблемы с моим текущим тестовым приложением, я начинаю задумываться, стоит ли мне вообще вообще беспокоиться об этих библиотеках или может быть более эффективно работать под Android API Bluetooth для подключения устройств и связи.Итак, мои вопросы:

  1. Можно ли подключиться и отправить / получить данные, которые мне понадобятся для того, чтобы получить все функциональные возможности пульта wii в рамках стандартного API-интерфейса Android Bluetooth илиЯ собираюсь использовать что-то вроде библиотеки bluecove, которая у меня есть сейчас?
  2. Если это возможно сделать без сторонней библиотеки bluetooth, лучше ли мне модифицировать что-то вроде библиотеки motej для работыс Android Bluetooth API вместо того, как сейчас с javax.bluetooth?Или это потребует так много изменений, что я мог бы просто отказаться от этого и начать работу над своей собственной новой библиотекой?
  3. У кого-нибудь есть подсказка, которая может указать мне правильное направление для получения этого тестового приложения?как у меня это сейчас исправлено?Мой вывод журнала ниже, я делаю это через соединение нормально, но через секунду мое приложение закрывается без принудительного закрытия или чего-либо еще.
  4. Кто-нибудь знает библиотеку, которая предназначена для предоставления доступа к удаленному Wiiс Bluetooth, который на самом деле создан для работы с Android вместо просто Java?

INFO / System.out (31264): Найден вопрос: 00191D652A6B

INFO/WiiMoteTest1(31264): 00191D652A6B        

WARN/System.err(31264): 14821 [DeviceInquiryThread-0] INFO motej.MoteFinder - found device: TOSHIBA-USER - 00037AB338F7 - 256:12 - 1835008        

ERROR/BluetoothEventLoop.cpp(9154): event_filter: Received signal org.bluez.Adapter:DeviceFound from /org/bluez/30823/hci0

DEBUG/BluetoothService(9154): updateDeviceServiceChannelCache(00:03:7A:B3:38:F7)


ERROR/BluetoothEventLoop.cpp(9154): event_filter: Received signal org.bluez.Adapter:DeviceFound from /org/bluez/30823/hci0

DEBUG/BluetoothService(9154): updateDeviceServiceChannelCache(00:03:7A:B3:38:F7)

WARN/System.err(31264): 17470 [DeviceInquiryThread-0] INFO motej.MoteFinder - inquiry completed

DEBUG/dalvikvm(30209): GC_EXPLICIT freed 93 objects / 4464 bytes in 80ms


DEBUG/dalvikvm(31264): Debugger has detached; object registry had 0 entries

WARN/dalvikvm(31264): ReferenceTable overflow (max=512)

WARN/dalvikvm(31264): Last 10 entries in JNI local reference table:

WARN/dalvikvm(31264):   502: 0x44d3a8b8 cls=Ljava/lang/Class; 'Lcom/intel/bluetooth/BluetoothStackBlueZ;' (164 bytes)

WARN/dalvikvm(31264):   503: 0x44d3a8b8 cls=Ljava/lang/Class; 'Lcom/intel/bluetooth/BluetoothStackBlueZ;' (164 bytes)

WARN/dalvikvm(31264):   504: 0x44d3a8b8 cls=Ljava/lang/Class; 'Lcom/intel/bluetooth/BluetoothStackBlueZ;' (164 bytes)

WARN/dalvikvm(31264):   505: 0x44d3a8b8 cls=Ljava/lang/Class; 'Lcom/intel/bluetooth/BluetoothStackBlueZ;' (164 bytes)

WARN/dalvikvm(31264):   506: 0x44d3a8b8 cls=Ljava/lang/Class; 'Lcom/intel/bluetooth/BluetoothStackBlueZ;' (164 bytes)

WARN/dalvikvm(31264):   507: 0x44d3a8b8 cls=Ljava/lang/Class; 'Lcom/intel/bluetooth/BluetoothStackBlueZ;' (164 bytes)

WARN/dalvikvm(31264):   508: 0x44d3a8b8 cls=Ljava/lang/Class; 'Lcom/intel/bluetooth/BluetoothStackBlueZ;' (164 bytes)

WARN/dalvikvm(31264):   509: 0x44d3a8b8 cls=Ljava/lang/Class; 'Lcom/intel/bluetooth/BluetoothStackBlueZ;' (164 bytes)

WARN/dalvikvm(31264):   510: 0x44d3a8b8 cls=Ljava/lang/Class; 'Lcom/intel/bluetooth/BluetoothStackBlueZ;' (164 bytes)

WARN/dalvikvm(31264):   511: 0x44d3a8b8 cls=Ljava/lang/Class; 'Lcom/intel/bluetooth/BluetoothStackBlueZ;' (164 bytes)

WARN/dalvikvm(31264): JNI local reference table summary (512 entries):

WARN/dalvikvm(31264):   512 of Ljava/lang/Class; 164B (1 unique)

WARN/dalvikvm(31264): Memory held directly by tracked refs is 164 bytes

ERROR/dalvikvm(31264): Failed adding to JNI local ref table (has 512 entries)

INFO/dalvikvm(31264): "in:00191D652A6B" prio=5 tid=12 RUNNABLE

INFO/dalvikvm(31264):   | group="main" sCount=0 dsCount=0 s=N obj=0x44d59738 self=0x2501b8

INFO/dalvikvm(31264):   | sysTid=31283 nice=0 sched=0/0 cgrp=default handle=2425592

INFO/dalvikvm(31264):   | schedstat=( 49835206 61798099 541 )

INFO/dalvikvm(31264):   at com.intel.bluetooth.BluetoothStackBlueZ.l2Receive(Native Method)

INFO/dalvikvm(31264):   at com.intel.bluetooth.BluetoothL2CAPConnection.receive(BluetoothL2CAPConnection.java:117)

INFO/dalvikvm(31264):   at motej.IncomingThread.run(IncomingThread.java:260)

ERROR/dalvikvm(31264): VM aborting
...