ラズパイでRICOH THETAをUSBから操作するメモ

本サイトはアフィリエイト広告を利用しています。
ラズベリーパイ(raspberry pi)

360度カメラのRICOH THETAを入手したので、ラズパイから操作してみました。

GithubにあるライブラリでUSBから簡単に操作できます。

インストール方法から実行例含めて紹介します。

 

スポンサーリンク

ラズパイでRICOH THETAをUSBから操作するメモ

古いタイプですが、360度カメラのRICOH THETA Vを入手しました。

まずは基本的な操作方法を勉強するために、ラズパイ経由で触ってみました。

メモレベルですが、忘備録として残しておきます。

 

RICOH THETA V

ちょっとした諸事象で360度カメラが欲しくなり、(中古ですが)入手しました。

RICOHのTHETA Vです。

決めた理由は色々なAPI・ライブラリが公開されていて、色々遊べそうだったためです。

 

本来は最新のTHETA Xが欲しかったのですが、10万以上するので購入を諦めました。

ただ今回紹介する手順は基本的なカメラ操作のため、THETA Xでも対応可能だと思います。

 

GitHubなどの手順をテストしただけ。

今回の手順は主に下記GitHubを参考にさせていただきました。

この場を借りてお礼申し上げます。

 https://github.com/codetricity/libptp2-theta

また下記の京都大学のpdfも参考になりました。(2016年と若干古かったですが…)

 http://www.cc.kyoto-su.ac.jp/~kano/pdf/course/SP5.pdf

 

両方でmakeしてインストール試してみましたが、どちらとも動きました。

前者のGitHubの方が最近書かれていて、最新のTHETAを考慮されていました。

書いている方を見ると、RICOH公式のYoutube動画をアップしている人のようです。

 

RICOH公式のUSB手順は若干古かった

RICOH公式のGitHubを参照する方は下記をお願いします。

 https://github.com/ricohapi/awesome-theta

(ただUSBに関してはライブラリが古いままのが多く、手順が分かりづらかった…)

 

実施している内容は前述しているGitHubと変わりません。また公式のYoutubeもありました。

 https://youtu.be/2MmEuWz3xeo

動画だと古いVerのlibusbなどが必要な手順で、特に無理して真似する必要はないと思います。

 

libusbがベース

今回はTHETAをUSBから操作します。

USBデバイスをC言語で使える「libusb」をベースにされていました。

 https://github.com/libusb/libusb

 

libuvc

「libuvc」のライブラリを使った操作例も公式から紹介されていました。

 https://github.com/libuvc/libuvc

libuvcのGitHubの記載を見ても、下記libusbがベースということ。

libuvc is a cross-platform library for USB video devices, built atop libusb

 

ptpcam

今回主にテスト実行したのは「ptpcam」というライブラリです。

 https://github.com/leirf/libptp

こちらのptpcamも使うにはlibusbが必要ということ

Currently this package requires libusb to build ptpcam.

 

 

ラズパイにTHETAを動かすライブラリを入れてみる

ラズパイに360度カメラのTHETAを接続して、ライブラリをインストールしていきます。

使用したラズパイの環境はOSをインストールし終わった、デフォルト状態です。

 

ラズパイのOSは64bit版

使用したラズパイ4のOSは64bit版です。

 

ラズパイにTHETAを接続

ラズパイにTHETAを接続します。

dmesgでログを見ると、問題なく接続できました。

 

特に何もしなくともファイルマネージャーが開き、保存していた画像ファイルが確認できます。

 

ライブラリをmake・インストールする

先述した下記GitHubとPDFの手順を真似て、make・インストールしました。

 https://github.com/codetricity/libptp2-theta

 http://www.cc.kyoto-su.ac.jp/~kano/pdf/course/SP5.pdf

 

GithHubの方にも記載されていましたが、一回目のmakeでは上手くいかず。

「autoreconf -i」以降を進めると、無事インストールまで出来ました。

 

ラズパイからUSB経由でTHETAを動かす

ラズパイに360度カメラのTHETAを接続すると自動的にマウント(mount)します。

この状態で操作しようとすると、セッションが開けないとエラーが出ます。

 

THETAをunmountする

今回は簡単にファイルマネージャーからunmountします。

右クリックで「Unmount Volume」で対応します。

unmount後はUSBからTHETAを制御できるようになります。

 

ptpcam(theta)でカメラ情報を読み取る

今回参考にしたGitHubだと「theta」というコマンドが使えます。

名前が異なるだけで、実際にはptpcamを実行しています。

(ちなみにPDFの手順に沿ってインストールしたらptpcamとなります)

 

ヘルプを確認したかったら「theta -h」です。

 

カメラ(デバイス)情報を読み取りしたい場合は、「theta -i」です

 

省エネモードからwakeup→撮影まで

GitHubに記載されている手順そのままですが、撮影まで流れを試してみます。

まずはTHETAを省エネモードからWakeUP。カメラのLEDランプが青色に点灯します。

 

カメラ撮影モードにします。カメラマークが青く光ります。

 

あとは撮影(キャプチャ)するだけです。

 

RICOHのUSB-APIのリストを見れば、他にも色々自由にモードなど含めて設定できます。

 https://github.com/ricohapi/theta-api-specs/blob/main/theta-usb-api/README.md

 

ファイルリストを確認・保存

THETAに保存されているファイルを「theta -L」で確認できます。

 

ファイルを指定(もしくは全てに)して、ラズパイに保存できます。

「theta --get-file=HANDLE」「theta --get-all-files」

カレントディレクトリにTHETAから転送されます。

 

ラズパイ上で開くと、問題なく360度カメラの画像が確認できます。

(下記は例です。近くの川沿いの道を撮影したもの)

 

まとめ

360度カメラのRICOH THETAを入手したので、ラズパイから操作してみました。

GithubにあるライブラリでUSBから簡単に操作できます。

もしラズパイで360度カメラを操作してみたいという方は参考にしてみてください。

 

コメント