Wio Node経由でlittleBitsとIFTTT Do Button(Maker Channel)をつなげるメモ

玉城さんのWio Nodeを試してみた記事とLIGさんのWio NodeソーシャルIoTラジコン の記事にとても感銘を受けまして、Wio Nodeをぜひ使ってみたくなりましてWio Node経由でlittleBitsとIFTTT Do Buttonをつなげるメモです。

追記

この記事はMaker Channelを書いていますが正直API URLを自分で移植するのは手間がかかります。Grove端子台とlittleBitsの連携あたりは本記事を参考ください。

より手軽に連携するには Seeed Channel がおすすめです。その辺りの設定と連携例の記事もあります。

Wio Node経由でlittleBitsとIFTTT Do Button(Seeed Channel)をつなげるメモ

image_20160703_221143_19

やりたいこと

やりたいことは以下のとおりです。Wio NodeからlittleBitsに反応を引き出してWio NodeでデジタルON/OFFを出力するよう動作設定しAPIを確認します。そのAPI URLをもとにWio Nodeの対象デバイスをIFTTT Do ButtonのMakerChannelとつなげるようにします。

  • Wio NodeからlittleBitsに反応を引き出すためGrove端子台で接続する
  • Wio NodeからデジタルON/OFFを出力するようなAPIを確認する
  • Wio Nodeの対象デバイスをIFTTT Do ButtonのMakerChannelとつなげるようにする

Wio NodeからlittleBitsに反応を引き出すためGrove端子台で接続する

まず、Wio NodeからlittleBitsに反応を引き出すためGrove端子台をつなぎます。

端子台についてはこちら→Seeed Studio COM12533P/103020007 Grove 端子台

wio-node-littlebits-ifttt-first-contact_1

このように、端子台から引き出したあとは、以下の記事で作っていたオスピンBit経由でつなぎます。

wio-node-littlebits-ifttt-first-contact_2

参考までにlittleBits BIT SNAPのしくみも載せておきます。

もちろん、PROTOモジュールを使用しても接続できるでしょう。

Wio NodeからデジタルON/OFFを出力するようなAPIを確認する

つづいて、Wio Nodeの専用アプリ、Wio Linkで接続先の設定をします。設定できるパーツに端子台のアイコンはないですが、安心してください。すこし細工をします。

wio-node-littlebits-ifttt-first-contact_3

この汎用アウトプット、Generic Digital OutputでD0、D1ともに設定します。

wio-node-littlebits-ifttt-first-contact_4

このように設定しました。両方設定したのはまだWio Nodeのポート番号に慣れていない、安全策です笑

出来上がったら、Firmwareを焼き込みます。

Wio Nodeの対象デバイスをIFTTT Do ButtonのMakerChannelとつなげるようにする

まず、今回のWio Nodeの対象デバイスのAPI URLを知って操作できるようにします。

wio-node-littlebits-ifttt-first-contact_5

ここまでできたら、設定画面上部のメニューからAPIを押してAPIページへ行きます。

wio-node-littlebits-ifttt-first-contact_6

読み進めていくと、今回設定したデジタル出力にアクセスすできるAPI URLが発見されました。

wio-node-littlebits-ifttt-first-contact_7

下部のTest RequestでPOST送信できるのでテストしたところ、無事反応しました。

wio-node-littlebits-ifttt-first-contact_8

こちらをコピーペーストしてIFTTTに反映していきます。

まずURLですが、

https://iot.seeed.cc/v1/node/GenericDOutD0/onoff/[onoff]?access_token=XXXXXXXXXXXXXXXXXXXXXXXXXXXXX

とありますが、[onoff]のところに今回はONにしたいので1に置き換えて使います。

https://iot.seeed.cc/v1/node/GenericDOutD0/onoff/1?access_token=XXXXXXXXXXXXXXXXXXXXXXXXXXXXX

IFTTT Do Buttonの設定はMaker Channnelで設定しました。Seeedのチャンネルもあるようですので、近日試してみます。

wio-node-littlebits-ifttt-first-contact_9

上記のように設定します。

  • タイトル
    • わかりやすくつける 例:wio1
  • Action
    • URL
      • さきほどのURLで今回はONにしたいので1に置き換えたもの
    • Method
      • POST
    • Content Type
      • 設定しない
        • 今回はURLだけで値が設定できていのでなくてよさ気
    • Body
      • 設定しない
        • 今回はURLだけで値が設定できていのでなくてよさ気

設定しない箇所は、今回はURLだけで値が設定できているため、設定していません。

Groveで接続するものによっては送受信するデータも多くなりJSONで送るものも見受けられます(未検証)

動かしてみる

こちらが動かした動画です。littleBitsのLED バーがちゃんと動きます!

少々送信にタイムラグがありますが、それを見越して使えば問題ないですね。

そのほかメモ

そのほか雑感を書いておきます。

  • アプリは「そのWio Nodeデバイスに何をさせるか」を中心にしたアプリ
  • アプリを常に起動しておく必要はなくファームウェアの書き込みを行えば単体で機能する
  • インフラまわり
    • Seeed社のiot.seeed.ccインフラに載っていて以下を肩代わりしてもらえる
      • 使用者ごとのアカウント管理
      • Wio NodeデバイスごとのAPI URLの発行
      • Wio Nodeデバイスごとのアクティベート(アカウントに紐付ける)
      • 海外のlittleBitsでは使えるcloudbit APIと近い印象
  •  ↑ 仮に自前でしくみを作る際にも上記インフラは必要になってくるので肩代わりはありがたさしかない
  • Generic Digital Outputに代表される汎用入出力の使い勝手は良いのでlittleBitsなど他デバイスへも作法さえ合わせれば機能できる感覚を得た
  • Wifiの同時接続数および多数接続における混線は悩ましくなることうけあい
  • I2Cやデジタルを先に対応している印象でGrove I2CデバイスにArduinoでI2C通信で尻込みするのなら一旦Wio Nodeで試してみてから考えるというのがプロトタイプ力を高めれそう
  • Groveすごい
  • Groveにネットワークへつなぐ決めごとがととのった!

参考文献

おわりに

ということで、悩むことなくWio NodeをlittleBitsとIFTTT Do Button(Maker Channnel)に接続することができました。

以前よりGROVE INPUT Bitのような試みをしており、littleBitsにはない面白いセンサーの入力の連携を、プロトタイプとして「ハンダ付けの必要がない」「あれこれ差し替えて試しやすい」といった思想が近しいGroveからも探っていたので、より密に連携ができると考えています!

それではよき、 Wio Node & littleBits & IFTTT Lifeを!