Soracom

Users

ドキュメント
Home ドキュメント SORACOM Beam Getting Started

テストサーバーにデータを送信する

ソラコムが用意しているテスト用のサーバーを使って、Beam の設定方法と動作の確認をします。ソラコムが用意しているテスト用のサーバーは以下のとおりです。

項目説明
HTTPS テストサーバー

Beam の HTTP エントリポイントや Web サイトエントリポイントなどの動作確認に利用できます。

  • プロトコル: HTTPS
  • ホスト名: beamtest.soracom.io
  • ポート番号: 443
MQTTS テストサーバー

Beam の MQTT エントリポイントの動作確認に利用できます。

  • プロトコル: MQTTS
  • ホスト名: beamtest.soracom.io
  • ポート番号: 8883
  • ユーザー名: beamuser
  • パスワード: passwd
TCPS テストサーバー

Beam の TCP → TCP/TCPS エントリポイントの動作確認に利用できます。

  • プロトコル: TCPS
  • ホスト名: beamtest.soracom.io
  • ポート番号: 1234

TCPS テストサーバーにデータを送信する

Beam を使った通信では、デバイスから Beam のエントリポイントまでは閉域網での接続であるため平文でも安全に通信を行うことができます。さらに、Beam から外部サーバへの通信は SSL で暗号化して送信できるため、暗号化処理による負荷をかけずに安全に通信を行えます。

ここでは、TCP → TCP/TCPS エントリポイントの動作確認をするための echo サーバー (tcps://beamtest.soracom.io:1234) を使って、TCP で送信されたデータを TCP over TLS で転送する操作を試してみましょう。

tcp/SSL概要 tcp/SSL概要

Beam の設定はグループに対して行います

ここでは、グループの設定を変更する操作のみを説明します。グループの仕組みやグループを作成する操作について詳しくは、グループ設定 を参照してください。

  1. SIM グループ画面で [SORACOM Beam 設定] をクリックします。

    SIM グループ画面を表示する操作について詳しくは、グループの設定を変更する を参照してください。

  2. [+設定を追加する][TCP → TCP/TCPS エントリポイント] の順にクリックします。

    tcp_entryポイント2 tcp_entryポイント2

    SORACOM Beam - TCP 設定画面が表示されます。

  3. 以下のように設定します。

    項目
    設定名echo over ssl
    転送先-プロトコルTCP (SSL)
    転送先-ホスト名beamtest.soracom.io
    転送先-ポート名1234
    オプション- IMSI ヘッダON

    tcp_entryポイント tcp_entryポイント

    TCP → TCP/TCPS エントリポイントの設定値の意味は エントリポイントリファレンス: TCP → TCP/TCPS エントリポイント を参照してください。

  4. [保存] をクリックします。

  5. IoT SIM が所属するグループを切り替えます。

    IoT SIM の Beam の設定が完了しました。

デバイスからの確認

Beam の設定を行った IoT SIM で接続されているデバイスから、上記で設定したエントリポイントに対して telnet で接続してみましょう。今回は暗号化処理と合わせて、IMSI ヘッダを付与するように設定しましたので、IMSI の情報が表示されるはずです。

Raspberry Pi などから telnet で接続し、出力を確認しましょう。echo サーバー (tcps://beamtest.soracom.io:1234) は、送信された文字列をオウム返し (エコーバック) するように設定されています。キーボードから何らかの文字列を入力し、エコーバックがあることを確認できれば設定完了です。

  • 接続先ホスト: beam.soracom.io
  • 接続先ポート番号: 8023
pi@raspberrypi:~$ telnet beam.soracom.io 8023
Trying 169.128.169.128...
Connected to beam.soracom.io.
Escape character is '^]'.
Hello Soracom Beam Client IMSI:4XXXXXXXXXXXXXX ! (←Beam によって IoT SIM の IMSI が付与されている)
hi        (←キーボードから入力)
hi        (←echoサーバからのエコーバック)

HTTPS テストサーバーにデータを送信する

HTTP エントリポイントも、テスト用のサーバ (https://beamtest.soracom.io) を使って動作確認してみましょう。このテスト用サーバでは、Beam を使ってアクセスした際に、IMSI や HTTP ヘッダーなどの Beam で付与された情報が返されます。

HTTP エントリポイントのイメージ HTTP エントリポイントのイメージ

Beam の設定はグループに対して行います

ここでは、グループの設定を変更する操作のみを説明します。グループの仕組みやグループを作成する操作について詳しくは、グループ設定 を参照してください。

  1. SIM グループ画面で [SORACOM Beam 設定] をクリックします。

    SIM グループ画面を表示する操作について詳しくは、グループの設定を変更する を参照してください。

  2. [+設定を追加する][HTTP エントリポイント] の順にクリックします。

    SORACOM Beam - HTTP 設定画面が表示されます。

  3. 以下のように設定します。

    項目
    [設定名]http over ssl
    [エントリポイント][パス]/
    [転送先][ホスト名]beamtest.soracom.io
    [転送先][ポート番号](空欄)
    [転送先][パス]/
    [ヘッダ操作][IMSI ヘッダ]オン
    [ヘッダ操作][SIM ID ヘッダ]オン

    HTTP エントリポイント HTTP エントリポイント

    HTTP エントリポイントの設定値の意味は、HTTP エントリポイント を参照してください。

  4. [保存] をクリックします。

  5. IoT SIM が所属するグループを切り替えます。

    IoT SIM の Beam の設定が完了しました。

デバイスからの確認

Beam の設定を行った IoT SIM を利用するデバイスから、http://beam.soracom.io:8888 にアクセスすると、IoT SIM の IMSI と SIM ID が表示されます。以下は Raspberry Pi からアクセスしたときの表示例です。

$ curl http://beam.soracom.io:8888
Hello SORACOM Beam Client IMSI:xxxxxxxxxxxxxxx SIM ID:xxxxxxxxxxxxxxxxxxx !

== HTTP Headers ==
HTTP_X_SORACOM_SIM_ID = xxxxxxxxxxxxxxxxxxx
HTTP_X_SORACOM_IMSI = xxxxxxxxxxxxxxx

たとえば、Beam の設定を変更して [IMSI ヘッダ] および [SIM ID ヘッダ] をオフにすると、以下のようなメッセージが表示されます。

$ curl http://beam.soracom.io:8888
Hello Unknown Client...

== HTTP Headers ==

カスタムヘッダーの設定

Beam の HTTP エントリポイントでは、転送時にカスタムヘッダーを追加 / 置換 / 削除できます。ここでは、HTTPS テストサーバーにデータを送信する で設定した「http over ssl」を編集します。

  1. SIM グループ画面で [SORACOM Beam 設定] をクリックします。

    SIM グループ画面を表示する操作について詳しくは、グループの設定を変更する を参照してください。

  2. SORACOM Beam 設定一覧で、先ほど追加した「http over ssl」の [編集] をクリックします。

    SORACOM Beam - HTTP 設定画面が表示されます。

  3. [カスタムヘッダ][+追加] をクリックします。

  4. 以下のように設定します。

    項目説明
    [アクション]「追加」を選択します。
    [ヘッダ名]「X-SORACOM-BEAM」を入力します。
    [値]「SUCCESS」を入力します。

    カスタムヘッダ カスタムヘッダ

  5. [保存] をクリックします。

デバイスからの確認

Beam の設定を行った IoT SIM を利用するデバイスから、http://beam.soracom.io:8888 にアクセスすると、IoT SIM の IMSI と SIM ID に加えて、「HTTP_X_SORACOM_BEAM」が表示されます。

以下は Raspberry Pi からアクセスしたときの表示例です。

$ curl http://beam.soracom.io:8888
Hello SORACOM Beam Client IMSI:xxxxxxxxxxxxxxx SIM ID:xxxxxxxxxxxxxxxxxxx !

== HTTP Headers ==
HTTP_X_SORACOM_SIM_ID = xxxxxxxxxxxxxxxxxxx
HTTP_X_SORACOM_IMSI = xxxxxxxxxxxxxxx
HTTP_X_SORACOM_BEAM = SUCCESS

「X-SORACOM-BEAM」の代わりに「HTTP_X_SORACOM_BEAM」が表示される (「HTTP_」が追加され、「-」が「_」に置換される) のは、https://beamtest.soracom.io/ の機能です。Beam から転送先のサーバーに対しては、カスタムヘッダーとして「X-SORACOM-BEAM: SUCCESS」が送信されています。

エラーログの確認

想定通りに動作しない場合は エラーログを確認する を参照してください。

Beam 設定の無効化

Beam の利用にはリクエスト単位で料金がかかります。Beam を使わない場合には、設定を無効化するか、グループから登録解除してください。

  • Beam の設定を無効化する場合
    • [SORACOM Beam 設定] グループから無効化したい項目を選択し、設定名横のスイッチを[OFF]にします。
  • グループから登録解除する場合
    • IoT SIM 管理画面を開いて、SORACOM Beam による通信を行いたい IoT SIM にチェックマークを付けます。続いて、[操作] ボタンから [所属グループ変更] を選択します。
    • 表示されたダイアログで、[グループ解除]をクリックします。