MicroPython:Платы/WiPy/Руководства и примеры для работы с WiPy/Загрузка командной строки MicroPython REPL

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.


Загрузка командной строки MicroPython REPL[1]

REPL расшифровывается как «read, evaluate, print loop», что можно перевести как «цикл "чтение-вычисление-вывод"». Так называется интерактивная командная строка MicroPython, к которой можно получить доступ при использовании WiPy. В данный момент REPL – это простейший способ для проверки кода и запуска команд. REPL можно использовать вместе с написанием скриптов в «main.py».

Чтобы воспользоваться REPL, надо подключиться к WiPy через Telnet или при помощи конвертера USB-Serial, подключенного к одному или двум UART-портам WiPy. Чтобы выполнить дупликацию REPL на порт UART0 (т.е. тот, что доступен через плату расширения), выполните следующее:

>>> from machine import UART
>>> import os
>>> uart = UART(0, 115200)
>>> os.dupterm(uart)

Поместите этот код внутри файла «boot.py», чтобы он выполнялся автоматически после сброса.

Windows

Сначала вам нужно установить FTDI-драйверы для конвертера USB-Serial, установленного на плату расширения. Затем вам понадобится терминал. Наилучший вариант – это бесплатная программа PuTTy, загрузить которую можно отсюда.

Как открыть REPL через Telnet:

При помощи PuTTy выберите тип соединения Telnet, оставьте порт по умолчанию (23) и введите IP-адрес WiPy (в режиме WLAN.AP это 192.168.1.1) и кликните на «Open».

Как открыть REPL через UART-порт:

При помощи своей программы для работы с последовательным соединением (например, PuTTy) подключитесь к COM-порту. В PuTTy кликните на «Session» в левой панели, а затем на радиокнопку «Serial» справа. Далее введите свой COM-порт (например, COM4) в поле «Serial Line». Наконец, кликните на кнопку «Open».

Mac OS X

Откройте терминал и запустите:

$ telnet 192.168.1.1

Или:

$ screen /dev/tty.usbmodem* 115200

Когда вы закончите и захотите выйти из screen, нажмите Шаблон:Клавища+Шаблон:Клавища Шаблон:Клавища+Шаблон:Клавища. Если на вашей клавиатуре нет клавиши «\» (и чтобы написать «\», вам приходится, например, использовать сложные комбинации вроде Шаблон:Клавища+Шаблон:Клавища+Шаблон:Клавища), вы можете переназначить клавиши для команды quit:

  • Создайте ~/.screenrc.
  • Добавьте bind q quit.

Теперь вы сможете выйти из screen, нажав на Шаблон:Клавища+Шаблон:Клавища+Шаблон:Клавища.

Linux

Откройте терминал и запустите:

$ telnet 192.168.1.1

Или:

$ screen /dev/ttyUSB0 115200

Кроме того, вместо screen можно попробовать picocom или minicom. Для ttyUSB можно воспользоваться «/dev/ttyUSB01» или выше. И вам, возможно, нужно будет выдать себе правильные разрешения для доступа к этим устройствам (например, воспользоваться группой uucp или dialout или программой sudo).

Использование командной строки REPL

Теперь давайте попробуем напрямую запустить MicroPython-код на WiPy.

Открыв свою программу для работы с последовательным соединением (PuTTy, screen, picocom и т.д.), вы, возможно, увидите пустой экран с мигающим курсором. Нажмите  ↵ Enter  – это должно открыть командную строку MicroPython, например, >>>. Обязательно проверьте, работает ли она. Например, так:

>>> print("hello WiPy!")
hello WiPy!

Выше есть символы >>>, но вам их печатать не надо. Они там, чтобы показать, что после них нужно писать текст. Когда вы введете print("hello WiPy!") и нажмете  ↵ Enter  , на экране должна появиться строчка «hello WiPy!» (как это показано выше).

Если вы знаете Python, то можете попробовать некоторые базовые команды этого языка.

Если ни одна команда не сработала, попробуйте выполнить аппаратный или программный сброс (см. ниже).

Итак, попробуйте написать пару других команд. Например:

>>> from machine import Pin
>>> import wipy
>>> wipy.heartbeat(False)  # отключаем светодиод сердцебиения
>>> led = Pin('GP25', mode=Pin.OUT)
>>> led(1)
>>> led(0)
>>> led.toggle()
>>> 1 + 2
3
>>> 4 // 2
2
>>> 20 * 'py'
'pypypypypypypypypypypypypypypypypypypypy'

Сброс платы

Если что-то пойдет не так, вы можете сбросить плату, и это можно сделать двумя способами. Первый – это нажать  Ctrl + D  в командной строке MicroPython, что выполнит программный сброс. Вы увидите примерно такое сообщение:

>>>
MPY: soft reboot
MicroPython v1.4.6-146-g1d8b5e5 on 2015-10-21; WiPy with CC3200
Type "help()" for more information.
>>>

Если это не сработает, можно попробовать аппаратный сброс (фактически это включение/выключение платы), нажав на кнопку RST (маленькая черная кнопка рядом со светодиодом сердцебиения). Если вы используете Telnet, то это завершит сессию, отключив программу, которую вы в данный момент используете для подключения к WiPy.

См.также

Внешние ссылки