Soracom

Users

ドキュメント
Home ドキュメント SORACOM Air for LoRaWAN 使用方法

LoRaWAN デバイスを設定する

ユーザーコンソールを使って LoRaWAN デバイスを管理・設定する方法を紹介します。SORACOM Air for LoRaWAN の全体像は SORACOM Air for LoRaWAN を参照してください。

前半では、通信を行うための基本設定と疎通確認の手順を解説します。さらに発展した使いかたは、後半の 応用編: 各種サービスへのデータ送信 を参照してください。

操作を始める前に準備が必要です (クリックして確認してください)

(1) LoRaWAN デバイスをセットアップする

詳しくは、LoRaWAN ゲートウェイ/デバイスをセットアップする を参照してください。

(2) 通信可能な範囲に LoRaWAN ゲートウェイがあることを確認する

準備完了

ステップ 1: LoRaWAN デバイスの設定をする

次に、LoRaWAN デバイスの確認と設定を行います。LoRaWAN デバイスはユーザーコンソールの「発注」画面で受け取り確認を行った時点で、お客様のアカウントに登録されます。まずは以下の手順に沿って、ユーザーコンソール上で自分が所有しているデバイスが表示されていることを確認しましょう。

  1. ユーザーコンソールで、[メニュー][SORACOM AIR FOR LORAWAN™][LoRaWAN デバイス管理] の順にクリックします。
  2. デバイス一覧に自分が所有している デバイスが表示されていることを確認します。

ユーザーコンソールに LoRaWAN デバイスが表示されていない場合は、ユーザーコンソールの 発注画面[受け取り確認] をクリックしてください。

ステップ 1-1: LoRaWAN グループを作成する

デバイスがアカウントに登録されていることを確認したら、データ送信先などの設定をするために LoRaWAN グループを作成します。詳しくは、グループを作成する を参照してください。

ステップ 1-2: LoRaWAN グループの設定を変更する

続けて LoRaWAN グループの設定を変更します。

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

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

  2. 以下の設定を行います。

    • LoRa Space を利用するかどうか: 共有サービスモデルのゲートウェイをグループ内の LoRaWAN デバイスに利用させるには、ここで「利用する」を選択します。
    • デバイスが所属するネットワークセットの ID: 所有モデルゲートウェイを利用している場合、デバイスを所属させるネットワークセットを指定します。デバイスはここで指定されたネットワークセットに所属するゲートウェイを使って通信を行います。

    overview overview

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

「SORACOM LoRa Space を利用」のスイッチを「利用しない」にセットし、かつ「LoRa ネットワークセット ID」を空欄にすると LoRaWAN デバイスは通信できなくなります。

ステップ 1-3: デバイスを LoRaWAN グループに登録する

通信を行うために、ステップ 1-2 で設定した LoRaWAN グループに LoRaWAN デバイスを所属させます。

詳しくは、IoT SIM、LoRaWAN デバイス、Sigfox デバイスが所属するグループを切り替える を参照してください。

ステップ 2: SORACOM Harvest Data を使って疎通確認する

LoRaWAN デバイスで収集したデータは、Beam、Funnel、Funk といったサービスを使って転送したり、Harvest Data に保存したりできます。今回は、設定が簡単な Harvest Data を有効化して、デバイスが通信できているかどうかを確認します。他のサービスを使ってデータを送信する方法は、応用編: 各種サービスへのデータ送信 を参照してください。

Harvest Data を有効化する

LoRaWAN グループの Harvest Data を有効化します。詳しくは、Harvest Data を有効化する を参照してください。

LoRaWAN デバイスに接続された Arduino にスケッチを書き込み、実行する

ここでは、Arduino library for LoRaWAN Device に含まれるサンプルスケッチ「Uptime」を実行します。Uptime を実行すると、Arduino が起動してから経過した時間が 16 進数で定期的に送信され、Harvest Data に保存されます。

  1. 以下のソフトウェアおよびライブラリをインストールします。

  2. PC と Arduino を接続します

  3. Arduino library for LoRaWAN Device のサンプルスケッチ「Uptime」を、Arduino に書き込みます。

    詳しくは、サンプルスケッチをデバイス (Arduino) に書き込む を参照してください。

    スケッチの書き込みが完了すると、Arduino で自動的にスケッチが実行されます。

    Arduino IDE の右上にある [] (シリアルモニタ) をクリックして、シリアルモニタを表示すると、スケッチの実行状況とデータ送信ログを確認できます。

    シリアルモニタのログ出力例

    Starting example sketch 'Uptime'.
    Connecting ...
    sendCmd: mod factory_reset
    >> Ok
    > sendCmd: mod set_echo off
    mod set_echo off
    >> Ok
    > sendCmd: mod save
    >> Ok
    > sendCmd: mod reset
    > TLM922S <
    > sendCmd: mod get_hw_model
    >> <ハードウェアのモデル番号が表示されます>
    > sendCmd: mod get_ver
    >> V1.3.1-ar-Mar 14 2017-10:12:00
    > sendCmd: lorawan get_deveui
    >> <LoRaWAN デバイスIDが表示されます>
    > sendCmd: lorawan set_dr 5
    >> Ok
    > sendCmd: lorawan save
    >> Ok
    > sendCmd: lorawan join otaa
    >> Ok
    >> accepted
    > sendCmd: lorawan set_dr 2
    >> Ok
    >
    Connected.
    sending '21' to port 1
    sendCmd: lorawan tx ucnf 1 00000015
    >> Ok
    >> tx_ok
    >  ... sent.
    sending '31' to port 1
    sendCmd: lorawan tx ucnf 1 0000001f
    >> Ok
    >> tx_ok
    >  ... sent.
    sending '41' to port 1
    sendCmd: lorawan tx ucnf 1 00000029
    >> Ok
    >> tx_ok
    >  ... sent.
    sending '51' to port 1
    sendCmd: lorawan tx ucnf 1 00000033
    >> Ok
    >> tx_ok
    >  ... sent.
    

    シリアルモニタで sendCmd: lorawan join otaa という文字列の後に Ok accepted が表示されれば、LoRaWAN ゲートウェイのネットワークに LoRaWAN デバイスが参加できたことを示しています。また、シリアルモニタで tx_ok という文字列が表示されれば、Arduino から通信モジュールにデータの受け渡しが完了したことを示しています。

データ送信できていることを確認

LoRaWAN デバイスを LoRaWAN グループに所属させた直後から、データの送信が始まります。また、Harvest Data を有効化した直後からデータの可視化が始まります。詳しくは、Harvest Data に保存したデータを確認する を参照してください。

harvest harvest

  • LoRaWAN デバイスからデータを送信すると、LoRaWAN ゲートウェイ ID 等も自動的に付与されます。
  • LoRaWAN の規格上、一度に送信可能なデータは最大 11 バイトです。
  • LoRaWAN デバイスでデータ送信すると、送信データは 16 進数でエンコードされたバイナリデータの文字列として SORACOM に到着します。
  • ユーザーコンソールの SORACOM Harvest Data 画面[データ] や、Harvest Data の API の返り値で JSON 形式のデータが表示されるのは、LoRaWAN ゲートウェイが、お客様のデバイスから送信されたデータと併せてタイムスタンプ等のメタデータを付与しているためです。LoRaWAN デバイスから送信されたデータ自体は、API 返り値の JSON の中の data 要素に入っています。これをデコードすると元のデータを参照できます。
  • 1 つの LoRaWAN グループに複数の設定が含まれている場合、すべてのサービスが有効化されます。たとえば、SORACOM Harvest Data にデータを保存しつつ SORACOM Beam で外部サーバーへデータを転送できます。

応用編: 各種サービスへのデータ送信

ここでは、LoRaWAN デバイスのより発展的な使いかたと、ユーザーコンソールの設定を紹介します。

応用編 1: Beam を使ってデータを送信する

Beam を使ってデータを送信します。Beam について詳しくは、SORACOM Beam を参照してください。

Beam にデータを送信するには専用のスケッチが必要です

Arduino library for LoRaWAN Device に、Harvest Data にデータを送信するサンプルスケッチ「Uptime」が含まれています。このサンプルスケッチを参考にして、Beam にデータを送信するスケッチを用意してください。

設定

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

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

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

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

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

    設定画面が表示されます。

  3. データ転送先の [プロトコル][ホスト名][ポート番号] と、[パス] (転送先パス) を入力します。

    データ転送の際、カスタム HTTP ヘッダーを付けたい場合には [+追加] をクリックし、[アクション] で「追加」を選択して、[ヘッダ名][値] を入力します。

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

  5. LoRaWAN デバイスが所属するグループを切り替えます。

    LoRaWAN デバイスの Funnel の設定が完了しました。

疎通確認

LoRaWAN デバイスに接続された Arduino に、Beam にデータを送信する スケッチを書き込み、実行して、データ転送先に指定したサーバーでデータが受信できていることを確認します。

応用編 2: Funnel を使ってデータを送信する

Funnel を使ってデータを送信します。Funnel について詳しくは、SORACOM Funnel を参照してください。

Funnel にデータを送信するには専用のスケッチが必要です

Arduino library for LoRaWAN Device に、Harvest Data にデータを送信するサンプルスケッチ「Uptime」が含まれています。このサンプルスケッチを参考にして、Funnel にデータを送信するスケッチを用意してください。

設定

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

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

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

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

  2. スイッチをクリックして「ON」にします。

  3. [転送先サービス] で、データ転送先となるクラウドサービスを選択します。

    入力が必要な項目が表示されます。

  4. 転送先の情報を入力します。

    たとえば、[転送先 URL] には、データ転送先のクラウドサービスのエンドポイント URL を入力します。

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

  6. LoRaWAN デバイスが所属するグループを切り替えます。

    LoRaWAN デバイスの Funnel の設定が完了しました。

疎通確認

LoRaWAN デバイスに接続された Arduino に、Funnel にデータを送信する スケッチを書き込み、実行して、データ転送先に指定したクラウドサービス (Amazon Data Firehose、Azure Event Hubs 等) でデータが受信できていることを確認します。

応用編 3: ダウンリンク通信機能を使ってデバイスでデータを受信する

SORACOM Air for LoRaWAN では、指定した LoRaWAN デバイスにデータを送信できます。ダウンロード用のデータは LoRa ネットワークサーバーにセットされ、次に利用可能なデータ送信スロットを使って指定デバイスに送信されます。デバイスがデータ送信したとき、ネットワークサーバーにダウンロードデータがセットされていると、デバイスはデータを受信します。

送信できるデータは 16 進数でエンコードされたバイナリデータの文字列です。バイナリデータの最大サイズは 11 octets (16 進数エンコードされた文字列で 22 文字) で、文字列は大文字・小文字問わず送信できます。

ユーザーコンソールを使ってダウンリンク機能を利用する手順は以下のとおりです。

  1. Arduino IDE を利用して、Arduino library for LoRaWAN Device に含まれるサンプルスケッチ「Hello_lora」を書き込み、実行します。

    詳しくは、サンプルスケッチをデバイス (Arduino) に書き込む を参照してください。

    データが受信できればシリアルモニタのログで確認できます。

  2. ユーザーコンソール にログインし、カバレッジタイプを「日本」に変更します。

    詳しくは、SORACOM ユーザーコンソールで表示するカバレッジタイプを変更する を参照してください。

  3. ユーザーコンソールで [メニュー][SORACOM Air for LoRaWAN™][LoRaWAN デバイス管理] の順にクリックします。

  4. データを送信する LoRaWAN デバイスにチェックを入れ、[操作][ダウンリンク通信] の順にクリックします。

  5. デバイスに送信するデータを入力して、[送信] をクリックします。

    送信データが LoRa ネットワークサーバーにセットされ、次に利用可能なデータ送信スロットを使って指定デバイスに送信されます。データの受信状況はデバイス側で確認してください。

  • 送信したデータが LoRaWAN デバイスに到達することは保証されません。未送信のデータがすでに LoRa ネットワークサーバーにあった場合には、最新の受信データで上書きされます。また、一定時間 (2 時間) メッセージが受け取られなかった場合や、デバイス受信時に新しいメッセージを受けた場合には、そのメッセージは破棄されます。
  • ダウンリンク通信機能では、LoRaWAN デバイスへのメッセージ送信を設定する回数に応じて料金が発生します。詳しくは、LoRa デバイスご利用料金 を参照してください。