工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Manufacturing Technology >> 製造プロセス

Arduino UNOで電話着信を実現 - Twilio & Yalerを活用した「Call My Arduino」プロジェクト

必要なパーツと用品

パーツ数量
Arduino UNO1
Arduino Ethernet Shield1
アナログ温度センサー1

プロジェクト概要

Arduino UNOで電話着信を実現 - Twilio & Yalerを活用した「Call My Arduino」プロジェクト

(出典: Instructables - Call my Arduino)

Arduinoへの電話着信を可能にする仕組み

TwilioとYaler.netを使用して、Arduinoへの電話着信を実現します。

このデモでは温度センサーを使用していますが、他のセンサーでも構いません。実用的な製品例としては、Canary(現Birdi)煙探知機のように、外出先から電話でバッテリー残量を確認できるデバイスなどが考えられます。

より抽象的なレベルでは、このInstructableは、オープンなIoTにおいて、モジュール化されたクラウドサービスを自由に組み合わせて、斬新でシンプルかつ信頼性の高いソリューションを構築できることを示しています。HTTPとWebhooks万歳!

(IoTLiveによるプロジェクト解説動画 - IoTDay 2014の一部)

必要な材料

ステップ1: センサーの配線

Arduino UNOで電話着信を実現 - Twilio & Yalerを活用した「Call My Arduino」プロジェクト

Ethernet ShieldをArduinoに装着し、図のように温度センサーを接続します。TMP36センサーでの温度測定詳細は Adafruit学習ガイド を参照。他の(デジタル)センサーを追加する場合、Ethernet Shieldが使用するピンに注意してください。

ステップ2: Yalerライブラリのインストール

Arduino UNOで電話着信を実現 - Twilio & Yalerを活用した「Call My Arduino」プロジェクト

https://yaler.net/arduino の「Installing the library」の3ステップに従ってください。まだの場合は https://yaler.net/ で無料トライアルアカウントを登録し、リレイドメインをメモしておきます(シークレットキーは不要)。

ステップ3: Arduinoのプログラミング

Arduino UNOで電話着信を実現 - Twilio & Yalerを活用した「Call My Arduino」プロジェクト

TwilioYalerWebService Arduinoソースコードをダウンロード

Bitbucketリポジトリ

Arduinoコードを開く

このプログラムは、着信HTTPリクエストを待ち受けるシンプルなWebサーバーを実装しています。リクエストが来ると、XMLドキュメントで応答します。URLパスが / でも /voice.xml でも気にしません。

MACアドレスを変更

Arduinoコード内のMACアドレスが一意になるようにしてください。同じローカルネットワークに複数のArduinoがある場合特に重要です。コンピューターのMACアドレスを調べて最後の桁に1を足すのが簡単な方法です。

リレイドメインを入力

EthernetServer server(80); でローカルサーバーを作る代わりに、Yalerリレイ経由でアクセス可能なサーバーを作ります:

YalerEthernetServer server("try.yaler.net", 80, "RELAY_DOMAIN");

RELAY_DOMAIN を自分のリレイドメインに置き換えます。例: gsiot-ffmq-ttd5 の場合:

YalerEthernetServer server("try.yaler.net", 80, "gsiot-ffmq-ttd5");

ポートフォワーディングでファイアウォールに穴を開けられるならローカルサーバーでも構いません。重要なのはTwilioがクラウドからArduinoにアクセスできることです。

保存してアップロード

全ての変更を保存し、Arduinoにアップロード。USBケーブルを繋いだままシリアルコンソールを開いてデバッグ出力を確認してください。

ステップ4: Arduinoへのアクセス

Arduino UNOで電話着信を実現 - Twilio & Yalerを活用した「Call My Arduino」プロジェクト

任意のブラウザからArduinoにアクセス

Yalerライブラリにより、Arduino(とXMLドキュメント)がパブリックインターネットから https://RELAY_DOMAIN.try.yaler.net/ でアクセス可能になります。例: リレイドメイン gsiot-ffmq-ttd5 なら https://gsiot-ffmq-ttd5.try.yaler.net/ 。Twilio用に見栄えを良くするなら https://gsiot-ffmq-ttd5.try.yaler.net/voice.xml 。

XMLドキュメントを確認

XMLドキュメントの内容が、着信電話へのTwilioの応答内容を指定します。テキスト読み上げの声も選べます(ここではAlice)。TwilioのXMLフォーマットはTwiMLと呼ばれます。詳細は Twilio公式ドキュメント を参照。応答テキストには実際の温度が含まれます。センサーを温めてブラウザでF5更新すると値が変わるのが確認できます。

トラブルシューティング

空白ページやエラーが出る場合、Ethernetケーブルが繋がっているか確認し、https://yaler.net/browser でブラウザ別デバッグを確認してください。

ステップ5: Twilio番号のセットアップ

Arduino UNOで電話着信を実現 - Twilio & Yalerを活用した「Call My Arduino」プロジェクト
Arduino UNOで電話着信を実現 - Twilio & Yalerを活用した「Call My Arduino」プロジェクト
Arduino UNOで電話着信を実現 - Twilio & Yalerを活用した「Call My Arduino」プロジェクト

サインアップ

まず Twilio でアカウント登録。

電話番号を購入

着信を受けるには番号が必要(少額の費用発生)。ログイン後、Numbers → Twilio Numbers サブメニュー → Manage Numbers タブへ。Buy a number ボタンをクリック、Voice チェックボックスをオンにして Search、番号を選んで Buy 。

voice.xml Webhook URLを設定

Manage Numbers タブで購入した番号をクリック。Response URL を https://RELAY_DOMAIN.try.yaler.net/voice.xml に設定し、POST が選択されていることを確認。例: リレイドメイン gsiot-ffmq-ttd5 なら https://gsiot-ffmq-ttd5.try.yaler.net/voice.xml 。

ステップ6: テスト通話

Arduino UNOで電話着信を実現 - Twilio & Yalerを活用した「Call My Arduino」プロジェクト

Arduinoのセットアップが完了したら、どの電話からでも呼び出せます。おじいちゃんの電話からでも。

以上です。お読みいただきありがとうございました。 @tamberg

コード

Bitbucket

https://bitbucket.org/tamberg/iotworkshop/raw/default/Arduino/TwilioYalerWebService/TwilioYalerWebService.ino?at=default

回路図

Arduino UNOで電話着信を実現 - Twilio & Yalerを活用した「Call My Arduino」プロジェクト

製造プロセス

  1. CMMS導入のビジネスケース構築:メンテナンス効率とROIを最大化
  2. 制汗剤/デオドラントスティック:科学、歴史、製造の洞察
  3. Raspberry Piガレージドアオープナーにライブビデオストリーミングを追加 - ステップバイステップガイド
  4. Bluetooth操作のArduinoスパイボットを自作する
  5. FlickMote:ジェスチャー操作のIRリモコンでスマートホームを制御
  6. 自作Arduino TV-B-Gone:全テレビ対応の万能リモコン
  7. Arduino UNOで電話着信を実現 - Twilio & Yalerを活用した「Call My Arduino」プロジェクト
  8. 12メートル先から見える大型LEDマスタークロック(アラーム機能付き)を自作しよう
  9. ArduinoとBluetoothで作るスマート紛失防止タグ「Find Me」
  10. Arduinoプロジェクトのための最適化電源ソリューション
  11. 鉛筆形状GaN/(In,Ga)Nコア-シェルナノワイヤの高分解能3Dイメージング:電子トモグラフィーによる解析