Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Twilio&sakura.io 体験ハンズオン(Part2)/sakuraio handso...

Twilio&sakura.io 体験ハンズオン(Part2)/sakuraio handson twilio part2

各地で開催されているさくらインターネットが提供するIoTプラットフォーム「sakura.io」のハンズオンでの資料となります。

本資料ではコミュニケーションAPIサービスのTwilio(トゥイリオ)と連携し、「Arduino+sakura.ioモジュールを用いたマイコンおよびプログラムの構築」から「Twilioを用いたWebサービス連携」までの手順をスライドでご覧いただけます。

part1でTwilio Functionsを使い実装していたIVR部分をビジュアルプログラミングツールの「Studio」を使ってより分かりやすく実装できるようにしたものとなります。

サービス詳細は以下をご確認ください。
Twilio https://twilio.kddi-web.com/
sakura.io https://sakura.io/

More Decks by さくらインターネット(IoTプラットフォーム事業)

Other Decks in Technology

Transcript

  1. 本ハンズオンの目的とお願い  本ハンズオンは sakura.io を使用し、組込み、Web/アプリ開発、それぞれのスキルセットを 大きく超えることなく、Internet of Things(IoT) に携わることができることをご体験いただく ものです。

     特に、本編ではコミュニケーションAPIサービスであるTwilio(トゥイリオ)と連携した簡易的な サービス構築を通じて、Web・アプリケーションの技術を用いた「IoTシステム」の構築イメージを 掴んでいただくことを目的としています。  本編で構築される内容は概ねPart1と同一です。Twilio Functionsによるコードを中心とし たプログラミングが苦手な利用者を想定し、コアとなる自動音声応答部分をビジュアルプログラ ミングツールであるTwilio Studioで実装の違いも体験いただきます。  そのため、組み込み系またはWeb/アプリ系のどちらか、または両方わからないという方にも、多 くご参加いただける内容になっています。  今回は1人に1つのキットをご用意しています。もしもご自身の知識分野で、近くの方のフォロー ができそうだなと思われましたら、積極的にサポートしあって進めていただければと思います。 5
  2. 本ハンズオンで使用するツール・機材・参考情報まとめ ▪本編▪ ・Twilio サインアップ/ログイン https://twilio.kddi-web.com/ ・さくらインターネット会員登録 https://secure.sakura.ad.jp/signup3/member-register/input.html ・sakura.ioコントロールパネル https://secure.sakura.ad.jp/iot/ ・Arduino

    https://www.arduino.cc/en/Main/Software ・サンプル用スケッチ(HDC1000) https://github.com/sakuraio/handson-sample/blob/master/arduino/twilio-HDC1000-with-LED.ino ・サンプル用スケッチ(SHT31) https://github.com/sakuraio/handson-sample/blob/master/arduino/twilio-SHT31-with-LED.ino ・Twilio Functionsプログラム(callflow) https://github.com/sakuraio/handson-sample/blob/master/twilio/part2/callflow.js ・Twilio Functionsプログラム(turn) https://github.com/sakuraio/handson-sample/blob/master/twilio/part2/turn.js ▪参考▪ 開発者向けページ ・Twilio Docs https://jp.twilio.com/docs/ ・sakura.io 開発者向け https://sakura.io/developer/ ▪参考▪ モジュール&オプションのご購入 ・商品の購入 https://sakura.io/product/ ・sakura.ioモジュール(LTE) https://sakura.io/product/module_lte.html ・sakura.ioシールド for Arduino https://sakura.io/product/arduino.html ▪参考▪ その他物品のご購入(秋月電子通商) ・温湿度センサ(SHT31) http://akizukidenshi.com/catalog/g/gK-12125/ ・抵抗内蔵LED http://akizukidenshi.com/catalog/g/gI-06245/ ・ジャンパコード http://akizukidenshi.com/catalog/g/gC-05159/ ・Arduino Uno Rev3 http://akizukidenshi.com/catalog/g/gM-07385/ ・USBケーブル Aオス-Bオス http://akizukidenshi.com/catalog/g/gC-07605/ ・ACアダプター http://akizukidenshi.com/catalog/g/gM-07772/ ・ブレッドボード http://akizukidenshi.com/catalog/g/gP-05294/ 6
  3. Webサービス連携 (Twilio) ③ 今回のハンズオンの流れ 7 ① マイコンおよび プログラムの構築 マイコン (Arduino

    Uno) 温湿度センサ (SHT31/HDC1000) sakura.io モジュール ② 各種LED sakura.ioの設定 プロジェクト ハンズオン キット Outgoing Webhook 連携 サービス モジュール WebSocket ※動作確認用 Incoming Webhook /callflow IVR /turn Functions Inbound Webhook Outbound Webhook Studio 環境変数 & パッケージ
  4. Agenda 8 1. sakura.ioの設定(前編) ₋ プロジェクトの作成 ₋ モジュールの登録 ₋ 連携サービスの設定(Incoming

    Webhook / WebSocket) 2. マイコンおよびプログラムの構築 ₋ マイコン(Arduino)による開発環境の準備 ₋ 温湿度センサおよびモジュールの繋ぎ込み ₋ 試験用プログラムの流し込み ₋ 【参考】デバイスから送信されたデータの確認 3. Webへのデータ連携(Twilio) ₋ 電話番号の購入、環境変数の設定(FROM_NUMBER, TO_NUMBER) ₋ Functionsによるsakura.io Outgoing Webhook受信用プログラム(callflow)の作成 ₋ Studioによるキー応答用プログラム(IVR)の作成 ₋ Functionsによるsakura.io Incoming Webhook送信用プログラム(turn)の作成 4. sakura.ioの設定(後編) ₋ 環境変数の追加設定(MODULE_ID, SAKURA_URL)
  5. Webサービス連携 (Twilio) ③ 今回のハンズオンの流れ 10 ① マイコンおよび プログラムの構築 マイコン (Arduino

    Uno) 温湿度センサ (SHT31/HDC1000) sakura.io モジュール ② 各種LED sakura.ioの設定 プロジェクト ハンズオン キット Outgoing Webhook 連携 サービス モジュール WebSocket ※動作確認用 Incoming Webhook /callflow IVR /turn Functions Inbound Webhook Outbound Webhook Studio 環境変数 & パッケージ
  6. sakura.ioコントロールパネルにおける考え方  sakura.ioでは【 プロジェクト 】という単位で管理され、プロジェクト内に複数の【 モジュー ル 】【 連携サービス 】を紐付けます。

    データストア、簡易位置情報提供、ファイル配信と いった【 オプションサービス 】はプロジェクトに対して1つもしくは1セット設定できます。 11 プロジェクトC プロジェクトB プロジェクトA モジュール1 uAAAAAAAAAA モジュール2 uBBBBBBBBBB モジュール3 uCCCCCCCCCC データストアプラン Light/Standard/… 簡易位置情報提供 ON/OFF 連携サービス1 WebSocket 連携サービス2 Outgoing Webhook ファイル配信 File1/File2/… 連携サービス3 AWS IoT モジュール プロジェクトに対して 複数登録可能 オプションサービス プロジェクトに対して 1つ/1セット設定可能 連携サービス プロジェクトに対して 複数作成可能
  7. さくらインターネット 会員ID作成  会員IDをお持ちでない場合はご契約の サービスがない場合でも、さくらインター ネット会員登録から作成いただけます  会員登録が完了すると、指定したメール アドレスに [email protected]

    より会員IDが記載されたメールが送信さ れます。 会員IDおよびパスワードは重要な情報となりま すので、漏れないよう大事に保管ください。 12 Title:会員登録完了のお知らせ [XXX00000] ─────────────────────────────────── このメッセージはさくらインターネット会員登録フォームより 自動送信されています。このメールに心当たりのない場合は [email protected]までご連絡ください。 ─────────────────────────────────── さくらインターネット株式会社 様 (ご担当者: さくら 太郎 様) この度は、さくらインターネットに会員登録いただきまして誠に ありがとうございます。 以下の通り会員登録を受付ましたので、ご連絡させていただきます。 ============================================ ◎ 会員登録情報 会員ID : XXX00000 ご契約者名 : さくらインターネット株式会社 様 (ご担当者: さくら 太郎 様) 電子メール : [email protected] ============================================ ~~~以下省略~~~ https://secure.sakura.ad.jp/signup3/member-register/input.html
  8. Outgoing Webhook 連携 サービス WebSocket ※動作確認用 Incoming Webhook Webサービス連携 (Twilio)

    ③ /callflow IVR /turn Functions Inbound Webhook Outbound Webhook Studio 環境変数 & パッケージ 今回のハンズオンの流れ 19 ① マイコンおよび プログラムの構築 マイコン (Arduino Uno) 温湿度センサ (SHT31/HDC1000) sakura.io モジュール ② 各種LED プロジェクト モジュール sakura.ioの設定 ハンズオン キット
  9. モジュール登録  モジュールの追加に成功すると[ モジュールを追加しました ]ダイアログが表示されます。  [ ホームへ戻る ]ボタンをクリックしてホームに戻ります。 ID/PASSが正しくない、もしくは既に登録されているモジュールを追加しようとした場合は

    内容とともに[ モジュールの追加に失敗しました ]というダイアログが表示されます。 23 登録が成功した場合 登録が失敗した場合 登録用ID / 登録用パスワードのいずれかに誤りがあります、再度ご確認ください 別の会員IDで登録されています、過去登録した会員IDでログインし解除ください
  10. ハンズオン キット Outgoing Webhook 連携 サービス WebSocket ※動作確認用 Webサービス連携 (Twilio)

    ③ /callflow IVR /turn Functions Inbound Webhook Outbound Webhook Studio 環境変数 & パッケージ 今回のハンズオンの流れ 25 ① マイコンおよび プログラムの構築 マイコン (Arduino Uno) 温湿度センサ (SHT31/HDC1000) sakura.io モジュール ② 各種LED プロジェクト モジュール sakura.ioの設定 Incoming Webhook
  11. Incoming Webhook ハンズオン キット Outgoing Webhook 連携 サービス Webサービス連携 (Twilio)

    ③ /callflow IVR /turn Functions Inbound Webhook Outbound Webhook Studio 環境変数 & パッケージ 今回のハンズオンの流れ 30 ① マイコンおよび プログラムの構築 マイコン (Arduino Uno) 温湿度センサ (SHT31/HDC1000) sakura.io モジュール ② 各種LED プロジェクト モジュール sakura.ioの設定 WebSocket ※動作確認用
  12. Webサービス連携 (Twilio) ③ 今回のハンズオンの流れ 36 ① マイコンおよび プログラムの構築 マイコン (Arduino

    Uno) 温湿度センサ (SHT31/HDC1000) sakura.io モジュール ② 各種LED sakura.ioの設定 プロジェクト ハンズオン キット Outgoing Webhook 連携 サービス モジュール WebSocket ※動作確認用 Incoming Webhook /callflow IVR /turn Functions Inbound Webhook Outbound Webhook Studio 環境変数 & パッケージ
  13. 今回のワークショップでご提供するもの 37 ジャンパーコード sakura.ioモジュール(アンテナ付) +Arduino用シールド&Arduino Uno Rev3 USB2.0 ケーブル(A-B) 12W級

    9V-1.3A ACアダプタ ブレッドボード 人感センサ (SB412A) 照度センサ (GL5537-2) 温湿度センサ (HDC1000 or SHT31) 各種抵抗 ※必要に応じてご提供 タクトスイッチ ※必要に応じてご提供 抵抗入りLED ※必要に応じてご提供 本日は使用しません
  14. Arduino IDEのセットアップ  Webサイトから開発環境(Arduino IDE)を入手します。2018/6/29時点の最新 バージョンは[ 1.8.5 ]です。  環境がWindowsの場合は【

    Windows Installer 】、Macの場合は【 Mac OS X 10.7 Lion or newer 】を選択します。 38 https://www.arduino.cc/en/Main/Software
  15. Arduino IDEのセットアップ  上部メニューバーからボードと、シリアルポートを設定します。 ボード:[ ツール ]→[ ボード:”XXX” ]から【 Arduino/Genuino

    Uno 】を選択 シリアルポート:[ ツール ]→[ シリアルポート ]から【 COMx (Arduino/Genuino Uno) 】を選択 Mac環境の場合はCOMポートではなく、【 /dev/… (Arduino/Genuino Uno) 】を選択  うまく認識しない場合は、USBを挿し直し、Arduino IDEを再起動を試してください。 42 ボードの選択 シリアルポートの選択
  16. マイコン(Arduino)の準備  [ ファイル ]→[ スケッチ例 ]→[ 01.Basics ]→[ Blink

    ]を選択し、Blink スケッチを表示します。  【 】をクリックしてスケッチを書き込み、該当のLEDが点滅状態になることを確認します。 何らかの問題があった場合、スケッチ下部にオレンジ色のエラーが表示されます。 43
  17. ライブラリの取得(SakuraIO)  [ スケッチ ]→[ ライブラリをインクルード ]→[ ライブラリを管理... ]をクリックし、 右上検索窓から【

    sakuraio 】を検索すると、[ SakuraIO by SAKURA Internet Inc. ]がヒットします。  最新のVer.を選択のうえ【 インストール 】をクリックすると該当ライブラリが取り込まれ、 [ INSTALLED ]が表示されます。 44
  18. ライブラリの取得(温湿度センサ-HDC1000利用の場合)  [ スケッチ ]→[ ライブラリをインクルード ]→[ ライブラリを管理... ]をクリックし、 検索窓から【

    hdc1000 】を検索すると、[ HDC1000 by Yuichi Tateno ]がヒット します。  【 インストール 】をクリックすると該当ライブラリが取り込まれ、[ INSTALLED ]が表示 されます。 45 ※本作業はセンサにHDC1000を利用している場合のみ実施します。
  19. ライブラリの取得(温湿度センサ-SHT31利用の場合)  [ スケッチ ]→[ ライブラリをインクルード ]→[ ライブラリを管理... ]をクリックし、 検索窓から【

    SHT31 】を検索すると、[ Adafruit SHT31 Library ]がヒットします。  【 インストール 】をクリックすると該当ライブラリが取り込まれ、[ INSTALLED ]が表示 されます。 46 ※本作業はセンサにSHT31を利用している場合のみ実施します。
  20. FirmwareUpdate.ino  [ ファイル ]→[ スケッチ例 ]→[ SakuraIO ]→[ FirmwareUpdate

    ]を 選択し、【 】クリックでスケッチを書き込みます。[ ツール ]→[ シリアルモニタ ]もし くは【 】クリックでアップデート状況を確認します。  現在のVersion情報と比較し、新しいファームウェアが提供されている場合はアップデートを 実行します。 47 ※PCからの給電が不安定/不足している場合は [ Update Failure ] と表示され、アップデートに 失敗する場合があります。その場合、電源アダプタを接続し、再度スケッチを書き込みます。 新しいファームウェアが存在する場合 最新のファームウェアが適用されている場合
  21. 試験用プログラムの流し込み(温湿度センサ-HDC1000利用の場合)  Githubの該当サンプルスケッチページで【 Raw 】をクリックし、キーボードで【 Ctrl + A 】 ですべてを選択して、【

    Ctrl +C 】でコピーします。 54 https://github.com/sakuraio/handson-sample/blob/master/arduino/twilio-HDC1000-with-LED.ino キーボードで【 Ctrl + A 】ですべてを選択 →【 Ctrl +C 】でコピーします
  22. 試験用プログラムの流し込み(温湿度センサ-HDC1000利用の場合)  [ ファイル ]→[ 新規ファイル ]で新しいスケッチを表示し、URLの内容をコピー&ペー ストし、【 】をクリックしてスケッチを書き込みます。 

    [ ツール ]→[ シリアルモニタ ]もしくは【 】クリックでシリアル値とTemp情報、 送信キュー情報が取得できることと、温度が30度を超えるとモニタ上に [ * Sent to sakura.io * ] と表示されることを確認します。 55 ※問題があった場合、オレンジ色のエラーが表示されます。 ※本作業はセンサにHDC1000を利用している場合のみ実施します。 https://github.com/sakuraio/handson-sample/blob/master/arduino/twilio-HDC1000-with-LED.ino
  23. 試験用プログラムの流し込み(温湿度センサ-SHT31利用の場合)  Githubの該当サンプルスケッチページで【 Raw 】をクリックし、キーボードで【 Ctrl + A 】 ですべてを選択して、【

    Ctrl +C 】でコピーします。 56 https://github.com/sakuraio/handson-sample/blob/master/arduino/twilio-SHT31-with-LED.ino キーボードで【 Ctrl + A 】ですべてを選択 →【 Ctrl +C 】でコピーします
  24. 試験用プログラムの流し込み(温湿度センサ-SHT31利用の場合)  [ ファイル ]→[ 新規ファイル ]で新しいスケッチを表示し、URLの内容をコピー&ペー ストし、【 】をクリックしてスケッチを書き込みます。 

    [ ツール ]→[ シリアルモニタ ]もしくは【 】クリックでTemp情報とシリアル値、 送信キュー情報が取得できることと、温度が30度を超えるとモニタ上に [ * Sent to sakura.io * ] と表示されることを確認します。 57 ※問題があった場合、オレンジ色のエラーが表示されます。 ※本作業はセンサにSHT31を利用している場合のみ実施します。 https://github.com/sakuraio/handson-sample/blob/master/arduino/twilio-SHT31-with-LED.ino
  25. 【参考】デバイスから送信されたデータの確認  [ 詳細表示モードに切り替え ]をクリックすると詳細表示モードに遷移します。  モジュールは同一ですが、データの内容によりタイプやペイロードが異なります。 60 タイプ: プラットフォームからの内容に応じて、

    いくつかの種類に分かれる ・channels :モジュールからのデータ ・connection :接続の開始/終了 ・location :簡易位置情報 ・keepalive :WebSocketセッション確認 ペイロード: 受け取ったデータのpayload部 が表示 時刻: 詳細表示モードではプラットフォームで該 当のメッセージを受け取ったタイムスタンプ チャンネルごとの最終到着データ: 各チャンネルに届いた最終の Valueを表示
  26. Webサービス連携 (Twilio) ③ 今回のハンズオンの流れ 62 ① マイコンおよび プログラムの構築 マイコン (Arduino

    Uno) 温湿度センサ (SHT31/HDC1000) sakura.io モジュール ② 各種LED sakura.ioの設定 プロジェクト ハンズオン キット Outgoing Webhook 連携 サービス モジュール WebSocket ※動作確認用 Incoming Webhook /callflow IVR /turn Functions Inbound Webhook Outbound Webhook Studio 環境変数 & パッケージ
  27. 電話番号の購入 75  日本で使用可能な番号一覧が表示されます。TYPEが [ ローカル ] となっている月額 が [

    ¥108 ] のものの中から任意の番号を選び、右側にある 【 購入 】 をクリックします。
  28. ③ 今回のハンズオンの流れ 79 ① マイコンおよび プログラムの構築 マイコン (Arduino Uno) 温湿度センサ

    (SHT31/HDC1000) sakura.io モジュール ② 各種LED sakura.ioの設定 プロジェクト ハンズオン キット Outgoing Webhook 連携 サービス モジュール WebSocket ※動作確認用 Incoming Webhook /callflow IVR /turn Functions Inbound Webhook Outbound Webhook Studio 環境変数 & パッケージ Webサービス連携 (Twilio)
  29. Functionsの設定 82  Configuration画面では、[ Enable ACCOUNT_SID and AUTH_TOKEN ]に チェックを入れ、[

    Environmental Variables ]の【 】をクリックし、 以降で作成するプログラムのため、以下の4つの環境変数を設定します。 FROM_NUMBER:購入した電話番号(E.164形式) ※79p参照 MODULE_ID:モジュールの一意のID ※25p参照 SAKURA_URL:Incoming WebhookのURL ※32p参照 TO_NUMBER:通知先に使用する電話番号(E.164形式)
  30. 環境変数 & パッケージ ③ 今回のハンズオンの流れ 84 ① マイコンおよび プログラムの構築 マイコン

    (Arduino Uno) 温湿度センサ (SHT31/HDC1000) sakura.io モジュール ② 各種LED sakura.ioの設定 プロジェクト ハンズオン キット Outgoing Webhook 連携 サービス モジュール WebSocket ※動作確認用 Incoming Webhook /callflow IVR Functions Inbound Webhook Outbound Webhook Studio Webサービス連携 (Twilio) /turn
  31. Functionsの設定(turn) 87  Functions作成画面に遷移します。 FUNCTION NAME、PATHを入力し、 CODEにはサンプルの内容をコピー&ペーストしたうえで 【 Save 】

    をクリックします。 https://github.com/sakuraio/handson-sample/blob/master/twilio/part2/turn.js コピー&ペースト FUNCTION NAME:turn PATH:/turn
  32. Functionsの設定(turn)  Githubの該当するサンプルフローページで【 Raw 】をクリックし、キーボードで 【 Ctrl + A 】ですべてを選択して、【

    Ctrl +C 】でコピーします。 88 https://github.com/sakuraio/handson-sample/blob/master/twilio/part2/turn.js キーボードで【 Ctrl + A 】ですべてを選択 →【 Ctrl +C 】でコピーします
  33. /turn 環境変数 & パッケージ ③ 今回のハンズオンの流れ 89 ① マイコンおよび プログラムの構築

    マイコン (Arduino Uno) 温湿度センサ (SHT31/HDC1000) sakura.io モジュール ② 各種LED sakura.ioの設定 プロジェクト ハンズオン キット Outgoing Webhook 連携 サービス モジュール WebSocket ※動作確認用 Incoming Webhook /callflow Functions Inbound Webhook Outbound Webhook Studio Webサービス連携 (Twilio) IVR
  34.  New Flowダイアログが表示されます。[ FLOW NAME ]には任意の名前を入力のう え、【 NEXT 】をクリックします。 

    画面が切り替わり、テンプレートの選択を求められます。こちらではデフォルトの[ Start from scratch ]が選択されていることを確認し、【 NEXT 】をクリックします。 Studioの設定 91
  35.  FunctionsからREST API経由でデータを受け取り、電話発信するボックスを作成します。  WIDGET LIBRARYから【 Make Outgoing Call 】をドラッグアンドドロップし、

    Triggerの[ REST API ]から伸びる【 】を作られたボックスの左上に繋ぎます。  WIDGET NAMEを指定して【 Save 】をクリックします。 Studioの設定 94 WIDGET NAME: CallToUser ドラッグアンド ドロップで繋ぐ
  36.  次に、相手が応答したときに、メッセージを流しキー操作を受け付けるボックスを作成します。  WIDGET LIBRARYから【 Gather Input on Call 】をドラグアンドドロップし、

    CallToUserの【 Answer 】とボックスを接続します。  Configの各項目を指定して【 SAVE 】をクリックします。 Studioの設定 95 ドラッグアンド ドロップで繋ぐ WIDGET NAME:IVR TEXT TO SAY:室温が上昇してい ます。エアコンをつける場合は1、消す 場合は0を押してください SAY OR PLAY MESSAGE:Say a Message MESSAGE VOICE:Alice LANGUAGE:Japanese,Japan
  37.  次に、押されたキーを判定するボックスを作成します。  WIDGET LIBRARYから【 Split Based on... 】をドラグアンドドロップし、IVRの 【

    User Pressed Keys 】とボックスを接続します。  ConfigおよびTransitionsの各項目を指定して【 SAVE 】をクリックします。 Studioの設定 96 WIDGET NAME:CheckKey VARIABLE TO TEST:IVR,Digits 条件1: 条件:Equal To Value:1 条件2: 条件:Equal To Value:0
  38.  次に、キー操作で[ 1 ]が押された時にFunctionsのTurnプログラムに[ switch on ]の値を渡すボックスを作成します。  WIDGET LIBRARYから【

    Run Function 】をドラグアンドドロップし、CheckKeyの 【 If value equal_to 1 】とボックスを接続します。  Configの各項目を指定して【 SAVE 】をクリックします。 Studioの設定 97 WIDGET NAME:TurnOn Function URL:TURN Function Parameters: KEY:switch VALUE:on
  39.  次に、キー操作で[ 0 ]が押された時にFunctionsのTurnプログラムに[ switch off ]の値を渡すボックスを作成します。  WIDGET LIBRARYから【

    Run Function 】をドラグアンドドロップし、CheckKeyの 【 If value equal_to 0 】とボックスを接続します。  Configの各項目を指定して【 SAVE 】をクリックします。 Studioの設定 98 WIDGET NAME:TurnOff Function URL:TURN Function Parameters: KEY:switch VALUE:off
  40.  次に、TurnOnの実行が成功した時にその旨の音声を流すボックスを作成します。  WIDGET LIBRARYから【 Say/Play 】をドラグアンドドロップし、TurnOnの 【 Success 】とボックスを接続します。

     Configの各項目を指定して【 SAVE 】をクリックします。 Studioの設定 99 ドラッグアンド ドロップで繋ぐ WIDGET NAME:SayTurnOn TEXT TO SAY:エアコンをつけました SAY OR PLAY MESSAGE: Say a Message MESSAGE VOICE:Alice LANGUAGE:Japanese,Japan
  41.  次に、TurnOffの実行が成功した時にその旨の音声を流すボックスを作成します。  WIDGET LIBRARYから【 Say/Play 】をドラグアンドドロップし、TurnOffの 【 Success 】とボックスを接続します。

     Configの各項目を指定して【 SAVE 】をクリックします。 Studioの設定 100 ドラッグアンド ドロップで繋ぐ WIDGET NAME:SayTurnOff TEXT TO SAY:エアコンを消しました SAY OR PLAY MESSAGE: Say a Message MESSAGE VOICE:Alice LANGUAGE:Japanese,Japan
  42. IVR /turn 環境変数 & パッケージ ③ 今回のハンズオンの流れ 103 ① マイコンおよび

    プログラムの構築 マイコン (Arduino Uno) 温湿度センサ (SHT31/HDC1000) sakura.io モジュール ② 各種LED sakura.ioの設定 プロジェクト ハンズオン キット Outgoing Webhook 連携 サービス モジュール WebSocket ※動作確認用 Incoming Webhook Functions Inbound Webhook Outbound Webhook Studio Webサービス連携 (Twilio) /callflow
  43. Functionsの設定(callflow) 106  Functions作成画面に遷移します。 FUNCTION NAME、PATHを入力し、 CODEにはサンプルの内容をコピー&ペーストします。  26行目の【 FWから始まるStudioフローのSID

    】という記載部分を 先程コピーしたSIDに入れ替え、【 SAVE 】をクリックします。 https://github.com/sakuraio/handson-sample/blob/master/twilio/part2/callflow.js CODE: コピー&ペースト +31行目修正 FUNCTION NAME:callflow PATH:/callflow SID:ivrフローのSID ※104p参照
  44. Functionsの設定(callflow)  Githubの該当するサンプルフローページで【 Raw 】をクリックし、キーボードで 【 Ctrl + A 】ですべてを選択して、【

    Ctrl +C 】でコピーします。 107 https://github.com/sakuraio/handson-sample/blob/master/twilio/part2/callflow.js キーボードで【 Ctrl + A 】ですべてを選択 →【 Ctrl +C 】でコピーします
  45. 今回のハンズオンの流れ 110 マイコン (Arduino Uno) 温湿度センサ (SHT31/HDC1000) sakura.io モジュール 各種LED

    プロジェクト ハンズオン キット Outgoing Webhook 連携 サービス モジュール WebSocket ※動作確認用 Incoming Webhook /callflow IVR /turn Functions Inbound Webhook Outbound Webhook Studio 環境変数 & パッケージ  現時点の設定では連携は正しく動作しません。これはsakura.io設定時に定まっていな かったTwilio側のパラメータがあり、Outgoing Webhookを作成できなかったためです。  そのため、最後にsakura.ioにて、Outgoing Webhookを作成します。 温度が閾値を超えた場合に データを送信 Webhookではデータ到達を確認 できるが、Outgoing Webhookが 未作成のため動作しない /callflowのPATHに対して データを送信するOutgoing Webhookを作成する
  46. Incoming Webhook WebSocket ※動作確認用 ハンズオン キット 連携 サービス Webサービス連携 (Twilio)

    ③ /callflow IVR /turn Functions Inbound Webhook Outbound Webhook Studio 環境変数 & パッケージ 今回のハンズオンの流れ 111 ① マイコンおよび プログラムの構築 マイコン (Arduino Uno) 温湿度センサ (SHT31/HDC1000) sakura.io モジュール ② 各種LED プロジェクト モジュール sakura.ioの設定 Outgoing Webhook
  47. 連携サービスの設定(Outgoing Webhook)  Outgoing Webhookでは任意の名前とPayload URLを指定し、【 作成 】を クリックします。今回指定するPayload URLはTwilioのコントロールパネルで作成した

    【 callflow 】 のPATHとなります。  Secretはセキュリティを強固にするために使用いたしますが、今回は設定しません。 114
  48. 今回のハンズオンの流れ 116 マイコン (Arduino Uno) 温湿度センサ (SHT31/HDC1000) sakura.io モジュール 各種LED

    プロジェクト ハンズオン キット Outgoing Webhook 連携 サービス モジュール WebSocket ※動作確認用 Incoming Webhook /callflow IVR /turn Functions Inbound Webhook Outbound Webhook Studio 環境変数 & パッケージ 温度が閾値を超えた場合に データを送信 Outgoing Webhookにより、 リアルタイムで連携 /callflowからivrフローを呼出 受信したJSONデータを 元に自動応答での架電を実行 moduleで指定された モジュールにデータを転送 JSONは電気信号に変換され 定義したLEDの操作を実行 ivrフローから/turnを実行 受電した電話上でのキー操作 に基づきJSONデータを送信  以上で設定は完了です。温度センサを指で押さえ、指定した値に達することでデータを送 信すること、それを元に自動的な架電が発生すること、キー操作に応じてLEDが制御され ること、までを確認しましょう。
  49. 最後に ~Twilio~  購入した電話番号の維持には月額費用がかかります。返却する場合は [ Phone Numbers ]から[ アクティブな電話番号 ]を開き、最下部の

    【 この電話番号をリリースする 】をクリックします。その後、返却の確認がされるため、 【 番号をリリースする 】をクリックすると該当番号が返却されます。 124