Edited at

IFTTTを使ってESP-WROOM経由でロボを動かす

More than 3 years have passed since last update.

前回、BLEモジュールのkoshianでピッコロボを動かしましたが、今回はIoTっぽく、ESP-WROOM-02を使ってインターネットに接続し、IFTTTから操作してみました。


ESP-WROOM-02とは?

Arduino IDEでSketchを書き込めるWiFiモジュールです。

技適付きなので、日本でも安心して使えます。

CEREVOで販売している約900円のピッチ変換のブレークアウトボード付きがおすすめです。

詳細はこちらで紹介しているので、ご参照ください。

91592223.jpg


IFTTT


IFTTT(イフト)とは「レシピ」と呼ばれる個人作成もしくは公に共有しているプロフィールを使って数あるWebサービス(Facebook、Evernote、Weather、Dropboxなど)同士で連携することができるWebサービスである

IFTTT



レシピを作成する

以下のようなレシピを作成しました。


  • TwitterをTriggerとして、ハッシュタグ「#roboroborobo」を付与して、tweetした場合、tweet内容をActionに渡す。

  • Maker ChannelをActionとして、渡されたtweet内容を、用意したREST API環境にPOSTする。

IFTTT.png


tweetする

下記のようにハッシュタグ#roboroboroboを付けて、ロボ操作に必要な文字列を記載します。ちなみに、操作に必要な文字列は下記の通りで、複数記載することで連続操作が可能です。


  • w:前進

  • s:後進

  • a:左向き

  • d:右向き

twitter.png


システム構成


全体構成

ここで全体の構成を示します。

IDCFクラウドに、Ubuntuの仮想マシンを起動し、Ponteをinstallします。

Ponteに対して、REST APIでdataをPUTし、ESP-WROOM-02側ではMQTTでdataをチェックします。

kobito.001.jpg


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