[[Sota]]

#navi

*サブページ [#n36c8d07]
#navi

-------------------------------------
#contents
-------------------------------------

Edison版に音が同時に再生できない問題が有ります。
もしかしたらRaspberryPi版もあるかもしれません。

dmixを導入したらいいらしいですが、まだ試せてません。

*起動 [#n558b645]
※Windowsでの手順を説明します。

・CP210xブリッジドライバをインストール
 http://jp.silabs.com/products/mcu/Pages/USBtoUARTBridgeVCPDrivers.aspx

・USBMicroBをPCと接続
・デバイスマネージャで「Silicon Labs CP210x USB to UART」のCOM番号を確認
・Terminalソフト(Putty、Teratermなど)で上記COM番号で接続する。
 ボーレート:115200、バリティー:無し、ストップビット:1、フロー制御:なし

※以降、RaspberryPi版 取扱説明書参照
・電源ケーブルを接続
・電源ボタンを押し、ボタンが緑に光り、電源が入っていることを確認

* ログイン [#r7ac231c]
 User:root
 Password:edison00

・SotaSample****がJavaのサンプルソースです。


* パッケージマネージャの設定 [#l4d69fcc]
[[Sota/IntelEdsion版/opkg]]


* インストーラ作成について [#t7cb2fb5]
・Oracleからjdk-8u40-linux-i586.tar.gzをダウンロードして.debにいれる。
それか以下でダウンロードさせる
 wget --no-check-certificate --no-cookies - --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u40-b25/jdk-8u40-linux-i586.tar.gz

解凍
 root@edison:~# tar zxvf jdk-8u40-linux-i586.tar.gz

.debに含める
添付append_bashprofile.plもあとで消す用に /home/vstone/tmp 等誰も命名しそうにない名前のディレクトリを作り入れておく
vsmd_eも。

* インストール手順 [#v9a092b1]

解凍。先に解答して.debでインストールでも可。
 tar zxvf jdk-8u40-linux-i586.tar.gz

あったらコピー出来ないから、一度削除して解答したディレクトリをコピー
 mkdir /usr/local
 mkdir /usr/local/java

 mv jdk1.8.0_40 /usr/local/java/jdk1.8.0_40/

パスを通す
 perl append_bashprofile.pl /etc/profile "export PATH=$PATH:/usr/local/java/jdk1.8.0_40/bin"

vsmdをインストール
 /home/vstone/vstonemagic/vsmd_e

vsmdをログイン時に実行するように設定
以下を.shで実行。

 if [ -e /etc/rc.local ]; then
     # exist
 perl -i -p -e 's/exit 0/ /g;' /etc/rc.local
 perl append_bashprofile.pl /etc/rc.local "/home/vstone/vstonemagic/vsmd_e >/dev/null &"
 perl append_bashprofile.pl /etc/rc.local "exit 0"
 else
     # not exist
 perl append_bashprofile.pl /etc/rc.local "#!/bin/sh -e"
 perl append_bashprofile.pl /etc/rc.local "/home/vstone/vstonemagic/vsmd_e >/dev/null &"
 perl append_bashprofile.pl /etc/rc.local "exit 0"
 fi

 chown root /etc/rc.local
 chmod 755 /etc/rc.local

・vsmdを起動しておく
/home/vstone/vstonemagic/vsmd_e >/dev/null &


* Opencv 苦悩の道 [#y4230552]
画像キャプチャ
http://webcam-capture.sarxos.pl/
 java -classpath ../libs 
 javac -encoding utf-8 -classpath .:/home/root/SotaSample_prot/libs/webcam-capture-0.3.10.jar:/home/root/SotaSample_prot/libs/bridj-0.6.2.jar:/home/root/SotaSample_prot/libs/slf4j-api-1.7.2.jar  
 java -classpath .:/home/root/SotaSample_prot/libs/webcam-capture-0.3.10.jar:/home/root/SotaSample_prot/libs/bridj-0.6.2.jar:/home/root/SotaSample_prot/libs/slf4j-api-1.7.2.jar  

* JMF [#rb20020f]
インストール
http://d.hatena.ne.jp/kambara/20081231/1230672145

 export JMFHOME=/home/vstone/JMF-2.1.1e
 export CLASSPATH=.:$JMFHOME/lib/jmf.jar:${CLASSPATH}
 export LD_LIBRARY_PATH=$JMFHOME/lib:${LD_LIBRARY_PATH}

https://github.com/drejkim/edi-cam

 JMFでは画像取れんかった。
 libv4lとかを入れてなかったからかもしれない。 
 入れればできるかもしれない。


* ffmpeg [#t55ef324]
http://johnvansickle.com/ffmpeg/
 wget http://johnvansickle.com/ffmpeg/builds/ffmpeg-git-32bit-static.tar.xz
 tar Jxvf ffmpeg-git-32bit-static.tar.xz

staticなので、必要であればパスを通す

#静止画撮影
 ./ffmpeg -f video4linux2 -s 2592x1944 -i /dev/video0 -vframes 1 ./test5.jpg
 ./ffmpeg -f video4linux2 -s 2592x1944 -i /dev/video0 -vframes 1 ./test5.jpg

 javac -classpath :/home/vstone/javacv/javacv-bin/javacv.jar:/home/vstone/javacv/javacv-bin/javacpp.jar:/home/vstone/javacv/javacv-bin/opencv-linux-x86.jar

* Javaコンパイル、実行 [#ed6324df]
#.shでコンパイルする
 CLASSPATH=:/home/vstone/vstonemagic/sotalib.jar
 CLASSPATH==$CLASSPATH:/home/vstone/javacv/javacv-bin/javacv.jar
 CLASSPATH=$CLASSPATH:/home/vstone/javacv/javacv-bin/javacpp.jar
 CLASSPATH=$CLASSPATH:/home/vstone/javacv/javacv-bin/javacv-linux-x86_64.jar
 CLASSPATH=$CLASSPATH:/home/vstone/javacv/javacv-cppjars/opencv-2.4.8-linux-x86_64.jar
 CLASSPATH=$CLASSPATH:/home/vstone/JMF-2.1.1e/lib/jmf.jar
 export CLASSPATH
 export LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so
 javac -encoding utf-8 jp/vstone/opencv/COpenCVTest.java


#引数のクラスを、jarをclasspathを与えて実行
 CLASSPATH=:/home/vstone/vstonemagic/sotalib.jar
 CLASSPATH==$CLASSPATH:/home/vstone/javacv/javacv-bin/javacv.jar
 CLASSPATH=$CLASSPATH:/home/vstone/javacv/javacv-bin/javacpp.jar
 CLASSPATH=$CLASSPATH:/home/vstone/javacv/javacv-bin/javacv-linux-x86_64.jar
 CLASSPATH=$CLASSPATH:/home/vstone/javacv/javacv-cppjars/opencv-2.4.8-linux-x86_64.jar
 CLASSPATH=$CLASSPATH:/home/vstone/JMF-2.1.1e/lib/jmf.jar
 export CLASSPATH
 export LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so
 java $1



* OpenCVできた。 [#de484627]
#パッケージマネージャの設定
 vi /etc/opkg/base-feeds.conf

以下を追記
 src/gz all http://repo.opkg.net/edison/repo/all
 src/gz edison http://repo.opkg.net/edison/repo/edison
 src/gz core2-32 http://repo.opkg.net/edison/repo/core2-32


#Intelリポジトリの登録
 vi /etc/opkg/intel-iotdk.conf

以下を追記
 src intel-iotdk http://iotdk.intel.com/repos/1.1/intelgalactic
 src intel-all http://iotdk.intel.com/repos/1.1/iotdk/all
 src intel-i586 http://iotdk.intel.com/repos/1.1/iotdk/i586
 src intel-x86 http://iotdk.intel.com/repos/1.1/iotdk/x86

#パッケージリストのアップデート
 opkg update

#OpenCV環境を作る
 opkg install libv4l
 opkg install libv4l-dev
 opkg install opencv

v4l2が入っていないかも。その場合python-opencvとかを入れてみる
 opkg install python-opencv
  
javaCV-0.7入れる
https://javacv.googlecode.com/files/javacv-0.7-bin.zip
https://javacv.googlecode.com/files/javacv-0.7-cppjars.zip

※wgetでダウンロード出来ないかも。ホストPCで落としてSCPで転送?
/home/vstone/javacvに入れて解凍

Eclipseで使う場合、ホストPCでも解凍する

#添付サンプルをSCP転送。unzipで解凍。

#Eclipseを使うならホストPCで解凍、ワークスペースにプロジェクトをインポート
Windowsならsend2Edison.cmdを右クリックし、[Open With]->[Default Editer] を選択すると.cmd内で指定したディレクトリににbinディレクトリが転送される。
上記を1度行うと、以降ダブルクリックで実行可。

以下を外部Jarまたはプロジェクトにjavacvごとコピーしてパスを通す
 javacv-bin/javacv.jar
 javacv-bin/javacpp.jar
 javacv-bin/javacv-linux-x86.jar
 javacv-cppjars/opencv-2.4.8-linux-x86_64.jar

#解凍した場合src、Eclipseを使う場合binディレクトリに移動
#シェルスクリプトに実行権限を与える
 chmod +x java_compile.sh
 chmod +x java_run.sh
※binにはjava_compile.shはない。

#コンパイル
 ./java_compil.sh jp/vstone/sample/FeceDetect
コンパイルエラーの場合、javacvのファイルパスがあっているか確認する。

#実行
 ./java_run.sh jp/vstone/sample/FeceDetect
実行エラーの場合、vsmdの起動有無、opkgでインストールしたopencvパッケージが正しく入っているか確認する

jp/vstone/sample/StillImageを実行すると画像ファイルができるのでTeratermなどのSCPで転送
 /home/rootjavacvsample/bin/testimg.png


* USBデバイスの詳細確認 [#o6f57305]
 lsusb
上記の出力結果にBusとDeviceの値が表示されています。
その値を設定すると詳細な情報を見ることができます。

 lsusb -s [bus]:[dev] -v
以下に2つの実行結果を記します。

e.g.
 lsusb -s 001:002 -v


* IPアドレス確認 [#m8280961]
 cd $VSM_HOME
 perl /home/vstone/vstonemagic/ipvoice/getipv4_wlan.pl

* 一括Chmod [#pbc3e7ee]
 find ./ -name "*.sh" -type f -exec chmod +x {} \;