Sigfox接続機能 トラブルシューティング

1. Sigfoxクラウドにデバイスが追加されない

Things Cloudにはデバイス登録できたが、Sigfoxクラウドにデバイスが追加されないという場合、下記のアラームが作成されていないかご確認ください。

上記画像のアラームが作成されている場合、お使いのデバイスは prototype としてのみ登録可能なデバイスです。通常のデバイス登録手順ではお使いいただけませんが、以下の手順でデバイス登録することができます。
ただし、prototype デバイスについては、Things Cloudではサポート対象外となります。

1-(1) Sigfoxクラウドに該当デバイスで使用するデバイスタイプを作成する

該当デバイスに紐付けるデバイスタイプがすでにSigfoxクラウドに存在する場合は、この手順をスキップしてください。

入力項目 設定値 備考
Name デバイスタイプの名称です。次の命名規則で設定してください。
c8y_{テナントid}_{デバイスタイプ名}
例)c8y_testTenant_SensitDiscovery
{デバイスタイプ名}は、Things Cloudで紐付けるデバイスタイプ名と同じである必要があります。
Description 特に何も記載する必要はありません。
Keep-alive (in minutes) 0
Subscription automatic renewal 有効
Contract 使用する契約情報を選択してください。
Alert email 特に何も記載する必要はありません。
Downlink mode callback
Downlink data in hexa デフォルト値から変更しないでください。
Payload parsing Display in ASCII

1-(2) 作成したデバイスタイプにcallbackを登録する

Custom callbackから、次の4つのcallbackを設定します。

1-(2)-1 DATA callbacks

入力項目 設定値 備考
Type DATA, BIDIR
Channel URL
Send duplicate 無効
Custom payload config 特に何も記載する必要はありません。
Url pattern 次の値を設定してください。
https://{テナントドメイン}/service/sigfox-agent/sigfoxDataCallback
例)https://sigfoxtest.je1. thingscloud.ntt.com/service/ sigfox-agent/sigfoxDataCallback
Use HTTP Method POST 一度プルダウンを設定後、もう一度プルダウンをクリックすると入力フォームが表示されます。
Send SNI 無効
Headers Authorizationヘッダーを追加します。以下の値をBase64エンコードした値を設定してください。
{テナントid}/sigfox_cumulocity_agent_user:sigfox_pass_{テナントid}

設定例)Basic dDAwMDAwMDAwL3Np Z2ZveF9jdW11bG9j aXR5X2FnZW50X3Vz ZXI6c2lnZm94X3Bh c3NfdDAwMDAwMDAw
※base64文字列は表示上スペースを入れていますが、実際の設定ではスペースを入れないで下さい
テナントidとテナント名は異なるパラメータです。ご注意ください。
Content type application/json
Body {"device":"{device}", "time":"{time}", "snr":"{snr}", "station":"{station}", "data":"{data}", "avgSignal":"{avgSnr}", "lat":"{lat}", "lng":"{lng}", "rssi":"{rssi}", "seqNumber":"{seqNumber}", "ack":"{ack}"}

1-(2)-2 SERVICE callbacks - ACKNOWLEDGE

入力項目 設定値 備考
Type SERVICE, ACKNOWLEDGE
Channel URL
Send duplicate 無効
Url pattern 次の値を設定してください。
https://{テナントドメイン}/service/sigfox-agent/sigfoxServiceAcknowledgeCallback
例)https://sigfoxtest.je1. thingscloud.ntt.com/service/ sigfox-agent/sigfoxServiceAcknowledgeCallback
Use HTTP Method POST 一度プルダウンを設定後、もう一度プルダウンをクリックすると入力フォームが表示されます。
Send SNI 無効
Headers Authorizationヘッダーを追加します。以下の値をBase64エンコードした値を設定してください。
{テナントid}/sigfox_cumulocity_agent_user:sigfox_pass_{テナントid}

設定例)Basic dDAwMDAwMDAwL3Np Z2ZveF9jdW11bG9j aXR5X2FnZW50X3Vz ZXI6c2lnZm94X3Bh c3NfdDAwMDAwMDAw
※base64文字列は表示上スペースを入れていますが、実際の設定ではスペースを入れないで下さい
テナントidとテナント名は異なるパラメータです。ご注意ください。
Content type application/json
Body {"device":"{device}", "time":"{time}", "duplicate":"{duplicate}", "avgSnr":"{avgSnr}", "station":"{station}", "lat":"{lat}", "lng":"{lng}", "infoCode":"{infoCode}", "infoMessage":"{infoMessage}", "downlinkAck":"{downlinkAck}", "downlinkOverusage":"{downlinkAck}"}

1-(2)-3 SERVICE callbacks - STATUS

入力項目 設定値 備考
Type SERVICE, STATUS
Channel URL
Send duplicate 無効
Url pattern 次の値を設定してください。
https://{テナントドメイン}/service/sigfox-agent/sigfoxServiceStatusCallback
例)https://sigfoxtest.je1. thingscloud.ntt.com/service/ sigfox-agent/sigfoxServiceStatusCallback
Use HTTP Method POST 一度プルダウンを設定後、もう一度プルダウンをクリックすると入力フォームが表示されます。
Send SNI 無効
Headers Authorizationヘッダーを追加します。以下の値をBase64エンコードした値を設定してください。
{テナントid}/sigfox_cumulocity_agent_user:sigfox_pass_{テナントid}

設定例)Basic dDAwMDAwMDAwL3Np Z2ZveF9jdW11bG9j aXR5X2FnZW50X3Vz ZXI6c2lnZm94X3Bh c3NfdDAwMDAwMDAw
※base64文字列は表示上スペースを入れていますが、実際の設定ではスペースを入れないで下さい
テナントidとテナント名は異なるパラメータです。ご注意ください。
Content type application/json
Body {"device":"{device}", "time":"{time}", "duplicate":"{duplicate}", "avgSnr":"{avgSnr}", "station":"{station}", "lat":"{lat}", "lng":"{lng}", "batt":"{batt}", "temp":"{temp}", "seqNumber":"{seqNumber}"}

1-(2)-4 ERROR callbacks

入力項目 設定値 備考
Type ERROR
Channel URL
Url pattern 次の値を設定してください。
https://{テナントドメイン}/service/sigfox-agent/sigfoxErrorCallback
例)https://sigfoxtest.je1. thingscloud.ntt.com/service/ sigfox-agent/sigfoxErrorCallback
Use HTTP Method POST 一度プルダウンを設定後、もう一度プルダウンをクリックすると入力フォームが表示されます。
Send SNI 無効
Headers Authorizationヘッダーを追加します。以下の値をBase64エンコードした値を設定してください。
{テナントid}/sigfox_cumulocity_agent_user:sigfox_pass_{テナントid}

設定例)Basic dDAwMDAwMDAwL3Np Z2ZveF9jdW11bG9j aXR5X2FnZW50X3Vz ZXI6c2lnZm94X3Bh c3NfdDAwMDAwMDAw
※base64文字列は表示上スペースを入れていますが、実際の設定ではスペースを入れないで下さい
テナントidとテナント名は異なるパラメータです。ご注意ください。
Content type application/json
Body {"device":"{device}", "time":"{time}", "info":"{info}", "severity":"{severity}"}

1-(3) Sigfoxクラウドに prototype としてデバイス登録する

Sigfoxクラウドにデバイスを登録します。

入力項目 設定値
Identifier (hex!) デバイスのIDを設定してください。
Name デバイスの名称です。次の命名規則で設定してください。
c8y_{テナントid}_{デバイスタイプ名}00{デバイスid}
例)c8y_testTenant_SensitDiscovery00B43F14
PAC デバイスの移植認証コードを設定してください。
End product certificate 何も入力せず、"Where can I find the end product certificate?" というリンクを押下し、表示されたチェックボックス(Register as a prototype (remaining prototypes which can be registered in your group: 999))にチェックを入れてください。
Type 作成したデバイスタイプを選択してください。
Lat (-90° to +90°) 必要であれば任意の値を設定してください。
Lng (-180° to +180°) 必要であれば任意の値を設定してください。
Subscription automatic renewal 有効
Activable 有効

1-(4) Things Cloudにデバイスを登録する

Things Cloudにデバイスを登録します。デバイス登録時、必ずSigfoxクラウドに作成したデバイスタイプと同じ名前のデバイスタイプを選択してください。
また、"製品の証明書キー"には "P_100" などダミー値を設定してください。

登録が完了すると、以下のようなアラームが作成されますが、問題ありません。

以上でデバイス登録は完了です。
デバイスからアップロードされたデータが、Things Cloudに反映されていることをご確認ください。

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

次のようなエラーメッセージが出る場合①

Sigfoxプロバイダ接続設定をしていない または Sigfoxプロバイダ接続設定で入力したパスワードが誤っている可能性があります。設定内容をご確認ください。

注記:正しく登録完了した場合は、以下のようなポップアップが表示されます。

次のようなエラーメッセージが出る場合②

何らかの理由でサーバへの接続に失敗しています。少し時間をおいてから、もう一度お試しください。

次のようなエラーメッセージが出る場合③

同一テナントで登録済みのデバイスで使用したデバイスタイプを使って、別のSigfox契約を選択しデバイス登録をしている可能性があります。登録フォームでの設定値をご確認ください。

注記: Sigfoxクラウドでは、同じデバイスタイプ名を複数のcontractに登録することができません。

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

該当のデバイスに、アラームが作成されていないかご確認ください。

上記のアラームが作成されている場合、別テナントに既に同デバイスが登録されている可能性があります。
Sigfoxクラウド上のデバイスタイプは、先に登録したテナントに紐づくデバイスタイプが登録されているため、後から登録したテナントにデータをアップロードしたい場合は、以下の手順でSigfoxクラウド上のデバイスタイプにcallbackを作成し、デバイスに紐付いているデバイスタイプを変更する必要があります。

注記: 既に別テナントに登録されているデバイスをThings Cloudに登録した場合、Sigfoxクラウド上では、後から登録したデバイスのデバイスタイプも作成されていますが、callbackまでは登録されていないため、手動で登録する必要があります。

3-(1) Sigfoxクラウドのデバイスタイプにcallbackを設定する

Sigfoxクラウドに作成されたデバイスタイプを見つけ、callbacks画面を表示します。
デバイスタイプの命名規則は、c8y_{テナントid}_{デバイスタイプ名} です。

1-(2) 作成したデバイスタイプにcallbackを登録するの手順を参考にして、callbackを設定します。

3-(2) デバイスタイプを変更する

該当デバイスのInformation画面を表示し、Transferを押下します。

New Device Typeに先ほど作成したデバイスタイプを選択します。

必要な操作は以上です。
デバイスからアップロードされたデータが、意図したテナントにアップロードされていることをご確認ください。

4. デバイスタイプを変更したい

一度登録したデバイスのデバイスタイプは、GUIからは変更できません。(デバイス情報画面から手動で書き換えても、反映されません。)
APIで直接managedObjectを更新するか、一度デバイスを削除して登録し直す必要があります。

注記: 同テナントに登録済みのデバイスについて、デバイスタイプを変えてもう一度デバイス登録をすると、登録が成功したように見えますが、実際にはデバイスタイプは変更されていないため、ご注意ください。

API経由でデバイスタイプを変更する

デバイスタイプは、該当デバイスのmanagedObject.c8y_LpwanDevice.typeで設定されているので、変更後のデバイスタイプのmanagedObjectIdを設定し、managedObjectを更新することでデバイスタイプを変更できます。以下のbodyを参考にして、エンドポイントにPUTリクエストを投げることで更新できます。

注記: サーバに10分間はキャッシュが残っているため、デバイスタイプ変更前のデータアップロードから10分以上間隔をあけてから、新しいデバイスタイプを紐付け、データをアップロードしてください。

  • エンドポイント

    • /inventory/managedObjects/{デバイスのmanagedObjectId}
  • body

      {
          "c8y_LpwanDevice": {
              "provisioned": <<ManagedObjectの現在値を参照>>,
              "errorMessage": <<ManagedObjectの現在値を参照>>,
              "type": "inventory/managedObjects/<<変更したいデバイスタイプのmanagedObjectId>>"
          }
      }
    

5. Sigfoxプロバイダの接続設定ができない

Sigfox Cloud の認証情報(ログイン/パスワード/親グループ ID)の組み合わせに誤りがある可能性があります。入力内容をご確認ください。