Line 1:
Line 1:
−
これは日本のニンテンドーfucking !私は神のCEOは、午前くそー!お客様の製品やfucking私fucking私のfuckingの雌ロバが改造停止を訴える!あなたファック
+
A [http://code.google.com/p/htdp/source/browse#svn/trunk/WiimoteTracking/PythonDriver/linux driver written in python] as part of Google Summer of Code 2008.
−
=これは日本のニンテンドーfucking !私は神のCEOは、午前くそー!お客様の製品やfucking私fucking私のfuckingの雌ロバが改造停止を訴える!あなたファック=
+
The driver uses one or two wiimotes to track IR points and report their position in 3D space. Currenly it only works on Linux due to python bluetooth support on other platforms.
−
==これは日本のニンテンドーfucking !私は神のCEOは、午前くそー!お客様の製品やfucking私fucking私のfuckingの雌ロバが改造停止を訴える!あなたファック==
−
===これは日本のニンテンドーfucking !私は神のCEOは、午前くそー!お客様の製品やfucking私fucking私のfuckingの雌ロバが改造停止を訴える!あなたファック===
−
これは日本のニンテンドーfucking !私は神のCEOは、午前くそー!お客様の製品やfucking私fucking私のfuckingの雌ロバが改造停止を訴える!あなたファック
−
====これは日本のニンテンドーfucking !私は神のCEOは、午前くそー!お客様の製品やfucking私fucking私のfuckingの雌ロバが改造停止を訴える!あなたファック=====
−
これは日本のニンテンドーfucking !私は神のCEOは、午前くそー!お客様の製品やfucking私fucking私のfuckingの雌ロバが改造停止を訴える!あなたファック
+
It has been designed with the aim of being easy to use and understand.
−
[[これは日本のニンテンドーfucking !私は神のCEOは、午前くそー!お客様の製品やfucking私fucking私のfuckingの雌ロバが改造停止を訴える!あなたファック]]
−
[これは日本のニンテンドーfucking !私は神のCEOは、午前くそー!お客様の製品やfucking私fucking私のfuckingの雌ロバが改造停止を訴える!あなたファック]
+
+
== Example Program ==
+
+
<pre>
+
+
import sys,time
+
from final.Wiimote3dTracking import Wiimote3dTracker
+
+
address1 = '00:19:FD:ED:E1:25' ## address of my wiimote
+
address2 = '00:19:FD:D7:63:B1' ## address of my second wiimote
+
## These could be passed to tracker to connect to them specifically, but
+
## specifying no addresses causes the tracker to search for remotes anyway.
+
+
tracker = Wiimote3dTracker(address1,address2)
+
+
## A tracker has the following methods:
+
## connect() -- connects to any wiimotes it knows the address for
+
## disconnect() -- quite similar to connect.
+
##
+
## register( listener )
+
## refresh()
+
## a listener is anything that has a refresh(pos ,axis) method. When tracker.register( newListener )
+
## is called, newLitener is added to the list of trackers current listeners. Upon calling
+
## tracker.refresh() refresh( pos, axis) is called for each of the registered listeners,
+
## where pos and axis are the processed data from the wiimotes.
+
+
tracker.connect() ##Connect to the wiimote
+
+
+
class Printer:
+
## This is an example of a listener. Its refresh method simply prints the data
+
## if it has changed, and returns True to indicate success.
+
def __init__(self):
+
self.oldData = None
+
def refresh(self,(x1,y1,z1),(x2,y2,z2)):
+
if (x1,y1,z1,x2,y2,z2) != self.oldData:
+
print "x:%i,y:%i,z:%i,X:%i,Y:%i,Z:%i:1" % (x1,y1,z1,x2,y2,z2)
+
self.oldData = (x1,y1,z1,x2,y2,z2)
+
return True
+
+
tracker.register( Printer() )
+
+
+
+
tracker.start() ## Starts the tracker running in a loop, calling tracker.refresh() each time.
+
+
</pre>
+
+
It also includes support for sockets, allowing the data to be sent to any program that can listen to an open socket meaning that the driver is not restricted to python.
+
+
+
== Requirements ==
+
+
Python, pybluez
+
+
+
== Video ==
+
Here is a [http://www.youtube.com/watch?v=omNQAzBa0-I video] of the project in action.