MicroPython導入ガイド

レゴⓇマインドストームⓇEV3のプログラム開発環境はこれまでLEGO社が保証していたものは、専用のEV3ソフトウェア、Scratch 3.0、MakeCodeのほかLabView程度しかありませんでした。独自にフリーのEV3用LinuxをmicroSDカードにインストールしてC言語やPython、JAVAなどの開発環境を構築して利用する方法もありましたが、その方法はLEGO社が保証していたものではありませんでした。しかし、ついにLEGO Educationが公式にPythonでの開発環境の提供を始めました。ここではその開発環境の構築方法についての解説を掲載します。

始める前の準備

MicroPythonでのプログラミング環境導入に当たっては、次のハードウェアが必要になりますので準備します。

ハードウェア

microSDメモリカード(SDHC規格対応 容量:4GB~32GB)

新たに購入しない場合は記録されているデータのバックアップを取っておいて下さい。イメージファイルを書き込むと全てのデータは消去されます。

SDメモリカードリーダー/ライター

Windows 10またはMcOS XのPC

教育版レゴⓇマインドストームⓇEV3基本セット(または玩具版EV3セット)

miniUSBケーブル

必要なものがそろったら始めましょう。

Step 1

ファイル・ソフトウェアのダウンロード、インストール

次のファイル、ソフトウェアが必要になりますのでそれぞれダウンロード、インストールします。

  1. MicroPython対応のEV3ファームウェアイメージファイル
  2. MicroPythonのEV3用API参考資料
  3. ファームウェアのイメージファイルをメモリに書き込み起動ディスクを作るソフトウェア
  4. Microsoft Visual Studio Code editor Ver.1.13 以降+LEGO Mindstorms EV3 Extention

 
1.MicroPython対応EV3ファームウェアを下記のリンクからダウンロードして適当なフォルダに保存しておきます。ZIPファイルになっていますが保存後に展開する必要はありません。

また、MicroPythonでどのような命令(API)が用意されているのかを知るための重要な参考資料(PDFファイル 英語版のみ)も同様に下記リンクからダウンロードしておきます。できれば両面印刷をして製本しておくと利用しやすいです。

2.下記のリンクから起動ディスクを作成するためのソフトウェア(Etcher)をダウンロードしてインストールします。既に同様のソフトウェアを利用している場合はそれを利用して下さい。

3.下記リンクよりMicrosoft Visual Studio Code editorをダウンロード、インストールします。既に利用している方は、バージョンを確認して下さい。対応してしているのはVer.1.13以降ですので、これ以前のバージョンの場合はアップデートして下さい。
Visual Studio Code editorがインストールできたら、レゴマインドストームEV3拡張機能をインストールしてアクティブにします(図1)。
  • ① 拡張機能タブをクリック
  • ② 検索キーワード欄に「EV3 MicroPython」と入力して検索
  • ③ インストールボタンをクリックしてインストール
レゴマインドストーム拡張機能をインストール

図1 EV3拡張機能をインストール

準備が整ったらStep 2へ進みます。

Step 2

起動ディスク(起動用メモリカード)の作成と起動

ファームウェアのイメージファイルはそのままmicroSDカードにコピーしても起動ディスクとしての役を果たせませんので、起動ディスク作成のための専用のソフトウェアを使用してメモリーカードにコピーします。
1.インストールしたEtcherを起動します。
2.カードリーダーにmicroSDカードを挿入(注1)し、PCが認識していることを確認します。

注1)一般的にPC用のカードリーダー/ライターではmicroSDをそのまま挿入できるリーダー/ライターは無く、SDカードアダプターを利用します。アダプターにmicroSDカードをセットしてからリーダーに挿入して下さい。

3.下記手順に従い、起動ディスクを作成します。

  1. イメージファイルを選択する。aをクリックして保存したファームウェアイメージファイル(ZIPファイル)を選択します。
  2. 書き込み先を選択する。bをクリックして、カードリーダーに挿入したmicroSDカードを選択します。
  3. 書き込む。c(Flashボタン)をクリックして書き込みを開始します。書き込みが終了するまでしばらく時間がかかりますのでそのまま終了するのをお待ち下さい。
 
起動用カード作成

図2 Etcherで起動可能SDカードを作成

書き込みが終了したら起動ディスクの完成です。アダプターからmicroSDカードを取り出し、EV3インテリジェントブロックのmicroSDカードスロットに挿入しておきます。microSDカードにテープなどを貼っておくと取り出しやすくなります。カードの抜き差しはEV3の電源をOFFにして行って下さい。

 
microSDカードをEV3のスロットに入れる

図3 microSDカードをEV3に装着

しっかりと挿入したことを確認したら、中央ボタンを押してEV3の電源を入れます。起動プロセスが始まり、画面に細かな文字が表示されて流れていくのが見えるでしょう。起動まで数分かかる場合があります。完全に起動すると図4ー①の様なメニュー画面が表示されます。電源をOFFにするには、でゅ数理のすぐ左下にある「戻る」ボタンを押します。画面にシャットダウンメニューが表示されるので、「Power Off」を選択するとシャットダウンプロセスが始まりシャットダウンされます。

EV3ブロックメニュー

図4 Brickmanメニュー

 

microSDカードを抜いて起動すればEV3本体オリジナルのファームウェアが起動しEV3ソフトウェアで作ったプログラムを動作させることができます。
 
Step 3へ進みます。

Step 3

プログラムの作成と実行

Pythonでプログラムを作成し、EV3で実行できる環境が整いました。
では、プログラムを作成手順を説明します。
まず、プログラムは「プロジェクトフォルダー」として管理されます(下図5)。「main.py」が実行されるプログラム本体となります。この中で使用される音ファイルや画像ファイル、他のモジュールなども同じフォルダ内に保存され同一フォルダ内で管理されます。EV3への転送もこのプロジェクトフォルダ単位で転送されます。

プロジェクトフォルダー

図5 プロジェクトフォルダー構造

Visual Studio Code rditorを起動してプロジェクトを新規作成または、既存プロジェクトを開きます。
 新しいプロジェクトを作成するには、下記の手順で操作します。

  1. EV3 MicroPythonタブを開きます
  2. Create a new projectをクリックします
  3. プロジェクトの名前を決めて入力します(英数半角文字のみ使用可能)
  4. プロジェクトフォルダを作成する場所をダイアログで聞いてくるので適当なフォルダを開く
新しいプロジェクトの生成

図6 新しいプロジェクトの生成

次に生成したフォルダを開きます。
生成したプロジェクトフォルダを開く

図7 生成したプロジェクトフォルダを開く

メインプログラム「main.py」をエディターで開き、プログラムを書いていきます。
プログラム作成

図8 main.pyを編集してプログラム作成

既存のプロジェクトを開く場合は、「File」メニューから「Open Folder」をクリックするか、最近使ったプロジェクトであれば「Open Recent」をクリックして目的のフォルダを開きます。
既存のプロジェクトを開く

図9 既存のプロジェクトを開く

作成したプログラムをEV3に転送して実行するには、次の手順で行います。
1.EV3の電源を入れる(microSDカードをスロットに入れておくのを忘れずに)
2.EV3とPCをUSBケーブルで接続する
3.USB接続の設定を次の手順で行う(図10)

  1. ファイルタブを開く
  2. デバイスブラウザー(EV3 DEVICE BROWSER)を開く(図中③)
  3. EV3ブロックを検索する(図中④)
  4. 検索されたEV3ブロックを選択する(「ev3dev Ethernet」と表示される)(図中⑤)
EV3の接続設定

図10 EV3の接続設定

正常に接続できると、DEVICE BROWSER直下に接続されたEV3の名前が表示されその左側に緑色の丸印が表示されます。
接続が確立したら、プログラムを転送し実行します(図11)。
  1. デバッグ(Debug)タブを開きます(F5キーを押しても開けます)
  2. 転送して実行(Download and run)の右矢印(緑色のPlayボタン)をクリックします。プロジェクトフォルダがEV3本体に転送され、自動的に実行されます。
  3. プログラム中にアウトプット命令(Print)が使用されていると、アウトプットスクリーンに表示されます。
  4. プログラムを停止させるには、画面上部の赤い四角(Stopボタン)をクリックするか、本体の「戻る」ボタンを押します。
プログラムの転送と実行

図11 プログラムの転送と実行

一度EV3インテリジェントブロックへダウンロードしたプロジェクトファイルは、デバイスブラウザーでファイルの管理(実行、削除)やバックアップ(EV3からPCへアップロード)ができます(図12)
インテリジェントブロック上のファイル管理

EV3インテリジェントブロック上のフィル管理

EV3インテリジェントブロック本体上のメニューでもファイルの管理は可能です。本体でプログラムを実行するには次の手順で行います。
  1. 「File Browser」を選択して開きます
  2. 目的のプロジェクトフォルダをさがし、選択して開きます。
  3. main.pyを選択して実行します。
本体でプログラム実行

図13 本体でのプログラム実行

 
 以上で、Microsoft Visual Studio Code editorでPythonを使ってプログラムを開発しEV3で実行するための環境構築方法およびプログラム作成方法の説明をおわります。なお、LEGO Education USサイトからダウンロードできる資料には、API(どんな命令があり、どうやって使うのかの解説書)も記載(P16-39)されているので必ずダウンロードしてプリントアウトして製本しておきましょう。また、トレーニングロボット(障害物検知)、カラーソーター、ロボットアームのサンプルプログラムも収録されています。