EV3 + Python = ev3dev. Часть 1. Где писать код.

Для блока EV3 есть замечательный способ писать на текстовом языке программирования, а именно, на питоне. Это ev3dev.

Сайт проекта http://www.ev3dev.org/

Карандаш и Самоделкин у себя в блоге замечательно описали, как настроить блок

Если кратко, то ничего перепрошивать не надо. На SD карту устанавливается операционная система ev3dev, основанная на Debian. Карта вставляется в блок EV3, после чего тот загружается в практически полноценном линуксе. Естественно, скорость работы очень маленькая, но для написания и запуска программ вполне сносно.

Для связи блока с компьютером через USB кабель используется виртуальная локальная сеть. Связь с блоком поддерживается через SSH. Что это означает? Что нет простого и удобного способа загружать и редактировать программы.

Поэтому первое, чем мы озадачились – как сделать написание кода комфортным. Авторы ev3dev предлагают подключаться к блоку через SSH и писать код через редактор nano (или другой консольный редактор). Но тогда мы теряем все преимущества разработки кода в среде программирования. Поэтому возникла необходимость искать другой вариант. На данный момент пришли к такой связке.

В качестве редактора кода используем PyCharm Edu. Бесплатная версия программы с подсветкой синтаксиса, подсказками и проверкой кода на ошибки. Для совместимости кодировок необходимо, чтобы PyCharm сохранял файлы с принятом в Unix форматом конца строки. Для этого нужно сделать одну настройку в редакторе (верно для ОС Windows)

Создаваемый файл будет сохранен на компьютере, а его надо передать в блок EV3 для последующего запуска. Для этой цели, как и для управления блоком, мы используем программа PuTTY, которая позволяет устанавливать SSH соединение из ОС Windows.

Порядок действий такой:

  1. Создаем файл в PyCharm. Сохраняем его в локальный каталог на компьютере.
  2. Загружаем файл в блок EV3. Для этого мы копируем файл pscp.exe в тот же каталог, что и сохраненный файл из пункта 1. Затем запускаем командную строку и переходим в ней с помощью команд CD в это же каталог. И с помощью команды pscp передаем файл в блок. Для упрощения работы, эти шаги мы прописали в bat файл. Например, мы сохраняем файлы в каталог E:\python\ev3. Наш bat файл выглядит так:
    E:
    cd E:\python\ev3\
    pscp.exe test.py robot@ev3dev:/home/robot/

    При запуске такого файла появляется окно командной строки, в котором предлагается ввести пароль (maker), после чего файл test.py окажется загруженным в домашний каталог блока.
  3. Делаем файл исполняемым. Это потребуется сделать только один раз, при первой загрузке файла. Подключившись к блоку в окне PuTTY выполняем команду
    chmod +x test.py

На данный момент более удобного способа для написания кода и загрузки его в блок EV3 мы не нашли. Да. при этом открыто три окна (среда разработки, PuTTY, командная строка), но зато сам процесс написания кода гораздо удобнее.

В случае, если программа вылетает с ошибкой, лучше запускать ее не из блока EV3, а из окна PuTTY, тогда ошибки будут выводиться в консоль и будет возможность их прочитать.

 

 

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.