Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
Rev. 1.00
がじぇっとるねさす 鈴木
2015/8/19
MA11 IFTTTハンズオン 体験まとめ
GR-SAKURAから
簡単メール送信できる
IFTTT(イフト)を使って見よう
30分で動く!
© 2010 Renesas Electronics Corporation. All rights reserved.
IFTTT(イフト)って何? 「IF THIS THEN THAT」
IFTTT(イフト)とは「レシピ」と呼ばれる個人作成もしくは公に共有しているプロフィールを使って数あるWebサービス(Facebook、Evernote、Weather、Dropboxなど)同士で連携することができるWebサービスである。開発したのはリンデン・チベッツで2010年にスタートした。(ウィキペディア)
独自の“レシピ”を利用することで、既存のアプリ(ウェブサービスも含む)同士を連携させて、一連の作業を自動化するサービスのことです。連携可能なアプリは170種類以上。TwitterやFacebookといったSNSから、iPhoneの連絡先やAndroidの端末設定に至るまで、さまざまなアクションが連携できます。また、スマホやPCだけでなく、Android Wear搭載のスマートウォッチや、活動量計付きのリストバンドとも連携できるのも魅力です。
もし晴れたら
メールを送る
“IFTTT”については、このページがわかりやすいです。http://weekly.ascii.jp/elem/000/000/324/324201/
© 2010 Renesas Electronics Corporation. All rights reserved.
アプリだけでなく、マイコンボードからも使えるようになった
基本は↓このかたちです。
if トリガ then アクション2015.7より”トリガ”に Maker が追加されました。
http://makezine.jp/blog/2015/07/ifttt-adds-new-channel-makers.html
GR-SAKURAのハードもトリガとして使えるということです。
© 2010 Renesas Electronics Corporation. All rights reserved.
早速IFTTTにアクセスしアカウントを作成
4
https://ifttt.com にアクセス
「Sign up」を押下
Eメールアドレス、パスワードを入力。
「Create account」 を押下するとア
ドレスにIFTTTからURLが送信される
ので、アクセス
© 2010 Renesas Electronics Corporation. All rights reserved.
アカウントでIFTTTにアクセス、レシピを作成
5
ユーザーアカウントからメニューを開き
「Create」を選択
レシピが作成される。
「this」をクリック
(これがトリガの設定)
© 2010 Renesas Electronics Corporation. All rights reserved.
トリガをMakerにする
6
トリガチャネルの一覧が表示される。
数多くあり、とれを選ぶか迷ってしまう。
新しくサポートされた「maker」を入力。
「Maker」アイコンをクリック
(これがトリガの設定)
© 2010 Renesas Electronics Corporation. All rights reserved.
トリガのEvent Nameに「test」を設定する
7
ポップアップでダイアログが表示され
るので「Done」を押下。
画面が遷移したら
「Countinue to the next step」
を押下
「Receive a web request」を押下。
画面が遷移したら、Event nameに
「test」を入力。(この文字列はGR-
SAKURAで使う)
「Create Trigger」を押下test
© 2010 Renesas Electronics Corporation. All rights reserved.
アクションをEmailに設定する
8
「that」を押下して、実行するアクショ
ンを設定
アクションチャネルも数多く表示され
るので「email」を入力する。
「Email」アイコンをクリック。
(Gmailだと設定が多くなるのでシン
プルなEmailを選択)
© 2010 Renesas Electronics Corporation. All rights reserved.
アクションを設定し、レシピを作成する
9
「Send me an email」を押下で画
面遷移すると、送るメール内容が設
定できる。ここではデフォルトのまま使
うので「Create Action」を押下する
アクションを設定したので、「Create
Recipe」押下でレシピを作成。
これで
OK!
送られてくるメールの
タイトル
メール内容。さまざま
なデータが記述可能
© 2010 Renesas Electronics Corporation. All rights reserved.
Makerのsecret keyを確認する(キーはプログラムで使います)
10
メニューから「Channels」を押下。
チャネルも多く表示されるので
「maker」を入力、Makerアイコンを
表示させクリック
キー押下で大きく表示されればOK
maker
© 2010 Renesas Electronics Corporation. All rights reserved.
IFTTTがメール送信するかテストする
11
Event nameを「test」に設定したの
で、{event}を「test」に変更。
「Test it」をクリックすると、設定した
アドレスにメールが送信される。
送信例
testに変更
© 2010 Renesas Electronics Corporation. All rights reserved.13
Gadget Renesas のページへ訪問
gadget.renesas.com
© 2010 Renesas Electronics Corporation. All rights reserved.17
GR-SAKURA IFTTTのプロジェクトを作る
GR-SAKURA_IFTTT_V2.02を選択
アルファベットでプロジェクト名(英語)を入れる
プロジェクト作成を押す
© 2010 Renesas Electronics Corporation. All rights reserved.18
スケッチを表示させてプログラムを編集する
34行目、secretKey[] = “xxxxxx”;xxxxxをMakerのsecret keyを確認する(キーはプログラムで使います)
の文字列をコピーして、ファイルを保存する。
© 2010 Renesas Electronics Corporation. All rights reserved.21
GR-SAKURAにイーサネットケーブルを差し込み実行します
青LEDが1つ点灯
しばらくすると青LEDが2つ点灯(DHCP取得成功)
青SWを押下してGR-SAKURAから
IFTTTへ送信
青LEDが4つ点灯(送信成功!)
メールが送付されます。
© 2010 Renesas Electronics Corporation. All rights reserved.23
初期化処理、電源オンで setup() が呼ばれる
#include <Arduino.h>#include <Ethernet.h>#define USE_SERIAL // デバッグ用にシリアル出力
// Enter a MAC address and IP address for your controller below.byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; // MACアドレス設定
// Initialize the Ethernet client library with the IP address and port of the server// that you want to connect to (port 80 is default for HTTP):EthernetClient client; // 接続するクライアントを生成
char server[] = “maker.ifttt.com”; // IFTTTのサービス
// IFTTT stringschar eventName[] = “test”; // IFTTTで設定したイベント
char secretKey[] = “xxxxxxxxxxx”; // IFTTTからもらうsecretKey
char s[128];int val1, val2, val3;
// Arduinoのスタートアップ処理
void setup() {
pinMode(PIN_LED0, OUTPUT); // check to startpinMode(PIN_LED1, OUTPUT); // check to begin EtherpinMode(PIN_LED2, OUTPUT); // check to connect IFTTTpinMode(PIN_LED3, OUTPUT); // check to finish sending HTTPpinMode(PIN_SW, INPUT);
// Open serial communications and wait for port to open#ifdef USE_SERIAL
Serial.begin(9600); // for debugwhile (!Serial.available()) ; // key waitSerial.println("start to begin Ether.");
#endif
digitalWrite(PIN_LED0, HIGH);
// start the Ethernet connection:while ( !Ethernet.begin(mac) ) {
#ifdef USE_SERIALSerial.println("Failed to configure Ethernet using DHCP");
#endif}digitalWrite(PIN_LED1, HIGH); // success to begin
#ifdef USE_SERIAL // for debug// print your local IP address:Serial.print(“My IP address: ”);Serial.println(Ethernet.localIP());Serial.println( "Push blue SW on GR-SAKURA to start.");
#endif
}
© 2010 Renesas Electronics Corporation. All rights reserved.24
メイン処理、loop()がずーっと呼ばれる
void loop(){
if (digitalRead(PIN_SW) == LOW) {
// if you get a connection, report back via serial:if ( client.connect(server, 80) ) {
digitalWrite(PIN_LED2, HIGH);#ifdef USE_SERIAL
Serial.println("connected to IFTTT server"); // for debug#endif
// Make a HTTP request:sprintf(s, "GET http://maker.ifttt.com/trigger/%s/with/key/%s
HTTP/1.1", eventName, secretKey);#ifdef USE_SERIAL
Serial.println(s); // for debug#endif
client.println(s);client.println("Host: maker.ifttt.com");client.println("Connection: close");client.println();digitalWrite(PIN_LED3, HIGH);delay(500);
}else {
// if you didn't get a connection to the server:#ifdef USE_SERIAL
Serial.println("connection failed"); // for debug#endif
}digitalWrite(PIN_LED2, LOW);digitalWrite(PIN_LED3, LOW);
}
if ( client.available() ) {
char c = client.read();#ifdef USE_SERIAL
Serial.print(c);#endif
}
if ( !client.connected() ) {
client.stop();}
}