LEGO MINDSTORMS NXTをJava言語で動かしたい場合は,leJOSとEclipseの組み合わせが非常に便利です.
MINDSTORMS NXTは64bit Javaでは動かないため,32bitで動かす環境が必要となります.しかし,MacOS(特にSierra以降)ではそのための環境設定が面倒なので,設定方法をまとめてみました.
ダウンロードするもの
Eclipse(32-bit)のインストール
Eclipseをインストールする前に,Java 6をAppleのサイトからダウンロードしておく. ターミナルでjavaが起動する(きちんとversionが表示される)ことを確認する.
/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/bin/ -version
4.6 Mars以降はMac用の32bit環境を配布していないため,4.5 Lunaをダウンロードする.ここから"for Java Developers (MacOS Cocoa 32-bit)"のgzipファイルをダウンロードし,適当な場所(Documentsとか)に展開する.Eclipse.appのパッケージの中身を表示(Ctr+クリック)してeclipse.iniを起動し,Javaのパスを追加する.
(eclipse.iniをダブルクリックするとEclipse.appが起動してしまう場合は,プログラムを選択してテキストエディタから起動するようにする)
-vm
/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/bin/java
また,HighSierraでは,eclipseのメニューが無効化される問題があるため,その対処として以下の設定を追加する.
-Duser.country=US
-Duser.language=en
eclipse.iniの追加設定が終わったら,-cleanオプションを付けてeclipseを起動し,設定を反映させる.
/Documents/eclipse/Eclipse.app/Contents/MacOS/eclipse -clean
以降,Eclipseを起動する際はterminalからバイナリファイルを直接実行させる.
(Luna以前のものは,Eclipse.appをダブルクリックしてもなぜか起動しない.)
/Users/usr_name/Documents/eclipse/Eclipse.app/Contents/MacOS/eclipse
LeJOS NXJのインストール
ここから"0.9.1-beta3"をダウンロードして適当な場所(homeとか)に展開する.leJOS NXJのPATHを通すために/etc/profileに次の設定を追加する.
if [ $(whoami) != "root" ]; then
export NXJ_HOME="/Users/user_name/leJOS_NXJ"
export LEJOS_NXT_JAVA_HOME="/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home"
export PATH="$NXJ_HOME/bin:$PATH"
fi
PCを再起動し,PATHが通っていることを確認する.
expoert -p
ターミナルで次のコマンドを入力し,"Flush leJOS firmware"と書かれたGUIが表示されることを確認. MINDSTORMS NXTをUSBケーブルで接続し,ファームウェアをダウンロードする.
nxjflushg
leJOS Eclipse plug-inの適用
ここを参考に,EclipseにleJOSを適用させる.
Eclipseをターミナルから起動し,"/Help/Install New Software..."をクリック.
"work with:"に"http://www.lejos.org/tools/eclipse/plugin/nxj/"を入力し,"leJOS NXJ Support->leJOS NXJ Plug-in"にチェックを入れる. "Security Warning"が表示されるが,OKを押してインストールを完了させる.
Eclipseを再起動し,メニューに"leJOS NXJ"が追加されていることを確認する.
参考
*LEJOS: Getting Started on OS X
*LEJOS: Using Eclipse
*macOS High Sierraでeclipseのメニューが無効化される