Ring ZEROのOpen URIアクションで遊んでみる

PILOTにRing ZEROがやってきたので、早速遊んでみました!

Ring 開発者向けページにOpen URIというアクションを使ったサンプルがあったので、これを参考にしてみます。

Open URIでできること

ジェスチャーを完了すると HTTP GET/POSTで送信します。
WEBプログラミングでよく使われている HTTP方式を使うことで、様々なWEBサービスとの連携や他の ハードウェアとの接続を行う事が可能です。

開発者向けページに書かれている通り、HTTPでの通信のみが行えるようです。

Open URIの設定

ジェスチャの作成

RingのアプリのAdd New Actionを押すと、DEVELOPERの中にOpen URIがあります。

Add New Actions

Add Actionボタンを押したら、ジェスチャーとURIの設定画面がでてきました。

Editing

URI入力欄しかないのですが、、どうやってGETとPOSTを分けるのでしょうか・・・。

POSTの方法がわからないので、今回はGETでやってみようと思います。

ジェスチャーは何パターンかテストしてみたかったので、アルファベットの「R」、アルファベットの「L」、サムズアップっぽい「指マーク」を作ってみました。

作成したジェスチャー

URIの設定

HTTPでの通信のみという事だったので、前回覚えたNode.jsを使ってローカルのMacと通信させてみます。

通信結果をコンソールに出すだけでは面白くないので、今回もSlackと連携してみました。

  • ジェスチャー「L」→ コンソールに「left」と表示
  • ジェスチャー「R」→ コンソールに「right」と表示
  • ジェスチャー「サムズアップ」→ lgtm.in/g からランダムにLGTM画像を取得してSlackの「#0_test」チャンネルに投げる

前回と違い、今回はNode.js→Slackの一方通行なので、Incoming WebHooksを使って投稿してみます。

var express = require('express');
var req = require('request');
var SlackIncoming = require('node-slackr');
var slack = new SlackIncoming("[Incoming WebHooks URL]", {
    channel: "#0_test",   // 投稿するチャンネル
    username: "Ring",     // ユーザー名
    icon_emoji: ":ring:"  // 表示するユーザーアイコン
});
var app = express();

/**
 * サムズアップ ジェスチャー に設定したURI
 */
app.get('/lgtm', function (req, res) {
    console.log('lgtm');
    req.get({
            uri: "http://www.lgtm.in/g",
            json: true
    }, function (err, res, body) {
            //画像URLを投稿
            slack.notify(lgtm);
    });
});

/**
 * R ジェスチャー に設定したURI
 */
app.get('/right', function (req, res) {
    console.log('right');
});

/**
 * L ジェスチャー に設定したURI
 */
app.get('/left', function (req, res) {
    console.log('left');
});

app.listen(3000); // ポート番号は3000

app.jsとして保存して、node app.js で立ち上げておきます。

Open URIに設定するのは、MacのIPアドレスです。
システム環境設定→ネットワーク設定からMacのIPアドレスを確認できます。

  • ジェスチャー「L」に IPアドレス:3000/left を設定。
  • ジェスチャー「R」に IPアドレス:3000/right を設定。
  • ジェスチャー「サムズアップ」に IPアドレス:3000/lgtm を設定。

動作チェック

まずは「L」!

Leftジェスチャー

このジェスチャーは余裕です。

Left

おk

次は「R」!

Rightジェスチャー

「L」よりちょっと難しい・・・。

Right

成功。

最後の難関!!

サムズアップ

めっっっっっっっちゃ難しかったけど、どうにか成功!

LGTM

無事、Slackにもおいしそうなイクラ丼が投稿されました!

全ジャスチャー大成功です!


今回は、Ring ZEROのOpen URIを使って遊んでみました。

今後、iOS SDKやAndroid SDK、Ring for VRが提供予定の様なので、
もっと面白い遊び方ができそうです。

それでは、また次回!

Codeigniter,Laravelを利用してサーバーサイドプログラミングを担当してます。マンガとゲームとアニメとやきとんが大好きです。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です