前回、BLEモジュールのkoshianでピッコロボを動かしましたが、今回はIoTっぽく、ESP-WROOM-02を使ってインターネットに接続し、IFTTTから操作してみました。
ESP-WROOM-02とは?
Arduino IDEでSketchを書き込めるWiFiモジュールです。
技適付きなので、日本でも安心して使えます。
CEREVOで販売している約900円のピッチ変換のブレークアウトボード付きがおすすめです。
詳細はこちらで紹介しているので、ご参照ください。
IFTTT
IFTTT(イフト)とは「レシピ」と呼ばれる個人作成もしくは公に共有しているプロフィールを使って数あるWebサービス(Facebook、Evernote、Weather、Dropboxなど)同士で連携することができるWebサービスである
IFTTT
レシピを作成する
以下のようなレシピを作成しました。
- TwitterをTriggerとして、ハッシュタグ「#roboroborobo」を付与して、tweetした場合、tweet内容をActionに渡す。
- Maker ChannelをActionとして、渡されたtweet内容を、用意したREST API環境にPOSTする。
tweetする
下記のようにハッシュタグ#roboroboroboを付けて、ロボ操作に必要な文字列を記載します。ちなみに、操作に必要な文字列は下記の通りで、複数記載することで連続操作が可能です。
- w:前進
- s:後進
- a:左向き
- d:右向き
システム構成
全体構成
ここで全体の構成を示します。
IDCFクラウドに、Ubuntuの仮想マシンを起動し、Ponteをinstallします。
Ponteに対して、REST APIでdataをPUTし、ESP-WROOM-02側ではMQTTでdataをチェックします。
REST API/MQTT対応
IFTTTのMaker Channel側のIFがREST APIであり、デバイス側はMQTTを使いたかったので、これらの対応方法を検討します。調べてみると、REST API/MQTT両方に対応しているアプリやwebサービスがあるので、これらを使うのが簡単そうです。
ただし、Maker Channelで使えるパラメータは制限があり、自由にヘッダーは設定できません。この事から、Ponteを利用する事にしました。
参考までに、検討した他のアプリ/webサービスを以下に示します。
header操作が必要
REST API対応していない/有料
まとめ
- IFTTTを使って、ピッコロボを操作するレシピを作成しました。
- twitterにtweetしてから、IFTTT経由でピッコロボが動くまで、数分かかる場合がありますが、実際に動作する事を確認できました。
参考情報
MQTT
http://www.slideshare.net/masahikokubara/mqtt-45099223
https://gist.github.com/voluntas/e0a90f3e22316144ed3a