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 の設定はグループに対して行います
ここでは、グループの設定を変更する操作のみを説明します。グループの仕組みやグループを作成する操作について詳しくは、グループ設定 を参照してください。
SIM グループ画面で
をクリックします。SIM グループ画面を表示する操作について詳しくは、グループの設定を変更する を参照してください。
→ の順にクリックします。
「SORACOM Beam - MQTT 設定」画面が表示されます。
以下のように設定します。
項目 値 任意の名前を入力します。例: MQTT over TLS
→ 「Standard」を選択します。 → 「MQTTS」を選択します。 → beamtest.soracom.io
を入力します。→ 8883
を入力します。MQTTS テストサーバー のユーザー名 ( beamuser
) を入力します。MQTTS テストサーバー のパスワード ( passwd
) を入力します。MQTT エントリポイントの設定項目について詳しくは、MQTT エントリポイント を参照してください。
をクリックします。
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
手順 2 でデバイスがトピックに Publish するメッセージを確認するために、ほかのデバイスで、MQTTS テストサーバー (
beamtest.soracom.io:8883
) の「test」トピックを Subscribe します。beamuser
とpasswd
は、MQTTS テストサーバーを利用するためのユーザー名とパスワードです。$ mosquitto_sub -h beamtest.soracom.io -p 8883 -u beamuser -P passwd -t "test"
「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 の料金プラン を参照してください。
デバイスで MQTT エントリポイント (
beam.soracom.io:1883
) の「test」トピックを Subscribe します。デバイスでは、MQTTS テストサーバーを利用するためのユーザー名とパスワードを指定しないことがポイントです。
$ mosquitto_sub -d -h beam.soracom.io -p 1883 -t "test"
ほかのデバイスで MQTTS テストサーバーの「test」トピックにメッセージを Publish します。
beamuser
とpasswd
は、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 をグループから解除してください。
- エントリポイントの設定を無効化する手順については、エントリポイントを無効化する を参照してください。
- IoT SIM をグループから解除 (離脱) する手順については、グループ設定を解除 (離脱) する を参照してください。