プログラムを書いても良かったのですが、とりあえず動作確認のためスクリプトのみの変更です。動いてそうです。
変えたのは theta_remote.sh で
68c68,71
< /tmp/www/ftp/sda1/theta/theta_proc.sh $theta_ip $theta_port $trigger_port&
---
> #/tmp/www/ftp/sda1/theta/theta_proc.sh $theta_ip $theta_port $trigger_port&
>
> sed="/tmp/www/ftp/sda1/theta/busybox-mips sed"
> execute="http://192.168.1.1/osc/commands/execute"
81c84,87
< /tmp/www/ftp/sda1/theta/ThetaShutterTrig $trigger_port 0
---
> # /tmp/www/ftp/sda1/theta/ThetaShutterTrig $trigger_port 0
> sid=`$wget $execute --post-data='{"name":"camera.startSession"}'| $sed -e "s/^.*\"sessionId\":\"\([^\"]*\)\".*$/\1/"`
> $wget $execute --post-data="{\"name\":\"camera.takePicture\",\"parameters\":{\"sessionId\":\"${sid}\"}}"
> $wget $execute --post-data="{\"name\":\"camera.closeSession\",\"parameters\":{\"sessionId\":\"${sid}\"}}"
84,91c90,97
< /tmp/www/ftp/sda1/theta/sleepms 500
< read trig < $trigger_gpio
< if test ${trig} -eq 0
< then
< # bracket shutter
< /tmp/www/ftp/sda1/theta/ThetaShutterTrig $trigger_port 2000
< /tmp/www/ftp/sda1/theta/ThetaShutterTrig $trigger_port -2000
< fi
---
> # /tmp/www/ftp/sda1/theta/sleepms 500
> # read trig < $trigger_gpio
> # if test ${trig} -eq 0
> # then
> # # bracket shutter
> # /tmp/www/ftp/sda1/theta/ThetaShutterTrig $trigger_port 2000
> # /tmp/www/ftp/sda1/theta/ThetaShutterTrig $trigger_port -2000
> # fi
突然のコメント失礼いたします。
ReplyDelete私もTHETA Sを所有していて、同じサイトを参照してリモコン作成を試みたのですが、結果できなかったのであきらめていたところ、この記事を検索で発見、さっそく試させていただきました。
結果、私のTHETA Sでも動作しました。本当にありがとうございます。
ちなみにTHETA S本体のバージョンはまだアップデートしていないので、01.11のままです。
シェルスクリプトは私も少しだけわかるのですが、書き換えるまでの知識が無くて断念しかけていました。助かりました。
ありがとうございました。
私も拙い内容ですが、ブログを書いていまして、そちらでも記事として書かせていただいてもよろしいでしょうか?
http://shinjiman0101-digital.net/blog/
はい、ご自由に記事として書いていただいてOKです。
Delete私の方はこれを作った後、Wi-Fiの接続に時間がかかるので、https://github.com/katsuya-san/ESP8266-THETA-S-SimpleRemoteControler を参考にしてリモコンを作成しました。
有用な情報公開ありがとうございます。Theta Sの写真撮影はできるようになりました。ただし、Videoモードでの撮影start/stopはできませんでした。Theta SのSDKをみても、Videoも静止画も関係なくcamera.takePictureでコントロールしているようですが、何故、このスクリプトでvideoのstart/stopができないか、判りますでしょうか?
ReplyDeleteAPI リファレンスを読むと書いてありますが動画は動画モードにしてから
Deletecamera._startCapture
camera._stopCapture
ですね。静止画モードだとこれでインターバル撮影の開始と終了になります。スクリプトをそのように書き換えれば動画もできるようになると思いますよ。