There are several wiimote libraries that we can use for the project. Below are some results of my research. 1. Managed Library for Nintendo's Wiimote This is the same library that Johnny Lee used for his head tracking project. It seems that this library is intended to be used mainly in Visual C# or VB only. More information about this library can be found here. 2. Wiiuse This is a wiimote library written in C. This library is also documented very well. SIngle threaded and nonblocking. More information about this library can be found here. 3. WiiYourself This library is written in C++ based on the Managed Library for Nintendo's Wiimote. There's not a lot of documentation for this library though aside from the author's comments in the source code. More information about this library can be found here. ** 4. WiiController Library from Winds of Vorbis Project ** NEW! This library is written in Python for the Winds of Vorbis project last semester. Based on my initial reading of the library, it uses TCP sockets to communicate with an external program that sends Wiimote data. The data is then parsed and sent to python through messenger.send similar to how keyboard input is sent. Data sent does not include wiimote positions but rather data from accelerometers. These data can be used to compute for the relative displacement of the wiimote. dx = at^2 Also, this library is not using the IR sensors and just the accelerometers in the wiimote. This library will not work for our purposes unless we actually modify the library to include IR data. Based on my initial research, the wiiuse library looks promising because of the documentation. I also like the fact that it is single threaded and non-blocking. However, it is just version 0.12. On the other hand, WiiYourself also looks very promising because it is already in its second not-beta release and a lot more projects have already used it. The Managed Library for Nintendo's Wiimtoe would have also been a good option but since it's only used in Visual C# and VB, it may not be good for our purposes. I would suggest that we use the Wiiuse library for now and see if we can SWIG it for use in Python. -- Sharkee ***** UPDATE ***** I just finished creating the WiiMote Handler based on the Wiiuse library. This basically gets the IR data from the wiimote and continuously sends it to a UDP server at port 5000. See attached for the source code complete with the Visual C++ solution file. (WiiMote_Handler.zip) Below is the python code for the UDP server that just waits and prints out all the messages it receives. # UDP server example import socket server_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) server_socket.bind(("127.0.0.1", 5000)) print"UDPServer Waiting for client on port 5000" while 1: data, address = server_socket.recvfrom(256) print "( " ,address[0], " " , address[1] , " ) said : ", data |