私のArduinoに電話してください
コンポーネントと消耗品
> ![]() |
| × | 1 | |||
| × | 1 | ||||
| × | 1 |
このプロジェクトについて

(http://www.instructables.com/id/Call-my-Arduino/から)
Arduinoへの通話を有効にする方法 、TwilioとYaler.netを使用
Twilioは、すべてを電話に変えるWebサービスです。これは、クラウドでホストされるテレフォニー用のRESTAPIです。この場合、Twilioは、誰かがArduinoの事前定義された電話番号に電話をかけるたびに、Arduinoに新しいvoice.xmlファイルを要求します。応答の内容は、Twilioの音声合成エンジンの音声であるAliceによって発信者に読み取られます。
Yaler.netは、ファイアウォール、NAT、またはモバイルネットワークルーターの背後にある組み込みデバイスへのWebアクセスを可能にします。ここでは、TwilioがローカルネットワークにあるArduino上のvoice.xmlファイルにアクセスできるようにするため、独自のパブリックIPアドレスを持っていません(開示:私はYalerの創設者です)。
このデモでは温度センサーを使用していますが、他のセンサーでも同様に使用できます。実際の製品の例としては、カナリア(現在はバーディ)の煙探知器があります。これにより、関係する住宅所有者は、バッテリーがまだ問題ないかどうかを尋ねるために電話をかけることができます。
より抽象的なレベルで、このInstructableは、オープンなモノのインターネットで、モジュラークラウドサービスを自由に組み合わせて、斬新でシンプルで信頼性の高いソリューションを構築する方法を示します。 HTTPとWebhookFTW!しかし、始めましょう...
(これは、IoTDay 2014の一部であるIoTLiveからのこのプロジェクトを説明するビデオです)
素材
-Arduino Uno(例:https://www.adafruit.com/products/50)
-USBケーブル標準A-B(例:http://www.adafruit.com/products/62)
-Arduinoイーサネットシールド(例:http://www.adafruit.com/products/201)
-イーサネットケーブル(例:http://www.adafruit.com/products/995)
-アナログ温度センサー(例:https://www.adafruit.com/products/165)
-ブレッドボーディングワイヤーバンドル(例:http://www.adafruit.com/products/153)
-ブレッドボード(例:http://www.adafruit.com/products/64)
http://www.youtube.com/watch?v=4IPwkW38oIwステップ1:センサーの配線
<図>
Arduinoにイーサネットシールドを追加し、図のように温度センサーを接続します。 TMP36センサーによる温度検知の詳細については、たとえば、 http://learn.adafruit.com/tmp36-temperature-sensor/using-a-temp-sensor
他の(デジタル)センサーを追加する場合は、一部のピンがイーサネットシールドによって使用されることに注意してください。
ステップ2:Yalerライブラリをインストールする
<図>
ライブラリのインストールの3つの手順に従います https://yaler.net/arduinoでまだ登録していない場合は、https://yaler.net/で無料トライアルアカウントにサインアップし、リレードメインを書き留めます(秘密鍵は必要ありません)。
ステップ3:Arduinoのプログラミング
<図>
TwilioYalerWebServiceArduinoソースコードをダウンロード
https://bitbucket.org/tamberg/iotworkshop/raw/default/Arduino/TwilioYalerWebService/TwilioYalerWebService.ino?at=default
Arduinoコードを開きます
このプログラムは、着信HTTP要求をリッスンする非常に単純なWebサーバーを実装します。リクエストが届くと、プログラムはXMLドキュメントで応答します。サーバーは、URLパスが / であるかどうかを気にしません または /voice.xml。
MACアドレスを変更する
ArduinoコードのMACアドレスが一意であることを確認してください。同じローカルネットワークに複数のArduinoがある場合、これは特に重要です。 (うまくいけば)一意のアドレスを取得する簡単な方法は、コンピュータのMACを検索し、最後の桁に1を追加することです。
リレードメインを入力してください
EthernetServer server(80);を使用してローカルサーバーを作成する代わりに、 Yalerリレー try.yaler.net を介してアクセスできるものを作成します 、次の行:
YalerEthernetServer server( "try.yaler.net"、80、 "RELAY_DOMAIN");
RELAY_DOMAIN を置き換えます リレードメインを使用します。例: gsiot-ffmq-ttd5 の場合 タイプ:
YalerEthernetServer server( "try.yaler.net"、80、 "gsiot-ffmq-ttd5");
ローカルファイアウォールで着信HTTPリクエスト用のホールを開くようにポート転送を構成する方法を知っている場合は、ローカルサーバーを使用することもできます。重要なことは、TwilioがクラウドからArduinoにアクセスできることです。
変更を保存してアップロード
すべての変更を保存し、プログラムをArduinoにアップロードします。今のところ、USBケーブルを開発用コンピューターに接続したままにし、シリアルコンソールを開いてデバッグ出力を確認します。
ステップ4:Arduinoにアクセスする
<図>
任意のブラウザからArduinoにアクセス
Yalerライブラリを使用すると、Arduino(およびXMLドキュメント)にパブリックインターネット( http://RELAY_DOMAIN.try.yaler.net/、)からアクセスできるようになります。 例えばリレードメインの場合 gsiot-ffmq-ttd5 URLは http://gsiot-ffmq-ttd5.try.yaler.net/ または、Twilioの見栄えを良くするには: http://gsiot-ffmq-ttd5.try.yaler.net/voice.xml
XMLドキュメントを確認してください
XMLドキュメントの内容は、着信電話に何を応答するかをTwilioに指示します。テキスト読み上げの音声を選択することもできます。これがアリスです。 TwilioのXML形式はTwiMLと呼ばれます。詳細については、https://www.twilio.com/docs/api/twimlをご覧ください。返信テキストには実際の温度が含まれていることに注意してください。センサーを加熱し、F5を使用してWebブラウザーでドキュメントを更新し、変更を確認します。
トラブルシューティング
空のページまたはエラーが発生した場合は、イーサネットケーブルが接続されていることを確認し、https://yaler.net/browserでブラウザ固有のデバッグを確認してください。
ステップ5:Twilio番号を設定する
<図>


サインアップ
まず、Twilioアカウントを取得するには、https://www.twilio.com/
でサインアップする必要があります。電話番号を購入する
電話を受けるには番号が必要ですが、これには(少額の)費用がかかります。ログインして、番号に移動します Twilio番号を選択します サブメニューで、番号の管理を確認します タブ。
番号を購入をクリックします ボタンをクリックし、音声を選択します チェックボックスをオンにして、検索をクリックします 、次に番号を選択して、[購入]をクリックします それを買うために。
voice.xml WebhookURLを構成します
番号の管理 タブで、購入した番号をクリックします。 応答URL を設定します http://RELAY_DOMAIN.try.yaler.net/voice.xml へ POST であることを確認します が選択されている(例: Yalerリレードメインの場合 gsiot-ffmq-ttd5 応答URLを http://gsiot-ffmq-ttd5.try.yaler.net/voice.xml に設定します
ステップ6:テストコールをかける
<図>
Arduinoをセットアップすると、おじいちゃんも含め、どの電話からでも電話をかけることができます。
それだけです、読んでくれてありがとう。 @tamberg
コード
Bitbucket
https://bitbucket.org/tamberg/iotworkshop/raw/default/Arduino/TwilioYalerWebService/TwilioYalerWebService.ino?at=default 回路図

製造プロセス