0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AWS IoT Sensorsから、AWS IoT Coreに入門してみる。

Posted at

はじめに

以前、室温をGrafanaで監視する仕組みを作ってみました。

今回はIoTに少し興味が湧いてきたので、IoT関連の記事です。

スマホアプリAWS IoT Sensorsを触ってみて雰囲気を掴み、AWS IoTに入門するのもいいんじゃない?って記事です。

AWS IoT Sensorsとは?

AWS IoT Sensorsは、以下で公開されているAmazon Mobile LLC公式のスマホアプリです。
当初はiOSだけでしたが、今見るとAndroid版も公開されています。

概要は以下のような感じ。

AWS IoT Sensors enables you to easily collect, and visualize data from sensors on your iPhone or iPad using AWS IoT Core and related services like Amazon Location Service. With a single click, you can start streaming sensor data from your mobile device to AWS IoT Core and view real-time visualizations in the app and on a web dashboard.

AWS IoT Core や Amazon Location Service などを利用し、スマホのセンサーからデータを収集・可視化できるみたい。

また、AWS IoT Core へのストリーミングにも対応していて、WEBからリアルタイムの可視化もできます。
(AWSアカウントは不要。)

起動するとこんな画面になっていて、各種センサーの状態が確認できます。

image.png

Connect to AWS IoT Coreを押すと、AWS IoT Qucik Connectへのリンク先URLが表示されます。

image.png

リンク先をブラウザで開くと、ほぼリアルタイムでセンサーの情報がWEBで可視化されてます。(すごい!)

image.png

ここまですごいものを体験すると、自分のAWSアカウント内でも実施してみたくなりますね!

自アカウントのAWS IoT Coreで動作させてみる。

ということで、次は自分のアカウントで動かしてみます。

AWSサンプルで以下ソースが公開されているので、この通りに実施すれば簡単に確認できるみたい。

手順は以下に書かれてます。が、すっごく簡潔。

では、やってみますか。

モノの設定

最初に1個のデバイスの接続からモノの設定をしていきます。

スクリーンショット 2025-09-26 9.10.20.png

デバイスの準備等書かれてますが、気にせず次へ

image.png

今回はmobileって名前つけました。

image.png

ここはデフォルトのままで進めます。

image.png

次に接続キットをダウンロードを押下して、接続キットをダウンロードしておきます。

スクリーンショット 2025-09-26 9.14.02.png

あとはそのまま設定を進めて、モノの設定は完了です。

image.png

証明書の配置

ダウンロードした接続キットを見てみると、以下のファイルが入っています。

image.png

今回は秘密鍵とクライアント証明書があればいいので、mobile.cert.pemmoobile.private.keynode-javascriptのフォルダに格納します。

スクリーンショット 2025-09-26 9.27.06.png

index.jsの編集

あとは、以下のところを書き換えていきます。

今回の場合、こんな感じ。

index.js
// REPLACE THE FOLLOWING WITH YOUR OWN VALUES
const BROKER = "xxxxxxxxx-ats.iot.ap-northeast-1.amazonaws.com"
const THING_NAME = "mobile"
const CERT_FILE_NAME = "mobile.cert.pem"
const PRIVATE_KEY_FILE_NAME = "mobile.private.key"

BROKERの項目はドメイン設定のところから確認可能です。

スクリーンショット 2025-09-26 9.34.18.png

動作確認!

これで書いてある手順が全て終わったので、node index.jsで実行してみますが、なんか動いていません。

% node index.js
reconnecting
reconnecting
reconnecting
reconnecting
reconnecting
reconnecting

AWS IoT ポリシーの編集

調べてみるとAWS IoT ポリシーの設定が必要みたいです。

セキュリティ->ポリシーからポリシーの編集をしてみます。

スクリーンショット 2025-09-26 13.37.45.png

今回は直接JSONを編集し、Publishや接続の対象リソースに今回作ったモノmobileを追加してみます。

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "iot:Publish",
        "iot:Receive",
        "iot:PublishRetain"
      ],
      "Resource": [
        "arn:aws:iot:ap-northeast-1:853835738220:topic/sdk/test/java",
        "arn:aws:iot:ap-northeast-1:853835738220:topic/sdk/test/python",
        "arn:aws:iot:ap-northeast-1:853835738220:topic/sdk/test/js",
+        "arn:aws:iot:ap-northeast-1:853835738220:topic/mobile"
      ]
    },
    {
      "Effect": "Allow",
      "Action": "iot:Subscribe",
      "Resource": [
        "arn:aws:iot:ap-northeast-1:853835738220:topicfilter/sdk/test/java",
        "arn:aws:iot:ap-northeast-1:853835738220:topicfilter/sdk/test/python",
        "arn:aws:iot:ap-northeast-1:853835738220:topicfilter/sdk/test/js"
      ]
    },
    {
      "Effect": "Allow",
      "Action": "iot:Connect",
      "Resource": [
        "arn:aws:iot:ap-northeast-1:853835738220:client/sdk-java",
        "arn:aws:iot:ap-northeast-1:853835738220:client/basicPubSub",
        "arn:aws:iot:ap-northeast-1:853835738220:client/sdk-nodejs-*",
+        "arn:aws:iot:ap-northeast-1:853835738220:client/mobile"
      ]
    }
  ]
}

これで無事動きました!

% node index.js
connected
39
40
41
42
43

MQTTテストクライアントで確認すると1秒ごとにデータが送信されていて、無事動いてそうです。

スクリーンショット 2025-09-26 13.42.59.png

最後に

AWS IoT Sensorsで雰囲気を掴み、AWSサンプルで簡単に実装することができました。

ただこのサンプルは実際のデータではなく、ランダムに作成したデータなので、次回実際にiphoneのセンサーデータを取得し、送信する記事を書いてみます!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?