REPL へのアクセス

REPL (Read-Evaluate-Print-Loop)は、プログラムコードを書いたそばからコードを読み込んで評価します。

micro:bit Python エディタを使う方法

ブラウザベースの Python エディタには組込みの REPL サポートがあり、 WebUSB を使ってアクセスできます。WebUSB がどのように使われているかについては、記事 direct flashing from the browser in the micro:bit apps and editors に詳しく説明されています。

WebUSB を使うには、Google Chrome ベースのブラウザとバージョン 0249 以上の ファームウェア を入れた micro:bit が必要です。

REPL を使う手順は次のとおりです:

  1. まだ Python プログラムを micro:bit に転送をしていない場合は転送します。
  2. Open Serial を選択して、REPL ウィンドウを開きます。
  3. 青いバー Send CTRL-C for REPL をクリックするか、キーボードから CTRL + C を入力して REPL に入ります。

シリアル通信プログラムを使う方法

Mu Editor は REPL を組み込みでサポートしていますし、リアルタイムデータプロッターも用意しています

picocomscreen があります。いずれにしても、通信プログラムをインストールし、適切なドキュメントを読んでデバイスに接続するための基本を理解する必要があります。

ポートの判別

micro:bit の REPL にアクセスするには次が必要です:

  • micro:bit の通信ポート識別子の判別
  • デバイスと通信するプログラムの用意

micro:bit にはコンピュータとの通信に使うポート識別子(tty, usb)を持ちます。micro:bit に接続する前に、ポート識別子を判別する必要があります。

Windows

前述したドライバをインストールすると micro:bit がデバイスマネージャに COM ポートとして現れます。

macOS

ターミナルを開いて ls /dev/cu.* と入力し、接続されているシリアルデバイスのリストを確認します。リストの中に /dev/cu.usbmodem1422 のようなものが見つかります(実際の番号はコンピュータに依存)。

Linux

ターミナルで dmesg | tail と入力し、micro:bit に割り当てられた /dev ノードを確認します。

micro:bit との通信

ポート識別子を確認したら、シリアルターミナルプログラムを使って micro:bit と通信できます。

Windows

Tera Term, PuTTY など使いたいものをどうぞ。

Tera Term の場合:
  • micro:bit を繋ぎ、Tera Term を開きます
  • Select Serial as the port
  • 設定メニューからシリアルポートを選び、ポートを適切な COM ポートにします。
  • ボーレートを 1115200、データを 8 ビット、パリティを none、ストップを 1 bit にします。
PuTTY の場合:
  • micro:bit を繋ぎ、PuTTY を開きます
  • 接続タイプをシリアルに切り替えます
  • ポートを適切な COM ポートにします
  • ボーレートを 115200 にします
  • 左のメニューの「シリアル」を選び、'Open' をクリックします

macOS

ターミナルを開いて screen /dev/cu.usbmodem1422 115200 を入力します。/dev/cu.usbmodem1422 のところは先に調べたポートに置き換えてください。これは micro:bit のシリアル出力をオープンし、デバイスから受信したメッセージすべてを表示します。

終了するには Ctrl-A の後に Ctrl-\ を入力し、質問に Yes と答えます。コマンドプロンプトに戻る方法は他にもあり、Ctrl-A の後に Ctrl-D を入力しても戻れますが、これでは画面が切り離されるだけで、シリアルポートはロックされたままになり、他のアプリケーションがアクセスできなくなります。そのようなときは screen -r と入力することで screen を再起動できます。

Linux

Ubuntu など、Debian ベースのデストリビューションに繋ぐには、自分のユーザ名を dialout グループに追加する必要があります。これにより、シリアルデバイス /dev/ttyACM0 への書込みアクセスが許可されます:

sudo usermod -a -G dialout ${USER}

グループの変更を有効にするには再ログインが必要です。

screen プログラムを使う場合、screen /dev/ttyUSB0 115200 を入力します。/dev/ttyUSB0 のところは先に調べたポートに置き換えてください。

終了するには Ctrl-A の後に \ を入力し、質問に Yes と答えます。コマンドプロンプトに戻る方法は他にもあり、Ctrl-A の後に Ctrl-D を入力しても戻れますが、これでは画面が切り離されるだけで、シリアルポートはロックされたままになり、他のアプリケーションがアクセスできなくなります。そのようなときは screen -r と入力することで screen を再起動できます。

picocom プログラムを使う場合、picocom /dev/ttyACM0 -b 115200 を入力します。/dev/ttyACM0 のところは先に調べたポートに置き換えてください。

終了するには Ctrl-A の後に Ctrl-Q を入力します。