とのさまラボ
sota

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

More than 3 years have passed since last update.


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を入れましょう。

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という名前のフォルダを作って配置しました。

最終的なフォルダの中身はこんな感じになります。

スクリーンショット 2015-12-05 13.52.07.png

※いまは、jsch-0.1.53.jarとかworkspaceはまだないです。


サンプルソースのダウンロード

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

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

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

スクリーンショット 2015-12-08 22.35.57.png

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


Eclipseの起動

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

スクリーンショット 2015-12-08 22.38.55.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の下に置きます。

スクリーンショット 2015-12-08 22.35.57.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

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

$ 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

ていうかこの章、3行しかないのに2行間違ってるって・・・

でもまあ、動いたからいいか。

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


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

これ以降のチュートリアルでは、

・「新しくクラスを追加」して、

・「サンプルソース」を作る

という方法しか書いてありません。

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

・「あたらしくプロジェクトを作成」して、

・「新しくクラスを追加」して、

・「オリジナルソース」を作る

という方法が必要だと思います。

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


おしまい

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


とりあえず

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