MENU

Soracom

Users

MQTT エントリポイント

MQTT の Publish、Subscribe を転送先となる MQTT ブローカーに転送します。MQTT ブローカーからのメッセージの Publish もデバイスに対して転送します。

エントリポイント URL

beam.soracom.io:1883

設定項目

  • 設定名: 本設定の名前
  • 転送先
    • プロトコル: 転送先への送信プロトコル(MQTT もしくは MQTTS から選択)
    • ホスト名: 転送先の FQDN
    • ポート番号: 転送先のポート番号
    • ユーザー名: 転送先ブローカーへ送信するユーザー名(オプション)(*1)
    • パスワード: 転送先ブローカーへ送信するパスワード(オプション)(*1)
    • パススルー: ON にした場合、クライアントデバイスから送信されるユーザー名/パスワードを転送先にパススルーします
    • 証明書: クライアント証明書を送信するかどうかのフラグ
    • 認証情報: 送信するクライアント証明書
  • オプション
    • IMSI 付与: IMSI を送信するかどうかのフラグ(オンにするとトピックの末尾に、トピック名/IMSI という形式で IMSI が付与されます)。当 IMSI 付与は Publish に対応します。
    • トピック名にセッション情報を利用する: トピック名に存在するプレースホルダー( {{imsi}} / {{simId}} / {{imei}} )を各セッション情報で置換します。当プレースホルダーは Publish、Subscribe の両方に対応します。
      • {{imsi}} : IMSI で置き換えます。
      • {{simId}} : SIM ID で置き換えます。
      • {{imei}} : 通信モジュールの IMEI で置き換えます。IMEI は接続するキャリアやプランによっては取得できない場合があり、その場合は {{imei}}unknown-imei に置換します。
    • プラットフォームバージョン: 201912201509 が選択できます。201912201509 の違いは以下のとおりです。(*2)
      機能201912201509
      QoS接続先 MQTT ブローカーの対応状況に依存 (例えば、ブローカー側が QoS 1 に対応している場合は、QoS 1 を利用できます)接続先 MQTT ブローカーの対応状況に関わらず、QoS 0 のみ利用可能
      will利用可能利用不可
  • (*1) ユーザー名、パスワードに #{imsi}, #{imei} が含まれている場合、接続した端末の IMSI、IMEI が自動的に置換されます。
  • (*2) プラットフォームバージョン 201912 は接続先ブローカーとの互換性・信頼性が向上しています。新たに利用いただく場合はこちらをご利用ください。移行については、 プラットフォームバージョン変更時の注意事項 を必ずご確認ください。

実際の利用例

Publish

mosquitto を使ってデバイスから beam へ実際に Publish してみます。

デバイス側

$ mosquitto_pub -h beam.soracom.io -p 1883 -t test -m message -d
Client mosqpub/82534-MBP sending CONNECT
Client mosqpub/82534-MBP received CONNACK
Client mosqpub/82534-MBP sending PUBLISH (d0, q0, r0, m1, 'test', ... (7 bytes))
Client mosqpub/82534-MBP sending DISCONNECT

転送先の MQTT ブローカー

1482290763: New connection from 52.198.245.54 on port 8080.
1482290763: New client connected from 52.198.245.54 as mosqpub/82534-MBP (c1, k60).
1482290763: Sending CONNACK to mosqpub/82534-MBP (0, 0)
1482290767: Received PUBLISH from mosqpub/82534-MBP (d0, q0, r0, m0, 'test/4401031********', ... (7 bytes))
1482290767: Received DISCONNECT from mosqpub/82534-MBP
1482290767: Client mosqpub/82534-MBP disconnected.

この試験では IMSI 付与をオンにしているのでトピックの末尾に IMSI が付与されているのが確認できます。 (ドキュメントに載せるため、後半 8 桁をマスクしています。)

Subscribe

mosquitto を使ってデバイスから beam へ実際に Subscribe し、転送先の MQTT ブローカーからメッセージを Publish してみます。

デバイスからの Subscribe

$ mosquitto_sub -h beam.soracom.io -p 1883 -t test -d
Client mosqsub/82586-MBP sending CONNECT
Client mosqsub/82586-MBP received CONNACK
Client mosqsub/82586-MBP sending SUBSCRIBE (Mid: 1, Topic: test, QoS: 0)
Client mosqsub/82586-MBP received SUBACK
Subscribed (mid: 1): 0

Subscribe を受ける転送先 MQTT ブローカー

1482291094: New connection from 52.198.245.54 on port 8080.
1482291094: New client connected from 52.198.245.54 as mosqsub/82586-MBP (c1, k60).
1482291094: Sending CONNACK to mosqsub/82586-MBP (0, 0)
1482291094: Received SUBSCRIBE from mosqsub/82586-MBP
1482291094:     test (QoS 0)
1482291094: mosqsub/82586-MBP 0 test
1482291094: Sending SUBACK to mosqsub/82586-MBP

MQTT ブローカーに別のクライアントからメッセージを Publish

1482291169: New connection from 127.0.0.1 on port 8080.
1482291169: New client connected from 127.0.0.1 as mosqpub/3516-ip-10-0-0- (c1, k60).
1482291169: Sending CONNACK to mosqpub/3516-ip-10-0-0- (0, 0)
1482291169: Received PUBLISH from mosqpub/3516-ip-10-0-0- (d0, q0, r0, m0, 'test', ... (7 bytes))
1482291169: Sending PUBLISH to mosqsub/82586-MBP (d0, q0, r0, m0, 'test', ... (7 bytes))
1482291169: Received DISCONNECT from mosqpub/3516-ip-10-0-0-
1482291169: Client mosqpub/3516-ip-10-0-0- disconnected.

Publish されたメッセージを Beam 経由でデバイスが受け取る様子

Client mosqsub/82586-MBP received PUBLISH (d0, q0, r0, m0, 'test', ... (7 bytes))
message

MQTT エントリポイントに関する制約

制限事項と注意事項 をご確認ください。