玉城さんの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)をつなげるメモ
やりたいこと
やりたいことは以下のとおりです。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 端子台
このように、端子台から引き出したあとは、以下の記事で作っていたオスピンBit経由でつなぎます。
- littleBitsのBITSNAPSでいろいろと作ってきたメモ – 1ft-seabass.jp.MEMO
- はんだづけカフェでlittleBits BITSNAPSパーツをはんだづけしてきたメモ – 1ft-seabass.jp.MEMO
参考までにlittleBits BIT SNAPのしくみも載せておきます。
もちろん、PROTOモジュールを使用しても接続できるでしょう。
Wio NodeからデジタルON/OFFを出力するようなAPIを確認する
つづいて、Wio Nodeの専用アプリ、Wio Linkで接続先の設定をします。設定できるパーツに端子台のアイコンはないですが、安心してください。すこし細工をします。
この汎用アウトプット、Generic Digital OutputでD0、D1ともに設定します。
このように設定しました。両方設定したのはまだWio Nodeのポート番号に慣れていない、安全策です笑
出来上がったら、Firmwareを焼き込みます。
Wio Nodeの対象デバイスをIFTTT Do ButtonのMakerChannelとつなげるようにする
まず、今回のWio Nodeの対象デバイスのAPI URLを知って操作できるようにします。
ここまでできたら、設定画面上部のメニューからAPIを押してAPIページへ行きます。
読み進めていくと、今回設定したデジタル出力にアクセスすできるAPI URLが発見されました。
下部のTest RequestでPOST送信できるのでテストしたところ、無事反応しました。
こちらをコピーペーストして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のチャンネルもあるようですので、近日試してみます。
上記のように設定します。
- タイトル
- わかりやすくつける 例:wio1
- Action
- URL
- さきほどのURLで今回はONにしたいので1に置き換えたもの
- Method
- POST
- Content Type
- 設定しない
- 今回はURLだけで値が設定できていのでなくてよさ気
- 設定しない
- Body
- 設定しない
- 今回はURLだけで値が設定できていのでなくてよさ気
- 設定しない
- URL
設定しない箇所は、今回はURLだけで値が設定できているため、設定していません。
Groveで接続するものによっては送受信するデータも多くなりJSONで送るものも見受けられます(未検証)
動かしてみる
こちらが動かした動画です。littleBitsのLED バーがちゃんと動きます!
少々送信にタイムラグがありますが、それを見越して使えば問題ないですね。
そのほかメモ
そのほか雑感を書いておきます。
- アプリは「そのWio Nodeデバイスに何をさせるか」を中心にしたアプリ
- アプリを常に起動しておく必要はなくファームウェアの書き込みを行えば単体で機能する
- インフラまわり
- Seeed社のiot.seeed.ccインフラに載っていて以下を肩代わりしてもらえる
- 使用者ごとのアカウント管理
- Wio NodeデバイスごとのAPI URLの発行
- Wio Nodeデバイスごとのアクティベート(アカウントに紐付ける)
- 海外のlittleBitsでは使えるcloudbit APIと近い印象
- Seeed社のiot.seeed.ccインフラに載っていて以下を肩代わりしてもらえる
- ↑ 仮に自前でしくみを作る際にも上記インフラは必要になってくるので肩代わりはありがたさしかない
- Generic Digital Outputに代表される汎用入出力の使い勝手は良いのでlittleBitsなど他デバイスへも作法さえ合わせれば機能できる感覚を得た
- Wifiの同時接続数および多数接続における混線は悩ましくなることうけあい
- I2Cやデジタルを先に対応している印象でGrove I2CデバイスにArduinoでI2C通信で尻込みするのなら一旦Wio Nodeで試してみてから考えるというのがプロトタイプ力を高めれそう
- Groveすごい
- Groveにネットワークへつなぐ決めごとがととのった!
参考文献
- Wio Nodeを試してみた。 – Qiita
- みんなで同時に操作できる!Wio Nodeを使って自作のソーシャルIoTラジコンを作ろう | 電子工作部
- たった3ステップ、5分の操作でIoTアプリを開発できる「Wio Link」 | fabcross
- Make: Japan | SeeedStudioからWio Link IoTモジュール登場
おわりに
ということで、悩むことなくWio NodeをlittleBitsとIFTTT Do Button(Maker Channnel)に接続することができました。
以前よりGROVE INPUT Bitのような試みをしており、littleBitsにはない面白いセンサーの入力の連携を、プロトタイプとして「ハンダ付けの必要がない」「あれこれ差し替えて試しやすい」といった思想が近しいGroveからも探っていたので、より密に連携ができると考えています!
それではよき、 Wio Node & littleBits & IFTTT Lifeを!