Clemson Wiise - Wii Interfacing SoftwareNinad Pradhan, Varun Prabhu, and Dr. Timothy BurgJune 2010
What is Wiise?
The Wii Remote helps an user communicate with the Wii Gaming Console. Moreover, it is an affordable yet powerful sensor which relays acceleration, orientation and position data over a Bluetooth connection to any device capable of receiving Bluetooth signals. This makes the Wiimote an attractive device using which one could develop tools to teach middle to high school students concepts of robotics, engineering design and physics. Clemson Wiise is a software which interfaces with the Wii remote, contains a data visualization interface and makes its data available in the form of the widely supported CSV spreadsheet (readable in MS Excel) for later analysis. In addition to Wiise, this webpage contains links to many other free, useful and mostly open-source software which can connect a Bluetooth-enabled computer to the Wii remote. Please write to us at npradha AT clemson DOT edu with questions, feedback and suggestions for improving our software. The software is supplied as is, wtihout any guarantees on specific system performance. We have tested on Windows Vista and would like to hear how it does on other operating systems. Download: [Source Files and Demos][Sourceforge page] Inside Wiise
The source code for Wiise is free to download and use. All of the necessary files are packaged into the Wiise folder and nothing else needs to be downloaded. The following paragraphs serve to introduce you to the very useful work done by others on the foundations of which we built Wiise. Wiise connects to the Wiimote using the popular Wiiuse C library. This library contains a well-documented, easy to use API which makes it easy to get data and other status updates from the Wiimote (whether a connection was successfully established to it, remaining battery life, etc.). Wiiuse is a great place to start for someone looking to independently developing their own Wii interface software. Data from the Wii is visualized using OpenGL in combination with GLUT. We have two demo programs to demonstrate this capability: wiisePitch and wiisePosition, which visualize the pitch and X-Y coordinates of the Wiimote respectively. GLUT makes the OpenGL graphical programming environment relatively convenient to use, enabling a variety of shapes, textures and lighting in the graphical display of the Wii sensor data. While many other software will let you connect to the Wiimote, there are few (if any) which will let you store data for further analysis. This is often critical for educational purposes and indeed for all design projects. Data analysis contributes to revised algorithms and methods, which in turn improve the performance of the application which uses a sensor. Wiise writes data to a spreadsheet (in the common .CSV format) by integrating the libcsv library into the software. Wiise DemosWiise, in its current version, does not have a graphical user interface which could be used to alter program settings. However, we have created demo programs which are configured to give the user access to most features of the software.
wiisePitch helps visualize the pitch of the Wiimote by rotating the bar in the graphical display in sync with the Wiimote held by the user. Orientation data along all three axes of rotation (roll, pitch, yaw) is written to the CSV file. Note that the Wiimote estimates yaw only when the Wii Sensor Bar is powered on, but pitch and roll are available regardless of the sensor bar location.
wiiseSketch is a Wii based variant of Etch-A-Sketch. The crayon shown above is red when the button A is not pressed and turns yellow when the user indicates that he/she would like to record what's being 'drawn' with the Wii in hand. The Wiimote becomes a painting brush, the screen shown above becomes the canvas and the drawing data is recorded to a CSV file where it may be plotted to review the artwork! Since this program requires the position of the Wii to be sensed, the Sensor Bar is required for this demo to work.
wiisePosition plots the position of the Wiimote with respect to a virtual screen defined by the Sensor Bar. This is a cool demo for demonstrating robot positions over time. Suspend the Sensor Bar near the ceiling, mount the Wiimote with its front (camera) side looking upwards, and watch the position being plotted on the computer screen as the object (in this example, a robot) moves! This data can be plotted in Excel by opening the CSV file. If you have access to Visual Studio (VS2005 or later), it's pretty easy to change program settings and get the required specifications from your Wiimote system. Open the Solution, go to wiimote.h and see the function SetParameters(). Change the required settings, hit Ctrl+F5 to save, compile and run the modified program. Other Wii SoftwareThere are a number of other useful software which can used to visualize information being received from the Wiimote and create applications which use this information. The list given below is far from comprehensive. This is mainly because there are a lot of people spending a lot of time trying to find non-gaming uses for the Wii remote in particular and Wii console in general.
fWiine is a MATLAB based application which uses wiiuse to interface with the Wii in MATLAB. If you have a MATLAB license, you can see Wiimote data being plotted in real time and use all of MATLAB's power to analyze and document that data, or integrate the Wii as a sensor into a sophisticated control system implemented in Simulink.
WiinRemote (left) and Matthias Shapiro's Wii Data Visualizer (right) are both very good at collating all data from the Wii on to a single screen. They will tell you which button on the Wii is being pressed, where the Wiimote is located relative to the sensor bar, and the acceleration recorded along each axis. WiinRemote plots acceleration data and gives a better picture of short time acceleration trends, but the Data Visualizer's large screen area for the IR sensor gives a clearer representation of the position of the Wiimote. 'Wii Media in 15 minutes and $5' serves as a good introduction to GlovePIE, a versatile scripting environment which will allow you to interface with the Wii and try out cool demos such as converting the Wiimote into a computer mouse. GlovePIE is also a good place for programming novices, allowing you to explore the capabilities of the Wiimote without having to learn a programming language. Dr. Johnny Lee has a webpage which demonstrates some creative technologies developed using the Wiimote. His Wiimote Whiteboard, the application which converts a regular whiteboard to a smartboard, is well known. This application is available for download on his website. |
| Burg Home Page |