IFTTT/GoogleHomeと連携

IFTTTはいろいろな”きっかけ”を設定して、そのきっかけが起きた時に”何をするか”を設定できる便利なアプリです。そのきっかけには自分の家のGoogleHomeに「この言葉を話したら」という設定ができます。
そして"何をする"にはWebhookが設定できます。そうすると、「前に進め」でWebhookを叩いて、obnizクラウドでプログラムを実行するということができます。

リポジトリ

まずはプログラムです。ただし、今回はobniz1つずつに用意されたブロックプログラムではなく、新しいブロックプログラムをクラウドの自分のリポジトリ上に保存します。ここに保存すれば、webhookから自動で実行することができるようになります。

クラウド上でのアカウント作成やobnizの登録プロセスについては アカウントについてをご覧ください。それを元に、アカウントの作成と今お持ちのobnizをアカウントに紐付けるということを行います。それが完了したら開発者コンソールよりリポジトリの新規作成から種類として「ブロックプログラム」を選び、適当なファイル名をつけて(今回は"test"とします)、プログラムファイルを作ります。

プログラム

この新しいブロックプログラムでプログラムしましょう。

今回のプログラムはロボットを動かしてみよう
と同じプログラムを利用します。実行すればただ前に進むプログラムです。

<!-- Block Program Example -->
<xml xmlns="http://www.w3.org/1999/xhtml">
  <variables>
    <variable type="obniz" id="X2:3=S(hsdv0mk{aavHW">obniz</variable>
    <variable type="UIButton" id="80uQ37Yg!_RM@zbm[`cF">button</variable>
    <variable type="UIButton" id="#7$4fAkr(P%;.%JaKIy`">backbutton</variable>
    <variable type="UIButton" id="akidXEU*0XQ}VT^!o6Sp">rightbutton</variable>
    <variable type="UIButton" id="KBvD*sLV+fD7(ieEkq5x">leftbutton</variable>
    <variable type="" id="hpvY$6K[tgY$$/L_8%xc">count</variable>
    <variable type="dcmotor" id="V?6USN(jVhQ,P{82]/*M">dcmotor</variable>
    <variable type="airobotkit" id="Jk=/mw~HxfZs@VDVmFYY">airobotkit</variable>
    <variable type="led" id="!MAt1@Dsy)#f.p,K@;=%">led</variable>
  </variables>
  <block type="obniz_connect" id="Z8!^LPO*[5?q{e*57()u" x="154" y="225">
    <field name="obniz" id="X2:3=S(hsdv0mk{aavHW" variabletype="obniz">obniz</field>
    <value name="obniz_id">
      <shadow type="text" id="XmI_$os3vVOeQ~scg106">
        <field name="TEXT">OBNIZ_ID_HERE</field>
      </shadow>
    </value>
    <next>
      <block type="obniz_parts_airobotkit_wired" id="Z|2}f3PXkYzz)24$KZ.9">
        <field name="obniz" id="X2:3=S(hsdv0mk{aavHW" variabletype="obniz">obniz</field>
        <field name="AIRobotKit" id="Jk=/mw~HxfZs@VDVmFYY" variabletype="airobotkit">airobotkit</field>
        <next>
          <block type="obniz_parts_airobotkit_move" id="Gw5%fN+DtR,UYRD|%RW=">
            <field name="AIRobotKit" id="Jk=/mw~HxfZs@VDVmFYY" variabletype="airobotkit">airobotkit</field>
            <field name="flag">forward</field>
            <next>
              <block type="obniz_util_wait" id="Dt_%3lKiUap]VdHcD(Mh">
                <value name="time">
                  <shadow type="math_number" id="M}^s-s=bI^eo7od=|+_E">
                    <field name="NUM">2000</field>
                  </shadow>
                </value>
                <next>
                  <block type="obniz_parts_airobotkit_stop" id="eoqEWFUnI*lwWtWq%-j-">
                    <field name="AIRobotKit" id="Jk=/mw~HxfZs@VDVmFYY" variabletype="airobotkit">airobotkit</field>
                  </block>
                </next>
              </block>
            </next>
          </block>
        </next>
      </block>
    </next>
  </block>
</xml>

作成したら実行してみましょう。ロボットがちゃんと前に進めばOKです。

イベントに登録

さて、リポジトリには保存できました。
次にイベントの設定を行います。イベントを設定することでWebhookから自動的にクラウド上でプログラムを動かすということができるようになります。

同じく開発者コンソールのイベントから「新規作成」を押します。

名前はmoveにしました。そして、実行するWebAppは先ほど作成したものを選びます。今回は"test"というのにしましたので、それを選んでいます。きっかけは Webhook です。

これで作成します。

確認する

試しに実行してみましょう!

作成したイベントのページには「テスト実行」ボタンがあります。これを押すことでイベントを実行できるようになります。

ボタンを押したらクラウド上でプログラムが実行されます。ロボットは動きましたか?

IFTTTの設定

スマホにIFTTTアプリをいれて、新規アプレットを作ります。
IFにはGoogleアシスタントを選び、シンプルフレーズを選択します。
キーワードは「前に進め」そして、返事として「すすんであげよう」を設定します。

そして、THENにはWebhookを選びます。
webhookのURLはobnizクラウドで作ったイベントのwebhook URLを入れます。

ここまでくれば完成です!IFTTTの設定がちゃんと動くようになるまで少しかかることがあります。2,3分待ってみましょう。

喋ってみる

「OKグーグル前に進め」と言ってみましょう。「すすんであげよう」と返事が来て、ロボットも前に進むと思います。



Next : Convert to JavaScript

You will Get in Few Days

Circuit for Starter “obniz Board” is available on Amazon and other online stores.
You can get it at below

Our products and resellers

Forum

Visit our developer’s forum to discuss and discover technologies.

Forum

Contact

Feel free to contact out support and technical team.

Contact us