explorer2019-handson

4. SIMグループ増殖を防ぐ

4-1. デバイスを増やしたときに追加しなければいけないSORACOMの設定を調べてください。

前の章で、デバイスを複製するときに、いちいちスケッチを修正、コンパイルしなくても済むようになりましたが、設定に手間がかかる部分があります。

どの部分が手間なのか探し出してください。

4 6


4-2. SIMグループを増やさなくても済む方法を考えてください。

SORACOM Beamと認証情報の紐づけは、SORACOM Beamに「認証情報ID」が登録されていることで行われています。
(SORACOMユーザーコンソールでは出来ませんが)SORACOM APIを使うと、この「認証情報ID」に変数名を使うことが可能です。

「認証情報ID」にIMSIを含めておき、SORACOM BeamからSIMのIMSIを使って認証情報と紐づけてみましょう。

この方法は「SORACOM Beamのmulti credentials per group機能」と呼ばれていて、やり方がソラコムのドキュメントでも公開されています。
Beam の multi credentials per group 機能を利用して AWS IoT に接続する


4-3. SIMグループの設定をAPIで取得してください。

SORACOM APIリファレンスを開き、メールアドレスとパスワードを入力して、「認証」をクリックしてください。
「認証」ボタンの下に、「認証OK」と表示されれば成功です。

getGroup(GET /groups/{group_id})のところで、「group_id」に「soracomug-handson」SIMグループのIDを入力して、「Try it out!」をクリックしてください。
SIMグループのIDが分からないときは、SORACOMコンソールのSIMグループ画面で確認してください。

4 2

「Response Body」に表示された、「”SoracomBeam”」の部分を、テキスト編集ソフトにコピーしてください。

    "SoracomBeam": {
      "mqtt://beam.soracom.io:1883": {
        "enabled": true,
        "name": "BaroDevice1",
        "addEquipmentHeader": false,
        "addSignature": false,
        "addSubscriberHeader": false,
        "customHeaders": {},
        "skipStatusCode": false,
        "useClientCert": true,
        "clientCerts": {
          "default": {
            "$credentialsId": "BaroDevice1"
          }
        },
        "useGoogleIoT": false,
        "useClientCredentials": false,
        "addDeviceIdHeader": false,
        "destination": "mqtts://a1qfkvcwwztro8-ats.iot.ap-northeast-1.amazonaws.com:8883"
      }
    }

4-4. SORACOM Beamの設定を切り出して、クレデンシャルIDを変更してください。

取得した「”SoracomBeam”」の部分を、putConfigurationParameters(PUT /groups/{group_id}/configuration/{namespace})のparametersで指定できる形に修正して、「name」と「$credentialsId」を変更してください。

変更箇所

4 1

変更後(例)

[
    {
      "key":"mqtt://beam.soracom.io:1883",
      "value": {
        "enabled": true,
        "name": "BaroDevices",
        "addEquipmentHeader": false,
        "addSignature": false,
        "addSubscriberHeader": false,
        "customHeaders": {},
        "skipStatusCode": false,
        "useClientCert": true,
        "clientCerts": {
          "default": {
            "$credentialsId": "awsiot-#{imsi}"
          }
        },
        "useGoogleIoT": false,
        "useClientCredentials": false,
        "addDeviceIdHeader": false,
        "destination": "mqtts://a1qfkvcwwztro8-ats.iot.ap-northeast-1.amazonaws.com:8883"
      }
    }
]

4-5. SIMグループに変更したSORACOM Beamの設定を設定してください。

SORACOM APIリファレンスのputConfigurationParameters(PUT /groups/{group_id}/configuration/{namespace})のところで、 「group_id」に「soracomug-handson」SIMグループのID、 「namespace」を「SoracomBeam」、 「parameters」にさきほどのテキストを入力して、 「Try it out!」をクリックしてください。

4 3 ***

4-6. SORACOM認証情報ストアに認証情報を追加してください。

2-5と同様に、認証情報ID「awsiot-IMSI」の認証情報を追加してください。
IMSIの部分は、Wio LTEに差しているSIMのIMSI番号を入力してください。

4 4


4-7. Wio LTEを動かしてください。

(説明省略)


4-8. AWS IoT Coreに絶対圧が届いていることを確認してください。

4 5