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
20190801_AWS_IoTでデータロギング.pdf
Search
ogurabread
August 02, 2019
Programming
540
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
20190801_AWS_IoTでデータロギング.pdf
ogurabread
August 02, 2019
More Decks by ogurabread
See All by ogurabread
20191010_IoTLT_AWS_IoTでThing制御.pdf
ogurabread
0
300
Other Decks in Programming
See All in Programming
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
230
20260828_品質と開発生産性を両立させる、AI時代のE2Eテストの考え方
magicpod
0
190
テストを司るデーモンに会いに行く 〜隔離した仮想マシンでテストを通すまで〜
h1d3mun3
1
160
コンパウンドプロダクト開発のためのローカルプロセスマネージャー再発明 #layerxgo
izumin5210
0
670
AIは賢い。でも実行環境は? CLIおじさんがAI時代に伝えたいこと ~ CLIおじさんがAI時代に伝えたいこと ~
curekoshimizu
1
240
フロントエンドUIフレームワークのこれまでとこれから
ssssota
5
2.4k
スマート反転とウェブアクセシビリティ
camiha
0
180
GraphRAGのKnowledge Graphを 直接!見る/View-GraphRAG's-KnowledgeGraph-directly!
tyumugi1113
1
280
型解析で実現する Go の言語内 DSL / Conference に Go! タイムテーブルの歩き方 for Gophers
mazrean
0
140
AIエージェント時代のコードレビューを設計する
nogu66
6
2.6k
tsc.rip を支える技術 / Kyoto.なんか #8
susisu
0
4.4k
自分的「カンファレンスの楽しみ方」
syumai
0
200
Featured
See All Featured
How to Talk to Developers About Accessibility
jct
2
540
The untapped power of vector embeddings
frankvandijk
2
1.9k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.2k
Typedesign – Prime Four
hannesfritz
42
3.2k
Color Theory Basics | Prateek | Gurzu
gurzu
0
460
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.7k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.8k
New Earth Scene 8
popppiees
3
2.5k
Bootstrapping a Software Product
garrettdimon
PRO
306
120k
Heart Work Chapter 1 - Part 1
lfama
PRO
9
36k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
520
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Transcript
AWS IoTを使ってデータロギング ogurabread
• Thingサイド • サーバサイド 1. AWS EC2編 2. AWS IoT編
概要
• MCU – stm32f103c8t6 356円 • WiFi – ESP8266 650円
• Sensor – SHT31 温湿度計 596円 – TSL2561 照度計 560円 • Display – OLED SSD3306 750円 Thing
時間 全体構成 WiFi センサーデータ センサー NTPサーバー 時間同期 Thing サーバー MCU
スマートフォン センサーデータ
• AWSで管理 • WiFi接続に変更 マイコン+WiFi+AWS 空調制御 照明制御 グラフ表示 温湿度計測 Arduino、サーバー間で直接やりとり
照明制御 空調制御 • AWSで管理 データロギング ver.1.0 (2016/08) 温湿度計測 MySQL Unicorn
静的ファイル グラフ表示 EC2
• 時間単位の従量課金 – 通信はほとんどしていないのに常時起動しておく必要がある – 月額918円相当(1年目は無料枠有り) EC2 IoT機器からサーバへのデータアップロードは一瞬で完了 スマートフォンからサーバへのデータリクエストは1日1回? でも、サーバはいつ通信が発生するかわからないので常時稼働
• サーバーレスとは? – サーバーレスとは、一定のサーバー容量に依存することなく、 稼働に必要なリソースを動的に設定し、マネージドサービスを 利用する事でシステム構築をする運用方法 サーバーレス https://www.skyarch.net/iot/serverless.html
1.2. store deta sendor data 4.4. download 4.1. request data
Thing 1.1. send data(mqtt) data buffer 1.データアップロード(Thing) 4. データダウンロード(スマートフォン) 2. データ整形 2.1 convert 4.3. download データロギング ver.2.0 (2019/03)
• Thing(IoT端末)との通信を管理 – クライント証明書を用いた認証 • なりすましを防止 – MQTTというプロトコルを使用 – 別のサービスへと中継
AWS IoT
• Message Queuing Telemetry Transport • 通信帯域、消費電力が少ない – HTTPSの10倍以上オーバーヘッドが低い –
TCP/IP上で動く • Publish/Subscribeメッセージモデル – publish • データ送信 – subscribe • プッシュ通知によるデータ受信 MQTT
• client_id, データ保存期限、アップロードデータが保存 – データ保存期限を過ぎると削除 アップロードされたデータ 1.2. store deta Thing
1.1. send data(mqtt) data buffer 1.データアップロード(Thing)
1.2. store deta sendor data Thing 1.1. send data(mqtt) data
buffer 1.データアップロード(Thing) 2. データ整形 2.1 convert DBからファイルサーバーにコピー
• CSV形式で日付、データのフォーマットで保存 整形されたセンサーデータファイル
1.2. store deta sendor data 4.4. download 4.1. request data
Thing 1.1. send data(mqtt) data buffer 1.データアップロード(Thing) 4. データダウンロード(スマートフォン) 2. データ整形 2.1 convert 4.3. download ファイルサーバーのデータを閲覧
• 2019/07/30(木) – 17:00:室温35℃ 部屋にいないだろうと予測できる – 18:30 エアコンがタイマーでOn 室温が下がり始める –
21:00 照度が0→200 帰宅したことがわかる ロギングされたデータ センサーデータは個人情報の塊
• ログインしていないとグラフは表示できないように • Oauth認証を利用 Fitbitでログイン
Oauth認証 1.2. download 1.1. request data 2.1. login (https://www.fitbit.com/...?redirect...ogurabread...) 2.2.
return code(https://ogurabread.com?code=123456) 3.3. send code session id 3.4. request token 3.5. return token 3.6. add token token 2. Oauth認証 1. データダウンロード 1.3. request session id html/js 1.4. add session id 1.5. return session id session id Fitbit
ログイン後の画面
4.2. check token 1.2. store deta sendor data 4.4. download
4.1. request data Thing 1.1. send data(mqtt) 3.1. login Oauth 3.2. return code 3.3. send code data buffer 3.4. request token 3.5. return token 3.6. add token token for smartphone 1.データアップロード(Thing) 3. Oauth認証(スマートフォン) 4. データダウンロード(スマートフォン) 2. データ整形 2.1 convert 4.3. download データロギング ver.2.0 (2019/03)
One more ”Thing”
• Message Queuing Telemetry Transport • TCP/IP上で動く • Publish/Subscribeメッセージモデル –
publish • データ送信 – subscribe • プッシュ通知によるデータ受信 • 通信帯域、消費電力が少ない – HTTPSの10倍以上オーバーヘッドが低い MQTT
時間 Subscribeを使うと… WiFi センサーデータ センサー NTPサーバー 時間同期 Thing サーバー MCU
スマートフォン センサーデータ
Subscribeを使うと… WiFi センサーデータ センサー NTPサーバー 時間同期 Thing サーバー スマートフォン 時間
制御命令 パルス制御 照明 エアコン テレビ 家電 IR LED MCU センサーデータ 制御命令
• 赤外線リモコン – 38kHz – duty比 1/3 • 9ms発光 •
18ms停止 赤外線リモコンの信号 1/38khz = 26.3ms 9 18
• サーバーからの命令を受信して、照明OFF • レイテンシ1秒未満 実行動画 サーバーから照明制御命令送信前 サーバーから照明制御命令送信後
• Thingの紹介 • データロギング1.0(AWS EC2) – 月額1000円 • データロギング2.0(サーバレス) –
AWS IoT MQTT – 月額200円 • データの確認 – Oauth認証 • 番外:家電制御 まとめ