Python с Wiimote с использованием модуля pywiiuse - PullRequest
3 голосов
/ 27 января 2009

После ознакомления с возможностями и способностями к wiimotes я действительно хочу использовать его в своем финале «Введение в программирование». Каждый должен сделать программу на Python и представить ее классу.

Я хочу сделать игру с пигеймом, включающим wiimote. Я нашел pywiiuse , который является очень простой оболочкой для библиотеки wiiuse , использующей типы c.

Я не могу получить ничего, кроме светодиодов и вибрации, чтобы работать. Кнопки, ИК, датчик движения, ничего. Я пробовал разные версии wiiuse, pywiiuse, даже python. Я не могу даже привести примеры, которые пришли с ним. Вот код, который я сделал как простой тест. Я скопировал некоторые примеры кода C ++.

from pywiiuse import *
from time     import sleep

#Init
wiimotes = wiiuse_init()

#Find and start the wiimote
found    = wiiuse_find(wiimotes,1,5)

#Make the variable wiimote to the first wiimote init() found
wiimote  = wiimotes.contents

#Set Leds
wiiuse_set_leds(wiimote,WIIMOTE_LED_1)

#Rumble for 1 second
wiiuse_rumble(wiimote,1)
sleep(1)
wiiuse_rumble(wiimote,0)

#Turn motion sensing on(supposedly)
wiiuse_motion_sensing(wiimote,1)

while 1:
    #Poll the wiimotes to get the status like pitch or roll
    if(wiiuse_poll(wiimote,1)):
        print 'EVENT'

А вот вывод, когда я его запускаю.

wiiuse version 0.9
wiiuse api version 8
[INFO] Found wiimote [assigned wiimote id 1].
EVENT
EVENT
Traceback (most recent call last):
  File "C:\Documents and Settings\Nick\Desktop\wiimotetext.py", line 26, in <mod
ule>
    if(wiiuse_poll(wiimote,1)):
WindowsError: exception: access violation reading 0x00000004

Кажется, что каждый раз, когда я запускаю его, он печатает СОБЫТИЕ 2-5 раз, пока не вернется след. Я понятия не имею, что делать на этом этапе, последние два дня я пытался заставить его работать.

Спасибо!

Ответы [ 8 ]

3 голосов
/ 23 октября 2010

Я обновил оболочку pywiiuse. Похоже, он не был сделан для последней версии wiiuse (0.12 на момент ответа), так как большая часть его просто не будет работать в текущей итерации.

У меня есть пакет и несколько примеров скриптов: http://code.google.com/p/pywiiuse/downloads/list

Вы также должны просто быть в состоянии сделать

easy_install wiiuse

Так как я также разместил его на pypi.

1 голос
/ 27 ноября 2010

Я работал с wiimotelib для .NET, и он довольно стабилен. И содержит также удаленные расширения Wii, такие как Nunchcuk и другие.

1 голос
/ 29 мая 2010

Для тех, кто все еще ищет, я нашел и задокументировал простой простой способ сопряжения с Wii Remote с python с использованием библиотеки lightblue. Я протестировал его на OS X, но он должен работать кроссплатформенно (то есть на Linux)

Вот мое рецензирование: http://smus.com/prototyping-wii-remote-python/

1 голос
/ 04 декабря 2009

Я знаю, что ваш класс уже закончен, но для всех, кто ищет, cwiid действительно хорош. Установлен в Ubuntu так:

apt-get install libcwiimote-dev python-cwiid

Или получите последнюю версию от github .

Чтение датчиков wiimote (например, шаг из акселерометра) очень просто:

import cwiid
print 'place wiimote in discoverable mode (press 1 and 2)...'
wiimote = cwiid.Wiimote()
wiimote.rpt_mode = cwiid.RPT_ACC
#wiimote.state dict now has an acc key with a three-element tuple
print 'pitch: %d' % (wiimote.state['acc'][cwiid.Y])
1 голос
/ 24 марта 2009

Уже почти два дня я ищу набор оберток Python для Wiimote, вот мое краткое изложение современного состояния:

pywiimote (от Google): примерно наполовину закончен, не скомпилирован, когда я скачал последнюю версию (r52), есть некоторые интересные идеи, но для работы потребуются значительные инвестиции.

pywiiuse (выше): хорошо в теории,

cwiid: не активно разрабатывается, только для Linux (не может компилироваться под Cygwin).

Подводя итог - прямо сейчас ничего нет с полки (24.03.2009). Будет продолжать съемки ...

- Bryan

0 голосов
/ 23 июня 2009

Измените версию Python на 2.5.2. Я думаю, что теперь она будет работать.

0 голосов
/ 27 января 2009

Я рискну упустить момент, предложив вам взглянуть на версию Java WiimoteWhiteboard от Uwe Schmidt

http://www.uweschmidt.org/wiimote-whiteboard

Используется библиотека WiiRemoteJ для Java.

В прошлом я безуспешно пытался использовать реализации Python, потому что они были либо неполными, либо не функционировали. Возможно, изучив рабочую версию Шмидта на Java, вы сможете определить, чего не хватает в Python.

Удачи в вашем классе.

0 голосов
/ 27 января 2009

pywiimote в коде Google может быть полезным, если найденная библиотека не работает на вас ... попробуйте, если у вас есть время.

Хотя это выглядит довольно новым предложением и, возможно, не лучше.

Удачи!

...