• ページの履歴を表示しています #8147

lll's Project Wiki

Well come to the library project of Classiclll

These libraries are the external libs of Processing/Proce55ing

Entry Pages

Proce55ing Gallery

WiiRemoteJ by Cha0s

Tips for WiiRemoteJ, by Cha0s

  1. Windows users should user either the BlueCove JSR82 library (with BlueSoleil or WIDCOMM stack) or the Avetana library (with WIDCOMM stack). Linux users should use Avetana (with BlueZ stack). Mac users should use Avetana or BlueCove(with the built-in stack).
  2. Make sure to put the library in the extensions folder (as described in the readme). On Windows, you may also need to add the path of the library to the Windows system PATH variable.
  3. To connect to the remote, use WiiRemoteJ's findRemote methods. DO NOT connect to the remote beforehand with the stack utilities. WiiRemoteJ handles the entire connection process and will not be able to connect if the remote is already connected.
  4. If you're still having trouble, check the FAQ. If that fails, post a stack trace, your OS, Java version, bluetooth stack, and JSR82 implementation. We'll see what we can do to help. LINUX NOTE If you get errors that look like this:
      Code:
      Exception in thread "Thread-2" java.lang.UnsatisfiedLinkError: de.avetana.bluetooth.stack.BlueZ.cancelInquiry()V 
         at de.avetana.bluetooth.stack.BlueZ.cancelInquiry(Native Method) 
         at javax.bluetooth.DiscoveryAgent.cancelInquiry(DiscoveryAgent.java:265) 
         at wiiremotej.WiiRemoteDiscoverer.deviceDiscovered(WiiRemoteDiscoverer.java:68) 
         at javax.bluetooth.DiscoveryAgent.deviceDiscovered(DiscoveryAgent.java:284) 
         at de.avetana.bluetooth.stack.BlueZ.hciInquiry(Native Method) 
         at javax.bluetooth.DiscoveryAgent$1.run(DiscoveryAgent.java:208) 
         at edu.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:743) 
         at java.lang.Thread.run(Thread.java:619)
    
    Then try this (tip provided by realjab): Open Bluez.cpp. Add the following code:
      Code:
      JNIEXPORT void JNICALL Java_de_avetana_bluetooth_stack_BlueZ_cancelInquiry (JNIEnv *env, jclass obj) { 
         /* Close the specified HCI device */ 
         //printf("Function called: %s, %i\n"__FILE__, __LINE__); 
         //hci_close_dev(dd); 
         return; 
      }
    
    After completing the change don't forget to ./configure and ./install avetana to get the new .jar and the new .so file.

_

Tips for P5 sketch, by blindfish

A couple of useful tips for others trying this out:

  1. When I first connect the Wiimote up to Bluetooth it remains in discovery mode. When I then try and connect to the Processing application with 1 & 2 nothing happens. I've found that first pressing the Wiimote power button to 'switch it off' and then hitting 1 & 2 to enter discovery mode gets around this problem. Subsequent attempts to connect should work fine with just 1 & 2 as long as you do the following:
  2. Make sure you 'switch off' your Wiimote before closing your Processing application so that you see the "Remote disconnected" message in the output window. In my case if I fail to do this it buggers something up with the Bluetooth stack which seems to require a system restart to fix

By following these two steps I'm finding this fairly reliable and can now definitely get on with some experimenting

SandField