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

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
(Новая страница: «{{MicroPython/Панель перехода}} {{Перевод от Сubewriter}} {{Myagkij-редактор}} <syntaxhighlight lang="python" enclose="div">...»)
 
Нет описания правки
 
(не показана 1 промежуточная версия 1 участника)
Строка 3: Строка 3:
{{Myagkij-редактор}}
{{Myagkij-редактор}}


=Загрузка командной строки MicroPython REPL<ref>[http://docs.micropython.org/en/latest/wipy/tutorial/repl.html docs.micropython.org - Getting a MicroPython REPL prompt]</ref>=


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


Чтобы воспользоваться [[REPL]], надо подключиться к [[WiPy]] через [http://docs.micropython.org/en/latest/wipy/general.html#wipy-telnet Telnet] или при помощи конвертера [[USB-Serial]], подключенного к одному или двум [[UART-порт]]ам [[WiPy]]. Чтобы выполнить дупликацию [[REPL]] на порт [[UART0]] (т.е. тот, что доступен через плату расширения), выполните следующее:


<syntaxhighlight lang="python">
>>> from machine import UART
>>> import os
>>> uart = UART(0, 115200)
>>> os.dupterm(uart)
</syntaxhighlight>


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


<syntaxhighlight lang="python" enclose="div">
== Windows ==
 
Сначала вам нужно установить [[FTDI-драйвер]]ы для конвертера [[USB-Serial]], установленного на плату расширения. Затем вам понадобится терминал. Наилучший вариант – это бесплатная программа [[PuTTy]], загрузить которую можно [http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html отсюда].
 
=== Как открыть [[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 ==
 
Откройте терминал и запустите:
 
<syntaxhighlight lang="python">
$ telnet 192.168.1.1
</syntaxhighlight>
 
Или:
 
<syntaxhighlight lang="python">
$ screen /dev/tty.usbmodem* 115200
</syntaxhighlight>
 
Когда вы закончите и захотите выйти из screen, нажмите {{клавища|Ctrl}}+{{клавища|A }} {{клавища|Ctrl}}+{{клавища|\}}. Если на вашей клавиатуре нет клавиши ''«\»'' (и чтобы написать ''«\»'', вам приходится, например, использовать сложные комбинации вроде {{клавища|Alt}}+{{клавища|Shift}}+{{клавища|7}}), вы можете переназначить клавиши для команды ''quit'':
 
* Создайте ~/.screenrc.
* Добавьте bind q quit.
 
Теперь вы сможете выйти из ''screen'', нажав на {{клавища|Ctrl}}+{{клавища|A}}+{{клавища|Q}}.
 
==Linux==
 
Откройте терминал и запустите:
 
<syntaxhighlight lang="python">
$ telnet 192.168.1.1
</syntaxhighlight>
 
Или:
 
<syntaxhighlight lang="python">
$ screen /dev/ttyUSB0 115200
</syntaxhighlight>
 
Кроме того, вместо screen можно попробовать ''picocom'' или ''minicom''. Для ''ttyUSB'' можно воспользоваться ''«/dev/ttyUSB01»'' или выше. И вам, возможно, нужно будет выдать себе правильные разрешения для доступа к этим устройствам (например, воспользоваться группой ''uucp'' или ''dialout'' или программой sudo).
 
==Использование командной строки REPL==
 
Теперь давайте попробуем напрямую запустить [[MicroPython]]-код на [[WiPy]].
 
Открыв свою программу для работы с последовательным соединением ([[PuTTy]], [[screen]], [[picocom]] и т.д.), вы, возможно, увидите пустой экран с мигающим курсором. Нажмите {{клавиша|Enter}} – это должно открыть командную строку [[MicroPython]], например, ''>>>''. Обязательно проверьте, работает ли она. Например, так:
 
<syntaxhighlight lang="python">
>>> print("hello WiPy!")
hello WiPy!
</syntaxhighlight>
 
Выше есть символы ''>>>'', но вам их печатать не надо. Они там, чтобы показать, что после них нужно писать текст. Когда вы введете ''print("hello WiPy!")'' и нажмете {{клавиша|Enter}} , на экране должна появиться строчка ''«hello WiPy!»'' (как это показано выше).
 
Если вы знаете [[Python]], то можете попробовать некоторые базовые команды этого языка.
 
Если ни одна команда не сработала, попробуйте выполнить аппаратный или программный сброс (см. ниже).
 
Итак, попробуйте написать пару других команд. Например:
 
<syntaxhighlight lang="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'
</syntaxhighlight>
 
==Сброс платы==
 
Если что-то пойдет не так, вы можете сбросить плату, и это можно сделать двумя способами. Первый – это нажать {{клавиша|Ctrl}}+{{клавиша|D}} в командной строке MicroPython, что выполнит программный сброс. Вы увидите примерно такое сообщение:
 
<syntaxhighlight lang="python">
>>>
MPY: soft reboot
MicroPython v1.4.6-146-g1d8b5e5 on 2015-10-21; WiPy with CC3200
Type "help()" for more information.
>>>
</syntaxhighlight>
 
Если это не сработает, можно попробовать аппаратный сброс (фактически это включение/выключение платы), нажав на кнопку ''RST'' (маленькая черная кнопка рядом со светодиодом сердцебиения). Если вы используете [[Telnet]], то это завершит сессию, отключив программу, которую вы в данный момент используете для подключения к [[WiPy]].


=См.также=
=См.также=

Текущая версия от 20:05, 23 мая 2023

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


Загрузка командной строки 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.

См.также

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