• 投稿日
  • SORACOM Beam が Watson IoT Platform に対応しました

    こんにちは。ソラコム グロースエンジニアの江木(nori)です。

    本日、SORACOM BeamIBM Watson IoT Platform の MQTT 接続に対応しました!のでお知らせします。

    beam mqtt

    そもそも SORACOM Beam とは

    Beam はソラコムのサービス開始当初からあるサービスです。
    今一度、Beamを復習すると、、

    Beam

    機密性の高い情報を IoT デバイスから送受信するには暗号化処理が必要となりますが、IoT デバイスの限られたリソースでは暗号化処理が難しい場合もあります。そのような場合に暗号化処理を SORACOM プラットフォームのリソースにオフロードできるのが Beam です。
    Beam を使用したデバイスからのデータアップロードの場合は、3G/LTE 閉域網を通じて Beam のエンドポイントまでデータが送信されますので、平文のままであってもデータは Beam まで安全に届けられます。Beam から先のサーバーは Beam によって暗号化された通信経路によって安全にデータを送信できる、という仕組みです。

    Watson IoT Platform連携

    兎にも角にも以下のコマンドをご覧ください!

    MQTT Publish(Beamなしバージョン)

    mosquitto_pub -i 'd:<org-id>:deviceType:device01' -h <org-id>.messaging.internetofthings.ibmcloud.com -u 'use-token-auth' -P 'password' -t iot-2/evt/test/fmt/json -m '{"name1":"soracom-beam-test!","name2":100}'
    

    MQTT Publish (Beam使ったバージョン)

    mosquitto_pub -h beam.soracom.io -t iot-2/evt/test/fmt/json -m '{"name1":"soracom-beam-test!","name2":100}'
    

    送信するデータ(オプション)がいろいろ減っていることがわかりますね。

    • -i で指定されるクライアントID
    • -u で指定されるユーザーID
    • -P で指定される認証トークン(パスワード)

    これらの情報はあらかじめ Beam に設定します。デバイスからのデータ送信時には Beam がこれらの情報を付与して IBM Watson IoT Platform に転送します。これはつまり、デバイスにクライアントID、ユーザーID、認証トークン(パスワード)を持つ必要がないということです。

    接続先を変更したい場合やデバイスIDや認証トークンを変更したい場合に、クラウド側(Beam)の設定をコンソールもしくは API で変更するだけで完了します。わざわざデバイスのある場所まで行って更新する。といった作業がなくなりますね。
    また、Watson IoT Platform はデフォルト設定では TLS(Transport Layer Security)による暗号化が必須ですが、Beam が MQTT から MQTTS に変換してデータを転送します。

    プレースホルダー機能

    さらに今回、プレースホルダー指定を用意しております。
    デバイスID に IMSI もしくは IMEI を設定する機能です。

    以下のように #{imsi} #{imei} を指定することで、実際には送信時に使用された IMSI,IMEI に置き換えて Watson IoT Platform に送信します。

    これはつまり、デバイスが大量にある場合でも、各デバイスにデバイスIDを設定する必要がありません。デバイスからはまったく同じコマンドでデータを送信しても、IMSI もしくは IMEI が個別に付与されるため Watson IoT Platform ではそれぞれのデバイスを識別可能となります。

    利用方法

    利用方法の詳細は、以下のガイドを参照して下さい。

    SORACOM Beam を使用して IBM Watoson IoT Platform と接続する | Getting Started

    余談

    最近、じわじわと利用が広がっているのが Private Garden という機能です。
    Private Garden を利用すると、デバイスは Beam(beam.soracom.io), Funnel(funnel.soracom.io), Harvest(harvest.soracom.io) のエンドポイント以外にアクセスできなくなります。デバイスから直接インターネットにアクセスできないため、よりセキュアにソラコムのサービスを利用できます。
    ぜひこちらもご利用ください。

    Private Garden 機能を使用する

    SORACOM では、今後もユーザ様のご要望を元にどんどん機能強化してまいります。
    ぜひ、機能要望などがありましたら、お知らせください!

    ソラコム nori