2017年11月2日にさくらインターネットさんで開催された【KDDIウェブコミュニケーションズ共催】Twilio&sakura.io 体験ハンズオン@東京に参加しました。
https://sakura-kanto.doorkeeper.jp/events/64652
今回のハンズオンでは温度センサーから取得した温度情報をlTEモジュールを使ってsakura.ioに送信。温度が30℃を超えるとTwilioのAPIを叩いて、自分の携帯に連絡。音声メッセージで温度が上昇したことを伝え、空調のスイッチをいれる場合は1を押すようにうながされます。1を押すとTwilioからsakura.ioにデータがおくられ、ブレッドボードに取り付けられたLEDが点灯するというものでした。
結果としては動画の用になります。
今回、Twilio側の設定について自分で復習できるようにメモをしました。
Twilioで電話番号を購入する
Twilioで電話番号を購入します。月々108円とのことです。




値の設定
今回のハンズオンで用意されたプログラムで使用する値は、Twilioの中のconfigrationで設定できますので、そこに入力します。



FROM_NUMBER
FROM_NUMBERは、かかってくる電話番号。先程、Twilioで購入した電話番号を入力します。
入力は+81から一番最初の0を抜いた番号です。

MODULE_ID
MODULE_IDはsakura.ioのモジュールのIDです。
これは、sakura.ioの管理画面から確認できます。

SAKURA_URL
SAKURA_URLもsakura.ioの管理画面から確認。

TO_NUMBER
TO_NUMBERは、Twilioから電話をかける相手の電話番号です。

以上を入力したらsaveします。

Twilio側でコードを書きます。
メニューからFunctionsから「Manage」を選び「Create function」のボタンをおします。


New Functionのメニューが表示されるので、そこから「+Blank」をえらび、「Create」

PropertiesからPATHを入力。


outboundcallのコードについては
https://github.com/sakuraio/handson-sample/blob/master/twilio/outboundcall.js
これをコピー

そして、セーブ
IVR
IVRのファンクションを作成します。



https://github.com/sakuraio/handson-sample/blob/master/twilio/ivr.js

Turnを作成



コードはこちら

さくら側
さくらとTwilioをつなげる設定。





まとめ
sakura.ioはArduinoのシールドと組み合わせセンサーで取得したデータをLTE回線からsakura.ioに送ることができるので、距離の離れたところにある機器の情報を取得するのにとても便利なプラットフォームです。
また、Twilioは直接、電話という手段を使い音声で連絡をとれるだけでなく、その場で対応をボタンを押すことで、Twilioを通してsakura.ioにも送ることができるので、誰でもわかりやすく、また操作もシンプルにすることができます。
今後はここら辺とDALIを連携させて、設備制御とsakura.io、Twilioをつなげた実験をしてみたいと思います。