IoT SIM を使用することなくデバイス登録時に発行された Key を使用して、Inventory と Wi-Fi などで接続します。Inventory と接続すると、デバイスがオンラインに切り替わります。
ステップ 1: デバイスを登録する
デバイスを登録して、デバイス ID とシークレットキーを発行します。
デバイスを登録すると、デバイス登録費用が発生します。なお、Inventory には無料枠があります。詳しくは、SORACOM Inventory のご利用料金 を参照してください。
ユーザーコンソール にログインし、デバイスを登録するカバレッジタイプを選択します。
詳しくは、SORACOM ユーザーコンソールで表示するカバレッジタイプを変更する を参照してください。
ユーザーコンソールの
→ → の順にクリックします。をクリックします。
と を設定して、 をクリックします。
、 、 が表示されます。
をクリックして、表示された情報をメモします。
以下の書式で表示された情報がクリップボードにコピーされます。
deviceId,keyId,secretKey d-XXXXXXXXXXXXXXXXXXXX,k-0000,q83vAAAAAAAAABI0VniZyg==
ステップ 2: 発行されたデバイス ID とシークレットキーを使用して Inventory と接続する
ステップ 1 で発行されたデバイス ID とシークレットキーを使用して Inventory と接続します。
なお、Inventory と接続する操作は、エージェントによって異なります。ここでは、Linux 向けサンプルエージェント (C クライアント) と サンプルエージェント (SORACOM Inventory Agent for Java) の操作を説明します。
Linux 向けサンプルエージェント (C クライアント) を使用して Inventory と接続する
Linux 向けサンプルエージェント (C クライアント) をデバイスにインストールします。
$ curl soracom-files.s3.amazonaws.com/build_wakaama.sh | bash $ sudo cp inventory/build/lwm2mclient /usr/local/bin
Linux 向けサンプルエージェント (C クライアント) について詳しくは、(参考) Linux 向けサンプルエージェント (C クライアント) を参照してください。
ステップ 1 でコピーしたシークレットキーをデコードします。
シークレットキーは Base64 形式でエンコードされています。Linux 向けサンプルエージェント (C クライアント) の場合は、デコードして hex string にする必要があります。デコードおよび hex string への変換は、たとえば Linux の場合は以下のコマンドで実行できます。
$ echo "q83vAAAAAAAAABI0VniZyg==" | base64 --decode | xxd -p
abcdef000000000000001234567899ca
Inventory に接続します。
$ lwm2mclient -n $(hostname) -i {deviceId} -s {secretKeyHexString} -h {host} -p 5684 -4 -c
{deviceId}
: ステップ 1 でコピーしたデバイス ID。{secretKeyHexString}
: 上記で取得した hex string (例:abcdef000000000000001234567899ca
){host}
: カバレッジタイプごとに定められたホスト。- 日本カバレッジの場合
jp.inventory.soracom.io
- グローバルカバレッジの場合
g.inventory.soracom.io
- 日本カバレッジの場合
ユーザーコンソールでデバイスの オンライン** であることを確認します。
が
サンプルエージェント (SORACOM Inventory Agent for Java) を使用して Inventory と接続する
サンプルエージェント (SORACOM Inventory agent for Java) をデバイスにインストールします。
詳しくは、ビルド済みエージェントを Raspberry Pi にインストールする を参照してください。
Inventory に接続します。
$ cd ~/soracom-inventory-agent-example-x.x.x/bin/ $ ./soracom-inventory-agent-example-start -i {deviceId} -p {secret} -u {host}
ユーザーコンソールでデバイスの オンライン** であることを確認します。
が