Raspberry Pi 3からtwilioを使って、ドコモの携帯電話にSMSメッセージを送信します。twilioは、トライアルアカウントを取得します。SMSを送信するには、HTTP POSTリクエストをtwilioのMessageリソースに発行します。Python言語を使用する場合は、twilio-pythonHelperライブラリを使用します。

twilioのアカウントの取得

twilio Log In」から「Sign Up for free」ボタンを押してトライアルアカウントを作成します。

KDDIも同様なサービスを行っています(元は同じです)。トライアルアカウントを作成したサイトは本家のサイトから行いました。

twilio Log In

作成したアカウントのパスワードを使ってログインすると、次のダッシュボードが表示されます。このダッシュボードに、プログラムで使用するACCOUNT SIDとAUTH TOKENが表示されています。

twilioダッシュボード

Twilio電話番号の取得

次の手順で、Twilio電話番号といくつかの重要な開発環境が設定できます。なお、Twilioの無料トライアル期間中は、送信先として指定できるのは、Twilioでベリファイされた番号宛にしか SMSメッセージを送信できません。電話番号のベリファイは、Twilioアカウントの電話番号ページで行うことができます。

  1. 無料トライアルをサインアップするときは、ベリファイパーソナル電話番号を尋ねられます。これはTwilioを試みるために必修の重要なセキュリティ手順です。
  2. もし音声やメッセージを使用する場合、ベリフィケーション後に第一Twilio電話番号を取得します。
  3. 新規Twilio番号は、機能(音声、SMS、MMS)を備えて生成されます。
  4. もし番号が探している機能機能を持たない場合、次に示すように、国や機能により適したTwilio電話番号を見つける「Search for a different number」ボタンをクリックします。

    Twilio電話番号の取得

  5. 一旦番号を選択すると、すべての設定が終了します。

料金については、トライアル中は一切かかりません。料金はクレジットカードを登録することにより、そこから引き落とされるシステムになっています。

SMSメッセージの送信プログラム

twilio-pythonHelperライブラリのインストールを次のコマンドで行います。

$ sudo pip install twilio

Python言語によるSMSメッセージの送信プログラムを次に示します。最初に「from twilio.rest import Client」によりtwilio-pythonHelperライブラリをインポートしています。プログラムの「account_sid 」は取得したACCOUNT SID、「auth_token」は取得したAUTH TOKENを設定します。「from_ 」番号は必ず有効な Twilio 電話番号とします。「to」 番号はどのような宛先番号も使えます。今回はベリフィケーションに使用したドコモの私の携帯電話番号とします。詳細については、「PYTHON クイックスタート:SMS および MMS メッセージの送信」を参照してください。

【send_sms.py】

# /usr/bin/env python
# Download the twilio-python library from http://twilio.com/docs/libraries
from twilio.rest import Client

# Find these values at https://twilio.com/user/account
account_sid = "ACXXXXXXXXXXXXXXXXX"
auth_token = "YYYYYYYYYYYYYYYYYY"
client = Client(account_sid, auth_token)

message = client.api.account.messages.create(to="+12316851234",
                                             from_="+15555555555",
                                             body="Hello there!")

作成したプログラムを実行すると、携帯電話に「Hello there!」のSMSメッセージが次のように届きます。

携帯電話へのSMSメッセージ