LoginSignup
7
4

More than 5 years have passed since last update.

Wio Node と Twilio Studio で簡単な IoT システムを組んでみる

Last updated at Posted at 2018-12-01

はじめに

積みボードと化していた、Seeed Wio Node をいい加減使おう!ということで触ってみたら、思っていた以上に簡単に IoT システムを作れることがわかり、せっかくなら Twilio と絡めてできないかな?と思ったのがきっかけです。

今回の IoT システムは、「電話をかけると、Wio Node に接続されている温湿度センサの値を取得し、温湿度を音声で教えてくれる」という、IoT ならよくある構成でございます。

電話使った IoT システムって、デモするとウケが良かったり、IoT の例としては結構わかりやすくて個人的におすすめです。

前提条件

  • Twilio のアカウントを開設済みであること。
    初めての方は、トライアルアカウントを利用されることをお勧めします。
  • Twilio の基本的な知識があること。
    Phone Number の取得方法や Studio で作成した Flow へ Phone Number で取得した電話番号を割り当てる、といった手順については記載しません。
  • Wio Node の初期セットアップについては、SHINYA さんの WIO NODE + AZURE LOGIC APPSでお手軽IOT【WIO NODE初期設定編】 を参考にセットアップしました。
  • スマートフォンの OS バージョンやメーカーによって、Wio Node との接続がうまくいかない場合があります。ご注意ください。

必要なデバイス

名称 説明 価格(執筆時)
Wio Node デバイス本体 1,231円
Grove 温湿度センサ(SHT31) Wio Node へつなげるセンサー 1,544円
スマートフォン (Android/iOS) Wio Node のセットアップで使用 -

手順

Wio Node の設定

温湿度センサ(SHT31) を PORT0 へ接続し、アプリにて PORT0 に Temperature&Humidity Sensor (SHT31) を選択し、Wio Node のファームウェアを更新します。
20181201_131438000_iOS.png
更新が完了すると、 "View API" と表示されますので、温度取得の API と 湿度取得の API の URLを確認します。

20181201_131449000_iOS.png
20181201_131506000_iOS.png

Twilio の設定

Studio Flow

無題.png

Wio Node からの取得失敗時は、失敗しましたの案内を流して終了します。
ちゃんとエラー系を組もうかと思ったけど、Studio 初心者なので勘弁してください。

ウィジェット設定

say_welcome (Say/Play)

接続時のウェルカムメッセージ再生

item value
WIDGET NAME say_welcome
SAY OR PLAY MESSAGE Say a Message
TEXT TO SAY こんにちは。こちらはワイオ・ノードです。
LANGUAGE Japanese
MESSAGE VOICE [Polly]Mizuki または [Polly]Takumi
NUMBER OF LOOPS 1

http_temp (HTTP Request)

Wio Node に接続されている温湿度計の温度を取得

item value
WIDGET NAME http_temp
REQUEST METHOD GET
REQUEST URL 温度取得の API
https://us.wio.seeed.io/v1/node/GroveTempHumiSHT31I2C0/temperature?access_token=XXXXXXXXXX
CONTENT TYPE From URL Encode
REQUEST BODY

say_temp_ok (Say/Play)

温度取得成功時の音声案内

item value
WIDGET NAME say_temp_ok
SAY OR PLAY MESSAGE Say a Message
TEXT TO SAY 温度は {{widgets.http_temp.parsed.temperature}} 度です。
LANGUAGE Japanese
MESSAGE VOICE [Polly]Mizuki または [Polly]Takumi
NUMBER OF LOOPS 1

say_temp_ng (Say/Play)

温度取得失敗時の音声案内

item value
WIDGET NAME say_temp_ng
SAY OR PLAY MESSAGE Say a Message
TEXT TO SAY 温度の取得に失敗しました。
LANGUAGE Japanese
MESSAGE VOICE [Polly]Mizuki または [Polly]Takumi
NUMBER OF LOOPS 1

http_humi (HTTP Request)

Wio Node に接続されている温湿度計の湿度を取得

item value
WIDGET NAME http_humi
REQUEST METHOD GET
REQUEST URL 湿度取得の API
https://us.wio.seeed.io/v1/node/GroveTempHumiSHT31I2C0/humidity?access_token=XXXXXXXXXX
CONTENT TYPE From URL Encode
REQUEST BODY

say_humi_ok (Say/Play)

湿度取得成功時の音声案内

item value
WIDGET NAME say_humi_ok
SAY OR PLAY MESSAGE Say a Message
TEXT TO SAY 湿度は {{widgets.http_humi.parsed.humidity}} パーセントです。
LANGUAGE Japanese
MESSAGE VOICE [Polly]Mizuki または [Polly]Takumi
NUMBER OF LOOPS 1

say_humi_ng (Say/Play)

湿度取得失敗時の音声案内

item value
WIDGET NAME say_humi_ng
SAY OR PLAY MESSAGE Say a Message
TEXT TO SAY 湿度の取得に失敗しました。
LANGUAGE Japanese
MESSAGE VOICE [Polly]Mizuki または [Polly]Takumi
NUMBER OF LOOPS 1

say_thanks (Say/Play)

音声サービス終了メッセージ再生

item value
WIDGET NAME say_thanks
SAY OR PLAY MESSAGE Say a Message
TEXT TO SAY ご利用いただきありがとうございました。またのご利用をお待ちしております。
LANGUAGE Japanese
MESSAGE VOICE [Polly]Mizuki または [Polly]Takumi
NUMBER OF LOOPS 1

デモ

https://www.youtube.com/watch?v=hszKF23lm08
https://www.youtube.com/watch?v=hszKF23lm08

おわりに

今回は時間がなかったのでこちらから電話をかけて確認という形になりましたが、できるなら温度のしきい値をトリガーとして逆に電話をかける動きも試してみたかったです。

また Seeed の Grove システムは多種多様なセンサが提供されていますので、PIRセンサで人を検知して電話をかけるとか、リードスイッチで扉の開閉をチェックするとかもできるので、どう Twilio と絡めていくか?というアイディアを考えるのも楽しいかと思います。

7
4
0

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
7
4