SORACOM の IoT SIM を利用するには「SORACOM アカウントの作成」と「IoT SIM の登録」を行います。

以下、2つの手順を行ってください

SORACOM Harvest Data を有効化する

登録した IoT SIM で、SORACOM Harvest Data (データ蓄積・収集サービス)が使えるように設定します。

  1. ユーザーコンソールを開く
  2. 左上 "Menu" > SIM 管理 を開く
  3. LTE-M モジュールに取り付けた SIM を選択(チェックを入れる)する
  4. "選択" > 所属グループを変更 を開く
  5. 新しいグループを作成... をクリックする
  6. グループ名を設定する(任意ですが、今回は "IoT Get Started Day" とすると良いでしょう)
  7. SIM 管理に戻ったら、先ほど作成したグループ名をクリックする
  8. https://users.soracom.io/ja-jp/docs/harvest/enable-data/ の手順に従って、SORACOM Harvest Data を有効化する

データの確認方法は https://users.soracom.io/ja-jp/docs/harvest/visualize/ に沿って確認してください。

IoT Get Started Day 2024 における SORACOM ハンズオンパートのテキストです。

M5StackパートではSORACOM Harvest Dataにデータをいれるところまで終わりました。

このパートでは、SORACOM Harvest Dataに入れたデータとおなじデータをSORACOM Funnelを経由してAWS IoT Coreに転送するところまでを進めていきます。

このパートを完了すると、デバイスのデータがAWSの入口まで届く状態になります。

クラウドアダプターサービス「SORACOM Funnel」から、デバイスとクラウドの接続サービス「AWS IoT Core」に、IoT データが送信されるところまでを設定・確認します。

前提

できるようになる事

このハンズオンでサポートしない事 (前提知識)

用語

AWS IoT Core

デバイスと AWS をつなげるゲートウェイサービス

SORACOM Funnel

IoTデータをAWS IoT Core等のクラウドゲートウェイサービスへ転送するサービス

AWS IAM ロール

AWS 上における、権限を付与する単位の1つ

AWS IAMポリシー

AWS 上の権限設定の単位の1つ

AWSにログインする

ログイン情報は、ご自身のものを利用してください。

IAMポリシーを作成する

必要な操作権限を定義した IAM ポリシーを作成します。

IAM コンソール にアクセスし、[アクセス管理] → [ポリシー] の順にクリックして、[ポリシーの作成] をクリックします。

[サービスを選択] をクリックし、サービス名を入力して、表示されたサービス名をクリックします。

ここでは「IoT」を入力して、表示された「IoT」をクリックしています。

[アクションをフィルタリング] にアクションを入力し、表示されたアクションにチェックを入れます。

ここでは「Publish」を入力して、表示された [Publish] にチェックを入れています。

[リソース] → [特定] → [ARN を追加] の順にクリックします。

以下の項目を設定します。

[ARN を追加] をクリックします。

「アクセス許可を指定」画面に戻ります。

[次へ] をクリックします。

[ポリシー名] に AWS IAM ポリシーの名前を入力して、[ポリシーの作成] をクリックします。運営から借用しているアカウントで作業されている方は、ポリシー名の末尾に自分の番号をつけてください(他の方との名前競合を回避するため)

AWS IAM ポリシーが作成され、ポリシー画面に戻ります。

IAMロールを作成する

IAM コンソール にアクセスし、[アクセス管理] → [ロール] の順にクリックして、[ロールを作成] をクリックします。

「ロールの作成」をクリックします。

[AWS アカウント] → [別の AWS アカウント] の順にクリックし、SORACOM のカバレッジタイプにあわせて [アカウント ID] に以下の数字を入力します。

762707677580(SORACOM日本カバレッジ)

[外部 ID を要求する] にチェックを入れ、[外部 ID] に任意の文字列 (例: External-ID-EP8tLuTcrzRibRU7) を入力します。

[次へ] をクリックします。

「許可を追加」画面が表示されます。

[検索] に IAM ポリシーを作成する で作成した AWS IAM ポリシーの名前を入力し、その AWS IAM ポリシーにチェックを入れて、[次へ] をクリックします。

[ロール名] に IAM ロールの名前を入力して、[ロールを作成] をクリックします。運営から借用しているアカウントで作業されている方は、ロール名の末尾に自分の番号をつけてください(他の方との名前競合を回避するため)

[ロールを表示] をクリックします。

[ARN] をメモします。

AWS IoT コンソール にアクセスして、[接続] → [ドメイン設定] の順にクリックします。

[ドメイン設定を作成] をクリックします。

以下の項目を設定します。

以下の項目を設定します。

[ドメイン設定のステータス] で「有効にする」を選択して、[ドメイン設定を作成] をクリックします。

[ドメイン設定を表示] をクリックします。

[ドメイン名] をメモします。

ドメイン名は、これ以降、${device_data_endpoint} と表記します。例:<ランダムな文字列>.iot.ap-norththeast-1.amazonaws.com

IoT SIM を利用するデバイスから送信されたデータを、Funnel の AWS IoT アダプターを利用して、AWS IoT Core に転送するための設定を、ユーザーコンソールで行います。

認証情報ストアに AWS IAM ロール認証情報を登録する

ユーザーコンソール にログインし、右上のユーザー名をクリックして、[セキュリティ] をクリックします。

[認証情報ストア] → [認証情報を登録] の順にクリックします。

「認証情報を登録」画面が表示されます。

以下の項目を設定します。

[登録] をクリックします。

Funnel を有効化する

IoT SIM に対して Funnel を有効化します。

SIM グループ画面で [SORACOM Funnel 設定] をクリックします。
SIM グループ画面を表示する操作について詳しくは、グループの設定を変更する を参照してください。

スイッチをクリックして「ON」にします。

以下の項目を設定します。

(*1)

[転送先 URL] には、プレースホルダー (#{imsi}、#{simId}、#{imei}) を指定できます。プレースホルダーは、Funnel でデータが転送される際に、それぞれ IoT SIM の IMSI、SIM ID、IMEI に置き換えられます。SIM ID を使う場合は、設定画面下段の [SIM ID を追加] を ON にします。

[保存] をクリックします。

IoT SIM が所属するグループを切り替えます。

IoT SIM の Funnel の設定が完了しました。

送信されたデータは、AWS の MQTT テストクライアントを使って受信します。

AWS IoT コンソール にアクセスして、メニュー画面の [MQTT テストクライアント] をクリックします。

MQTT テストクライアント画面が表示されます。

[トピックのフィルター] に「${topic_name}/#」(例: myTopic/#) を入力し、[サブスクライブ] をクリックします。

${topic_name} 配下 (例: myTopic 配下) に配信されたメッセージが表示されるようになります。

これで、MQTT テストクライアントで受信データを確認できます。

先程SORACOM Harvest にデータを送信したのと同じ手順で、データを送信してみましょう。

ここまでのハンズオンとここからの全体像のイメージです。

このあとは、AWS上でのデータ活用について体験していきましょう。お疲れ様でした。

https://catalog.us-east-1.prod.workshops.aws/workshops/b3e0b830-79b8-4c1d-8a4c-e10406600035/ja-JP