12
10

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

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

Last updated at Posted at 2015-09-21

前回、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

12
10
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
10

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?