👌

EV3のOSと言語を完全に理解する

2023/10/28に公開

今回取り扱うのはEV3で使用できるOSと言語の話です。

OS 起動速度 ベース 言語
LMS2012 30秒 Linux VM ブロック,Scratch,JS,C,C++,Basic,Swift
ev3dev 2分 Linux Python,Java,Go,C++,C,Prolog,Rust,その他
leJOS 1分 Java VM Java,その他JVM言語
MonoBrick 1分 Mono C#,F#,IronPython,その他.NET言語
EV3RT 5秒 TOPPERS C,C++,Ruby,Rust

LMS2012

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

ev3dev
Linuxがベースになっていて、Linuxコマンドが使用できます。言語はライブラリさえあればどんな言語でも動かせるのが大きなメリットです。

使用可能言語は以下のサイトにまとめられています。各言語のメリットデメリットは個人で調べてください。
https://www.ev3dev.org/docs/programming-languages/

leJOS

leJOS
Javaをベースに作られており、JVM言語ならほとんど動かすことができます。JVM言語の中にはスクリプト言語の「Groovy」などもあり、幅広く選ぶ事ができます。
また機能面でも充実しており、例えば遠隔操作やPCからプログラムの実行なども可能です。
私のイチオシのOSです。本読んでください。
https://zenn.dev/sasnews/books/249f78f69b08d0

MonoBrick

MonoBrick
Linux上でexeを動かすMonoをベースとしていてC#、F#、IronPythonなどの.NET言語を動かすことができます。
おすすめポイントとして他のOSにはない圧倒的なフォントの美しさがあります。なぜかフォント作りを頑張っているんですよね。

EV3RT

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の言語の書き方の勉強などにも使える。

Discussion