Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
AWS IoT CoreとRaspberry Piに触れてみた
Search
Ryotaro Harada
October 22, 2024
460
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
AWS IoT CoreとRaspberry Piに触れてみた
Ryotaro Harada
October 22, 2024
More Decks by Ryotaro Harada
See All by Ryotaro Harada
あるけみー式LTスライド作成術
alchemy1115
2
320
最高のシステムプロンプトを作るためにフィードバック機能を導入した話
alchemy1115
1
860
凡エンジニアがこの先生きのこるためには。〜TypeScript完全に理解したい〜
alchemy1115
2
480
30代、何を"諦める"か
alchemy1115
1
800
ADOTで始めるサーバレスアーキテクチャのオブザーバビリティ
alchemy1115
3
350
AgentCore RuntimeをVPCにデプロイして 開発ドキュメント作成AIエージェントを作った
alchemy1115
5
1.4k
バズる!アウトプット
alchemy1115
1
630
社外コミュニティと「学び」を考える
alchemy1115
2
250
雑に疎通確認だけしたい...せや!CloudShell使ったろ!
alchemy1115
0
1k
Featured
See All Featured
Automating Front-end Workflow
addyosmani
1369
210k
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
300
Optimizing for Happiness
mojombo
378
71k
The Language of Interfaces
destraynor
162
27k
brightonSEO & MeasureFest 2025 - Winning Strategies for Black Friday CRO & PPC - Christian Goodrich
cargoodrich
3
860
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.4k
Unsuck your backbone
ammeep
672
58k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
1k
Building Flexible Design Systems
yeseniaperezcruz
330
41k
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
Building a Scalable Design System with Sketch
lauravandoore
464
34k
Un-Boring Meetings
codingconduct
0
450
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の存在が⼤きい • メトリクスフィルターを活⽤したログデータのメトリクス化 • これから寒くなりますが、適度に換気をしましょう︕