ワタナベ書店

読んだ本の感想とか美味しかったお店の紹介とかLinuxの知見とか好きなことを好きなだけ書くブログです。

インターネットと接続してなんでもできちゃうLEDスマートディスプレイ「LaMetric TIME」を買ったよ。あと、自作アプリを作ってみたよ。

f:id:iuyui:20151110115512j:plain

概要

LaMetricはKickstarterで出資を募っていたデバイスで、時計を表示したり、インターネットラジオを聞いたり、スマホからBluetoothで音声を飛ばしたり、Twitterの情報を表示したり、Facebookのいいね数を表示できたり、自分でアプリを作れたりするやつ。

LaMetric Time アプリ付きWi-Fi時計

LaMetric Time アプリ付きWi-Fi時計

Kickstarterの時は出資しようかなと思っているうちに終わってしまったけど、公式に販売されていたため買ってみました。
今回購入したのはバッテリー無しのバージョン。
送料込みで186.1ドル(23000円くらい)で買えました。

ファーストインプレッション

デフォルトで使える機能は、時計/アラーム、ネットラジオ/Bluetooth、タイマー、ストップウォッチ、TwitterFacebookGmail

ネットラジオは荒いLEDでレベルメータが表示されるのでとてもかわいい。これだけでも買ってよかった。

電源はUSBから取得するようで、Ankerの充電器から電源を取得できました。

自作アプリ開発してみる

https://developer.lametric.com/で簡単な自作アプリを開発することができます。IFTTT (coming soon) とか公式に書いてあるけどIFTTTと組み合わせて簡単に作れたので作り方を説明します。

f:id:iuyui:20151110093841p:plain

IFTTTのMakerチャンネルについては以前書いたブログがあるので省略。

簡単に作れるアプリは2種類。「ボタンを押して何かを実行するアプリ」「ネット上から情報をクロールもしくはlametricサーバーにプッシュすることによって、lametricにプッシュ通知がくるアプリ」

ボタンを押して何かを実行するアプリの作成

  • developer.lametric.comにてBUTTON APPを新規作成。
  • [URL to be triggered]にIFTTTで作成したトリガーするURLをペースト。
  • お好きなようにアイコンとかアプリ名を決めてPublishボタンで公開。このとき、Private appってとこにチェックを入れておけば、自分だけに配信されます。

今回作ったIFTTTのレシピはこれ。
IFTTT Recipe: LaMetric to hue lights on/off connects webhooks to philips-hue

ということで、出来たのがこれです。

ここまで30分くらいで作れました。簡単ですね。今回はhueにしたけどIRKitにすればテレビをつけたり、クーラーをオンにしたりいろいろできそう。

プッシュ通知を送るアプリの作成。

  • developer.lametric.comにてINDICATOR APPを新規作成。
  • 表示させたいディスプレイ例を作って、Communication type:をPushに選択することで、LaMetricサーバーに送るべきコマンドが表示されます。
curl -X POST \
-H "Accept: application/json" \
-H "X-Access-Token: <your Token>" \
-H "Cache-Control: no-cache" \
-d '{
    "frames": [
        {
            "index": 0,
            "text": "test",
            "icon": "i1164"
        }
    ]
}' \
https://developer.lametric.com/api/V1/dev/widget/update/com.lametric.<code>/1

このままターミナルかなにかでコマンドを実行すればLaMetricに通知がきます。

これをIFTTTのMakerチャンネルを使ってLaMetricサーバーにプッシュすればいいのだけど、少し問題があります。
ヘッダに"Accept: application/json"と"X-Access-Token: アクセストークン" を付加させないといけないのですが、IFTTTにはヘッダを付ける部分が存在しないので、すこし送るコマンドをどこかで変更する必要があります。
なので、reflector.ioっていう超便利なサービスを使います。
reflector.ioとは、webhookを仲介して、複数のサーバーに飛ばしたり、フェイルオーバーさせたり、書き換えたりできるサービス。とても便利ですね。

  • 下記記事を参考にIFTTT、LaMetric用の設定を作成。

  • Add First DestinationにてUrlにdeveloper.lametric.comから始まるlametricにデータをプッシュするURLを。Pipelineにて次のコードを貼り付けしてください。
request.headers['X-Access-Token'] = '<あなたのアクセストークン>'; 
request.headers['Accept'] = 'application/json'; 
return request;
  • IFTTTのMakerチャンネルにてプッシュ先を先ほど作成したreflector.ioのサーバーにすることで以下の様な流れでプッシュ通知が来ます。
IFTTT → reflector.io → 変換 → LaMetricサーバー → LaMetricにプッシュ通知

今回作ったIFTTTのレシピはこれ。 IFTTT Recipe: lametric INDICATOR APP TEST connects webhooks to webhooks

ということで、出来たのがこれです。

通知は結構スピードが早いのでかなり使えそうです。表示内容もテキストからグラフまでかなり融通が効くので便利そう。
reflector.ioを使えば、MackerelのwebhookからサーバーのアラートをLaMetricに飛ばしたり、グラフを表示させるということも簡単にできそうなのでやってみようかな。