Pro Yearly is on sale from $80 to $50! »

藤田 義弘

 藤田 義弘

2020年11月14日に、Lineのイベント、LPF REVUP2020のLTで発表した資料です。

3508a3d67bdfbcf8f16bd9c66c258d10?s=128

Yoshihiro Fujita

November 14, 2020
Tweet

Transcript

  1. LINEとAWSでおうち制御 LPF REV UP 2020 2020年11月14日

  2. 自己紹介 • 氏名:藤田 義弘 • 所属:株式会社メイテック(派遣事業) 製造業のお客様先で派遣として勤務 • 組み込みソフトウェアエンジニア •

    Twitter:@YSFT_KOBE
  3. 帰宅時に玄関が真っ暗なのをなんとかしたい! 帰宅直前に電灯を点けたい! おうち制御したこと LINEとAWSを使って玄関の電灯を制御

  4. おうち制御したこと Line Bot AWS マイコン

  5. Line Bot Messaging APIという仕組みで、LINE BOTが簡単 に作成できる。 Line公式ドキュメントより:https://developers.line.biz/ja/docs/messaging-api/overview/

  6. • 作成はLine Developerコンソールを利用 • 画面に従ってチャネルを作成し、その時作成される Line公式アカウントと友達登録するだけ。 Line Bot

  7. Line Bot Messaging APIのチャネル作成を選択 必要事項の記述 QRコードからLine公式アカウントを友達登録

  8. Line Bot バックエンド側との連携は、エンドポイントをWebhook に設定

  9. 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
  10. バックエンド(AWS) AWSを利用してバックエンドを構築。 Amazon API Gateway AWS Lambda AWS IoT Core

    AWS IoT Events
  11. バックエンド(AWS) • バックエンドのHTTPエンドポイントや、 RESTfulAPIを簡単に作成する事が可能なサービス。 • このサービスで作成したエンドポイントをWebhook に設定。 詳細は https://docs.aws.amazon.com/ja_jp/apigateway/latest/developerguide/welcome .html

    Amazon API Gateway
  12. バックエンド(AWS) • いわゆるサーバレス(FaaS) • コンピューターリソースを管理することなく、関数 を実行する事が可能。 詳細は https://docs.aws.amazon.com/ja_jp/lambda/latest/dg/welcome.html AWS Lambda

  13. バックエンド(AWS) • ネットに接続されたデバイス (センサーやマイコン 等) と AWS クラウドとのセキュアな双方向通信が 可能となるサービス。 •

    デバイスの状態を把握/管理し、デバイス、アプリ、 その他のクラウドサービスでデータを共有するため の信頼性の高いデータストアを提供。 詳細は https://docs.aws.amazon.com/ja_jp/iot/latest/developerguide/what-is-aws- iot.html AWS IoT Core
  14. バックエンド(AWS) • デバイス等からのデータを継続的に監視し、イベン トが発生した時に、適切な対応をトリガー出来る。 • UMLの状態マシンに似た探知機モデルを作成し、状 態に応じたアクションが可能。 詳細は https://docs.aws.amazon.com/ja_jp/iotevents/latest/developerguide/what-is- iotevents.html

    AWS IoT Events
  15. マイコン • プラットフォーム用に設定された FreeRTOS の バージョンをダウンロードし、実装する事が可能。 • クラウドとの通信をセキュアに行う事ができる。 詳細は https://docs.aws.amazon.com/ja_jp/iot/latest/developerguide/what-is-

    aws-iot.html Amazon FreeRTOS
  16. 構成 Amazon FreeRTOS AWS Cloud AWS IoT Core MQTT/MQTTS AWS

    IoT Events AWS Lambda AWS Lambda AWS Lambda Amazon API Gateway
  17. 動作概要 点灯/消灯動作

  18. 動作概要 Amazon FreeRTOS AWS Cloud AWS IoT Core MQTT/MQTTS AWS

    IoT Events AWS Lambda AWS Lambda AWS Lambda Amazon API Gateway 1. 点灯メッセージ送信
  19. 動作概要 Amazon FreeRTOS AWS Cloud AWS IoT Core MQTT/MQTTS AWS

    IoT Events AWS Lambda AWS Lambda AWS Lambda Amazon API Gateway 2. 点灯指示 1. 点灯メッセージ送信
  20. 動作概要 Amazon FreeRTOS AWS Cloud AWS IoT Core MQTT/MQTTS AWS

    IoT Events AWS Lambda AWS Lambda AWS Lambda Amazon API Gateway 3. 点灯通知 2. 点灯指示 1. 点灯メッセージ送信
  21. 動作概要 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. 点灯メッセージ送信
  22. 動作概要 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. 点灯メッセージ送信
  23. 動作概要 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. 点灯メッセージ送信
  24. 動作概要 Amazon FreeRTOS AWS Cloud AWS IoT Core MQTT/MQTTS AWS

    IoT Events AWS Lambda AWS Lambda AWS Lambda Amazon API Gateway 7. タイマータイムアウト発生 ※繰り返し行われる。
  25. 動作概要 Amazon FreeRTOS AWS Cloud AWS IoT Core MQTT/MQTTS AWS

    IoT Events AWS Lambda AWS Lambda AWS Lambda Amazon API Gateway 7. タイマータイムアウト発生 ※繰り返し行われる。 8. メッセージ送信
  26. 動作概要 Amazon FreeRTOS AWS Cloud AWS IoT Core MQTT/MQTTS AWS

    IoT Events AWS Lambda AWS Lambda AWS Lambda Amazon API Gateway 7. タイマータイムアウト発生 ※繰り返し行われる。 9. タイマーリセット 8. メッセージ送信
  27. 動作概要 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. 消灯メッセージ送信
  28. 動作概要 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. 消灯メッセージ送信
  29. 動作概要 状態確認動作

  30. 動作概要 Amazon FreeRTOS AWS Cloud AWS IoT Core MQTT/MQTTS AWS

    IoT Events AWS Lambda AWS Lambda AWS Lambda Amazon API Gateway 1. 状態確認メッセージ送信
  31. 動作概要 Amazon FreeRTOS AWS Cloud AWS IoT Core MQTT/MQTTS AWS

    IoT Events AWS Lambda AWS Lambda AWS Lambda Amazon API Gateway 2. デバイス情報取得 1. 状態確認メッセージ送信
  32. 動作概要 Amazon FreeRTOS AWS Cloud AWS IoT Core MQTT/MQTTS AWS

    IoT Events AWS Lambda AWS Lambda AWS Lambda Amazon API Gateway 2. デバイス情報取得 3. 応答メッセージ送信 1. 状態確認メッセージ送信
  33. デモを実施します。

  34. • LineのMessaging APIを利用するこで、BOT作 成やバックエンドとの連携が簡単に行えます ます。 • AWSでバックエンドも簡単に構築できます。 まとめ

  35. ご静聴ありがとうございました。

  36. None