Sigfox

概要

Things Cloud は、Sigfox ネットワーク事業者による Sigfox Cloud を通じて、Sigfox デバイスと接続するインターフェースを提供します。次のことができます。

  • Things Cloud のデバイス管理アプリケーションを使用して、Sigfox デバイスを簡単にプロビジョニングできます。
  • Web ベースのユーザーインターフェースを使用して、アップストリームのペイロードパケットをデコードします。
  • Things Cloud のイベントを通じて、デバイスの生データをデバッグおよび後処理を行います。
  • Things Cloud の操作によって、ダウンストリーム データをデバイスに送信します。
  • Sigfox デバイスの接続監視、デバイス管理、ダッシュボードによるデータ可視化、リアルタイム分析など、既存の Things Cloud の機能を活用できます。

次の図は、Things Cloudにおける Sigfox 統合の概要を示しています。

Things Cloud Sigfox統合

備考
Sigfox エージェントを利用するには、テナントが sigfox-agent アプリケーションを登録する必要があります。問題が発生した場合は、製品サポートにお問合せください。

接続設定の管理

デバイスを登録する前に、管理アプリケーションの 接続 ページで、Sigfox Cloud の認証情報を構成する必要があります。この Sigfox Cloud の認証情報は、Sigfox で準備しなくてはいけません。

また、Things Cloud への API アクセスを作成する前に、Sigfox Cloud で Things Cloud グループに追加され、以下のプロファイルを持つ「Associated user」が必要です。

  • Customer [R]
  • Device Manager [W]
重要
次に説明するプロファイルがないと、設定に必要な Sigfox API アクセスを実行できません。

ステップ 1

すでにユーザーが関連付けられている場合は、そのユーザーが以下のプロファイルを持っていることを確認し、ステップ 2 に進んでください。

グループ名には制約がありません。残りのステップでは、グループ名のサンプルとして 「NTT Communications」を使用します。

まず、Sigfox Cloud のアカウントに入り、新しいユーザーを作成します。ユーザーをグループに追加し、「Customer [R]」と「Device Manager [W]」 のプロファイルを選択します。

新しいユーザー

ステップ 2

適切なグループとプロファイルを持つ「Associated user」を作成した後、GROUPページに移動します。API ACCESSタブで、新しいエントリを作成し、次のプロファイルを追加します。

  • Customer [R]
  • Device Manager [W]

APIアクセスページ

ステップ 3

API ACCESS エントリの作成後、管理アプリケーションの 接続 ページから Sigfox Cloud アカウントを Things Cloud に接続することができます。接続 ページに移動し、Sigfox プロバイダー設定 タブに切り替えます。

接続タブ は、複数の Sigfox 接続の作成、更新、削除を容易にします。

接続を作成するには、次の情報を提供する必要があります。

  • 名前:作成される Sigfox 接続の名前です。
  • 説明:作成される Sigfox 接続の説明です。
  • ログイン:ログイントークンは、Sigfox Cloud の API ACCESS エントリにあります。
  • パスワード:パスワードトークンは、Sigfox Cloud の API ACCESS エントリの Password の横にあります。
  • 親グループ ID:この ID は Sigfox アカウントにログインして「NTT Communications」グループを選択したときに、URL に書き込まれます。例えば、https://backend.sigfox.com/group/9823ruj29j9d2j9828hd8/info のようになります。
  • ベース URL:Sigfox アカウントを指す URL です。
備考
下のスクリーンショットのグループ名はあくまで一例です。必ずしも「NTT Communications」である必要はありません。

SigfoxグループID

Sigfox接続の更新

保存 をクリックして、設定を保存します。正しく設定されていれば、「Credentials successfully saved」というメッセージが表示されます。

別の接続を追加するには、接続の追加 をクリックし、上記の手順に従ってください。

接続の更新

更新する接続を選択し、編集を行い、接続を保存します。

接続に関連付けられているデバイスがある場合、次のようなエラーメッセージが表示されます。
「Can not update the LNS Connection with <name of LNS Connection> as it’s associated with <number of devices>.リンクをクリックして、影響を受けるデバイスを含むファイルをダウンロードしてください。: /service/<agent-context-path>/lns-connection/<lns-connection-name>/device

接続情報の更新

接続の削除

削除する接続を選択し、削除 をクリックします。

接続に関連付けられているデバイスがある場合、次のようなエラーメッセージが表示されます。
「接続を削除できませんでした Can not delete the LNS Connection with <name of LNS Connection> as it’s associated with <number of devices>.リンクをクリックして、影響を受けるデバイスを含むファイルをダウンロードしてください。: /service/<agent-context-path>/lns-connection/<lns-connection-name>/device

接続情報の削除

Sigfox プラットフォームへの認証に失敗

Sigfox プラットフォームへの認証が失敗しました。親グループ ID や認証情報が正しいか確認してください。

この問題を解決するには、正しいベース Url または親グループ ID、ユーザー名、パスワードを入力し、再試行してください。

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

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

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

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

Sigfox LPWANタブ

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

デバイスプロトコルを作成するには、デバイス管理アプリケーションのナビゲータの デバイスタイプ メニューで デバイスプロトコル を選択します。既存のデバイスプロトコルをインポートするか、新規に作成することができます。

デバイスプロトコルのインポート

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

必要な事前定義されたデバイスタイプを選択するか、ファイルからアップロードします。準備ができたら、再度 インポート をクリックします。

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

デバイスプロトコル ページで、デバイスプロトコルを追加 をクリックし、オプションリストから Sigfox を選択します。

新しいSigfoxプロトコル

デバイスプロトコルの名前と任意で説明を入力し、作成 をクリックします。

メッセージタイプで、メッセージのタイプを指定します。Sigfox デバイスは、タイプごとに異なるエンコーディングでさまざまなタイプのメッセージを送信できます。デバイスによっては、メッセージの FPort パラメータ(ソース:FPort)またはメッセージのペイロードのサブセット(ソース:Payload)のいずれかを見て、タイプを決定することができます。

ソース フィールドで、メッセージタイプのエンコード方法を選択します。

  • payload:メッセージのペイロードのサブセットを見ることで、メッセージタイプを決定できます。

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

例のペイロード:メッセージタイプソース

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

Sigfoxプロトコル

値の構成設定

セクションで、値を追加をクリックし、値の構成を作成します。

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

新しい値 ウィンドウ part 1 Sigfoxプロトコル新しい値の追加

新しい値 ウィンドウ part 2 Sigfoxプロトコル新しい値の追加

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

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

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

例のペイロード:メッセージタイプソース

Sigfoxビット

一般 で、値の名前と、値リストに表示されるカテゴリを指定します。

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

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

例のペイロード:値の選択

Sigfoxビット

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

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

  • 乗数:この値は、値の選択 から抽出された値と乗算させます。10進数で、負の数、正の数を指定できます。デフォルトでは 1 が設定されています。
  • オフセット:加算または減算されるオフセットを定義します。10進数で、負の数、正の数を指定できます。デフォルトでは 0 に設定されています。
  • 単位(任意):値とともに保存される単位を定義できます(例:摂氏温度単位 「C」)。

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

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

  • 符号付き: 値が符号付き数値の場合
  • パック 10 進法: 値が BCD エンコードされている場合

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

  • 計測値を送信:デコードされた値でメジャーメントを作成します。
  • アラームを発生させる:値が 0(ゼロ)と等しくない場合、アラームを発生させます。
  • イベントを送信:デコードされた値でイベントを作成します。
  • 管理対象オブジェクトの更新:マネージドオブジェクトのフラグメントをデコードされた値で更新します。

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

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

作成されたデバイスプロトコルの値構成

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

単一プロパティの例

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

新しい値 ウィンドウ part 1 バッテリーレベル変更の例

新しい値 ウィンドウ part 2 バッテリーレベル変更の例

ネスト構造の例

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

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

新しい値 ウィンドウ 緯度

値作成:経度-ネスト

新しい値 ウィンドウ 経度

値作成:緯度-ネスト

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

詳細な値構成:ネスト構造

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

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

Sigfox デバイスの登録

Things Cloud に Sigfox デバイスを登録するには、デバイス管理アプリケーションの デバイス > 登録 ページに移動し、右上の デバイスを登録 をクリックしドロップダウンから 単一登録 > Sigfox を選択します。

Register devices

備考
Sigfox が利用可能なオプションの1つではない場合、テナントが関連するアプリケーションに登録されていません。上部の情報をご覧ください。
備考
  • Sigfox Cloud プラットフォームで作成されるデバイスタイプは、次の命名規則があります。
    c8y_{tenantId}_{device-protocol-name}_{contractId}
    例: c8y_myTenant_mySigfoxDeviceProtocol_aabbcc5b78c901d64eecf4faaa
  • 構築された名前が 100 文字を超える場合、100 文字未満になるまで切り捨てられます。

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

  • ID: 一意のデバイス ID。値は 16 進数でなければいけません。
  • PAC: デバイスの移植認証コード。値は 16 進数でなければいけません。
  • 接続: テナント内で設定されているすべての Sigfox 接続を一覧表示します。次の契約オプションは、選択した Sigfox 接続に基づいて入力されます。
  • 契約: 希望する契約を選択します(有効な契約と期限切れの契約を含め、すべての契約が表示されます)。
  • デバイスプロトコル: ドロップダウンリストから希望のデバイスプロトコルを選択します。
  • 製品の証明書キー: このキーは https://partners.sigfox.com/ にあります。デバイスに移動して、証明書キーをコピーしてください。チェックボックスを選択しないで製品の証明書キーが指定されていない場合、そのデバイスはプロトタイプと見なされます。
備考
デバイスタイプという用語は、SigfoxとThings Cloudの両方で使用されていますが、意味が異なります。Sigfoxでは、デバイス タイプによってデバイスからのデータのルーティング方法が指定されます。Things Cloudでは、デバイスタイプは、特定のタイプのデバイスから送信されるデータを記述します。

Register devices1

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

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

接続されているデバイスの表示と管理の詳細については、デバイス管理アプリケーションも参照してください。

ある LNS 接続から別の LNS 接続にデバイスを移行するには、デバイスを再登録する必要があります。 デバイスの LPWAN タブに移動し プロバイダー接続 ドロップダウンをクリックします。 ある LNS 接続から別の LNS 接続にデバイスを移行するには、デバイスを再登録する必要がある旨のプロンプトが表示されます。 再登録 ボタンをクリックしてください。

ユーザーは、上記のステップに従って再登録を実行し、希望する LNS 接続を選択することができるデバイス登録ページに誘導されます。

一般デバイス登録したデバイスの更新

過去にThings Cloudの「一般デバイス登録」から登録したデバイスがある場合、以下の URL を Sigfox クラウド上で手動で変更する必要があります。

  • 変更前:https://sigfox-agent.je1.thingscloud.ntt.com/sigfoxDataCallback
    変更後: https://<tenantId>.je1.thingscloud.ntt.com/service/sigfox-agent/sigfoxDataCallback
  • 変更前:https://sigfox-agent.je1.thingscloud.ntt.com/sigfoxServiceAcknowledgeCallback
    変更後: https://<tenantId>.je1.thingscloud.ntt.com/service/sigfox-agent/sigfoxServiceAcknowledgeCallback
  • 変更前:https://sigfox-agent.je1.thingscloud.ntt.com/sigfoxServiceStatusCallback
    変更後: https://<tenantId>.je1.thingscloud.ntt.com/service/sigfox-agent/sigfoxServiceStatusCallback
  • 変更前:https://sigfox-agent.je1.thingscloud.ntt.com/sigfoxErrorCallback
    変更後: https://<tenantId>.je1.thingscloud.ntt.com/service/sigfox-agent/sigfoxErrorCallback
備考
Sigfox デバイスの一般デバイス登録はサポート終了しました。

オペレーション送信

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

備考
オペレーションは、すぐに EXECUTING ステータスになりません。デバイスがダウンリンク メッセージを予期している場合、EXECUTING に進みます。その後、最初に作成された保留中のオペレーションは EXECUTING ステータスになります。

トラブルシューティング

backend.sigfox.com の Sigfox コールバックが正しく作成されない

デバイス登録

空きスロットのあるアクティブな契約はありません

空きスロットを持つアクティブな契約は、アクティベーション終了時刻と使用中のトークンに基づいてフィルタリングされます。アクティベーション終了時刻が現在時刻以降である、またはアクティベーション終了時刻が無制限である契約、および最大トークン数が使用中トークン数より多い、または最大トークン数が無制限である契約が空きスロットを持つアクティブな契約と見なされます。

このエラーを解決するには、support.sigfox.com に連絡して、Sigfoxアカウントの契約を作成してください。

Sigfox プロバイダー設定が見つからない

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

これを解決するためには、接続設定の管理を参照してください。

設定されているSigfoxデバイスタイプはありません

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

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

接続設定

backend.sigfox.com の Sigfox コールバックが正しく作成されない

Sigfoxコールバックエラー

コールバック設定の情報は、マイクロサービスによって取得されます。

設定が正しいかどうかを確認するには、次の REST APIリクエストを実行します。

GET {{url}}/tenant/currentTenant
備考
上記のリクエストは、使用可能な API リクエストの例にすぎません。REST APIリクエストの詳細については、Things Cloud OpenAPI仕様のTenantsを参照してください。

この警告メッセージは、Sigfox アカウントに接続が設定されていない場合に表示されます。これを解決するには、設定 をクリックして、接続が設定されている管理アプリケーションに移動します。

接続なしのデバイス登録失敗

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

この警告メッセージは、デバイス登録に使用する Sigfox デバイスプロトコルが存在しない場合に表示されます。これを解決するには、デバイスプロトコル をクリックして、プロトコルが設定されている デバイスプロトコル ページに移動します。

Sigfox用のデバイスプロトコルがありません

アラームプロビジョニングに関する問題

アラームプロビジョニングに関する問題

操作の失敗

「transfer operation failed」アラームが発生した場合、デバイスはすでにSigfoxプラットフォームにプロビジョニングされており、Sigfox プラットフォームでのデバイスタイプの変更に失敗しています。この問題を解決するには、Sigfox プラットフォームで目的のデバイスタイプに手動で変更する必要があります。

プロビジョニング済みステータスは false に設定されている

偽のプロビジョニング

このアラームの場合、プロビジョニング済み ステータスが「false」に設定されていることが分かります。これは、Sigfox プラットフォームからデータが送信されていないことを意味します。アラームメッセージには、エラーに関するより詳細な情報が記載されています。この場合、登録時に指定された PAC コードが無効であることを意味します。

備考
プロビジョニング処理が完了したが、失敗した場合、失敗の理由が示された情報がアラームとして返されます。

デバイスのプロビジョニング処理が完了し、Sigfox プラットフォームから成功情報を受信すると、プロビジョニング済み ステータスが true に設定されます。さらに、デバイスからアップリンクメッセージが取得されると、true に設定されます。

備考
ステータスは非同期で更新されるため、trueに設定されるまで少し待たなければならない場合があります。

コールバックの作成に失敗

コールバックの作成に失敗しました

このアラームは、Sigfoxプラットフォームで1つ以上のコールバック作成リクエストが失敗した場合に作成されます。このアラームは アラーム ページまたは ホーム ページで見ることができます。

この問題を解決するには、Sigfox プラットフォームの Web インターフェースに移動して、アラームに記載されている ID でデバイスタイプを確認します。

アラーム内のデバイスタイプID

この場合、次のアドレスに移動してください。 https://backend.sigfox.com/devicetype/5cd3d97ee833d9746698b27d/callbacks

前述のコールバックが Sigfox プラットフォームに存在しない場合、手動で作成する必要があります。コールバックの作成に必要なすべての必要情報は、アラームの説明ですでに与えられています。上記のアラームの場合、次のコールバックが最初に表示されます。

  • [[callback=[type=DATA_BIDIR, url=«tenant_url»/service/sigfox-agent/sigfoxDataCallback, httpMethod=POST, bodyTemplate={“device”:"{device}",“time”:"{time}",“snr”:"{snr}",“station”:"{station}",“data”:"{data}",“rssi”:"{rssi}",“seqNumber”:"{seqNumber}",“ack”:"{ack}"}, contentType=application/json, headers={Authorization=Basic …}]]

手動でコールバックを作成するためには、次のプロパティを設定する必要があります。

  • type
  • url
  • httpMethod
  • bodyTemplate
  • contentType
  • headers
備考
アラームに表示されるAuthorizationヘッダーに、ユーザー認証情報は表示されません。

アラームに記載されていないプロパティは、次の通りです。

  • sendSni
  • sendDuplicate

これらのプロパティは、falseに設定されます。