Actility LoRa接続機能

概要

Things Cloudは、Actility社のThingPark Wirelessを通じて、LoRaデバイスとのインターフェースを提供します。次のことができます。

Things CloudのActility LoRa統合の概要を、以下の図に示します。

Things Cloud Actility LoRa integration

次のセクションでは、以下の方法について説明します。

さらに、以下の詳細情報があります。

備考
サブスクリプションに、この機能が含まれている必要があることに注意してください。このドキュメントで説明されている機能が見つからない場合は、製品サポートにお問い合わせください。

ThingParkアカウント認証情報の構成

LoRa デバイスを Things Cloud で使用する前に、管理アプリケーションで ThingPark アカウントの詳細を構成する必要があります。新しい認証情報を作成したり、既存の認証情報を置き換えるには、管理アプリケーションに移動し、ナビゲータの設定メニューで接続を選択します。

新しいアカウント認証情報の作成

初めて 接続 を選択した場合、LoRaデバイスのプロビジョニングに使用するActility ThingPark URLと認証情報を入力するよう求められます。

以下の情報を入力します。

同じThingParkログイン(ユーザー名とパスワード)を他のテナントで使用しないでください。 プロファイルID、ユーザー名、パスワードは、ThingParkプラットフォームにリクエストを送信するアクセストークンを取得するために使用されます。アカウント認証情報を交換することで、アクセストークンを更新することが可能です。

Setting provider credentials

接続設定の保存をクリックします。正しい情報を入力すると、「接続設定を保存しました」というメッセージが表示されます。

接続設定の更新

接続設定を更新するには、管理アプリケーションに移動し、設定メニューの接続接続設定の更新をクリックします。

要求に応じて、Actility ThingPark URL、プロファイルID、ユーザー名、およびパスワードを入力します。これらの情報の詳細については、新しいアカウント認証情報の作成をご覧ください。

Update connectivity settings

接続設定の保存をクリックすると、新しい接続設定に置き換わります。

デバイスプロトコルの作成

LoRaデバイスからのデータを処理するために、Things Cloudはデバイスのペイロード形式を理解する必要があります。ペイロードデータをThings Cloudのデータにマッピングするには、LoRaデバイスプロトコルを作成します。

デバイス登録の際に、デバイスプロトコルを関連付けることができます。すると、16進数のペイロードを持つデバイスの受信アップリンクコールバックは、デバイスプロトコルに設定したものにマッピングされます。

デバイス登録時に割り当てられたデバイスプロトコルは、デバイス詳細ページの LPWAN タブから変更できます。

Actility LPWAN Tab

備考
デバイスプロトコルマッピングは、メッセージタイプに基づく固定バイト位置のデコードにのみ対応しています。 デバイスペイロード部分の長さは、ビット数 フィールドで設定され、最大32ビット(4バイト)です。

デバイスプロトコルを作成するには、デバイス管理アプリケーションに移動し、ナビゲータのデバイスタイプメニューでデバイスプロトコルを選択します。既存のデバイスプロトコルをインポートするか、新規に作成するか、LPWANカスタムコーデックマイクロサービスによって作成されたデバイスプロトコルを使用することができます。

事前定義されたデバイスプロトコルのインポート

デバイスプロトコルページで、インポートをクリックします。

「LoRaWAN Demonstrator」などの事前定義されたデバイスタイプを選択するか、ファイルからアップロードします。インポートをクリックします。

Import device protocol

また、デバイスプロトコルをファイルから読み込んでインポートすることもできます。

新しいデバイスプロトコルの作成

デバイスプロトコルページで、上部メニューバーのデバイスプロトコルを追加をクリックすると、以下のウィンドウが表示されます。

Create new LoRa protocol

デバイスプロトコルのタイプとしてLoRaを選択し、名前を指定して作成をクリックします。

メッセージタイプで、メッセージのタイプを指定します。LoRaデバイスは、タイプごとにエンコーディングでさまざまなタイプのメッセージを送信できます。

ソースドロップダウンボックスで、メッセージタイプのエンコード方法を選択します。

次のペイロード構造例では、最初のバイトがメッセージタイプのソースを示しています(赤枠の箇所)。

Example payload: message type source

ユーザーインターフェースでは、このタイプのメッセージタイプソース情報を、次のように入力できます。開始ビットフィールドには、ペイロード内のメッセージタイプ情報の開始位置を示し、ビット数フィールドには、この情報の長さを示します(例:開始ビット=「0」、ビット数=「8」)。

LoRa protocol payload

値を追加をクリックすると、値の構成が作成されます。

LoRa protocol add value

次のウィンドウで、この例に示すように関連する値を構成します。

新しい値 ウィンドウ part 1 LoRa protocol add new value

新しい値 ウィンドウ part 2 LoRa protocol add new value

値の構成は、メッセージタイプのペイロードにある値をThings Cloudのデータにマッピングします。

メッセージタイプでは、デバイスのメッセージ仕様に従ってメッセージIDを構成し、Things Cloudデータにマッピングします。メッセージIDは、メッセージタイプを識別する数値です。デバイスプロトコルのメインページで指定されたソース(つまり、PayloadまたはFPort)にあるメッセージIDと照合されます。メッセージ ID は 10 進数で入力する必要があります(16 進数ではありません)。

この例のペイロード構造では、メッセージIDは 「1」です。

Example payload: message type source

LoRa bits

一般で、値の名前と、値リストに表示されるカテゴリを指定します。この値に関連付けられた名前は、指定した表示カテゴリの下に表示されます。

値の選択で、値を抽出する場所を指定します。開始ビットフィールドで値情報の開始位置と、ビット数フィールドでその情報の長さを指定します。ビット数の最大値は32ビット(4バイト)です。

この例では、「Channel 1 Type」情報はバイト2(開始ビット=「16」)で始まり、長さは1バイト(ビット数=「8」)です。

Example payload: value selection

LoRa bits

16進数値は10進数に変換され、その後、「値の正規化」が適用されます。

値の正規化では、プラットフォームに保存する前に生の値をどのように変換するかを指定し、以下の適切な値を入力してください。

ペイロードのデコード方法の詳細については、デバイスのドキュメントをご覧ください。

備考
ペイロードをデコードするための「リトルエンディアン」サポートが追加されました。

必要に応じて、任意で次のオプションのいずれかを選択します。

機能で、このデバイスプロトコルがどのように動作するかを指定します。

また、メジャーメント、イベント、またはマネージドオブジェクトのフラグメントの中に、複数の値を含むネスト構造を持つことができます。メジャーメントの場合、同じタイプのすべてのプロパティがマージされ、ネスト構造が作成されます。イベントやマネージドオブジェクトの場合、同じフラグメントを持つすべてのプロパティがマージされ、ネスト構造が作成されます。また、次の「Position」デバイスプロトコルのネスト構造の例をご覧ください。

保存をクリックすると、値がデバイスプロトコルに追加されます。

Value configurations of created device protocol

保存をクリックすると、定義した値でデバイスプロトコルが作成されます。

単一プロパティの例

次の画面は、バッテリー残量が変化したときにメジャーメントを送信するメッセージ例です。

新しい値 ウィンドウ part 1

Battery level changes example

新しい値 ウィンドウ part 2

Battery level changes example

ネスト構造による例

次の画面は、GPSデバイスの現在位置を報告するデバイスプロトコルのネスト構造の例を示しています。表示カテゴリは「Position」という名前で、経度と緯度の値が含まれています。

メッセージIDは、すべての値で同じである必要があります。残りのパラメータは、上記の手順に従って入力してください。管理対象オブジェクトのフラグメント フィールドに「c8y_Position」を入力し、経度と緯度のそれぞれに新しい値を作成します。

新しい値 ウィンドウ 緯度

Value creation: Longitude-nested

新しい値 ウィンドウ 経度

Value creation: Latitude-nested

結果は次のようになります。

Value configuration in detail: nested structure

カスタムデコード/エンコードの使用

Actilityエージェントは、カスタムマイクロサービスをプラグインすることで、デコード/エンコード機能もサポートしています。

LoRaデバイスの登録

LoRaデバイスを登録するには、デバイス管理アプリケーションに移動し、ナビゲータのデバイスメニューの登録をクリックします。デバイスを登録をクリックします。

次のウィンドウで、カスタムデバイス登録をクリックし、Actility LoRaを選択します。

Register devices

Things Cloudは、LoRaネットワークに接続するための最も安全な方法であるOTAA(Over-the-Air Activation)によるLoRaデバイスプロビジョニングを完全にサポートしています。 Activation by Personalization(ABP)を使用する必要がある場合は、ABPによるLoRaデバイス登録 セクションをご覧ください。

次のウィンドウで、必要な情報を入力してください。

Register devices

次へをクリックすると、デバイス登録リクエストが送信され、デバイスを作成します。

デバイスが本当に接続されているかどうかは、実際にイベントが受信されることで確認できます。これを行うには、デバイスをクリックして イベントタブを表示します。このデバイスに関連するすべてのイベントがここに一覧表示されます。

プロビジョニングステータスは、デバイスの 情報 タブでデバイスデータ に表示されます。

Device data

接続されているデバイスの表示と管理の詳細については、ユーザーガイドのデバイス管理もご覧ください。

LoRaデバイスの登録プロセス

上記ワークフローに基づいて、デバイスが作成されます。

まず、デバイスがすでに存在するかどうかを確認します。ThingParkアカウントに同じデバイスEUIを持つデバイスが存在しない場合、デバイスはまずThingParkプラットフォームでプロビジョニングされ、次に、 ThingPark プラットフォーム内のデバイスへのリンクを使用して、 Things Cloudプラットフォーム上に作成されます。デバイスがThingParkアカウントに存在する場合、アプリケーションEUI(OTAAアクティベーション)とデバイスプロファイルに基づいて、これらのデバイスを比較する検証が適用されます。検証が成功した場合、デバイスはThings Cloudにのみ作成され、ThingParkプラットフォームのデバイスへのリンクが作成されます。検証が失敗した場合、失敗メッセージが表示され(トラブルシューティング > デバイス登録参照)、デバイスはThings Cloudに作成されません。

ABPによるLoRaデバイス登録

パーソナライズによるデバイスのアクティブ化は推奨されておらず、Things Cloud LoRaデバイス登録では完全にはサポートされていません。

ただし、このアクティベーションタイプのデバイスをThings Cloudに作成し、デバイスへのオペレーション送信、デバイスのプロビジョニング解除、カスタムデバイスプロトコル構成によるLoRaデバイスプロトコルタイプの設定などのLoRa機能を使用したい場合は、まずThingParkプラットフォームでデバイスをプロビジョニングする必要があります。さらに、Destination https://iottf.je1.thingscloud.ntt.com:50000 を「Third Party AS (HTTP)」として使用し、Things Cloud向けの「AS Routing Profile」を作成し、デバイスに手動で割り当てる必要があります。その後、LoRa デバイス登録を使用して、このデバイスを登録できます。この場合、LoRa デバイス登録のアプリケーション・キーフィールドは無効です。

一般的なデバイス登録による LoRa デバイス作成の制限事項

LoRaデバイスの一般的なデバイス登録はサポート終了となりました。

一般的なデバイス登録プロセスで、 Things Cloud で作成された既存のLoRaデバイスには制限があります。これらのデバイスでは、デバイスへのオペレーション送信、デバイスのプロビジョニング解除、および、カスタムデバイスプロトコル構成によるLoRaデバイスプロトコルタイプを設定できません。

LoRa機能を最大限に活用するには、LoRa デバイス登録を使用して、これらのデバイスを削除し、再登録することをお勧めします。

LoRaデバイスのプロビジョニング解除

ThingParkプラットフォームで、LoRaデバイスのプロビジョンを解除することができます。これは、デバイスがネットワークに接続されなくなることを意味します。履歴データはThings Cloudで利用可能ですが、デバイスはThingParkで削除されます。

デバイスをデプロイするには、デバイス管理アプリケーションのすべてのデバイスの下にあるそれぞれのデバイスに移動します。右上の参照をクリックし、プロビジョン解除デバイスを選択します。

Deprovision device

プロビジョニング解除を確認すると、ThingParkでデバイスのプロビジョニング解除されます。

再度デバイスをプロビジョニングするには、デバイスを削除し、LoRaデバイス登録で再登録する必要があります。

オペレーション送信

LoRaデバイスが16進数コマンドの受信をサポートしている場合、シェルオペレーションでコマンドを送信することができます。これらのコマンドは、シリアルモニターコマンドではないことに注意してください。 オペレーションを送信するには、デバイス管理アプリケーションのすべてのデバイスから、オペレーションを送信したいデバイスに移動します。シェルタブに切り替えます。

次のスクリーンショットでは、デバイスプロトコルの事前定義されたコマンドとその形式例をいくつか示します。

Predefined shell commands

コマンドフィールドにシェルコマンドを入力するか、定義済みのコマンドを表示/編集します。

ポートを定義せずにコマンドを入力すると、デバイスのデフォルトの対象ポート(ポート1です)に送信されます。コマンドを入力してポートを定義すると(command:port形式)、デフォルトのポートではなく、指定された対象ポートに送信されます。

Port configuration

実行をクリックします。オペレーションをデバイスに送信するよう Actility に通知されます。実際にデバイスに送信するタイミングは、Actility ThingPark - デバイス間で決定されます。

オペレーションがThingParkプラットフォームに正常に送信されると、オペレーションのステータスは成功に設定されます。コマンドの検証、または ThingPark プラットフォームに送信された後に問題が発生した場合、オペレーションのステータスは FAILED に設定されます。

ThingPark API 可用性の監視

ThingPark APIを監視し、到達できない場合、この機能を使用してサブスクライブしているすべてのテナントに通知するアラームが作成されます。アラームは、ThingPark APIが再び到達可能になった直後に解除されます。

ThingPark API monitoring alarm

LoRaWAN接続機能 操作マニュアル

1. はじめに

本書では、Things Cloud LoRaWAN接続機能に関する操作について説明します。

LoRaWAN接続機能では、LoRaWAN事業者の提供する Actility ThingPark と Things Cloud を接続するインターフェースを提供します。このインターフェースを用いることにより、LoRaWAN 対応デバイスを Things Cloud のデバイスとして登録し、データを可視化することができます。

一度 Things Cloud への接続設定を行えば、以後 ThingPark へのデバイス登録により Things Cloud に簡単に LoRaWAN 対応デバイスを接続することができます。

本書に含まれる内容は以下の通りです。
LoRaWAN対応デバイスを準備し、Things Cloud に接続するまでの一連の手順を記載しています。

表題
内容
備考
2.Actilityプロバイダー登録 Actility ThingParkのアカウント情報をThings Cloudに登録します。 ThingPark-Things Cloud間通信の認証に必要な設定です。
(テナント毎に設定が必要です。)
3.デバイスプロトコル登録 Things Cloud にデバイスプロトコル(デバイスがアップロードするフォーマットを定義したもの)を登録します。 新しいデバイスプロトコルのデバイスを接続する際に行います。
4.デバイス登録 デバイスをThings Cloud へLoRaデバイスとして登録します。 LoRaデバイスの登録によりThingParkにも自動的にデバイス登録が行われます。
5.デバイスデータの確認 LoRaWAN対応デバイスからのデータが Things Cloud に接続されたかを確認します。 デバイス接続後、いつでも確認できます。
6.デバイスのデプロビジョニング ThingParkからデバイスを削除します。 デバイスはネットワークに接続されなくなり、ThingPark上で削除されますが、Things Cloud上の履歴は残ります。Things Cloudからもデバイスを削除したい場合には、別途デバイスを削除する動作が必要です。
7.デバイスの操作 デバイスにコマンドを実行させるためのオペレーションを送信します。 デバイス制御のコマンドが用意されているデバイスのみに対応しています。
8.サブテナントでのLoRaWAN接続機能利用 サブテナントにおいてLoRaWAN接続機能を利用するために、LoRaアプリケーションをサブスクライブします。 LPWA接続設定済の親テナントからサブテナントを作成し、サブテナントでLoRaWAN接続機能を利用する場合には、サブテナントに対してLoRaアプリケーションを追加します。
9.FAQと利用上の注意事項 LoRaWAN接続機能(LoRaWAN接続)利用時のFAQおよび注意事項を記載しています。
付録1 LoRaWAN Network Server と Things Cloud 間の通信仕様について記載しています。
付録2 デバイスプロトコルの設定例 実デバイスから送信されるデータフォーマットから設定したデバイスプロトコルの設定内容を例として掲載しています。
付録3 ABP方式のデバイス登録手順 デバイスアクティベーション方式がABPの場合の登録手順を掲載しています。なお、デフォルトの方式はOTAAです。Things CloudではOTAAを推奨しています。

2. Actilityプロバイダー登録

「管理」画面を表示し、左側のナビゲータから「接続」を選択します。 「接続」画面の「LoRaプロバイダの設定」タブを選択した状態で表示される、下記の入力項目を設定します。

LoRaプロバイダの設定

入力項目
内容
備考
プロファイルID LoRaプロバイダー(ThingPark)を識別するID ThingParkアカウントと環境によって異なります。例えば、NTTネオメイトのThingPark環境(https://ntt-neo.thingpark.com)を使用している場合、profile IDはntt-neo-apiになります。ntt-neoはThingPark環境依存、-apiは固定値です。
ユーザ名 ThingParkアカウントのユーザ名 1つのテナントに登録できるThingParkアカウントは1つです。同一のThingParkアカウントを複数のテナントで使用することは出来ません。もし複数テナントへ同一のThingParkアカウントを登録した場合は、先に登録していたテナントの設定が無効になります。
パスワード ThingParkアカウントのパスワード
アプリケーションEUI デバイスのアプリケーションプロバイダーを一意に識別するIEEE EUI64アドレス空間内のグローバルアプリケーションID 16桁の英数字。1テナントにつきアプリケーションEUIは1つしか存在できません。

入力後、「資格情報を保存」ボタンを押します。

3. デバイスプロトコル登録

3.1. デバイスプロトコルを新規に作成する場合

「デバイス管理」画面を表示し、左側のナビゲータから「デバイスタイプ」>「デバイスプロトコル」を選択します。 デバイスプロトコルの画面で「デバイスプロトコルを追加」を選択します。

新しいデバイスタイプ

デバイスプロトコルを選択するウィンドウが表示されるので、「LoRa」を選択し、名前を設定したら「作成」ボタンを押します。

入力項目が現れるので、それらに入力します。 なお、付録2でデバイスプロトコルの設定例を掲載しています。

新しいデバイスタイプ

入力項目
内容
備考
説明 デバイスプロトコルの説明 デバイスプロトコルに関して説明事項があれば入力する。
ソース メッセージのタイプが決定されるソース FPortもしくはPayloadを選択し、Payloadを選択した場合はメッセージ内の位置(開始ビットとビット長)を入力する。
デバイスメッセージのデコードロジック定義 追加を押下し、デバイスメッセージ仕様を元に以下を入力する。
・メッセージID: メッセージタイプを識別する数値
・名前: 測定対象などの名前
・表示カテゴリ: 測定対象などのカテゴリ
・開始ビット/ビット数: データ位置の指定
・乗数: データに乗算する場合に設定する値(デフォルト値は1)
・オフセット: データに加算もしくは減算する場合に設定する値(デフォルト値は0)
・単位: データの単位(任意入力)
・オプション: データ形式に応じて選択
・機能: 実行するアクションを選択
 (選択した機能に応じタイプ/シリーズ/テキストなどを入力)

入力後、「保存」ボタンを押します。

新しいデバイスタイプ

保存後、デバイスプロトコルの画面上に以下のように表示されます。

デバイスデータベース

3.2. デバイスプロトコルをインポートする場合

デバイスプロトコルをファイル(JSON形式)から取り込んで登録(インポート)することもできます。

JSON形式のデバイスプロトコル情報は、ThingsCloudで提供しているものが利用できる他、テナントに登録済みのデバイスプロトコルがあれば、その情報を取得(エクスポート)して利用することもできます。

インポート

ThingsCloudで提供しているファイルを利用する場合は、「デバイスプロトコル」画面の「インポート」を選択し、「デバイスプロトコルのインポート」画面を表示します。

「事前定義された項目から選択」にあるデバイスプロトコルの中から適切なものを探し出し、任意の名前を設定して「インポート」を押下します。
「事前定義された項目から選択」にあるデバイスプロトコルは、右側にあるボタンを押してその情報をダウンロードすることもできます。

ファイルを用意

jsonファイルで定義したデバイスプロトコルを取込む場合は、「デバイスデータベース」画面の「インポート」を選択し、「デバイスプロトコルのインポート」画面を表示します。

ファイルを指定し、必要であれば名前を変更します。 「インポート」ボタンを押して、登録します。

注記:テナントに登録済みのデバイスプロトコルからファイルを取得する場合は、「デバイスデータベース」画面から取得します。 デバイスデータベース 右側にあるボタンを押して情報を取得(エクスポート)します。

4. デバイス登録

Things Cloud にログインし、デバイス管理アプリケーション左のメニュー「登録」を押下し、「デバイスを登録」ボタンを押下します。

デバイス登録画面1

「LoRa」を押下します。

デバイス登録画面2

表示された入力フォームに必要事項を設定します。

入力項目
内容
備考
デバイスプロファイル デバイスの種類(LoRa Network Serverにおける設定値に対応) ThingPark上のプロファイルと同じ項目が表示されます。
デバイスプロトコル 項目4で設定したデバイスプロトコルを選択 登録したいデバイスと対応するものを選択してください。
デバイスEUI デバイスを一意に識別する値 一意な16桁の値になるように設定します。通常、工場出荷時にデバイスに設定されています。
アプリケーションキー デバイスに固有のAES-128アプリケーションキー アプリケーション所有者によってデバイスに割り当てられ、JOIN通信を暗号化します。通常、工場出荷時にデバイスに記載されています。
接続プラン LoRa Network Serverと接続するためのプラン ThingParkのConnctivity plansに対応しています。プルダウンから適切なものを選択します。

入力後、「次へ」ボタンを押します。正常に登録されると、以下のように表示されます。

デバイス登録

デバイス一覧からも、登録したデバイスが確認できるようになります。

デバイス登録

デバイス登録後、ThingParkへ自動的にデバイス登録が行われます。ThingParkへデバイスが登録されることをデバイスのプロビジョニングと呼びます。

多くのデバイスでは ThingPark 上の設定として デバイスEUI や鍵情報などの登録を行い、購入後電源を入れることで LoRaWAN に接続することができます。詳細はデバイス製造メーカーのマニュアル、および LoRaWAN 事業者のマニュアルなどをご確認ください。

LoRaWAN デバイスから、データ送信を開始してください。

5. デバイスデータの確認

デバイスからのデータは、イベントとして Things Cloud に格納されます。 デバイス管理アプリケーションから、該当デバイスを選び、計測値やイベントを見ることでデータの到着を確認することができます。

計測値

イベント

イベントには LoRaWAN の payload がヘキサ文字列として “c8y_ActilityUplinkRequest.payloadHex” プロパティに格納されます。

デバイスデータベースでのデバイスプロトコル設定に関わらず、以下のデータはLoRaデバイスからのデータアップロード時に共通して作成されます。

6. デバイスのデプロビジョニング

ThingParkプラットフォーム上のLoRaデバイスのデプロビジョニング(ThingParkからのデバイス削除)を行うことができます。デプロビジョニングにより、デバイスはネットワークに接続されなくなり、ThingPark上でデバイスは削除されますが、Things Cloud上の履歴は残ります。デプロビジョニングしたデバイスを再度プロビジョニングすることは出来ません。

デバイス管理>デバイス一覧から該当デバイスを選択してください。

注記:デバイス選択時に右側に出る"デバイスを削除"というアイコンを押すと、デバイスの履歴全てが削除されてしまうので、誤って押さないようにご注意ください。

デバイスの無効化

次に"もっと見る"をクリックし、“プロビジョン解除デバイス"を選択してください。

デバイスの無効化

確認メッセージが表示されるので、「OK」ボタンを押します。

デバイスの無効化

デバイスデプロビジョニング後も、該当のデバイスはデバイス一覧から確認できます。 Things Cloudからもデバイスを削除したい場合は、デバイス一覧から削除ボタンを押下することで削除できます。(デバイスをThings Cloudから削除した場合は過去のデータも確認できなくなります。)

注記:デバイスを削除しない限り、デプロビジョニング状態でも従量課金デバイス数の対象となります。

デバイスの無効化

デバイス画面でデバイスデータの準備済みフラグがfalseになっていればデプロビジョニング状態と確認できます。

デバイスの無効化

ThingPark の画面では、該当のデバイスが削除されるため表示されなくなります。

デバイスの無効化

注記:ThingParkの画面はお使いの環境やバージョンによって異なる場合があります。

7. デバイスの操作

downlinkによってオペレーションを送信するには、デバイス管理アプリケーションを開き、オペレーションの送信先となる該当デバイスを選択します。次に"シェル"タブをクリックします。

デバイスの操作

シェルコマンドを入力するか、または">_Command"項目で定義済みのコマンドを表示/編集します。

ポートを定義せずにコマンドを入力すると、デバイスのデフォルトのポート(“1"です)に送信されます。コマンドを入力してポートを定義(“command:port"形式)すると、指定されたポートへ送信されます。

デバイスの操作

“実行"をクリックすると、オペレーションがデバイスへ送信されます。送信のタイミングは ThingPark Actility 側で決定します。ThingParkへの送信が成功すると、以下のように成功とレスポンスが表示されます。

デバイスの操作

注記:ThingParkからのレスポンスのみが確認できます。ThingPark~デバイスの通信の確認はサポート対象外です。

頻繁に利用するコマンドなどを定義済みのコマンドとして保存し、利用時に取得して送信することが可能です。 コマンドを新規に定義するには、“定義済みのコマンドを取得"を押し、“新規追加"を押します。

デバイスの操作

名前、カテゴリ、コマンドを入力し、“保存"します。

デバイスの操作

定義済みのコマンドを送信する場合、前の画面に戻り、定義済みのコマンドを選択し"実行"を押します。

8. サブテナントでのLoRaWAN接続機能利用

LPWA接続設定済の親テナントから作成したサブテナントで、LoRaWAN接続機能を利用するために必要な事前設定です。

管理>サブテナント画面から、LoRaWAN接続機能を利用するサブテナントを選択します。

サブテナント設定

“アプリケーション"のタブを押し、右側の利用可能なアプリケーションから"Actility"を選択したときに表示される登録ボタンを押します。

サブテナント設定

左側の登録みアプリケーションに"Actility"が追加されます。

サブテナント設定

サブテナントでLoRaWAN接続機能を利用するために必要な事前設定は以上です。

9. FAQ と利用上の注意事項

9.1. FAQ

Q
A
Things Cloud 内でのデバイス名は? 初期デバイス名は Actility_{DevEUI} の形式になります。例えば、DevEUI が 000DB53114873546 であった場合、Actility_000DB53114873546 となります。
デバイス登録を行う際に投入するデバイスID は {DevEUI} ですので、間違えないようご注意ください。
デバイス名は変えられないの? デバイスが登録された後、自由に名称を変更することができます。変更しても、デバイス管理アプリケーションからデバイスを選択し、「アイデンティティ」から DevEUI 値を確認することができます。
デバイスからデータが送信されていないことを検知するには? 通常の Things Cloud 利用の場合と同様、可能です。
デバイス管理アプリケーションからデバイスを選択し、「情報」タブを選び、「接続の監視」セクションの要求間隔に値を記入することで、その時間内にデータ送信がない場合にアラームを発生させることができます。

9.2. トラブルシューティング

こちら をご覧ください。

9.3. 利用上の注意事項

表題
注意事項
デバイスのデプロビジョニング 一度デプロビジョニングしたデバイスは元に戻す(プロビジョニングする)ことができないためご注意ください。Things Cloud上でデバイスをデプロビジョニングした場合、ThingPark上のデバイス削除の必要はありません。
登録済のデバイスプロトコルの編集 すでに登録済もしくはインポート済のデバイスプロトコルをデバイスデータベースから選択し、画面上で編集する場合、全ての場合でソースがPayloadのデバイスプロトコルでもFPortが選択されている状態となるため、再保存する際は正しいソースを選択するようご注意ください。登録済のソースがPayloadの場合、Payloadを選択すると開始ビットとビット数の値は登録済の値が自動セットされます。
ThingParkとの疎通確認アラーム Things CloudとThingsParkの疎通確認(2分間隔)が取れない場合、サブテナントを含むLoRaWAN接続機能を利用中の全てのテナントの Actility Server Monitoring Agent に対してアラームが発生します。アラームは、デバイス管理>デバイス一覧から、Actility Server Monitoring Agent を検索し、そのアラームタブから確認できます(Actility Server Monitoring Agentはデバイス一覧にデフォルトでは表示されていません)。疎通が可能になると、アラームは自動的にクリアされます。

(付録1)LoRaWAN Network Server と Things Cloud 間通信仕様

ここでは LoRaWAN Network Server から Things Cloud にデバイスのデータを伝送する場合の接続仕様および、その他の接続仕様(Things CloudからLoRaWAN Network Serverへの通信)の一覧を記載します。 本情報は技術参考情報として記載しています。今後の Things Cloud 機能追加変更、LoRaWAN 仕様への追従などにより、仕様が変更となったりパラメータが追加される可能性があることをご了承ください。

LoRaWAN Network Server から Things Cloud にデバイスのデータを伝送する場合の接続仕様

規定部分

本節で規定する接続I/Fは下図に示す部分とします。

通信条件

LoRaWAN Network Server と Things Cloud 間の通信方式は以下の通りです。

項目 規定値(仕様) 備考
ネットワーク インターネット
通信プロトコル TCP/IP, https
接続元アドレス/ポート 制限なし LoRaWAN Network Server 側
接続先アドレス iottf.je1.thingscloud.ntt.com Things Cloud 側サーバアドレス
接続先ポート 50000 Things Cloud 側サーバアドレス
HTTPヘッダ Content-Type: application/xml application/json は不可
URL query パラメータ LrnDevEui={DevEUI}&LrnFPort={fport} 指定必須 {DevEUI} は16文字のヘキサ文字列
{fport} は fport(数値)
他のパラメータは無視されます
HTTPボディ XML フォーマットは次項参照

LoRaWAN に関するオプションは以下の通りです。

項目 規定値(仕様) 備考
セキュリティオプション なし payload は Network Server 側で復号のこと
アクティベーション方式 OTAA(推奨) ABPも可

アクティベーション方式として ABP も扱うことができますが、将来のバージョンアップで提供機能の一部または全部が使えなくなる可能性があります。Things Cloud では OTAA 方式を推奨しています。

XML フォーマット

XMLとして必要な要素は以下の通りです。これらは<DevEUI_uplink xmlns="http�//uri.actility.com/lora”>要素に含めます。他の要素は無視されます。

必須XML要素 備考
<Time> yyyy-MM-ddThh:mm:ss.SSSXXX の形式 <Time>2017-04-10T09:41:34.922+02:00</Time>
<DevEUI> DevEUI値 16文字のヘキサ文字列 <DevEUI>000DB53114873546</DevEUI>
<FPort> fport 値, 整数 <FPort>1</FPort>
<payload_hex> payload_hex 値、ヘキサ文字列 <payload_hex>00025f0211705b08139d7b
</payload_hex>
<LrrRSSI> RSSI 数値 <LrrRSSI>-57.000000</LrrRSSI>
<LrrSNR> SNR 数値 <LrrSNR>9.500000</LrrSNR>
<FCntUp> アップリンクカウンタ値、整数 <FCntUp>3</FCntUp> 予約
<FCntDn> ダウンリンクカウンタ 値、整数 <FCntDn>4</FCntDn> 予約
<SpFact> デバイスで使っている SF 値 <SpFact>12</SpFact> 予約
<DevAddr> デバイスの DevAddr ヘキサ文字列 <DevAddr>14873546</DevAddr> 予約

URL例

https://iottf.je1.thingscloud.ntt.com:50000/?LrnDevEui=000DB53114873546&LrnFPort=1

ヘキサ文字列はThings Cloud でのデバイス登録IDと大文字、小文字含めて一致する必要があります。

ヘッダ例

Content-Type: application/xml

body例(最低限の要素のみ)

<DevEUI_uplink xmlns="http://uri.actility.com/lora">
  <Time>2018-07-26T10:22:51.545+09:00</Time>
  <DevEUI>01CAFEBABEFACADE</DevEUI>
  <FPort>1</FPort>
  <payload_hex>000102030405</payload_hex>
  <LrrRSSI>-57.000000</LrrRSSI>
  <LrrSNR>9.500000</LrrSNR>
</DevEUI_uplink>

body例(Actility から送信される XMLの例)

<?xml version="1.0" encoding="UTF-8"?>
<DevEUI_uplink xmlns="http://uri.actility.com/lora">
  <Time>2018-04-10T09:41:34.922+02:00</Time>
  <DevEUI>{DevEUI値}</DevEUI>
  <FPort>2</FPort>
  <FCntUp>3</FCntUp>
  <MType>4</MType>
  <FCntDn>4</FCntDn>
  <payload_hex>00025f0211705b08139d7b</payload_hex>
  <mic_hex>aad53643</mic_hex>
  <Lrcid>00000201</Lrcid>
  <LrrRSSI>-57.000000</LrrRSSI>
  <LrrSNR>9.500000</LrrSNR>
  <SpFact>12</SpFact>
  <SubBand>G0</SubBand>
  <Channel>LC5</Channel>
  <DevLrrCnt>1</DevLrrCnt>
  <Lrrid>{Lrrid値}</Lrrid>
  <Late>0</Late>
  <Lrrs>
    <Lrr>
      <Lrrid>{Lrrid値}</Lrrid>
      <Chain>0</Chain>
      <LrrRSSI>-57.000000</LrrRSSI>
      <LrrSNR>9.500000</LrrSNR>
      <LrrESP>-57.461838</LrrESP>
    </Lrr>
  </Lrrs>
  <CustomerID>{customerID値}</CustomerID>
  <CustomerData>{CustomerData値}</CustomerData>
  <ModelCfg>0</ModelCfg>
  <DevAddr>{DevAddr値}</DevAddr>
  <AckRequested>1</AckRequested>
</DevEUI_uplink>

その他の接続仕様一覧

Things CloudからLoRaWAN Network Serverへの接続仕様について記載します。 以下項目は共通です。

項目 規定値(仕様) 備考
ネットワーク インターネット
通信プロトコル TCP/IP, https
接続先アドレス https://dx-api.thingpark.com/ ThingPark 側サーバアドレス

接続時の動作一覧は以下です。

動作  概要  本書との対応
LoRa Network Serverの初回認証 ThingParkに対してLoRaプロバイダ設定のアカウント情報を送信し認証を行います 2. Actilityプロバイダー登録
デバイスのプロビジョニング ThingParkに対してデバイス登録の情報を送信してデバイスを登録します 4. デバイス登録
デバイスのデプロビジョニング ThingParkにあるデバイスの情報を削除します 6. デバイスのデプロビジョニング
ダウンリンクメッセージの送信 デバイスに対する操作コマンドを送信します 7. デバイスの操作

(付録2)デバイスプロトコルの設定例

EASEL社の照度センサユニット(ES920LRI)のデバイスプロトコル設定例を説明します。 なお、照度センサユニット(ES920LRI)の取扱説明書にデバイスから送信されるデータフォーマット情報が記載されています。

新規デバイス登録画面において、以下のように設定します。 デバイスタイプ

3つの値を追加します。

  1. 再送回数(count number of resend)を設定します。 デバイスタイプ

  2. 照度(illuminance)を設定します。 デバイスタイプ

  3. 電圧(Volt)を設定します。 デバイスタイプ

以上の設定を保存して完了です。

設定した内容のjsonは以下の通りです。

{
  "c8y_ModbusDeviceTypeInfo": {
    "name": "照度センサユニット(ES920LRI)",
    "minFieldbusUI": 4,
    "fieldbusType": "actility"
  },
  "c8y_Coils": [],
  "c8y_Registers": [
    {
      "measurementMapping": {
        "series": "times",
        "type": "c8y_CountNumberOfResend"
      },
      "offset": 0,
      "multiplier": 1,
      "fieldbusType": null,
      "signed": false,
      "number": null,
      "input": false,
      "divisor": 1,
      "unit": "times",
      "decimalPlaces": 0,
      "startBit": 4,
      "noBits": 4,
      "messageTypeId": 1,
      "name": "count number of resend",
      "category": "照度センサユニット"
    },
    {
      "measurementMapping": {
        "series": "lux",
        "type": "c8y_illuminance"
      },
      "offset": 0,
      "multiplier": 1,
      "fieldbusType": null,
      "signed": false,
      "number": null,
      "input": false,
      "divisor": 1,
      "unit": "lux",
      "decimalPlaces": 0,
      "startBit": 8,
      "noBits": 32,
      "messageTypeId": 1,
      "name": "illuminance",
      "category": "照度センサユニット"
    },
    {
      "measurementMapping": {
        "series": "volt",
        "type": "c8y_Voltage"
      },
      "offset": 0,
      "multiplier": 1,
      "fieldbusType": null,
      "signed": false,
      "number": null,
      "input": false,
      "divisor": 1,
      "unit": "V",
      "decimalPlaces": 0,
      "startBit": 40,
      "noBits": 16,
      "messageTypeId": 1,
      "name": "voltage",
      "category": "照度センサユニット"
    }
  ],
  "c8y_MessageIdConfiguration": {
    "messageIdMapping": {
      "startBit": 0,
      "noBits": 4
    },
    "source": "PAYLOAD"
  }
}

(付録3)ABP方式のデバイス登録手順

ここでは、デバイスアクティベーション方式がABPであるデバイスを登録する手順を説明します。 ABP方式の場合、Things Cloudでのデバイス登録の前にThingParkでの設定とデバイス登録が必要です。 ThingPark上においてThings Cloud向けのAS ROuting ProfileをThird Party AS(HTTP)としてThings CloudのActility Serverアドレスをdestinationに設定した上で、デバイスを手動登録します。

0. ThingPark への事前設定

ThingPark に Things Cloud への接続情報を登録します。(ASルーティング設定) 一度接続情報を登録すれば2回目以降は設定不要です。

Actility ThingPark に対し、Things Cloud への接続情報を設定します。ThingPark への設定方法は詳しくは LoRaWAN 事業者にご確認ください。

Actility ThingPark の Device Manager から設定します。

0.1. Application servers 設定

「Application servers」で新規Application serverとして Things Cloud を設定します。

設定項目 設定内容 備考
Name Things Cloud 名称は任意です
Type HTTP Application Server (LoRaWAN) -
Content Type XML JSON / JSON untyped は利用できません
Uplink/downlink security Inactive -
Route - Source ports * -
Routing strategy Sequential -
Destination https://iottf.je1.thingscloud.ntt.com:50000 -

0.2. AS routing profiles 設定

続いて、「AS routing profiles」 を設定します。

設定項目 設定内容 備考
Name Things Cloud 名称は任意です
Type LoRaWAN -
Destinations - Type Local application server -
Is default チェック 利用状況に応じ適宜変更ください
Destinations - Destination Application servers で設定したものを選択 -

1. ThingParkでデバイスを登録する

Device Manager > Devices > Create で、以下項目を設定後、createボタンを押下。

項目 内容 設定値例
Device name デバイスの名前 GlobalSat LT-100_ABP
Device activation デバイスのアクティベーション方式 Activation By Personalization (ABP) を選択
DevEUI デバイスEUI
デバイスを一意に識別する16桁の値
BECB44968B2CA96F
DevAddr デバイスアドレス 12345678
NwkSKey ネットワークセッションキー 7222B392141E74652BED9B6011FDD93D
Manufacturer デバイス製造者 Unknownを選択
Model デバイスプロファイル(デバイスの種類) LoRaWAN 1.0 - class A - ETSI - Rx2_SF9を選択
Connectivity plan 接続プラン ご利用中のプランを選択
Application server / routing profile SSAサーバへの接続先情報 https://iottf.je1.thingscloud.ntt.com:50000を選択。
(すでにOTAA方式の他のデバイスが登録済の場合、自動で作成されたApplication servers / routing profilesの設定値を選択)
AppSKey アプリケーションセッションキー
Addを1回クリックすると右の値が自動設定される。編集する場合は値をクリックしする。
00000000000000000000000000000000

ABPデバイス登録

2. Things CloudでLoRaデバイスを登録する

以下項目以外は上記でThingParkに登録した情報と同じ値を設定します。

項目 設定値例 備考
デバイスプロファイル LoRaWAN 1.0 - class A - ETSI - Rx2_SF9 -
application key 4AC4B926939EA8FEF1B3586E25EE322A ABP方式の場合、application keyは設定不要(前提として存在しない)のため入力値は無効だが、必須項目のためダミー値を入力する。
デバイスプロトコル GlobalSat LT-100 -
接続プラン ご利用中のプランを選択 -

以上でABP方式のデバイス登録設定は完了です。

トラブルシューティング

接続

Authorization to the LoRa platform failed(LoRa プラットフォームへの認証に失敗しました)

この警告メッセージは、提供されたプロファイルID、ユーザー名、パスワードが無効な場合に表示される警告メッセージです。

Account credentials
この問題を解決するには、正しい認証情報を提供して、もう一度試してください。

デバイス登録

Access to device denied(デバイスへのアクセスが拒否されました)

この警告メッセージは、デバイス登録に使用したデバイスEUIと同じプロビジョニングされたデバイスがThingParkにすでに存在し、アプリケーションEUI(OTAAアクティベーション)およびデバイスプロファイルに基づいて、デバイスを比較する検証が失敗した場合に表示されます。

Device registration failure for comparison validation

この問題を解決するには、接続のアプリケーションおよびデバイスプロファイルから正しいアプリケーションEUIを指定して、もう一度試してみてください。

LoRa プロバイダー設定が見つかりませんでした

この警告メッセージは、ThingParkのアカウントに認証情報が設定されていない場合に表示されます。

Device registration failure without credentials

この問題を解決するには、ThingPark認証情報の構成をご覧ください。

また、この警告メッセージは、ThingParkの接続プランがデバイス数の制限に達した場合でも表示されることがあります。その場合、この問題を解決するには、接続プランのデバイス割り当て制限についてThingParkに問い合わせるか、Things CloudとThingParkから未使用のデバイスを削除してThings Cloudでデバイスの登録を再試行してください(フリースロットを利用した接続プランはありません 参照)。

プロバイダーからのデバイスプロファイルの取得に失敗しました

この警告メッセージは、Thingparkへのテナントのアクセス トークンが無効になった場合に表示されます。 トークンの無効化は、同じThingParkの認証情報を別のテナントで使用した場合に発生する可能性があります。

Device registration failure with invalidated token

この問題は、アクセストークンを更新するためにThingPark認証情報を再構成することで解決できます。認証情報の再構成については、ThingParkアカウント認証情報の構成 をご覧ください。

デバイスプロトコルが設定されていません

この警告メッセージは、デバイス登録に使用するLoRaデバイスプロトコルが存在しない場合に表示されます。

No device protocol given for LoRa

この問題を解決するには、デバイスデータベースに少なくとも1つのデバイスプロトコルを設定します。

フリースロットを利用した接続プランはありません

この警告メッセージは、ThingParkの接続プランがデバイス数の上限に達している場合に表示されます。

No free slots by device registration

この問題を解決するには、接続プランのデバイス割り当て制限についてThingParkに問い合わせるか、Things CloudとThingParkから未使用のデバイスを削除してThings Cloudでデバイスの登録を再試行してください。

デバイスの登録設定ができない

“Getting device profiles from provider failed"というエラーが出る場合

他テナントで同じThingParkユーザ名をすでに使っている可能性が考えられます。ThingParkのユーザ名はユニークである必要があり、複数のテナントに同じThingParkユーザ名を登録すると先に登録したテナントの認証情報が無効になってしまいます。

デバイス登録エラー

“Creating device on provider's platform failed"というエラーが出る場合

すでに同じdeviceEUIをもつデバイスがThings Cloudに登録されています。一度ご確認ください。

デバイス登録エラー

デバイスデータがアップロードされない

デバイス登録までの設定を正常に実施したのにもかかわらずLoRaデバイスから何もデータがアップロードされない場合、LoRaデバイスの再起動(電源OFF-ON)によって正常動作となるケースがあります。