今回取り扱うのはEV3で使用できるOSと言語の話です。
OS | 起動速度 | ベース | 言語 |
---|---|---|---|
LMS2012 | 30秒 | Linux? | ブロック,Scratch,JS,C,C++,Basic,Swift |
ev3dev | 2分 | Linux | Python,Java,Go,C++,C,Prolog,Rust,その他 |
leJOS | 1分 | Java | Java,その他JVM言語 |
MonoBrick | 1分 | Mono | C#,F#,IronPython,その他.NET言語 |
EV3RT | 5秒 | TOPPERS | C,C++,Ruby,Rust |
LMS2012
MicroSDを使用せずに起動するタイプのOSです。いわゆるデフォルトOSですが、十分に機能が備わっており追加ファームウェアなどを加えればMicroSDは必要ないレベルになります。
EV3 Classroom
https://education.lego.com/ja-jp/downloads/retiredproducts/mindstorms-ev3-lab/software/
最新の最も使用されているアプリケーションです。Scratchがベースになっています。
EV3 Lab
https://education.lego.com/ja-jp/downloads/retiredproducts/mindstorms-ev3-lab/software/
いわゆる教育版と呼ばれているものです。EV3 Classroomより前から存在したため、情報が多いです。
LEGO MINDSTORMS Module for LabVIEW
https://www.ni.com/ja/support/downloads/software-products/download.lego-mindstorms-module-for-labview.html#351224
EV3 Labにプログラミングのスタイルが似ていますが、これを使用するといくつものEV3を同時に制御できます。
MakeCode
https://ev3manager.education.lego.com
Microsoftが提供しているプログラミングツールです。ブロック言語に加え、JavaScriptでプログラミングできます。
SwiftPlaygrounds
https://www.apple.com/jp/swift/playgrounds/
AppleがMacまたはiPadで使用できるアプリです。Swiftという言語でEV3を操作できます。GUIで動作テストができるのも魅力です。
ROBOTC
https://www.robotc.net
有料(?)専用ソフトでC言語を使ったプログラムを書くことができます。他にこのページではEV3のシミュレーターも販売しています。
Cpp4Robots
http://www.cpp4robots.cz
Visual Studio 2022の拡張機能として提供されています。CかC++でプログラムを書けます。プログラムの送信、実行もVisual Studioからできます。
Robot JavaScript
https://robotjavascript.com
JavaScriptをEV3で実行するアプリです。アプリはMicrosoftStoreにもあります。常に左のツールバーにチートシートがありスムーズにコーディングできます。
EV3 Basic
https://sites.google.com/site/ev3basic/
Small Basicの拡張機能です。Basic言語が動かせます。欠点としてPCとリアルタイムで通信しなければプログラムが動きません。
BricxCC
https://sourceforge.net/projects/bricxcc/files/bricxcc/
C言語が動かせます。専用ソフトのツールが幅広く、ほとんどのEV3の管理が単体でできます。
ev3dev
Linuxがベースになっていて、Linuxコマンドが使用できます。言語はライブラリさえあればどんな言語でも動かせるのが大きなメリットです。
使用可能言語は以下のサイトにまとめられています。各言語のメリットデメリットは個人で調べてください。
https://www.ev3dev.org/docs/programming-languages/
leJOS
Javaをベースに作られており、JVM言語ならほとんど動かすことができます。JVM言語の中にはスクリプト言語の「Groovy」などもあり、幅広く選ぶ事ができます。
また機能面でも充実しており、例えば遠隔操作やPCからプログラムの実行なども可能です。
私のイチオシのOSです。本読んでください。
https://zenn.dev/sasnews/books/249f78f69b08d0
MonoBrick
Linux上でexeを動かすMonoをベースとしていてC#、F#、IronPythonなどの.NET言語を動かすことができます。
おすすめポイントとして他のOSにはない圧倒的なフォントの美しさがあります。なぜかフォント作りを頑張っているんですよね。
EV3RT
言語はC、C++が使用できますが、実際に調べてみるとm-rubyやRustを動かしている人もいるOSです。高速な実行速度が必要な人には一択でしょう。
また起動速度も早いです。OSの起動は約5秒ですがそのほとんどがEV3のBIOSの起動時間なのでOS自体はほぼ0です。
その他
CoderZ
https://gocoderz.com
情報がほとんどないためわからないが、ブラウザ上でのシミュレーションを基本としている。どのような形でエクスポートできるのだろうか。
Open Roberta Lab
https://www.open-roberta.org
ブロック言語を使用してプログラムを作成し、各OSで使用できるようにコンパイルする。
現在使えるOSは「ev3dev」「leJOS」「c4ev3(?)」の3つである。メモ機能やシミュレーションモードなど機能が充実しており、各OSの言語の書き方の勉強などにも使える。