Архив за March, 2007
1 Mar, 2007
Управление рабочим столом с помощью Wii Remote
Вчера я стал счастливым обладателем игровой видеоприставки Nintendo Wii. Так как при этом я являюсь счастливым обладателем компьютера с Debian GNU/Linux, то мне конечно же захотелось сделать так же, как на этом видео-ролике
Вот что для этого необходимо:
- Wii Remote (сама приставка не нужна!)
- Debian GNU/Linux 4.0 (другой дистрибутив тоже подойдёт, но инструкции я привожу именно для Debian)
- Две свечки (это такие штуки из воска, которые создают романтическую атмосферу). Они нужны в качестве источника IR излучения.
Нужно установить некоторые пакеты:
sudo aptitude bluez-utils python-bluez python-xlib
- Скачать “драйвер” для Wii Remote отсюда (есть SVN-репозитарий – https://svn.forthewiin.org/wmd/trunk). На самом деле это никакой не драйвер, т.к. с ядром он не взаимодействует. Это просто Python скрипт для обработки сигналов с Wii Remote
- “Пропатчить” файл
/usr/share/python-support/python-xlib/Xlib/protocol/display.py (из пакета
python-xlib). В нём нужно заменить:
recv = self.socket.recv(4096)
на
recv = self.socket.recv(2048)
Возможно, этот шаг можно пропустить. Я не знаю точно, для чего это нужно
-
Выполнить команды:
sudo modprobe uinput sudo chmod a+rwx /dev/input/uinput
Без этого кнопки на Wiimote не работали.
-
Теперь нужно определить адрес вашего Wiimote. Нажимаем одновременно кнопки 1 и 2 на Wiimote, при этом он на 30 секунд переходит в режим discovery. Выполняем команду:
andrey@cornelius:~$ hcitool scan Scanning ... 00:19:1D:73:30:69 Nintendo RVL-CNT-01
Среди найденных устройств должен появится и Wiimote. В моём случае его адрес 00:19:1D:73:30:69
- Прописываем этот адрес в wmd/Config.py (параметр MY_WIIMOTE_ADDR)
- В том же файле отключаем ненужные модули:
'DISABLE_PYLAB': 1, 'DISABLE_PYGAME': 1, 'DISABLE_PYOSD': 1,
- Зажигаем свечки и ставим их перед монитором на расстоянии 20-25 см. друг от друга
- Нажимаем одновременно кнопки 1 и 2 и запускаем WMD.py
- Если повезёт так же как мне, то будет работать
- Хвастаемся перед друзьями
Удачи!