3. MicroPython REPLプロンプトの表示¶
REPL は Read Evaluate Print Loop の略で、対話型 MicroPython プロンプトに与えられた名前で、これを使って pyboard にアクセスできます。REPL を使うことは、コードをテストしてコマンドを実行する最も簡単な方法です。 main.py
にスクリプトを書くことに加えて、REPL も使えるようになりましょう。
REPL を使うには、pyboard 上のシリアル USB デバイスに接続する必要があります。どのようにこれを行うかは、オペレーティングシステムによって異なります。
3.1. Windows¶
シリアル USB デバイスを使用するには pyboard ドライバーをインストールする必要があります。ドライバーは pyboard の USB フラッシュドライブ上にあり、 pybcdc.inf
という名前です。
このドライバーをインストールするには、コンピュータのデバイスマネージャーに移動し、デバイスのリストの中の pyboard を見つけてください(まだ動作していないので警告サインが表示されているはずです)。pyboard デバイスを右クリックし、ドライバーのインストールを行います。ドライバーを手動で検索する(Windows の自動更新を使用しない)オプションを選択し、pyboard の USB ドライブに移動し、そのドライバーを選択する必要があります。その後、インストールする必要があります。インストール後、デバイスマネージャーに戻ってインストールされている pyboard を見つけて、それがどの COM ポートであるかを確認します(たとえばCOM4)。より包括的な説明は、Guide for pyboard on Windows (PDF) にあります。ドライバーのインストールに問題がある場合は、このガイドを参照してください。
次に端末プログラムを実行する必要があります。HyperTerminal をインストールしている場合はそれを使うか、無料のプログラム PuTTY: putty.exe をダウンロードしてください。シリアルプログラムを使う場合は、前の手順で見つかった COM ポートに接続する必要があります。PuTTY では、左側のパネルの "Session" をクリックし、右側の "Serial" ラジオボタンをクリックし、 "Serial Line" ボックスに COM ポート (たとえば COM4)を入力します。最後に "Open"" ボタンをクリックします。
3.2. Mac OS X¶
ターミナルを開き、以下を実行してください:
screen /dev/tty.usbmodem*
終了して screen から抜けるには、CTRL-A CTRL-\ と入力します。
3.3. Linux¶
ターミナルを開き、以下を実行してください:
screen /dev/ttyACM0
screen の代わりに picocom
や minicom
を試すこともできます。ttyACM
については /dev/ttyACM1
やさらに大きい番号を使う必要があるかもしれません。また、このデバイスにアクセスするための適切な権限を与える必要もあるかもしれません(たとえば、グループを uucp や dialout にするとか、sudo を使うかなど)。
3.4. REPL プロンプトの使い方¶
では、pyboard 上で MicroPythonコードを直接実行してみましょう。
シリアルプログラム(PuTTY, screen, picocom など)を開いた状態で、点滅するカーソルがある空白の画面が表示されているでしょう。Enter キーを押すと、MicroPython プロンプト >>>
が表示されます。次の義務的なテストで動作を確認してみしましょう:
>>> print("hello pyboard!")
hello pyboard!
上記では >>>
文字を入力しないでください。これはプロンプトで、この後にテキスト入力することを示すためにあります。最後に、テキスト print("hello pyboard!")
を入力して Enter キーを押すと、画面上の出力は上記のようになります。
すでに python を知っているなら、ここでいくつかの基本的なコマンドを試せます。
いずれかが動作しない場合は、ハードリセットまたはソフトリセットをしてみてください。下記を参照。
他のコマンドも入力してみてください。たとえば:
>>> pyb.LED(1).on()
>>> pyb.LED(2).on()
>>> 1 + 2
3
>>> 1 / 2
0.5
>>> 20 * 'py'
'pypypypypypypypypypypypypypypypypypypypy'
3.5. ボードのリセット¶
何か問題が生じた場合、ボードを2つの方法でリセットできます。最初は、MicroPython プロンプトで CTRL-D を押してソフトリセットを実行します。次のようなメッセージが表示されるでしょう。
>>>
MPY: sync filesystems
MPY: soft reboot
Micro Python v1.0 on 2014-05-03; PYBv1.0 with STM32F405RG
Type "help()" for more information.
>>>
それが機能しない場合は、RST スイッチ(ボード上のマイクロ USB ソケットに最も近い小さな黒いボタン)を押して、ハードリセット(電源を切ってから再度オンにする)を実行できます。これはセッションを終了し、pyboard への接続に使用したプログラム(PuTTY, screen など)を切断します。
ハードリセットを行う場合は、最初にシリアルプログラムを閉じ、pyboard ドライブの取り出し/アンマウントを行うことをお勧めします。