Soracom

Users

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

MQTTS テストサーバーと MQTTS 接続を確立する

Beam の MQTT エントリポイントと、ソラコムが用意する MQTTS テストサーバー を使って、メッセージの Publish / Subscribe をする際の動作を確認してみましょう。

なお、MQTTS テストサーバーを利用する際は、特別な設定はありません。ここでは、MQTT エントリポイントの設定を追加して、デバイスから MQTT の Publish と Subscribe を実行します。

デバイスが MQTT メッセージの Publish / Subscribe をする先は MQTT エントリポイントです

デバイスが MQTT メッセージの Publish / Subscribe をする先は MQTT エントリポイント (beam.soracom.io:1883) です。デバイスは、MQTTS テストサーバーの URL を意識する必要がないことがポイントです。

MQTT エントリポイントの設定を追加する

SIM グループに MQTT エントリポイントの設定を追加して、IoT SIM を SIM グループに所属させます。

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

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

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

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

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

    「SORACOM Beam - MQTT 設定」画面が表示されます。

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

    項目
    [設定名]任意の名前を入力します。例: MQTT over TLS
    [転送先][種別]「Standard」を選択します。
    [転送先][プロトコル]「MQTTS」を選択します。
    [転送先][ホスト名]beamtest.soracom.io を入力します。
    [転送先][ポート番号]8883 を入力します。
    [ユーザ名]MQTTS テストサーバー のユーザー名 (beamuser) を入力します。
    [パスワード]MQTTS テストサーバー のパスワード (passwd) を入力します。

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

    MQTT エントリポイントの設定項目について詳しくは、MQTT エントリポイント を参照してください。

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

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

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

MQTT エントリポイントのトピックにメッセージを Publish する

オープンソースとして提供されている MQTT メッセージブローカーである mosquitto-clients を利用して Publish / Subscribe を行います。

  • IoT SIM を利用するデバイスでは、Beam の MQTT エントリポイント (beam.soracom.io:1883) の「test」トピックに「Hello World」というメッセージを Publish します。

  • メッセージを受信するほかのデバイスでは、あらかじめソラコムが用意する MQTTS テストサーバー (beamtest.soracom.io:8883) の「test」トピックを Subscribe してください。

Beam の利用料金が発生します

Beam では、リクエストを送信するとリクエスト単位で利用料金が発生します。なお、Beam には無料利用枠があるため、無料利用枠内の利用であれば、Beam 利用料金が発生しません。詳しくは、SORACOM Beam の料金プラン を参照してください。

mosquitto-clients のインストール

mosquitto-clients は、サイト からダウンロードおよびインストールしてください。

なお、Raspberry Pi の場合は、以下のコマンドでインストールできます。

$ sudo apt install mosquitto-clients
  1. 手順 2 でデバイスがトピックに Publish するメッセージを確認するために、ほかのデバイスで、MQTTS テストサーバー (beamtest.soracom.io:8883) の「test」トピックを Subscribe します。

    beamuserpasswd は、MQTTS テストサーバーを利用するためのユーザー名とパスワードです。

    $ mosquitto_sub -h beamtest.soracom.io -p 8883 -u beamuser -P passwd -t "test"
    
  2. 「MQTT エントリポイントを利用する設定を行った IoT SIM」を利用するデバイスで、MQTT エントリポイント (beam.soracom.io:1883) の「test」トピックにメッセージを Publish します。

    デバイスでは、MQTTS テストサーバーを利用するためのユーザー名とパスワードを指定しないことがポイントです。

    $ mosquitto_pub -h beam.soracom.io -p 1883 -t "test" -m "Hello World"
    

    手順 1 のデバイスに、以下のように表示されます。

    Hello World
    

MQTT エントリポイントのトピックを Subscribe してメッセージを受信する

オープンソースとして提供されている MQTT メッセージブローカーである mosquitto-clients を利用して Publish / Subscribe を行います。

  • IoT SIM を利用するデバイスでは、Beam の MQTT エントリポイント (beam.soracom.io:1883) の「test」トピックを Subscribe します。
  • メッセージを送信するほかのデバイスでは、ソラコムが用意する MQTTS テストサーバー (beamtest.soracom.io:8883) の「test」トピックにメッセージを Publish してください。

Beam の利用料金が発生します

Beam では、リクエストを送信するとリクエスト単位で利用料金が発生します。なお、Beam には無料利用枠があるため、無料利用枠内の利用であれば、Beam 利用料金は発生しません。詳しくは、SORACOM Beam の料金プラン を参照してください。

  1. デバイスで MQTT エントリポイント (beam.soracom.io:1883) の「test」トピックを Subscribe します。

    デバイスでは、MQTTS テストサーバーを利用するためのユーザー名とパスワードを指定しないことがポイントです。

    $ mosquitto_sub -d -h beam.soracom.io -p 1883 -t "test"
    
  2. ほかのデバイスで MQTTS テストサーバーの「test」トピックにメッセージを Publish します。

    beamuserpasswd は、MQTTS テストサーバーを利用するためのユーザー名とパスワードです。

    $ mosquitto_pub -d -h beamtest.soracom.io -p 8883 -u beamuser -P passwd -t "test" -m "Hello World"
    

    ほかのデバイスが Publish したメッセージを、デバイスが Beam 経由で Subscribe し、以下のように表示されます。

    Hello World
    

Beam の設定を無効化する

Beam では、リクエストを送信するとリクエスト単位で利用料金が発生します。Beam を使わない場合は、エントリポイントの設定を無効化するか、IoT SIM をグループから解除してください。