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
藤田 義弘
Search
Yoshihiro Fujita
November 14, 2020
Technology
0
360
藤田 義弘
2020年11月14日に、Lineのイベント、LPF REVUP2020のLTで発表した資料です。
Yoshihiro Fujita
November 14, 2020
Tweet
Share
More Decks by Yoshihiro Fujita
See All by Yoshihiro Fujita
パブリッククラウドでおうち制御
ysfuji3sgee
0
34
Other Decks in Technology
See All in Technology
新規事業におけるGORM+SQLx併用アーキテクチャ
hacomono
PRO
0
330
防災デジタル分野での官民共創の取り組み (2)DIT/CCとD-CERTについて
ditccsugii
0
310
Sansan Engineering Unit 紹介資料
sansan33
PRO
1
3k
今この時代に技術とどう向き合うべきか
gree_tech
PRO
2
2k
Claude Code Subagents 再入門 ~cc-sddの実装で学んだこと~
gotalab555
10
16k
Introdução a Service Mesh usando o Istio
aeciopires
0
200
ガバメントクラウドの概要と自治体事例(名古屋市)
techniczna
3
240
AWS Control Tower に学ぶ! IAM Identity Center 権限設計の第一歩 / IAM Identity Center with Control Tower
y___u
1
200
Codexとも仲良く。CodeRabbit CLIの紹介
moongift
PRO
1
240
能登半島地震で見えた災害対応の課題と組織変革の重要性
ditccsugii
0
1k
アイテムレビュー機能導入からの学びと改善
zozotech
PRO
0
190
Wasmの気になる最新情報
askua
0
120
Featured
See All Featured
A Modern Web Designer's Workflow
chriscoyier
697
190k
Why You Should Never Use an ORM
jnunemaker
PRO
59
9.6k
A better future with KSS
kneath
239
18k
The Cult of Friendly URLs
andyhume
79
6.6k
The Invisible Side of Design
smashingmag
302
51k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.7k
Agile that works and the tools we love
rasmusluckow
331
21k
How to Think Like a Performance Engineer
csswizardry
27
2k
Building Adaptive Systems
keathley
44
2.8k
The Illustrated Children's Guide to Kubernetes
chrisshort
49
51k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
115
20k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4k
Transcript
LINEとAWSでおうち制御 LPF REV UP 2020 2020年11月14日
自己紹介 • 氏名:藤田 義弘 • 所属:株式会社メイテック(派遣事業) 製造業のお客様先で派遣として勤務 • 組み込みソフトウェアエンジニア •
Twitter:@YSFT_KOBE
帰宅時に玄関が真っ暗なのをなんとかしたい! 帰宅直前に電灯を点けたい! おうち制御したこと LINEとAWSを使って玄関の電灯を制御
おうち制御したこと Line Bot AWS マイコン
Line Bot Messaging APIという仕組みで、LINE BOTが簡単 に作成できる。 Line公式ドキュメントより:https://developers.line.biz/ja/docs/messaging-api/overview/
• 作成はLine Developerコンソールを利用 • 画面に従ってチャネルを作成し、その時作成される Line公式アカウントと友達登録するだけ。 Line Bot
Line Bot Messaging APIのチャネル作成を選択 必要事項の記述 QRコードからLine公式アカウントを友達登録
Line Bot バックエンド側との連携は、エンドポイントをWebhook に設定
Line Bot バックエンド側からのメッセージ送信も、APIを使って 簡単に実装可能。 from linebot import LineBotApi from linebot.models
import TextSendMessage from linebot.exceptions import LineBotApiError line_bot_api = LineBotApi('<channel access token>') try: line_bot_api.push_message('<Line User ID>', TextSendMessage(text='Hello World!')) except LineBotApiError as e: # error handle … ※channel access token, Line User IDはLine Developperコンソールから発行可能 python
バックエンド(AWS) AWSを利用してバックエンドを構築。 Amazon API Gateway AWS Lambda AWS IoT Core
AWS IoT Events
バックエンド(AWS) • バックエンドのHTTPエンドポイントや、 RESTfulAPIを簡単に作成する事が可能なサービス。 • このサービスで作成したエンドポイントをWebhook に設定。 詳細は https://docs.aws.amazon.com/ja_jp/apigateway/latest/developerguide/welcome .html
Amazon API Gateway
バックエンド(AWS) • いわゆるサーバレス(FaaS) • コンピューターリソースを管理することなく、関数 を実行する事が可能。 詳細は https://docs.aws.amazon.com/ja_jp/lambda/latest/dg/welcome.html AWS Lambda
バックエンド(AWS) • ネットに接続されたデバイス (センサーやマイコン 等) と AWS クラウドとのセキュアな双方向通信が 可能となるサービス。 •
デバイスの状態を把握/管理し、デバイス、アプリ、 その他のクラウドサービスでデータを共有するため の信頼性の高いデータストアを提供。 詳細は https://docs.aws.amazon.com/ja_jp/iot/latest/developerguide/what-is-aws- iot.html AWS IoT Core
バックエンド(AWS) • デバイス等からのデータを継続的に監視し、イベン トが発生した時に、適切な対応をトリガー出来る。 • UMLの状態マシンに似た探知機モデルを作成し、状 態に応じたアクションが可能。 詳細は https://docs.aws.amazon.com/ja_jp/iotevents/latest/developerguide/what-is- iotevents.html
AWS IoT Events
マイコン • プラットフォーム用に設定された FreeRTOS の バージョンをダウンロードし、実装する事が可能。 • クラウドとの通信をセキュアに行う事ができる。 詳細は https://docs.aws.amazon.com/ja_jp/iot/latest/developerguide/what-is-
aws-iot.html Amazon FreeRTOS
構成 Amazon FreeRTOS AWS Cloud AWS IoT Core MQTT/MQTTS AWS
IoT Events AWS Lambda AWS Lambda AWS Lambda Amazon API Gateway
動作概要 点灯/消灯動作
動作概要 Amazon FreeRTOS AWS Cloud AWS IoT Core MQTT/MQTTS AWS
IoT Events AWS Lambda AWS Lambda AWS Lambda Amazon API Gateway 1. 点灯メッセージ送信
動作概要 Amazon FreeRTOS AWS Cloud AWS IoT Core MQTT/MQTTS AWS
IoT Events AWS Lambda AWS Lambda AWS Lambda Amazon API Gateway 2. 点灯指示 1. 点灯メッセージ送信
動作概要 Amazon FreeRTOS AWS Cloud AWS IoT Core MQTT/MQTTS AWS
IoT Events AWS Lambda AWS Lambda AWS Lambda Amazon API Gateway 3. 点灯通知 2. 点灯指示 1. 点灯メッセージ送信
動作概要 Amazon FreeRTOS AWS Cloud AWS IoT Core MQTT/MQTTS AWS
IoT Events AWS Lambda AWS Lambda AWS Lambda Amazon API Gateway 3. 点灯通知 2. 点灯指示 4. メッセージ送信 1. 点灯メッセージ送信
動作概要 Amazon FreeRTOS AWS Cloud AWS IoT Core MQTT/MQTTS AWS
IoT Events AWS Lambda AWS Lambda AWS Lambda Amazon API Gateway 3. 点灯通知 2. 点灯指示 4. メッセージ送信 5. 状態更新通知(点灯) 1. 点灯メッセージ送信
動作概要 Amazon FreeRTOS AWS Cloud AWS IoT Core MQTT/MQTTS AWS
IoT Events AWS Lambda AWS Lambda AWS Lambda Amazon API Gateway 3. 点灯通知 2. 点灯指示 4. メッセージ送信 5. 状態更新通知(点灯) 6. 状態更新(PowerOFF→PowerON) タイマー起動 1. 点灯メッセージ送信
動作概要 Amazon FreeRTOS AWS Cloud AWS IoT Core MQTT/MQTTS AWS
IoT Events AWS Lambda AWS Lambda AWS Lambda Amazon API Gateway 7. タイマータイムアウト発生 ※繰り返し行われる。
動作概要 Amazon FreeRTOS AWS Cloud AWS IoT Core MQTT/MQTTS AWS
IoT Events AWS Lambda AWS Lambda AWS Lambda Amazon API Gateway 7. タイマータイムアウト発生 ※繰り返し行われる。 8. メッセージ送信
動作概要 Amazon FreeRTOS AWS Cloud AWS IoT Core MQTT/MQTTS AWS
IoT Events AWS Lambda AWS Lambda AWS Lambda Amazon API Gateway 7. タイマータイムアウト発生 ※繰り返し行われる。 9. タイマーリセット 8. メッセージ送信
動作概要 Amazon FreeRTOS AWS Cloud AWS IoT Core MQTT/MQTTS AWS
IoT Events AWS Lambda AWS Lambda AWS Lambda Amazon API Gateway 3. 消灯通知 2. 消灯指示 4. メッセージ送信 1. 消灯メッセージ送信
動作概要 Amazon FreeRTOS AWS Cloud AWS IoT Core MQTT/MQTTS AWS
IoT Events AWS Lambda AWS Lambda AWS Lambda Amazon API Gateway 3. 消灯通知 2. 消灯指示 4. メッセージ送信 5. 更新通知(消灯) 6. タイマー削除 状態更新(PowerON→PowerOFF) 1. 消灯メッセージ送信
動作概要 状態確認動作
動作概要 Amazon FreeRTOS AWS Cloud AWS IoT Core MQTT/MQTTS AWS
IoT Events AWS Lambda AWS Lambda AWS Lambda Amazon API Gateway 1. 状態確認メッセージ送信
動作概要 Amazon FreeRTOS AWS Cloud AWS IoT Core MQTT/MQTTS AWS
IoT Events AWS Lambda AWS Lambda AWS Lambda Amazon API Gateway 2. デバイス情報取得 1. 状態確認メッセージ送信
動作概要 Amazon FreeRTOS AWS Cloud AWS IoT Core MQTT/MQTTS AWS
IoT Events AWS Lambda AWS Lambda AWS Lambda Amazon API Gateway 2. デバイス情報取得 3. 応答メッセージ送信 1. 状態確認メッセージ送信
デモを実施します。
• LineのMessaging APIを利用するこで、BOT作 成やバックエンドとの連携が簡単に行えます ます。 • AWSでバックエンドも簡単に構築できます。 まとめ
ご静聴ありがとうございました。
None