RICOH THETA V の Person Detection & Counting プラグインを使って IFTTT Webhook から Node-RED にデータを送るメモ

RICOH THETA Vの Person Detection & Counting プラグインを使って IFTTT Webhook から Node-RED にデータを送るメモです。

2020/11/3 の状況で進めます。

RICOH THETA V 購入

image

ふとした雑談で人数カウントの話をしていたところ 「RICOH THETAプラグインストア」に新たな公式プラグイン「Person Detection & Counting」を公開 という株式会社リコーさんのプレスリリースを発見しまして RICOH THETA V を購入しました。

それ以外にも、 HoloLens 2 や Web VR に触れていると空間を切り取るという意味でも、いろいろと考えるところがあるので、使ってみたいデバイスだったので良い機会です。

PC用基本アプリケーション「RICOH THETA」インストール

image

RICOH THETAのダウンロードページ からPC用基本アプリケーション「RICOH THETA」をセットアップしておきましょう。

image

私は Windows 10 で行いました。セットアップファイルをダウンロードしてインストールします。

image

インストール中・・・

image

無事インストールされました。

さっそくプラグインインストール

image

プラグインでさらに便利に、使いやすく。自分だけのTHETAに進化させよう! | RICOH THETA

こちらのページの下部にプラグインのインストール方法が書かれています。

image

PCに RICOH THETA V を接続します。

image

Person Detection & Counting のページに行ってインストールボタンをクリックします。

image

プラグインをインストールをクリックします。

image

Chromeでこのような画面がでてくるので、 RICOH THETA を開くボタンをクリック。

image

プラグインインストールがはじまります。

image

インストールが完了しました。

プラグインの設定

IFTTTのアカウントは取得している前提で進めます。

image

Person Detection & Counting のページに、persondetectionandcounting_ja.pdf という説明書があるのでこれに従って進めます。(今後もバージョンが上がったりドキュメントの置き場所変わったりしそうなので、これくらいの案内にしておきます)

まずは説明書通りスプレッドシート連携を試しましょう

image

設定を進めていくと、このように IFTTT の Webhook 設定を THETA アプリケーションの方に写し取って IFTTT 連携を行うことになりますがうまく設定できないことがあり、まずは説明書のおすすめどおりスプレッドシート連携を試しましょう。

image

私もこのように設定して進めました。

image

設定を成功させ、ちゃんとデータが来ることを確認します。

余談: Webhook → Webhook IFTTT 連携をいきなり試して 400 エラーが出たり試行錯誤をした

image

2020/11/3 現在、persondetectionandcounting_ja.pdf には、このように様々なエラーコードの説明も書いてあります。

image

ここに書かれているエラーはよく読めばエラー内容が分かりので解決できるはずです。

image

私はWebhook → Webhook IFTTT 連携をいきなり試して 400 が出てしまいました。これは例外中の例外(401エラーだと本当にキーが間違っています)。

入力したキーは間違っていなかったのですが、この場合は前述のスプレッドシート連携を丁寧に試したところ、設定が通ったのか、うまくいくようになりました。(このあたり再現性が悪いのですが、とにかく、公式が推奨している Twitter か スプレッドシート の連携のどちらかを先に試すことをおススメします)

Node-RED につなげる IFTTT 設定を作る

image

さて、Node-RED につなげる IFTTT 設定を作り、RICOH THETA Vから Node-RED へデータが流れるようにします。

image

Webhook → Webhook IFTTT 連携を作ります。

image

このような設定で対応しました。ごくごくシンプルなつくりです。value1 が人数、 value2 が撮影した日時が入っています。

Node-RED の設定

Node-RED はこのようなフローを作ります。 IFTTT から受け取るためにも、どこかの公開されたサーバーで動いている Node-RED を使いましょう。

image

GETリクエストを受け取る http in ノードと http response ノードで構成されています。 msg.req.body と書かれている debug ノードできたJSONデータを受け取ります。

インポートできるフローはこちらです。

[{"id":"7081031d.1bae2c","type":"http in","z":"1fc2cb56.eec965","name":"","url":"/theta","method":"get","upload":false,"swaggerDoc":"","x":140,"y":180,"wires":[["e1414b3c.453ae8","fd34993.89bfb68"]]},{"id":"fd34993.89bfb68","type":"debug","z":"1fc2cb56.eec965","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"req.body","targetType":"msg","x":390,"y":120,"wires":[]},{"id":"e1414b3c.453ae8","type":"http response","z":"1fc2cb56.eec965","name":"","statusCode":"","headers":{},"x":370,"y":180,"wires":[]}]

こちらをデプロイしたら準備完了です。

実際に送ってみる

image

早速、 RICOH THETA V 側から撮影ボタンをクリックして送ってみましょう。プラグインの設定は一通り済ませて、プラグインモードにして、外部にデータが送れるように無線 LAN クライアントモードになっている前提で進めます。

image

サイドバーのデバッグタブに、IFTTTで設定したデータが送られてきました!