Sigfoxデバイス管理 - デバイスタイプ管理

ここでは、[Sigfoxバックエンドクラウド](https://backend.sigfox.com)の使用方法を下記４点に関し説明します。

1. [グループ管理](https://qiita.com/ghibi/items/8d92f34890870795e94d)
2. [ユーザー管理](https://qiita.com/ghibi/items/f3ed278d10aa43c7b7f1)
3. **デバイスタイプ管理**
4. [デバイス管理](https://qiita.com/ghibi/items/8518ef3014802ea8c834)

デバイスを登録し、使用するためには、上記1から4の操作を順に行っていただく必要があります。
*Sigfoxバックエンドクラウドへのアクセス権により、ご利用できない機能があります。*

#デバイスタイプとは
デバイスタイプ（以降DeviceType）とは、複数のIoTデバイスをグルーピング化したものです。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/172313/d87075e3-e666-7536-433a-46ddf439eabe.png)
DeviceTypeは、グループに紐づき管理され、1つのグループに複数のデバイスタイプを登録することが可能です。ある会社向け（上図の場合はA株式会社向け）に温湿度センサーデバイスとGPSトラッキングデバイスを提供する場合、上記XとYのように、2つのDeviceType（つまり温湿度センサーDeviceTypeとGPSトラッキングDeviceTypeを2つ作成することになります。
上図のように設定した場合、KCCSとA株式会社は、両DeviceTypeに対する権限を付与されますが、B社、S社、T社は両DeviceTypeに対する権限が付与されません。

##DeviceTypeとContract
IoTデバイスをアクティベート（回線開通）するためには、回線契約が必要です。この回線契約をContractと呼び、このContractをDeviceTypeに設定することにより、IoTデバイスが利用可能となります。
このContractですが、例えば、10,000回線（トークン）の契約をした場合、10,000回線分の回線（トークン）が発行されます。そのうえで、あるIoTデバイスがアクティベート（回線開通）すると、この回線トークンが1つ減ります。（映画のチケットで言うと、入り口でもぎられるイメージです。）
このContractをDeviceType作成時に、紐づける必要がありますが、1つのContractを複数のDeviceTypeに紐づけることもできますし、1つのDeviceTypeに紐づけることもできます。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/172313/66b9a9ad-9437-363d-1a80-b1677cb5416f.png)

##DeviceTypeの作成
*事前に[グループを作成](https://qiita.com/ghibi/items/8d92f34890870795e94d)しておく必要があります。*
**DEVICE TYPE**タブをクリックし、右上の[New]ボタンをクリックします。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/172313/20dec2d7-c16b-3fe5-cd96-d87b1a0ca4c1.png)
**Select a group**ダイアログが表示されるので、作成するDeviceTypeを紐づけるグループを選択します。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/172313/74a1b3ce-7d4d-1907-9319-13ff79a78eec.png)
ここでは、[A株式会社]を選択します。
**Device type - New**画面が表示されます。
入力必須項目は、Name（デバイスタイプ名）とDescription（デバイスタイプの詳細説明）、そして、Contract（デバイスタイプに紐づける回線契約）の3か所です。
最低、この3か所を設定いただき、[OK]ボタンをクリックすれば、デバイスタイプが作成されます。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/172313/2533655e-0b61-912e-500c-58d57849ade3.png)
その他の設定項目を以下で説明します。
#####Keep-alive (in minutes)
デバイスからのデータ（メッセージ）の受信が一定時間ない場合に、[デバイス一覧画面](https://backend.sigfox.com/device/list)の**communication status**に状態表示するための設定です。
設定した時間（分）にあわせ、下記のステータスインジケータに切り替わります。

|indicator|説明|
|:---:|:---|
|![image.png](https://qiita-image-store.s3.amazonaws.com/0/172313/fad90ca6-9c68-421c-6ad7-3565d9286cb3.png)|通信は許可されているが、Keep-aliveが設定されていないかアクティベートしていない|
|![image.png](https://qiita-image-store.s3.amazonaws.com/0/172313/0c18422b-554e-85d1-1bcc-ca30229b7aa5.png)|通信が許可されていない|
|![image.png](https://qiita-image-store.s3.amazonaws.com/0/172313/dfbd0634-6b6e-fa62-e0ee-2e3e23fa6e04.png)|通信は許可されているが、Kepp-alive時間を超えてメッセージが受信されていない|
|![image.png](https://qiita-image-store.s3.amazonaws.com/0/172313/af295ad1-c4b7-e77a-25c3-18fc414890f4.png)|通信は許可されており、Keep-alive時間内にメッセージが受信されている|

####Alert email
DeviceType単位で設定するCallback（詳細はこちら）にエラーが発生し場合にエラー通知を送る先のメールアドレス

####Downlink data
下りメッセージの設定を行います。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/172313/68a94ad0-3d8d-e380-a5db-744ac9e65dea.png)
Downlink modeは、DIRECTとCALLBACKの2種類を選択することができ、それぞれの設定内容は下記のとおりです。

|Downlink mode|Downlink data in hexa|
|:---|:---|
|DIRECT|下り要求の上りメッセージを送信した際に、必ずこの定義に従って下りメッセージを送信します。例えば、**{tapid}0000{rssi}**の場合は、基地局IDと4バイト、RSSIを2バイトで送信します|
|CALLBACK|設定不可。Callback機能によりアプリケーションサーバーからの応答が下りメッセージとなります|

####Payload display
デバイスのメッセージ一覧画面にPayload（メッセージ）をParseした結果表示が可能です。例えば、ここで[Sensit V2]を選択した場合は、Sensitで取得可能なモード及び取得センサー値にあわせた表示が可能です。自ら表示形式を設定する場合は、[Custom grammar]を選択し、[Custom Payload config](https://qiita.com/ghibi/items/361ea55ea04658b4193c)を参考に設定してください。

##DeviceTypeの編集
対象DeviceTypeのInformationページ右上の[Edit]ボタンをクリックすることにより、編集可能です。

##DeviceTypeの削除
対象DeviceTypeのInformationページ右上の[Delete]ボタンをクリックすることにより、編集可能です。ただし、対象DeviceTypeにデバイスが登録状態である場合は、削除できません。

##その他操作
###Disengage sequence number
Sigfoxデバイスがメッセージ送信する時には、メッセージ毎にシーケンス番号が付与されています。このシーケンス番号は、デバイスのなりすまし防止目的にも使用されていますが、大きくシーケンス番号が飛んだ場合（つまり、デバイスから送信はしたが、エリアの問題等で受信できなかった状態が続いた場合）には、正常に受信はしていても、Sigfoxクラウドで受信を拒否します。
この拒否状態になったデバイスを元に戻す（つまり、シーケンス番号を無効にする）機能が[Disengage sequence number]です。このボタンをクリックすると、シーケンス番号の管理が一時的に無効になり、以降、拒否状態のメッセージを受信することが可能になります。

###Restart
回線契約期間が終了（トークン切れ）となったデバイスに対し、新たにトークンを割り当てることができます。ただし、Contractで契約した回線数（トークン数）を超えない場合のみRestartが可能です。

##DeviceType左メニュー
任意のDeviceTypeを選択した時に利用可能な左メニューについて、下表にまとめます。

|Menu|説明|
|:---|:---|
|INFORMATION|DeviceTypeの情報ページ。編集、削除の他、Disengage sequence numberやRestart操作が可能|
|LOCATION|Deviceに設定した位置情報(Device-newもしくはeditで設定可)に基づきデバイス位置を地図上に表示。定点で使用するデバイスの位置管理に利用できます|
|ASSOCIATED DEVICES|DeviceTypeに登録されたデバイスの一覧|
|DEVICES BEING REGISTERED|デバイスのDeviceTypeを変更（Transfer）した際に、変更中の状態を表示。デバイスのTransferは通常1時間程度かかります|
|STATISTICS|デバイスメッセージの受信状況を時系列グラフで表示|
|EVENT CONFIGURATION|デバイスタイプ単位で設定するEventの作成|
|CALLBACKS|Callback設定（詳細は[こちら](https://qiita.com/ghibi/items/53259381a30363538a6d)）|
|BULK OPERATIONS|デバイスを一括登録(New series)した際の登録状況表示|

次に、デバイス管理を説明します。

[Sigfox Japan KCCS](https://qiita.com/organizations/sigfox)