ヤマムギ

growing hard days.

*

DS18B20センサー+Raspberry Piで取得した温度をAmazon Kinesis FirehoseからS3へ格納してAthenaでクエリーしたのをQuickSightで可視化する

   

JAWS DAYS 2017でやりますハンズオンの「[IoTハンズオン] Raspberry Pi + Athena + QuickSightで可視化」の事前検証をしました記録です。

こちらの個人ブログでは検証の記録をしているのみです。

ハンズオン当日は親切丁寧なQiitaの記事を見ながら、分からないところはメンターに質問してもらいながら進めていただきますのでご安心ください。

Amazon Kinesis FirehoseのためのIAMユーザ

AmazonKinesisFirehoseFullAccessのポリシーを付与したユーザーを作成して、Access Key IDとSecret Access Keyを控えておくかユーザ作成時のCSVを保管します。

Amazon Kinesis Firehoseの設定

Desination : Amazon S3
Delivery stream name : 任意
S3 bucket : 任意
Buffer interval : 300
IAM role : Firehose delivery IAM role

Raspberry Pi

AWS CLIをインストールして設定

1-wireモジュール用の設定

一番下に2行追加

次にbootconfigの設定ですが、念のためコピーを作成しておきます

一番下に1行追加

DS18B20の接続

ここで1つ目の問題発生

通販でDS18B20を買ってとどいいたものをろくろく確認もせずにブレッドボードに挿していざ検証っとしたところでセンサーが熱くなってこげくさくなってバチバチに。

よく見るとLM35DZでした。

ちょうどVccが逆になるのですね。いかんですね。

しかたなくもう1種類購入していたDS18B20使用 防水型 温度センサーを使用。

ここで2つ目の問題が発生。

実際のケーブルの色と説明のケーブルの色が違う。。。。。。。

試しながらつないでみて、下記の結果でした。
赤=赤、青=黄、黒=灰

なので、抵抗を経由して、赤を3.3vに、黄をGPIO4に、灰をGNDに接続しました。

シェルスクリプトの作成

「28-」から始まるディレクトリ名を確認

実行!

S3確認

出来てます!

Athenaでクエリーテーブル作成

[add table]からデータベースとテーブルを作成しました。

  • Database : Create new database
  • Name : jawsdays2017
  • Table Name : sensor
  • Location of Input Data Set : s3://days-yama-2017/

  • Data Format : JSON

  • Column1 : time : timestamp

  • Column2 : temperature : float

QuickSightで可視化

QuickSightではAthenaで作成しているS3にアクセス許可をしておきました。
[Manage QuickSight] – [Account Settings] – [Edit AWS permissions]

Athenaのデータセットを作成

New Data SetでAthenaを選択

データベースとテーブルを選択

Import to SPICEを選択

Analysisでごにょごにょ

Visual typesで折れ線グラフを選んで X axisにtime(HOUR),Valueにtemperature(AVERAGE)を設定してあっという間に気温遷移のグラフが完成です。


最後までお読みいただきましてありがとうございました!

「AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル 改訂第2版」という本を書きました。

「AWS認定資格試験テキスト AWS認定クラウドプラクティショナー 改訂第3版」という本を書きました。

「ポケットスタディ AWS認定 デベロッパーアソシエイト [DVA-C02対応] 」という本を書きました。

「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。

「AWSではじめるLinux入門ガイド」という本を書きました。

 - AWS, IoT , , , , , , , , ,

ad

ad

  関連記事

Pandocサーバーのコンテナイメージを作成する

マークダウンからEPUBへの変換をAWS Batchで行いたく、ECRにアップロ …

AWS Summit 2016 Tokyoに参加してきました (Day3)

飛天3日目です。 JAWS-UGブースのすぐ前にあったこのお水がめちゃめちゃおい …

CloudFormation StackSetsでOrganizations組織のアカウントに一気にIAMロールを作成した

Organizationsで管理している各アカウントにIAMロールを作成したい場 …

Amazon CodeCatalystのスペースとプロジェクトを作成してみました

Amazon CodeCatalystはIAMユーザーで操作するのではなく、AW …

AWS Client VPNを設定しました

ユーザーガイドのクライアント VPN の開始方法に沿ってやりました。 AWSクラ …

Amazon VPCにオンプレミス検証環境想定プライベートDNSサーバー(BIND)をEC2で起動する

オンプレミス想定の検証で使うために、Amazon VPCにプライベート向けDNS …

AWS CloudHSMを起動してみました

なかなか触る機会のないサービス、CloudHSM。 起動してみました。 手順はユ …

RDSリザーブドDBインスタンスを購入しました

リザーブドインスタンス推奨事項を確認したで確認した結果、購入したほうがよさそうで …

AWS EC2 Amazon Linuxにmauticをインストールする(Sendgrid, Nginx, MySQL on RDS)

mauticをAmazon LinuxとNginx,MySQL on RDSにイ …

「AWS認定資格試験テキスト AWS認定クラウドプラクティショナー」執筆裏話

今日2019/4/20発売となりました「AWS認定資格試験テキスト AWS認定ク …