https://ameblo.jp/kissam59/entry-12630452888.html

 

からの続きになります。

 

MicroPythonのControl commandには以下の4つがあります。

Control commands:
  CTRL-A        -- on a blank line, enter raw REPL mode
  CTRL-B        -- on a blank line, enter normal REPL mode
  CTRL-C        -- interrupt a running program
  CTRL-D        -- on a blank line, do a soft reset of the board
  CTRL-E        -- on a blank line, enter paste mode

基本的には、USB(見かけ上はシリアルで、ターミナルプログラム)経由で制御しますが、WebベースでもプロトタイプのWebREPLが公開されています。

MicroPython v1.13 on 2020-09-02; ESP32 module with ESP32

waves ESP32 ESPDuino-32上で走らせた場合を例にとって紹介します。

 

https://github.com/micropython/webrepl

 

 

先ずは、ESP32 ESPDuino-32 をWi-FiルーターにTCP/IPで接続します。

続いてCTRL-Aでraw REPL modeに入ります。

その状態から、以下のコードをESP32 ESPDuino-32にロードしてWebREPLを起動します。

#https://micropython-docs-ja.readthedocs.io/ja/latest/esp32/quickref.html#webrepl-web-browser-interactive-prompt
import webrepl
import webrepl_setup

#webrepl.start()

# or, start with a specific password
webrepl.start(password='xxxxxx')
 

右差しここでxxxxxxは、ブラウザ側からWebREPLにアクセスする際のpasswordです。

この後にターミナルプログラムからCTRL-Dコマンドを送ると、ESP32 ESPDuino-32上でWebREPLが起動します。

 

後は、ブラウザーから下差し私の環境の場合(webrepl.htmlは、https://github.com/micropython/webrepl から入手)

file:///C:/Users/user/Documents/ESP32/webrepl-master/webrepl.html#192.168.xxx.xxx:8266/

としてWebREPLに接続します。

ログインが成功するとWebREPLは >>>のプロンプト※を返しますが、改めてブラウザー側からCTRL-Bコマンドを送ってください。

グッ

Terminal widget should be focused (text cursor visible) to accept input. Click on it if not.
To paste, press Ctrl+A, then Ctrl+V

とのことなので、WebREPLではCTRL-Aには別な意味が持たせてあります。本来は、raw REPL mode に入るコマンドです。

 

※ normal REPL mode のプロンプト

REPL (Read-Eval-Print Loop) とは、入力・評価・出力のループのこと。 インタプリタにおいて、ユーザーとインタプリタが対話的にコード片を実行できるもの。

Postscriptインタプリタでいうとインタラクティブモードのことですね。