RICOH THETA＋FLIRC USBで赤外線リモコンなんでも使えますよ？

この記事は [RICOH THETA Advent Calendar 2020](https://qiita.com/advent-calendar/2020/theta) の14日目の記事です。
このアドベントカレンダーはどなたでも参加できます（コミュニティに入る必要はありません）
まだまだ隙間が開いています、THETAプラグインに限らずRICOH THETAにまつわる色々なことで参加して頂けると嬉しいです！

## はじめに

リコーの @KA-2 です。

弊社では[RICOH THETA](https://theta360.com/ja/)という全周囲360度撮れるカメラを出しています。
<B>RICOH THETA V</B>や<b>RICOH THETA Z1</b>は、OSに<B>Android</B>を採用しています。Androidアプリを作る感覚でTHETAをカスタマイズすることもでき、そのカスタマイズ機能を「プラグイン」と呼んでいます（詳細は本記事の末尾を参照）。

今回は、THETAプラグインなしでも使える「FLIRC USB」という便利道具の紹介です。
この道具をTHETAに取り付けると、ご家庭にある赤外線リモコンでお好きなものを、THETAのリモコンにできます。
さらに、THETAプラグインも併用すると、この道具をもっと使いこなせます。

というわけで、家の中のリモコンを（あるていど）かき集めてみました。どのリモコンでも使えます。皆さんのご家庭でも同様です。お好きなものを自由に選べるのです。
※大きさ比較のためTHETAも撮影してあります。一番右下の小さなものがFLIRC USBです。

![01_リモコン色々.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/265455/85a04ad4-8c5d-119b-6356-3fd3d6989da3.jpeg)


## なんでこんなことをしようと思ったのか？

RICOH THETAには、無線有線を問わず、遠隔操作で撮影トリガーを与える方法が色々とあります。
THETAプラグインなしで使うとしてもこんな感じです。

- スマートフォン基本アプリ(RICOH THETA APIのOSC2.1とBLEのどちらも利用しています)を利用する
- 市販のスマートフォン用 Bluetoothリモコンを利用する<br>（所謂「ダイソーリモコン」が有名です。"音量+"のキーコードを出力するHIDならなんでもOK。）
- RICOHケーブルスイッチ CA-3（USBの信号線を利用し、電気的に少々特殊なことをしています）を利用する
- 市販のUSB端子に接続するHID（有線/ドングル）の中で"音量+"のキーコードを出力できるものを利用する

<b>[RICOH THETA API](https://github.com/ricohapi/theta-api-specs#ricoh-theta-api)</b>として、OSC2.1[HTTP+JSON形式のwebAPIです]、BLE、USB MTPと3種類のAPIが公開されていますので、それらを活用して、PC/タブレット/スマートフォン/ボードコンピュータ/マイコン etcから操ることもできます。

THETAプラグインを活用すると、多岐に渡るので駆け足でザザーっと書き下しますが、

- 映像認識（顔、手、物体、動き、所定のエリアに何かが入る、etc）
- マイク利用[音声認識や音通信]
- 6軸センサ利用[姿勢変化、振動、etc]
- USB Hostのシリアル通信利用
- Bluetooth ClassicのAVRCPやSPP通信利用

と、<b>RICOH THETA APIを使わない手段でも、多様に撮影トリガーを与える手段があります。</b>

こんなに手段はあるけれど・・・たまにご要望を頂くのが。

<b>「無線の遠隔操作で、電波を使わなくて、信頼性が高くレスポンスが速い手段ってないの？例えば赤外線とか。」</b>

ということです。

なんでこういうご要望になるかといいますと、
無線LANやBLEは、イベント会場などで同種の通信を行う機器（来場者のスマホですね）が沢山集まってしまうと使い物にならなかったりします。立地の都合で電波環境が悪い場所もあるようです。特殊なケースでは、水中（といっても近距離）とか、ご利用する機関のルールで無線LANやBLEで通信する機器がNG（どんな機関かはお察しを…）とかも。
映像利用（認識系）、音利用（音声認識）では、信頼性が伴っていないのでしょう。（近超音波通信はまだ利用者が少ないので、かなり有効なのですが知名度がなく… もったいないなぁ）

というわけで、レガシーな手段ほど過酷な環境に強く、レスポンスが速く頼れる手段となりうるわけです。

## FLIRC USBとは？

見た目はこんな感じです。小さなUSBドングル形状の赤外線受信機です。
機器としてはHID（キーボードやマウス等と同じ）になります。

![02_FLIRC_USB.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/265455/fdaaf39a-8d57-4fd7-4507-20f794521814.jpeg)


・任意の赤外線信号を記憶できる
・記憶した赤外線信号を受信したときに、ホストに通知するキーコードを設定できる

こんな特徴があります。

製品情報（英語です）は、<b>[こちら](https://flirc.tv/more/flirc-usb)</b> です。
FLIRC USB設定用のPCアプリは、<b>[こちら](https://flirc.tv/support/flirc-usb)</b> です。

日本で購入する場合には、<b>[スイッチサイエンスさん](https://www.switch-science.com/catalog/6519/)</b>で取り扱っています。
他でも探せば取り扱いはありそうです。
[Amazon](https://www.amazon.co.jp/%E3%83%95%E3%83%A9%E3%83%BC%E3%82%AF-FLIRC-%E7%AC%AC2%E4%B8%96%E4%BB%A3-%E3%83%A6%E3%83%8B%E3%83%90%E3%83%BC%E3%82%B5%E3%83%AB%E3%83%AA%E3%83%A2%E3%83%BC%E3%83%88%E3%82%B3%E3%83%B3%E3%83%88%E3%83%AD%E3%83%BC%E3%83%AB%E3%83%AC%E3%82%B7%E3%83%BC%E3%83%90%E3%83%BC-%E3%83%A1%E3%83%87%E3%82%A3%E3%82%A2%E3%82%BB%E3%83%B3%E3%82%BF%E3%83%BC%E3%81%8A%E3%82%88%E3%81%B3%E3%82%BB%E3%83%83%E3%83%88%E3%83%88%E3%83%83%E3%83%97%E3%83%9C%E3%83%83%E3%82%AF%E3%82%B9%E7%94%A8/dp/B01NBRBWS6)でも買えたのですが、この記事を執筆時点では在庫切れが長めに続いているようです。


### 使い方
大雑把な使い方としては

1. PCにFLIRC USBを刺し、FLIRC USBの設定をする（純正のPCソフトで簡単にできます）
2. 設定が終わったFLIRC USBをTHETAに取り付けて使う

これだけです。

THETAに取り付けるときのUSBホストアダプタは、ケーブル状のものも含め色々とありますが、以下のような小型のものが良いと思います。

![03_USBホストアダプター.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/265455/bf794202-136f-058d-53ff-f25206f04164.jpeg)


遠隔操作ですので三脚や自立一脚（モノポッド）に固定する場合には、<b>[エクステンションアダプター TE-1](https://ricohimagingstore.com/thetaextention-tm-1-s6910710.html)</b>もあるとスッキリと収まります。

![04_利用状態.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/265455/4c2fc695-d0b1-ac28-4611-05fa37c5c75f.jpeg)


# 家にあるリモコンを持ち歩きたくないんだけど？

はい、ですよねー
ダイソーで300円くらいで以下のようなものも販売されています。リモコンだけ活用しましょう。

![05_ダイソー.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/265455/bf9dfd3f-5652-c727-73b9-282222ace20c.jpeg)

スイッチサイエンスでも500円台で[こんなリモコン](https://www.switch-science.com/catalog/5507/)も販売しています。ダイソーのものと同じくらいの大きさ。

![06_スイッチサイエンス.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/265455/2f288e06-87e8-6b0a-5201-e527f61b5876.jpeg)


あとは、PENTAXブランドでもっと小さいサイズ感のカメラ用リモコンもあります。
写真の一番右側のモノですが、前述のリモコンと比較して圧倒的に小さいです。
[O-RC1](http://www.ricoh-imaging.co.jp/japan/products/accessory/index35_remote.html)という防水の製品です。

![07_ORC1など.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/265455/a0591b5f-51bf-a73f-eadb-0cca612c713e.jpeg)


とにかく、他にも色々使えますので、<b>中古カメラ屋さんのジャンクコーナーで、他メーカーの古いカメラ用赤外線リモコンを漁る</b>と数十円～数百円で具合が良いものが見つかることもあります。
こういうのって、探すのが楽しくなります。

## THETAプラグインなしで使う

FLIRC USB設定用 PCアプリの使い方説明になります。
任意のリモコンのボタン１個を、"音量+" のキーコードに割り付ける手順です。
あとはTHETAに刺したら直ぐに認識されて、ボタンおしたら撮影できちゃいますのでここだけ抑えておけばOKです。


まず、前述のリンクから取得してインストールしてください。簡単におわりますので説明は割愛します。
FLIRC USB設定用のPCアプリを起動するとこんな感じです。

![08_設定ソフト.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/265455/2ff7ad52-7fc9-f5ef-3ff9-5cca28f4b98b.jpeg)

続いてFLIRC USBをPCに刺します。画面左上のステータスが変わります。
![09_FLIRC_USB刺す.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/265455/f6b85638-bbce-9f72-6e12-23fd8b554eae.jpeg)

メニューから「Controllers」→「Media Keys」を選びます。

![10_MediaKeys.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/265455/5e81de39-1838-217c-e90f-a9617dae1cc6.jpeg)

すると以下の画面になります。

![11_MediaKeys設定画面.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/265455/d6b917ca-1ae0-37bc-226d-e7c3a25bc5e3.jpeg)

一番上の "３つボタンが並んだ行" の一番右が「音量+」を表しています。
このボタンを１回クリックすると、画面下段の表示が以下のように変わりますので、

![12_信号受信待ち.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/265455/22568daf-9e9d-7e4a-4bd7-a6206ecf342c.jpeg)

赤外線リモコンのレリーズしたいボタンを押してください。
正常に受信すると、画面下段の表示が以下のように変わります。

![13_ペアリング成功.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/265455/d809fa9b-bd93-b040-bae3-a50bc109c188.jpeg)

以上でセッティング完了です。
設定アプリを終了してFLIRC USBを抜いて大丈夫です。
そのまま、ペアリングをした赤外線リモコンのボタンを押すと、PCの音量が上げられることにもお気づきかと思います。

設定を改めてやり直すときには
FLIRC USBをPCに刺したところで、「File」→「Clear configration」をしてから上記手順を実施してください。

![14_設定クリア.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/265455/80a1c3ef-b219-4727-6417-734837b0a1eb.jpeg)


## THETAプラグインと組み合わせて使う

なんやかんやで、FLIRC USB は HID なわけですよ。
キーコードを色々とカスタマイズできるHIDなんです。
FLRC USBの設定画面には、以下のようなフルキーボードもございます。（他も色々あります）
前述の手順を繰り返し行えば、いろいろなキーコードを赤外線でTHETAに送り付けられるようにできます！

![15_フルキーボード.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/265455/1a7bcd3c-fd9f-c9f5-e510-3020c346f0c9.jpeg)

あとは、すでにストア公開をしている <b>[HID Remote](https://pluginstore.theta360.com/plugins/skunkworks.hid/)というプラグイン</b>をつかえばいい。
（少々余談となりますが、このプラグイン、そのままでBluetooth のHIDも使えちゃいますからね。ペアリングはTHETA純正のリモコン機能側が勝手にやっといてくれるので、プラグイン側はキーコードを拾うだけなんです。）

そして、このプラグインが好みに合わないならプラグインを自作してください。
以下Qiita記事に作り方がまとまってます！
<b>【[多様な入力デバイス(HID)からTHETAを操れるようにする](https://qiita.com/KA-2/items/e847c780cc0fee187f89)】</b>

とはいえ、「HID Remote」はだいぶ前にリリースしたので以下のアップデートしたいと思います。

- Z1で利用したときにプラグイン名を表示します（Z1発売前に公開したのでOLEDのケアをしていませんでした）
- 音声の日英対応（ついでに音質がよくなります）

（なんとか年内に間に合うかな・・・年明けか？）

## まとめ

FLIRC USBって、なんどか紹介した[arduino ProMicroをベース](https://qiita.com/KA-2/items/e847c780cc0fee187f89#%E8%87%AA%E4%BD%9C%E3%82%AD%E3%83%BC%E3%83%9C%E3%83%BC%E3%83%89aruduino-promicroleonardo)に赤外線リモコン受光部をつけると自作できたりもするのですが。
FLIRC USBほどコンパクトにカッコよく自作するのは困難なので、既製品があると便利です。
ぜひとも、ご活用いただければと思います。

自分に合った赤外線リモコン探し（ジャンク漁り=たぶんハードオフとかでもゴロゴロありそう）もまた楽しいものですので、こんなものも活用して、「自分THETA」をどんどん構築していってください！


## RICOH THETAプラグインパートナープログラムについて

THETAプラグインをご存じない方は[こちら](https://github.com/ricohapi/theta-api-specs/blob/main/core/products/theta-plugin.md)をご覧ください。
パートナープログラムへの登録方法は[こちら](https://qiita.com/mShiiina/items/55d98f366e650ca42251)にもまとめてあります。
Qiitaの[RICOH THETAプラグイン開発者コミュニティ TOPページ「About」](https://qiita.com/organizations/theta-plugin)に便利な記事リンク集もあります。
興味を持たれた方は[Twitter](https://twitter.com/thetaplugin)のフォローと[THETAプラグイン開発者コミュニティ(Slack)](https://join.slack.com/t/thetadeveloper/shared_invite/enQtNzcxODI2MTk2ODg0LWY5YmU2ZTIxNGYwNzlmNWZjMWMyMWFlMzY3ZmQ3NGU3ZjZiZjI0Njk4MGIxMDU5NDJiMzQ4Y2FkNDEzYmFlNGU)への参加もよろしくおねがいします｡