Thursday, January 3, 2008

Get values from Wii Remote (through IronPython and WiimoteLib.dll)

This entry is translation of my entry in Japanese.

To get values from Wii Remote through IronPython is very easy.
At first you need to get WiimoteLi.dll from
Managed Library for Nintendo's Wiimote - Release: WiimoteLib v1.2.
Its document is nice.

And then save a following script as name ""

import clr

from WiimoteLib import *

wii = Wiimote()
def get_value(sender, args):
global a
a = args

wii.WiimoteChanged += WiimoteChangedEventHandler(get_value)

wii.SetReportType(wii.InputReport.IRAccel, True)

In the script, at first I get a namespace "WiimoteLib" from wiimotelib.dll and import all objects in it.
Secondly I make an instance of "Wiimote" class. Its "WiimoteChanged" field is "event" and "+=" means "add event listener". I set a minimal event listener.
Finally I call connect its instance and tell it should return IR-Camera data and accelation data. You should read WiimoteLib.dll's document and choice the correct report type.

Let's use the script in interactive console.

>>> import setup_wii
>>> setup_wii.a
<WiimoteChangedEventArgs object at 0x000000000000002B>
OK, I got the argument of the event listener.
To know what fields the object have, you should read WiimoteLib.dll's document. It is very comprehensive. Today I want to get the result of IR-Camera, so I did like below.

>>> setup_wii.a.WiimoteState
<WiimoteState object at 0x000000000000002C>
>>> setup_wii.a.WiimoteState.IRState
<WiimoteLib.IRState object at 0x000000000000002D [WiimoteLib.IRState]>
>>> setup_wii.a.WiimoteState.IRState.X1
I got it! It is very easy!

Coding4Fun : Managed Library for Nintendo's Wiimote

The reference to my Japanese entry in IronPython URL's: Using the Wiimote from IronPython motivated me to write blog in English. Thanks!


Scott said...


You have a nice blog. At last you can unlock wii console worldwide without risky hardware modification or expensive modchip's. I remove all the guess work out of my 3 step process that will allow you to unlock your Wii in under 5 minutes!

Arnold said...

This entry is translation of my entry in Japanese. To get values from Wii Remote ...