LoginSignup
4
1

More than 3 years have passed since last update.

AWS IoT Core 初級ハンズオンを実施してみて。

Posted at

AWS IOT CORE 初級ハンズオンの感想

実施前に

  • AWSの各種サービスの概要は少しでも知っておいた方が良い
  • 主に cloud9、Kinesis、DynamoDB、MQTT などの用語の意味くらいは知っておく、でないとハンズオンがやっただけになってしまい、理解度が深まらない
  • AWSに関連しないITの用語として ルート証明書、公開鍵、秘密鍵
  • ハンズオン前に自身がAWSで知っていたこと
    • EC2 / cloud9 / Lambda / DynamoDB / API Gateway / RDS / Kinesis Data Stream / Elasticsearch など
  • Pythonは知らなくても実施できる
  • コマンド(ターミナル)相当の使い方は知っていること、cloud9の操作に必要。
  • 使うリージョンはAWS IoT Coreが動くリージョンならば良い、バージニア、東京、オレゴンどれでも良い

Elasticsearchについて

時間かかるときがある

  • Elasticsearchのインスタンスが使えるようになるまでがめっちゃ時間かかる
    • ハンズオンの説明では10分程度の記載があるが、1時間以上かかっても使えるようにならなかった。us-west2(オレゴン)リージョンを使ったためかは不明。
  • 過去に東京リージョンでインスタンス構築した時は確かに15分程度だったような記憶がある

課金・利用料

  • Elasticsearchは停止できないため構築すると課金がずーっとされる、早くハンズオンを終え、確認したら消しましょう。t2microでも $1/日 くらいかかります

エッジデバイス側のデータ送信のプロセス

  • エッジデバイス側としてのcloud9のpythonプロセスは起動しっぱななしか、何らか処理前に起動する
    • 実行しっぱななしは、ctrl+cでプロセスを終了する

各種用語

  • デバイスシャドウ reported , desired の意味を知っておく
項目 意味
reported デバイス側の状態がreportedに格納される
desired AWS クラウド側からの指示がdesiredに格納される
delta reported , desiredが異なる場合に存在する

動かない、エラーかなっと思ったら

トピック名の誤り ルールステートメント

  • デフォルト SELECT * FROM 'iot/topic'
  • 自身の設定に変更する select * from 'data/sugimoto-device-202105'

API Gatewayでリクエストすると500エラーになる

  • API Gateway で「Lambda プロキシ統合の使用」にチェックONであること、チェック忘れると 500 エラー(パラメータの {deviceid} が取得できていない)。
  • ブラウザでURLたたくと

    {"statusCode": 500, "headers": {"Access-Control-Allow-Origin": "*"}, "body": "Lambda error. check lambda log", "isBase64Encoded": false}
    

    になる。POSTで飛んでるのかも、postmanで試してみては?

Elasticsearch Kibana

  • Kibanaのdiscoverの設定で、timestamp を入力するところで説明にもあるが、 「timestampが見つからないときはデータが届いていない」はcoud9 側でデータ送信を行う必要あり、cloud9(デバイス側) で以下を実行しっぱななしにしておいて Kibanaの設定をしてみる。
 $ cd dummy_client
 $ python3 device_main.py --device_name sugimoto-device-202105 --endpoint a2xxxxx.iot.us-west-2.amazonaws.com
device_name: sugimoto-device-202105

の実行する。
データが届いていると、
Index patternに timestamp* を入力すると
Success! Your index pattern matches 1 index. が表示されるようになっている

Amazon Kinesis Data Firehos, S3への格納

  • S3においた gzファイルが windowsの7zipだと解凍失敗する。原因未調査。サクラエディタで開くと見えた。gzなんだけど圧縮されずにテキストファイルとして存在していそう。
4
1
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
4
1