SOTAめも_01：Macを使ってSOTAの開発ができるか試してみた

#Macを使ってSOTAの開発ができるか試してみた
SOTAはなぜか、Windowsにしか開発環境が提供されていない！不思議！
iPhoneが出てからというもの、開発者はたいていMAC使いますよね！？自分の周りだけ？
いちいちWindows使うの面倒なので、Macで開発できないかやってみました。

#Eclipseを使った開発に挑戦！
とはいえ、VStoneMagicは無理そうなので、Eclipseでの開発をMacで出来るかためしてみることにしました。
Mac用のEclipse使ったら開発できる・・・はずだよね？普通に考えれば！

#まずは説明書を見つける
場所はココです！
http://www.vstone.co.jp/sotamanual/

余談ですが、説明書の中で「チュートリアル」と書いてあったら、

チュートリアル
https://www.vstone.co.jp/sota/resource/tutorials/index.php

上記ではなく、説明書内の左側のメニューに有るチュートリアルのことです。

#JAVAでプログラミングをしてみよう
早速、チュートリアルにそってやっていきましょう。

http://www.vstone.co.jp/sotamanual/index.php?Java%E3%81%A7%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E3%82%92%E3%81%97%E3%81%A6%E3%81%BF%E3%82%8B

※本当はページごとにリンクはろうと思ったんだけどうまくいかないから以降はリンクやめました。PukiWikiか何か使ってるのかな不便＞＜。

#Eclipseのダウンロードとインストール
~~「Eclipse 4.5 Mars」を入れればいいみたいなのですが、何故かリンクが「Pleiades」になっています。
PleiadesのMac版は存在しないので、本家のEclipseを入れましょう。~~
現時点（2020-08-18）で最新の「Eclipse IDE 2020‑06」を入れるといいです。

Eclipse Downloads
http://www.eclipse.org/downloads/

ここから、Pleiadesの奴と同じのを探すのですが、よくわからないので、とりあえず、「Eclipse IDE for Java Developers」ていうのをダウンロードしてみました。

eclipse-java-mars-1-macosx-cocoa-x86_64.tar.gz

展開すると、Eclipse.appができるので、これをSOTA_JAVAという名前のフォルダを作って配置しました。
最終的なフォルダの中身はこんな感じになります。

<img width="171" alt="スクリーンショット 2015-12-05 13.52.07.png" src="https://qiita-image-store.s3.amazonaws.com/0/40994/0ff852f7-a230-e5fc-bd04-934c7b428e5c.png">
※いまは、jsch-0.1.53.jarとかworkspaceはまだないです。

#サンプルソースのダウンロード
つづいて、SOTAのサンプルソースをダウンロードします。

※はじめてマニュアルを見た人は、リンク先が http://www.vstone.co.jp/sota/access_denied.php になっているので、戸惑うと思います。「アクセス失敗のリンクをクリックさせるなんてどうかしてるぜ！」と思うかもしれませんが、説明書のとおりにやったらダウンロードできます。

ダウンロードしたら、展開してSOTA_JAVA配下に、workspaceというフォルダを作っていれておきます。

<img width="274" alt="スクリーンショット 2015-12-08 22.35.57.png" src="https://qiita-image-store.s3.amazonaws.com/0/40994/ea7de898-95da-1364-52d2-d70cf087aa88.png">

※ドット（．）ではじまるファイルやフォルダは、なくても大丈夫です。

#Eclipseの起動
Eclipse.app を起動すると、workspaceの場所を聞かれるので、SOTA_JAVA配下に作ったworkspaceを指定します。

<img width="452" alt="スクリーンショット 2015-12-08 22.38.55.png" src="https://qiita-image-store.s3.amazonaws.com/0/40994/8fdf05cf-6651-ff33-6f5e-2832884ecf68.png">

※チュートリアルには、デフォルト設定の「workspace」と書いてあるけど、ここは自分の環境に合わせてSOTA_JAVA配下にしました。

#Antの設定
ここはまった。

```
com.jcraft.fsch_****.jar
```
をつかうと書いてありますが、そんなファイル聞いたことない・・・
ロボット用の特殊な奴？？？
と思ったら、

```
com.jcraft.jsch_****.jar
```

でした。なんだそれ。

jschのホームページ（http://www.jcraft.com/jsch/）から、最新版をダウンロードします。

今回は、これにしました。
http://sourceforge.net/projects/jsch/files/jsch/0.1.53/jsch-0.1.53.zip/download

展開して、SOTA_JAVAの下に置きます。

<img width="274" alt="スクリーンショット 2015-12-08 22.35.57.png" src="https://qiita-image-store.s3.amazonaws.com/0/40994/b8846db7-35b8-5793-e333-3bed5278b0ed.png">

あとは、チュートリアルを見ながら、Antの設定をしてみましょう！
英語だけどなんとなくやってみたら出来ると思います（てきとう）

#サンプルソースのインポート
展開したサンプルソースをインポートします。

チュートリアルだと圧縮ファイルを指定する感じになってるので、そこだけ注意しましょう。

ちなみに、このサンプルソースですが、フォルダ直下にあるreadme.txtに

```
使用方法の詳細は以下のJavaDocをご確認ください。
doc¥index.html
```

と書いてあるくせに、そんなフォルダないのでなおしてほしいなあ。

そもそもこのテキストファイル自体がUTF-8じゃないっていうのも含めて、もう少しちゃんとした資料を用意して欲しいです。

話はそれたけど、インポートしたら次に進みます。

#プログラムの転送
プログラムの転送は、特に問題なくできました。
次に進みます。

#プログラムの実行

とりあえず、SSHで接続した後、チュートリアルを見て作業をします。

```
$ cd SotaSample/bin
```
早速ですが、エラーになりました。

```
-bash: cd: SotaSample/bin: No such file or directory
```

とりあえず、フォルダ一覧をみてみましょう。

```
$ ls
SotaSample_20151020_1717
```

たぶんこれかな。１個しかないし。

```
$ cd SotaSample_20151020_1717/bin
```

そしたら、チュートリアルにそってやっていきましょう。
Edisonなので、下記を入力します。

```
chmod +x *.sh
```

そのあとは、いよいよプログラムの実行です！

```
./java_run jp/vstone/sotasample/MotionSample
```

とおもったら失敗

```
-bash: ./java_run: No such file or directory
```

とりあえず、フォルダ一覧をみてみましょう。

```
$ ls
java_compile.sh  java_run.sh      jp               sound
```

まあそうだよね。拡張子いるよね！

```
./java_run.sh jp/vstone/sotasample/MotionSample
```

実行したら、無事に動きました！やった！

```
$ ~/SotaSample_20151020_1717/bin# ./java_run.sh jp/vstone/sotasample/MotionSample
java -classpath .:/home/vstone/lib/*:/home/vstone/vstonemagic/* -Dfile.encoding=UTF8 jp/vstone/sotasample/MotionSample
[Info][MotionSample]Start MotionSample
[Info][CRobotSock]Connected server
[Info][CRobotMotion]MasterCtrlPeriod 16667
[Info][MotionSample]Rev. 17
[Info][MotionSample]Servo On
[Info][MotionSample]play:true
[Info][CPlayWave]Play sound/cursor10.wav
[Info][MotionSample]Servo Off
```

ていうかこの章、３行しかないのに２行間違ってるって・・・
でもまあ、動いたからいいか。

とりあえず、これ以降、新しくクラスを追加し、「首をかしげる動作」を行うサンプルソースを作成する方法が書いてあるのですが、それはまだやってない！

# 結局、自作のプログラムを開発する方法は？

これ以降のチュートリアルでは、
・「新しくクラスを追加」して、
・「サンプルソース」を作る
という方法しか書いてありません。

自分でプログラムを作るのであれば、

・「あたらしくプロジェクトを作成」して、
・「新しくクラスを追加」して、
・「オリジナルソース」を作る
という方法が必要だと思います。

そもそも、プログラムの実行はコマンドラインでしかできないのかな？

# おしまい
以上、Macを使ってSOTAの開発ができるか試してみためもでした。

# とりあえず
チュートリアル間違い多すぎだと思った。必要な情報が書いてないし、何をしているのかもわからない。もうすこし、なんとかしてほしいなあ。