SORACOM Kryptonを使ってSORACOM Inventory AgentのBootstrapをやってみたのでその備忘です。
SORACOM Kryptonとは
デバイスの初期キッティングなどいわゆるプロビジョニングをするためのSORACOMサービスです。Kryptonを利用することでSORACOMのSIMをもとにしたデバイス認証だけでなく、AWSなどのクラウドサービスの認証情報や接続先設定などの情報を安全にデバイスにプロビジョニングできます。今回はSORACOM InventoryのプロビジョニングのためにKryptonを利用します。詳しくは以下をご参照ください。
SORACOM Inventoryとは
Inventoryは、LwM2Mをベースにしたデバイス管理のためのサービスです。
LwM2M とはOMA (Open Mobile Alliance) が定めたM2M用プロトコルで、デバイス側にLwM2Mに対応したエージェントを動作させておくことでリモートでのデバイス管理を実現します。今回はこのエージェント初期設定をKrypton経由でおこないます。詳しくは以下をご参照ください。
やってみた
基本はこのドキュメントにそっていけば大丈夫でした。
こちらのドキュメントではGoのKryptonクライアントを利用していますが、今回はKryptonが提供しているAPIエンドポイントを直接実行してみます。
SORACOM InventoryのBootstrapまではドキュメント通りに実行してください。
Bootstrap時に下記のAPIを実行することでSORACOM Inventoryへのデバイス登録をSORACOM Kryptonが代わりに実行してくれます。
curl POST -H "Content-Type: application/json" -d '{"endpoint": "任意のエンドポイント名"}' https://krypton.soracom.io:8036/v1/provisioning/soracom/inventory/bootstrap
endpointを未指定にすると実行時にエラーとなりました。
無事にデバイス登録がおこなわれるとpskId、applicationKeyが返ってくるので、それ以降はドキュメントに記載があるの通りにLwM2Mクライントにこれらの情報を指定することで無事連携が開始されます。