SORACOM の IoT SIM を利用するには「SORACOM アカウントの作成」と「IoT SIM の登録」を行います。
以下、2つの手順を行ってください
登録した IoT SIM で、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つ |
ログイン情報は、ご自身のものを利用してください。
必要な操作権限を定義した IAM ポリシーを作成します。
IAM コンソール にアクセスし、[アクセス管理] → [ポリシー] の順にクリックして、[ポリシーの作成] をクリックします。
[サービスを選択] をクリックし、サービス名を入力して、表示されたサービス名をクリックします。
ここでは「IoT」を入力して、表示された「IoT」をクリックしています。
[アクションをフィルタリング] にアクションを入力し、表示されたアクションにチェックを入れます。
ここでは「Publish」を入力して、表示された [Publish] にチェックを入れています。
[リソース] → [特定] → [ARN を追加] の順にクリックします。
以下の項目を設定します。
[ARN を追加] をクリックします。
「アクセス許可を指定」画面に戻ります。
[次へ] をクリックします。
[ポリシー名] に AWS IAM ポリシーの名前を入力して、[ポリシーの作成] をクリックします。運営から借用しているアカウントで作業されている方は、ポリシー名の末尾に自分の番号をつけてください(他の方との名前競合を回避するため)
AWS 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 に転送するための設定を、ユーザーコンソールで行います。
ユーザーコンソール にログインし、右上のユーザー名をクリックして、[セキュリティ] をクリックします。
[認証情報ストア] → [認証情報を登録] の順にクリックします。
「認証情報を登録」画面が表示されます。
以下の項目を設定します。
[登録] をクリックします。
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