четверг, 8 ноября 2012 г.

Установка nxt-python модуля под Windows

Не смотря на то, что на блоге было опубликовано уже много статей посвященных программированию LEGO роботов на языке Python,еще не было заметки, которая бы помогала настроить среду программирования на операционной системе Windows (хотя под Linux уже было одна).
Поэтому пора восполнить этот пробел.

Будем подразумевать, что сам язык программирования уже установлен на компьютере и следующий шаг установить все остальное программное обеспечение, необходимые для работы с NXT блоком. Единственное, что хочется добавить, что поскольку другие модули python, которые понадобятся для аспектов программирования роботов, поставляются только для 32битной ОС, то и python придется поставить в его 32битной версии.

Все начнется с установки модуля nxt-python, который можно скачать здесь. Скачав ZIP архив, необходимо распаковать его в удобное место, желательно, чтобы путь при этом получился не очень длинный, поскольку потом его придется вбивать руками в командной строке. Затем, запустите командный интерпретатор cmd.

Дальше нужно будет перейти в ту директорию, куда был распакован nxt-python и выполнить установку модуля.
Другой вариант - запустить сразу install.bat в папке с распакованным модулем - по сути, он внутри запускает setup.py install - лучше уж сразу понимать, что происходит.

Дальше идет установка модуля pyusb - архив можно скачать здесь. Аналогично распаковываем и запускаем инсталяцию "setup.py install" в командной строке.

Но это еще не все, что нужно установить и настроить, если необходимо управлять роботом через USB - понадобится еще пакет libusb, предоставляющий фильтр-драйвер (взять здесь). Дистрибутив поставляется в виде исполняемого файла, который проделает все необходимые инструкции для установки этого программного обеспечения.
Как только после установки появляется возможность запустить Wizard для настройки фильтров, подключите NXT блок по USB проводу к компьютеру и приступайте к настройке.


Для того, чтобы проверить, что Python теперь видит NXT блок, запустите среду IDLE и выполнить несколько простых операций:


Следующий шаг нужен только тем, кто собирается управлять роботом из Python посредством Bluetooth. Это будет достигаться через модуль pyBluez. Причем, следует заметить, что на текущий PyBluez версии 0.18 доступен только для довольно старой версии Python - 2.6, т.е. для установки этого модуля нужно будет искать его не официальные сборки. Например, можно попробовать вот эту (альтернативная ссылка). Установка модуля не должна составить теперь проблем. А о подключении NXT блока по Bluetooth к компьютеру было написано здесь.

Остается только проверить, что блок опять же находится и работа с ним возможна по этому новому способу подключения. Делается это абсолютно также, как на скриншоте выше.

Желаем удачи в покорении новых горизонтов, открывающихся с изучением нового языка программирования!

P.S. Если по ходу подключения к блоку из Python, он никак не находится, возможно, надо просто установить Phantom драйвер - обычно устанавливается как часть NXT-G или других сред программирования.

1 комментарий:

  1. После установки Python и модуля nxt-python (выполнил все выше указанные действия) драйвер Phantom установлен, подключаю NXT блок к компьютеру, но все время возникает вот такая ошибка:
    Traceback (most recent call last):
    File "", line 1, in
    from nxt.locator import find_one_brick
    File "C:\Python27\lib\site-packages\nxt\__init__.py", line 15, in
    from nxt.locator import find_one_brick, Method
    File "C:\Python27\lib\site-packages\nxt\locator.py", line 49
    if not silent: print("USB module unavailable, not searching there", file=sys.stderr)

    SyntaxError: invalid syntax
    В чем может быть проблема? Установил виртуальную машину, на нее Ubuntu, но ошибка такая же.Подскажите, может кто сталкивался с такой проблемой.

    ОтветитьУдалить

Related Posts Plugin for WordPress, Blogger...