Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
AWS IoT CoreとRaspberry Piに触れてみた
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Ryotaro Harada
October 22, 2024
0
360
AWS IoT CoreとRaspberry Piに触れてみた
Ryotaro Harada
October 22, 2024
Tweet
Share
More Decks by Ryotaro Harada
See All by Ryotaro Harada
AgentCore RuntimeをVPCにデプロイして 開発ドキュメント作成AIエージェントを作った
alchemy1115
3
140
バズる!アウトプット
alchemy1115
1
480
社外コミュニティと「学び」を考える
alchemy1115
2
210
雑に疎通確認だけしたい...せや!CloudShell使ったろ!
alchemy1115
0
770
Featured
See All Featured
Accessibility Awareness
sabderemane
0
63
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
170
Into the Great Unknown - MozCon
thekraken
40
2.3k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Paper Plane
katiecoart
PRO
0
47k
Heart Work Chapter 1 - Part 1
lfama
PRO
5
35k
Balancing Empowerment & Direction
lara
5
910
Marketing to machines
jonoalderson
1
4.9k
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
290
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
62
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1k
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
0
210
Transcript
AWS IoT Coreと Raspberry Piに触れてみた JAWS-UG東京 ランチタイムLT会#16 2024/10/22 KDDI株式会社 原⽥涼太郎
⾃⼰紹介 • KDDI株式会社 コア技術統括本部 IoT技術本部 IoT技術部 • 2024 Japan AWS
All Certifications Engineer • DEA/AIF取得済み • MLA勉強中 • LT初登壇 • 好きなAWSサービス︓AWS Certificate Manager(ACM)、Amazon ECS
背景 • IoT関連部⾨に所属しているにも関わらず、IoTのことをよく知らない • AWS認定試験であまり出ないサービスを勉強したい • ⼩型コンピュータのRaspberry Piに興味があった • テレワーク中、ついつい換気を忘れてしまう
→部屋のCO2濃度を測定し、閾値を超えたら通知する仕組みを作りたい
⽤意したモノ • Raspberry Pi Zero 2 W • 安価で⼩型かつ無線LAN接続可能 •
CO2センサーモジュール「MH-Z19C」 • Pythonライブラリ有り • ラズパイとセンサーを接続するジャンパーワイヤ • AWSアカウント
構成図 AWS Cloud 自宅 Raspberry Pi AWS IoT Core Amazon
CloudWatch Amazon Simple Notification Service (Amazon SNS) Email notification CO2センサーモジュール センサー値送信 集計 閾値超過 AWS IoT Device SDK for Python
AWS IoT Coreとは • IoTデバイスをAWSサービスや他のデバイスとの接続を可能とするマネージドサービス • AWS IoT デバイス SDKを使うことでMQTT(Message
Queueing Telemetry Transport)や HTTPSなどのプロトコルでデータを送信できる • デバイスとAWS IoT Core間で認証されたデータのみが送信される
AWS IoT Coreとは • デバイスゲートウェイ︓ デバイスデータの送信先 • 認証サービス︓ デバイス接続に利⽤する証明書管理 •
メッセージブローカー︓ pub/subモデルのメッセージ送受信 • ルールエンジン︓ メッセージブローカーのメッセージをフィルタ、 各種AWSサービスと連携 https://pages.awscloud.com/rs/112-TZM-766/images/AWS-Black-Belt_2024_AWS-IoT-Core-Message_1001_v1.pdf IoT Coreのアーキテクチャ
• IoT Coreの設定 • 管理>モノ>モノを作成>1つのモノを作成 • 設定はデフォルト • 証明書も同時に作成 AWS
IoT Coreの設定
• センサーデータの送信先ドメイン(エンドポイント)を作成 AWS IoT Coreの設定
• IoT Coreに送信されたデータをCloudWatch Logsに送信するように設定 AWS IoT Coreの設定
OSのインストール • 最新のRaspberry Pi OSをmicroSDに書き込み • SSH接続もできるように設定しておく • Wi-Fiの接続設定も書き込み可能
• 配線後、センサー値を読み取れるようにシリアル通信を有効化する • raspi-configコマンドを利⽤ • 必要なモジュール(mh-z19、AWSIoTPythonSDK)をインストール Raspberry Piの設定
プログラムの作成 • AWS IoT Device SDK for Pythonを利⽤し、アプリケーションを作成 (https://github.com/aws/aws-iot-device-sdk-python) mh_z19.read()で
CO2濃度の値を取得 publishでデータを送信 10秒間隔で送信
プログラムの実⾏ • ラズパイ上でプログラムを実⾏ python3 basicPubSub.py. --endpoint xxxxxxxxxxxxxx.iot.ap-northeast-1.amazonaws.com --rootCA cert/AmazonRootCA1.pem --cert
cert/xxxxxxxxxxxxxx-certificate.pem.crt --key cert/xxxxxxxxxxxxxx-private.pem.key endpoint: IoT Core設定時に作成したドメイン(エンドポイント) rootCA: モノ作成時に発⾏されたルートCA証明書 cert: モノ作成時に発⾏されたデバイス証明書 key: モノ作成時に発⾏されたプライベートキー
• CloudWatch上で数値を確認 • IoT Core→CloudWatchはあくまでLogとして残る CloudWatch Logsの確認
メトリクスフィルターの利⽤ • メトリクスフィルターを利⽤し、メトリクスとしてみれるようにする センサーの仕様で計測できる濃度の下限値が 400 ppmのためデフォルト値を400に
アラームの設定 • 10秒間隔で6連続(=1分間) CO2濃度が1000ppmを超えたらアラームを出すように
SNSとメール通知の設定 • アラームをトリガーにSNS経由でメールを出すように設定
メトリクスとメール内容 アラーム発生 & 換気開始
余談 • スマホアプリからもみれる
まとめ • 想像よりも簡単にIoT Coreにデータを送信できた • SDKの存在が⼤きい • メトリクスフィルターを活⽤したログデータのメトリクス化 • これから寒くなりますが、適度に換気をしましょう︕