Soracom

Users

ドキュメント

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

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

スマートカードリーダーを用いる方法と USB モデムを用いる方法の 2 通りありますが今回はスマートカードリーダーを利用します。 SIM については、IoT SIM (plan01s、plan01s - Low Data Volume、planP1、planX3 X3-5MB、plan-K2 K2-300MB) である必要があります。

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

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

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

ステップ 1-1: SORACOM Krypton を有効化する

Krypton を有効化します。詳しくは、SORACOM Krypton を有効化する を参照してください。

Krypton に Amazon Cognito や AWS IoT の設定を追加しないでください

ここでは Krypton の有効化 (スイッチをクリックして「ON」にする) のみを行います。Amazon Cognito や AWS IoT の設定を追加しないでください。

ステップ 1-2: SORACOM Air メタデータサービスを有効化する

Krypton の動作確認用にメタデータサービスを有効化します。詳しくは、メタデータサービスを設定する を参照してください。

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

デバイス登録が完了すると、Krypton の料金が発生します。詳しくは、SORACOM Krypton のご利用料金 を参照してください。

このセクションでは、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 を利用できました。