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 を使う手順は次のとおりです:
まだ Python プログラムを micro:bit に転送をしていない場合は転送します。
Open Serial を選択して、REPL ウィンドウを開きます。
青いバー
Send CTRL-C for REPL
をクリックするか、キーボードからCTRL
+C
を入力して REPL に入ります。
シリアル通信プログラムを使う方法
Mu Editor は REPL を組み込みでサポートしていますし、リアルタイムデータプロッターも用意しています
microREPL は使いやすい python シリアルターミナルで、micro:bit を自動的に検出して接続します。microREPL を終了するにはキーボードの CTRL
+ ]
を押してください。
picocom や screen があります。いずれにしても、通信プログラムをインストールし、適切なドキュメントを読んでデバイスに接続するための基本を理解する必要があります。
ポートの判別
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 を入力します。