MENU

Soracom

Users

セルラー回線を使用せず SORACOM Inventory にデバイス登録する

当ガイドでは、SORACOM Krypton を設定し SORACOM Inventory を使って WiFi 経由でのデバイス登録を行います。

スマートカードリーダーを用いる方法と USB モデムを用いる方法の 2 通りありますが今回はスマートカードリーダーを利用します。 SIM については plan01s 等のグローバル向け IoT SIM である必要があります。

設定が完了すると WiFi のみでも Inventory のデバイス登録ができます。

ステップ 1: SORACOM Krypton を利用して SORACOM Inventory にデバイス登録を行う

SORACOM Krypton を利用すると SORACOM サービスと認証情報及び設定情報を共有できます。 このセクションでは SORACOM Inventory に対しての認証情報及び設定情報の共有として WiFi 経由でのデバイス登録を行います。

ステップ 1-1: コンソールから SORACOM Krypton を有効化する

このセクションでは、SORACOM Krypton を コンソールから有効化する手順を説明します。 (画像が英語表記ですが、適宜読み替えてください。)

まずはグループを作成します。 今回は Inventory_using_Krypton という名前のグループを作成しました。

Krypton-inventory

グループ設定から Krypton を ON へ変更し保存をクリックします。

Krypton-inventory

合わせて Krypton の動作確認用にメタデータサービスの設定を ON へ変更し保存をクリックします。

Krypton-inventory

「SIM の所属グループ変更」から作成したグループ Inventory_using_Krypton へ所属させます。

Krypton-inventory

以上で Krypton の有効化ができました。

ステップ 1-2: Krypton ( Go クライアント)で Inventory にデバイス登録を行う

このセクションでは、 Krypton CLI を利用して Inventory にデバイス登録を行います。 今回は Go 言語クライアント を利用します。

Krypton CLI ( Go クライアント)は以下のどちらかの手順を実行しインストールしてください。

  1. ご利用中の PC 環境に合わせて リリースページ からファイルをダウンロードし パスの設定を行う
  2. Go 言語の環境がある場合 go install github.com/soracom/krypton-client-go/cmd/krypton-cli を実行しインストールする

Krypton CLI のインストールが完了すると以下のコマンドが実行できます。

$ krypton-cli -h

次にスマートカードリーダー、SIM カード、PC の接続性の確認を行います。 この時 PC をセルラー経由ではなく Wifi 等でインターネット接続しておきます。 SIM カードを装着したスマートカードリーダーと PC を接続し、以下のコマンドを実行します。

$ krypton-cli -operation getSubscriberMetadata

すると以下のようにセルラー経由ではなくても SIM のメタデータを取得することができました。

{
  "imsi": "29505091xxxxxxx",
  "msisdn": "42365xxxxxxx",
  "ipAddress": "10.176.48.xxx",
  "operatorId": "OP00xxxxxxxx",
  "apn": "soracom.io",
  "type": "s1.fast",
  "groupId": "a40bb15c-f891-4dab-ba98-xxxxxxxxxxxx",
  "createdAt": 1530863331946,
  "lastModifiedAt": 1534490141382,
  "expiredAt": null,
  "registeredTime": 1533105977108,
  "expiryAction": null,
  "terminationEnabled": false,
  "status": "active",
  "tags": { "name": "keith" },
  "sessionStatus": {
    "lastUpdatedAt": 1534238915002,
    "imei": null,
    "location": null,
    "ueIpAddress": null,
    "dnsServers": null,
    "online": false
  },
  "imeiLock": null,
  "speedClass": "s1.fast",
  "moduleType": "trio",
  "plan": 1,
  "iccid": "89423100xxxxxxxxxxx",
  "serialNumber": "89423100xxxxxxxxxxx",
  "subscription": "plan01s",
  "createdTime": 1530863331946,
  "expiryTime": null,
  "lastModifiedTime": 1534490141382
}

Krypton 機能の確認ができました。 それでは Inventory にデバイス登録を行います。 以下の一行のコマンドでデバイス登録が完了します。ここで指定している -params '{"endpoint": "inventory_form_krypton"}' は Inventory の Endpoint として登録されます。 json 形式で文字列を指定してください。 今回は "inventory_form_krypton" という名前の endpoint を作成します。

$ krypton-cli  -operation bootstrapInventoryDevice -params '{"endpoint": "inventory_form_krypton"}'

すると以下のように applicationKeypskIdserverUri が返却されます。 この値は後に Inventory (C クライアント)を利用する際に必要となります。

{"applicationKey":"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX=","pskId":"YYYYYYYYYYYYYYYYYYYYY","serverUri":"coaps://g.inventory.soracom.io:5684"}

コンソールに戻り サイドメニューの SORACOM Inventory の Device Management ページへ行くと WiFi 経由でデバイスが登録できていることが確認できます。

以上で Krypton ( Go クライアント)でセルラー回線を使用せず Inventory にデバイス登録ができました。

ステップ 2: SORACOM Inventory を利用する

このセクションでは Krypton CLI で取得したデバイス ID および secretKey を利用して Inventory へ接続します。

ステップ 2-1: Inventory ( C クライアント)を利用する

先ほど入手した ID と Key を使って Inventory ( C クライアント)を利用していきます。 Inventory ( C クライアント)のインストールは Getting Started: デバイス登録時に払い出された Key でデバイスを管理する | SORACOM Inventory をご確認ください。

Inventory ( C クライアント)は以下のコマンドから接続することになります。 先ほどの krypton-cli の値と比較すると deviceId が pskId、 secretKey が applicationKey となりますので適宜読み替えて設定してください。

$ lwm2mclient -n $(hostname) -i <deviceId> -s <secretKey> -h g.inventory.soracom.io -p 5684 -4 -c

また、applicationKey は base64 として返却されますが、Inventory ( C クライアント)の secretKey としては HEXSTRING として指定する必要があります。 以下のコマンドで変換できます。

$ printf "<applicationKey>" | base64 -D | xxd -p

必要な項目がそろったので先ほどのコマンドから inventory へ接続できます。

$ lwm2mclient -n $(hostname) -i <deviceId> -s <secretKey> -h g.inventory.soracom.io -p 5684 -4 -c

以上で SORACOM Krypton を使用してセルラー回線を使用せず SORACOM Inventory にデバイス登録し、Inventory を利用できました。