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
450
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
220
最高のシステムプロンプトを作るためにフィードバック機能を導入した話
alchemy1115
1
650
凡エンジニアがこの先生きのこるためには。〜TypeScript完全に理解したい〜
alchemy1115
2
480
30代、何を"諦める"か
alchemy1115
1
790
ADOTで始めるサーバレスアーキテクチャのオブザーバビリティ
alchemy1115
3
350
AgentCore RuntimeをVPCにデプロイして 開発ドキュメント作成AIエージェントを作った
alchemy1115
5
1.3k
バズる!アウトプット
alchemy1115
1
620
社外コミュニティと「学び」を考える
alchemy1115
2
250
雑に疎通確認だけしたい...せや!CloudShell使ったろ!
alchemy1115
0
1k
Featured
See All Featured
Claude Code のすすめ
schroneko
67
230k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
600
Crafting Experiences
bethany
1
350
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.6k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
68
57k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
540
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
500
GitHub's CSS Performance
jonrohan
1033
470k
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
550
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
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の存在が⼤きい • メトリクスフィルターを活⽤したログデータのメトリクス化 • これから寒くなりますが、適度に換気をしましょう︕