SORACOM Developers

Getting Started

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

Krypton は SORACOM が発行する SIM と SORACOM のセルラーコアネットワーク上の SIM 認証基盤を使用し、セキュア・プロビジョニングを提供するサービスです。

はじめに

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

以下を利用して説明しています。
スマートカードリーダーを用いる方法とUSB モデムを用いる方法の 2 通りありますが今回はスマートカードリーダーを利用します。
SIM についてはplan01s 等のグローバル向け Air 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クライアント)のインストールは Linux向けサンプルエージェント(C クライアント)を ご確認ください。

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を利用することができました。

Getting Started

SORACOM Air for セルラー

SORACOM Air for LoRaWAN

SORACOM Air for Sigfox

SORACOM Beam

SORACOM Canal/Direct/Door

SORACOM Endorse

SORACOM Funnel

SORACOM Gate

SORACOM Harvest

SORACOM Inventory

SORACOM Junction

SORACOM Krypton

SORACOM Lagoon

Gadgets

サービス機能詳細

Developer Tools

pagetop