SORACOM Developers

Getting started with SORACOM Beam

SORACOM Beam を使用して IBM Watson IoT Platform と接続する

はじめに

当ガイドでは、SORACOM Beam(以降、Beam) を使用して IBM Watson IoT Platform(以降、Watson IoT Platform) にデータを送信します。

Beam とは

Beam は SORACOM Air の SIM を使用したデバイスからのデータ・アップロード時にクラウド側でデータ処理を行うためのプロキシーサービスです。

Beam概要

Beam を使用することで、以下が可能となります。

当連携ガイドでは、以下のような構成で Watson IoT Platform と Beam を連携します。

連携

機密性の高い情報を IoT デバイスから送受信するには暗号化処理が必要となります。その一方で、IoT デバイスの限られたリソースでは暗号化処理が難しい場合もあります。そのような場合に暗号化処理を SORACOM プラットフォームのリソースにオフロードできます。

また、Beam を使用した IoT デバイスからのデータアップロードの場合は、3G/LTE 閉域網を通じて Beam のエンドポイントまでデータが送信されますので、平文のままであってもデータは Beam まで安全に届けられます。Beam から先のサーバーは Beam によって暗号化された通信経路によって安全にデータを送信できます。 Watson IoT Platform は MQTTS に対応しているため、上記のようにセキュアに Watson IoT Platform に接続することが可能になります。

当ガイドでは、MQTT クライアントとして使用するデバイスは USB ドングルなどを使用して、SORACOM Air の SIM による通信を行っていることを前提としています。

前提

手順

ステップ1:Watson IoT Platform の準備をする

Watson IoT Platform の作成

Bluemixにログインします。

カタログからInternet of Things Platformを選択します。適切なプランを選択して「作成」をクリックします。

Internet of Things Platform

以下の画面が表示されるので、「起動」をクリックします。

Internet of Things Platform

Waton IoT Platformのコンソールが表示されます。

デバイスの追加

次にデバイスを追加します。 ここでは以下のようなデバイスを追加します。

左のメニューから「デバイス」を選択します。

Internet of Things Platform

「デバイスの追加」からデバイス・タイプとデバイスIDを入力します。

Internet of Things Platform

あとはデフォルト(ブランク)で「次へ」とすすみ「完了」をクリックしてデバイスを作成します。このあと Beam で設定しますので、以下の情報は保存してください。

Internet of Things Platform

ステップ2:SORACOM Beam を設定する

Beamの設定

最初に SIM グループを作成します。 左のメニューから「SIM グループ」を選択します。

beamの設定

「追加」からグループを作成してください。 ここではグループ名「beam - watson iot platform」として作成します。

次に作成したグループを選択します。 「SORACOM Beam 設定」のタブを開き「MQTT エントリポイント」を追加します。

beamの設定

以下の画面が表示されます。種別、ホスト名を入力してください。 <組織ID> はデバイス追加時に表示されたものを指定してください。

次に認証情報を追加します。 認証情報のとなりの「+」をクリックします。

beamの設定

認証情報ではデバイス追加時に指定したものを指定してください。 入力後、「登録」をクリックします。

デバイスIDに IMEI、IMSIを設定することができます。 これによって、デバイスに個別にデバイスIDを設定することなくデバイスを識別することができるようになります。 詳細はIMSI、IMEI をデバイスIDとして設定するをご確認ください。

beamの設定

入力内容を確認して「保存」をクリックしてください。 以上で、Beamの設定は完了です。

beamの設定

次に、使用する Air SIM を作成した SIM グループに所属させます。 対象の Air SIM を選択して「操作」->「所属グループ変更」を選択します。

beamの設定

作成したグループを選択します。

beamの設定

以上でBeamの設定は完了です。

ステップ3:Beam を使用して Watson IoT Platform にデータを送信する

Beamを使用してデータを送信します。 送信されたデータは Watson IoT Platform のコンソールから確認します。

Watson IoT Platform のコンソールからデバイスを選択して「最近のイベント」を表示した状態にします。

beamの設定

Air SIM を使用したデバイスの Terminal から以下のコマンドを実行します。

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

ここでは、オープンソースとして提供されている MQTT メッセージブローカーである mosquitto のコマンドである mosquitto_pub を使用して MQTT Publish しています。 mosquitto_pub がインストールされていない場合は、サイトからダウンロードおよびインストールしてください。

以下のように Watson IoT Platform のコンソールからメッセージが表示できることを確認してください。 beamの設定

Beamを使用しない場合、Watson IoT Platform に同様にデータを送信するためには以下のコマンドを実行することになります。

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

Beamを使用した場合は、ユーザーID(-u)、パスワード(-P)、クライアントID(-i)がデバイスから送信されていないことがわかります。ソラコムがこれらの情報を付与して Watson IoT Platform にデータを転送しています。 このため、デバイスにクラウドの認証情報をもつ必要がありません。 また、デバイスからはMQTTで送信していますが、8883ポートを使用し、MQTT から MQTTS への変換も行っています。

Beam を使用するメリットを以下のとおりです。

IMSI、IMEI をデバイスIDとして設定する

認証情報の設定では、以下のようにデバイスIDにプレースホルダーを使用することができます。

beamの設定

上記を設定することで、実際には送信時に使用された IMSI,IMEI に置き換えて Watson IoT Platform に送信します。

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

Watson IoT Platform へのデバイス登録時に IMSI もしくは IMEI を付与したデバイスIDで登録することになります。

「SORACOM Beam と IBM Watson IoT Platform を連携する」は以上となります。

Getting Started

SORACOM Air for セルラー

SORACOM Air for LoRaWAN

SORACOM Air for Sigfox

SORACOM Beam

SORACOM Canal/Direct/Door

SORACOM Endorse

SORACOM Funnel

SORACOM Gate

SORACOM Harvest

SORACOM Inventory

SORACOM Junction

サービス機能詳細

Developer Tools

pagetop