ブラック研究室へようこそ!

大企業を退職して個人事業主になった日常、ブラック研究室のエピソード、Web/アプリ開発の備忘録など。

【IT備忘録】THETA V(360度カメラ)でVRアプリ製作 その3〜ブラウザからTHETAを制御〜

f:id:blackLab:20180424164507p:plain

 前回、上図のイメージで、外出先からブラウザでRICOH THETA Vを制御することに成功したので、PHPのソースをgitにアップしてみました。

 

前回:【IT備忘録】THETA V(360度カメラ)でVRアプリ製作 その2〜THETAの無線LANクライアントモード〜 

 

gitです!

 以下、アップしてます。いろいろ細かい制御を入れてしまっていて、ちょっと複雑にはなってしまっていますが・・・

github.com

 

まえおき

 ・VPSとかレンタルサーバにソースを置いて、どこからでも制御できるようにする前提でやっています。

 

・公式のTHETAのWeb APIに基いて叩いています。

    API Reference · v2.1 · API & SDK | RICOH THETA Developers

 

・前回の通り、THETAの「無線LANクライアントモード」を使っています。

 

f:id:blackLab:20180430180248j:plain

ご覧の通り、Wi-fiランプが緑色になっている状態ですね。

 

機能紹介

トップページ(index.php)

これは、/osc/infoへGETを投げているので、カメラ情報が返ってきてます。

サイトのデザインは、やっぱりBootstrapを使うと楽ですね〜。

f:id:blackLab:20180430180626p:plain

 

THETAの中のファイル一覧(file_list.php)

おお、ちゃんと撮った画像/動画が一覧(サムネ付き)で出るようになりました。

サムネをクリックすれば、DLできます。

また、APIから動画を天頂補正するように命令を出すことにも成功しましたよ!

f:id:blackLab:20180430181100p:plain

 

撮影制御(control.php)

このページのリンクから、撮影開始/終了の命令が出せます。

ただ、あらかじめ、本体のハードボタンを押して「静止画モード」にしていると、静止画のみしか撮れず。

逆も然り、「動画モード」にしていると、動画しか撮れない、という仕様になっていますね。

APIからモード切り替えができれば良いんですが…。

f:id:blackLab:20180430181459p:plain

 

補足

core/function.phpに、接続先のIPアドレスをパラメータとしてセットする形になっています。

あと、POST/GETの関数もここに置いています。

 

※接続先のIPアドレスですが、同じホームネットワーク内にいる時は、THETAのプライベートIP(192.168.XX.XX)にアクセス、

外出先にいる時は、ホームネットワークのグローバルIP(BBB.BBB.BBB.BBB)にアクセスしなければいけないので、そちらもフラグで切り替えできるようにしています。

 

こんな感じでいかがでしょうか!

では、また!