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
IoTの楽しさをライブデモで!AWSとラズパイで「作らずに創る」IoTのハジメ
Search
SORACOM
PRO
November 10, 2022
Technology
0
3.9k
IoTの楽しさをライブデモで!AWSとラズパイで「作らずに創る」IoTのハジメ
2022年 11 月 8 日(火)~ 10 日(木)開催の「AWS Dev Day 2022 Japan」で、ソラコム 松下享平より発表した資料です。
SORACOM
PRO
November 10, 2022
Tweet
Share
More Decks by SORACOM
See All by SORACOM
IoT でできること・取り組み方「後付け IoT」「組み込み IoT」と、IoTやSORACOMの仲間が共に学び交流するコミュニティ「SORACOM UG」
soracom
PRO
0
19
APIファーストで実現する運用性の高い IoT プラットフォーム: SORACOMのアプローチ
soracom
PRO
0
1.3k
IoTシステムの運用効率化に取り組もう! ― 回線管理とデバイス設定を自動化するための SORACOM API とプラットフォーム機能の活用
soracom
PRO
0
86
SORACOM のアーキテクチャと挑戦のフィールド
soracom
PRO
1
890
Technical Writing Meetup vol.39
soracom
PRO
2
880
今だからこそ振り返る、生成AIの基礎とこれからの使い道 ― デバイスから生成AIを使うには
soracom
PRO
0
57
【SORACOM UG】SORACOM におけるユーザーコミュニティの重要性とこれから
soracom
PRO
2
520
AWS Lambda と Amazon SQS で「わかった気になれる」FreeRTOS 入門
soracom
PRO
2
690
IoT とは?IoTプラットフォーム「SORACOM」の役割
soracom
PRO
0
410
Other Decks in Technology
See All in Technology
似たような課題が何度も蘇ってくるゾンビふりかえりを撲滅するため、ふりかえりのテーマをフォーカスしてもらった話 / focusing on the theme
naitosatoshi
0
410
CBになったのでEKSのこともっと知ってもらいたい!
daitak
1
160
ElixirがHW化され、最新CPU/GPU/NWを過去のものとする数万倍、高速+超省電力化されたWeb/動画配信/AIが動く日
piacerex
0
110
Classmethod AI Talks(CATs) #20 司会進行スライド(2025.04.10) / classmethod-ai-talks-aka-cats_moderator-slides_vol20_2025-04-10
shinyaa31
0
140
OpenSearchでレガシーな検索処理の大幅改善をやってやろう
dznbk
2
150
ウォンテッドリーにおける Platform Engineering
bgpat
0
190
自分の軸足を見つけろ
tsuemura
2
630
はてなの開発20年史と DevOpsの歩み / DevOpsDays Tokyo 2025 Keynote
daiksy
6
1.4k
ブラウザのレガシー・独自機能を愛でる-Firefoxの脆弱性4選- / Browser Crash Club #1
masatokinugawa
1
410
AIエージェントの地上戦 〜開発計画と運用実践 / 2025/04/08 Findy W&Bミートアップ #19
smiyawaki0820
28
8.8k
“パスワードレス認証への道" ユーザー認証の変遷とパスキーの関係
ritou
1
480
AIエージェント開発における「攻めの品質改善」と「守りの品質保証」 / 2024.04.09 GPU UNITE 新年会 2025
smiyawaki0820
0
420
Featured
See All Featured
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
104
19k
Being A Developer After 40
akosma
91
590k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
45
7.2k
Scaling GitHub
holman
459
140k
Building Flexible Design Systems
yeseniaperezcruz
329
38k
Java REST API Framework Comparison - PWX 2021
mraible
30
8.5k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
120k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5.3k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.7k
Adopting Sorbet at Scale
ufuk
76
9.3k
Docker and Python
trallard
44
3.3k
Automating Front-end Workflow
addyosmani
1369
200k
Transcript
© 2022, Amazon Web Services, Inc. or its affiliates. All
rights reserved. © 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved. IoT の楽しさをライブデモで! AWS とラズパイで「作らずに創る」IoT のハジメ 松下 “Max” こうへい D - 4 Technology Evangelist Soracom, Inc.
自己紹介 株式会社ソラコム / テクノロジー・エバンジェリスト 松下 享平 (まつした こうへい) “Max” 静岡県民
🗻 新幹線通勤族 🚅 講演や執筆を中心に活動、登壇回数500以上/累計 好きな言葉「論よりコード」 AWS ヒーロー ( IoT 部門 2020年受賞) 好きな AWS サービス • AWS IoT Core • AWS IoT Events • AWS CLI Twitter: @ma2shita フォローはお気軽に! #AWSDevDay #Maxデテル
このセッションは…? AWS IoT Core AWS IoT Greengrass AWS Lambda Raspberry
Pi IoT
IoT 、楽しそう!
クラウド センサー/デバイス “モノ” ネットワーク 現場をデジタル化 現場とクラウドをつなげる デジタルデータの活用 モノやコトをデジタル化 人手に頼らずデータを集める、現場を動かす IoT
とは?
クラウド センサー/デバイス “モノ” ネットワーク デジタル化の課題「ネットワーク」 ネットワークの 設定? セキュリティ 対策や更新? クラウドとの
連携? “モノ” の開発や 管理
https://www.youtube.com/watch?v=ZUBiWrhjlYc
https://tokyocentury-news.jp/innovation/yamato_transport_and_hellolight/
SORACOM は IoT の「つなぐ」を簡単に IoT デバイス クラウドサービス ✓ 遠隔操作 ✓
メンテナンス ✓ 蓄積・見える化 ✓ アラート通知 センサ キット IoT 通信 IoT SIM LPWA パートナー デバイス AWS パートナークラウド Wi-Fi / 有線 3G / LTE / 5G LTE-M 通信 デバイス クラウド カメラ 衛星通信
Raspberry Pi ➢ パソコン並みの基本性能を持ちつつ、センサー接続が 可能なインターフェイス(GPIO / カメラ)を持つ SBC (Single Board
Computer) ➢ センサーは OS(Linux) から容易に制御できる ➢ 最新版は Raspberry Pi 4 Raspberry PI 4 model B
IoT における Raspberry Pi の位置づけ クラウド ネットワーク センサー/デバイス “モノ” センサー
通信 制御 センサーと通信の間に入り それぞれを制御 物理現象
センサーの接続は? コネクタでセンサーを接続できる Grove Pi シリーズ ✓ Raspberry Pi の GPIO
ピンヘッダに装着、 GPIO ピンが Grove コネクタに ✓ A/D コンバータ搭載 Grove Pi+ Grove Pi0 https://qiita.com/ma2shita/items/41928e50c47810f7496e センサーや LED が標準搭載 Raspberry Pi Sense Hat ✓ Raspberry Pi の GPIO ピンヘッダに装着、 はんだ付け不要 ✓ 温度・湿度・気圧、カラー LED 等 ✓ python3-sense-hat ですぐ使える
import urllib.request URL = 'https://example.com/api' req = urllib.request.Request(URL) with urllib.request.urlopen(req)
as res: data = res.read() #=> data にHTTP Bodyが入ってる 1 2 3 4 5 6 7 8 Web ページの取得 HTTP GET / Res どんなプログラミングをするのか? urllib.request が使えるなら、センサーも扱える! 1 2 3 4 5 6 7 8 import pigpio SENSOR_ADDR = 0x40 ctx = pigpio.pi().i2c_open(1, SENSOR_ADDR) (_, data) = pi.i2c_read_block_data(ctx, 0x5e, 2) #=> data に距離データが入ってる ラズパイ自由自在 電子工作パーツ制御 完全攻略 / 著:松岡貴志 P50 GP2Y0E03.py を参考に筆者変更 HTTP の代わりに、 I2C や SPI、UART といった “プロトコル” で センサーという「API サーバー」にアクセスする コンテキスト 作成 データ取得 距離センサー値の取得 API サーバー I2C read / Res センサー
AWS Systems Manager 経由の NAPT 内デバイスへのコンソールアクセス https://aws.amazon.com/blogs/mt/manage-raspberry-pi-devices-using-aws-systems-manager/
AWS Systems Manager AWS Systems Manager Agent AWS Cloud Raspberry
Pi Python script Sense Hat Session AWS IoT Core センサーデータ 実行 AWS Systems Manager デモ アーキテクチャー IoT データ通信サービス SORACOM Air for セルラー
IoT データは2系統「状態」と「時系列」 湿度 10:00 35.5% 10:15 41.6% 10:30 40.3% 今の湿度は?
= 状態 過去の傾向は? = 時系列 Raspberry Pi 10:00 35.5% 10:15 41.6% 10:30 40.3% 10:30現在 40.3%
Amazon Simple Storage Service (S3) への 蓄積をゴールに設計 湿度 今の湿度は? =
状態 過去の傾向は? = 時系列 ✓ 2系統のデータを一括管理 Amazon S3 Raspberry Pi 10:00 35.5% 10:15 41.6% 10:30 40.3% Amazon S3 が IoT マネジメントとデータ活用の分界点 10:00 35.5% 10:15 41.6% 10:30 40.3%
データ活用とは「今を知る」「未来を見通す」 Amazon S3 Raspberry Pi 集計、分析 可視化、通知・外部連携 Amazon EventBridge Amazon
QuickSight Amazon Athena Amazon Redshift 機械学習 Amazon SageMaker Amazon Forecast 湿度 10:00 35.5% 10:15 41.6% 10:30 40.3% 10:00 35.5% 10:15 41.6% 10:30 40.3%
Amazon S3 IoT デバイスと Amazon S3 間の アーキテクチャーは? Raspberry Pi
?
Amazon S3 Raspberry Pi Amazon API Gateway 入り口となる AWS サービスは大きく2つ
AWS IoT Core AWS Cloud
Amazon API Gateway AWS IoT Core • 受け入れ可能なプロトコルは HTTPS、WSS •
リクエストの流し先は単一サービス • 振り分け等は Lambda 関数や後続サービスで実装する、 直列型アーキテクチャー • 受け入れ可能なプロトコルは HTTPS、WSS、MQTTS • リクエストの流し先は複数サービス • 条件に応じてメッセージをルーティングできる、 並列型アーキテクチャー (Fanout) プロトコルと構築可能なアーキテクチャで 見るサービスの違い
Amazon S3 Raspberry Pi AWS IoT Core による Fanout パターンは
スモールスタートしやすい AWS IoT Core Amazon Kinesis Data Firehose Amazon DynamoDB Aに影響なく BやCを追加・削除 他のサービス IoT ビジネスの要求と共に 拡張ができる AWS Cloud ルール A ルール B ルール C
多数のプログラム どうやって入れ替える?
AWS IoT Greengrass エッジデバイス用ランタイム デバイス内処理 ✓ AWS Lambda 関数や Docker
コンテナをデプロイ・実行 ✓ ML モデルのデプロイ・推論 ✓ MQTT ブ ロ ー カ ー に よ る 他デバイスとのデータ中継 アップデート ✓ デ プ ロ イ を 複 数 台 まとめて実行 ✓ AWS IoT Greengrass Core 自体も更新可能 商用利用 ✓ ハードウェアセキュリ ティモジュール(HSM)に よるセキュリティやログ ✓ Apache 2.0 ライセンス IoT デバイス(Linux OS 等) にインストールして動かすソフトウェア 《 AWS IoT Greengrass Core (GG Core、 GGC) 》
AWS IoT Core AWS IoT Greengrass AWS Cloud Raspberry Pi
Lambda Function デプロイ センサーデータ Sense Hat AWS IoT Greengrass デモ アーキテクチャー AWS IoT Greengrass Core
AWS Systems Manager Agent と AWS IoT Greengrass は併存可能 Raspberry
Pi AWS Systems Manager AWS Cloud AWS IoT Core AWS IoT Greengrass Lambda Function AWS Systems Manager Agent メンテ 制御用チャネル メインチャネル Sense Hat
食の安全を守る流通や温度管理、 施 錠 の 仕 組 み を ク ラ
ウ ド と IoT 技術でセキュアに実現。 利用したSORACOMサービス: SORACOM Air, Canal, Funnel, Harvest, Lagoon 利用したデバイス: GPS マルチユニット SORACOM Edition, ビーコン対応 GPS トラッカー GW スターターキット 導入事例 サービス クックパッド株式会社 「cookpad mart」
!! https://ascii.jp/elem/000/004/064/4064111/ ※ 現在は知見が基になった専用デバイスを利用
セルラー通信を実現する USB ドングル型モデム 3G 対応データ通信端末 AK-020 plan-D 5,478円 LTE 対応
USB ドングル型モデム SORACOM Onyx plan-D / plan-DU / plan-K / plan01s / plan01s-LDV / planX1 / planP1 11,968円 (1,100円分 SORACOM クーポン込)
取り付けからセットアップ Raspberry Pi OS ➢ setup_air.sh のダウンロードと実行 ➢ pppX で認識
Ubuntu (Jetson 等) ➢ NetworkManager CLI (nmcli) での設定 ➢ “gsm” で認識 / ルーティングテーブル上は pppX Windows ➢ ドライバソフトウェアのダウンロードとインストール ➢ “携帯ネットワーク” で認識 / いわゆるモデム 21世紀の 「ライフライン」として
あらゆる場所で「つなぐを簡単に」 SORACOM IoT SIM 日本を含む 世界160を超える国と地域 APN 名 "soracom.io“ SORACOM
の契約と設定だけでつながる ✓ 1枚(回線) ~ オンラインで入手・開通 ✓ 法人・個人問わず利用可能 ✓ カード型も eSIM(チップ型) ✓ 選べるサブスクリプション(契約)と通信回線 ✓ Web & API で管理
AWS IoT Core 検討時のポイント ペイロードサイズの最大は 128 KB ➢ 画像やログ等のファイルは Amazon
S3 や Amazon Kinesis Video Streams 等へ 直接送信 参考: IoT デバイスから AWS クラウドに大きなペイロードを安全に取り込む方法 (Amazon Web Services ブログ) プロトコルオーバーヘッドも課金対象 ➢ 特に MQTT はプロトコル自体がステートフルなので、不要な MQTT CONN 等を 抑制する実装が不可欠 トピック設計は実装だけでなく費用にも影響 ➢ ルールを直接トリガーする特殊トピック「Basic Ingest」の利用による費用低減 例) data/sensehat → $aws/rules/rule1/data/sensehat ※ アクションは単一ルール内にまとめる設計となる
AWS IoT Greengrass 開発と継続的な利用に向けた設計 コード内の `awsiot.greengrasscoreipc` の利用は必須ではない ➢ urllib3 等のライブラリも利用可能
➢ boto3 で AWS サービスへのアクセスをするなら、IoT Core のロールエイリアスに指定された IAM ロール (GreengrassV2TokenExchangeRole) のポリシーを変更 固定済み (存続期間の長い) Lambda 関数コンポーネント ➢ Lambda 関数らしからぬコードになりがちなので、無限ループ実装は「ジェネリック」タイプが おすすめ (参考: AWS IoT Greengrass コンポーネントを開発する) ➢ Lambda 関数コンポーネントは、Greengrass Core 自体が持つ MQTT ブローカーからの トリガー関数として利用すると見通しが良い パブリックコンポーネントを積極的に利用 ➢ AWS 提供のコンポーネント ➢ 例えば AWS SSM Agent も Greengrass でデプロイできる (参考: AWS Systems Manager による AWS IoT Greengrass デバイスサポートを試してみる)
IoT で Amazon API Gateway や サーバーを立ち上げたくなったら 思い出そう! AWS IoT
Core AWS IoT Greengrass
この先のステップは? IoT 向けのアーキテクチャのベストプラクティス https://aws.amazon.com/jp/architecture/iot/ データレイクを実現するベストプラクティスとは ? https://aws.amazon.com/jp/builders-flash/202002/datalake-on-aws/ 「ラズパイ、M5Stack、Arduino」選び方、始め方 https://www.youtube.com/watch?v=G0QZh41Fueg
デジタルツインと “デバイスシャドウ” https://aws.amazon.com/jp/builders-flash/202211/what-is-digital-twin/
Python ベースのサンプルコードなら https://www.amazon.co.jp/dp/B09VKM6XHW/ 出版社 : 日経BP (2022/3/18) 発売日 : 2022/3/18
単行本: 3,190円(7/14時点) / Kindle版あり パーツ分解・実験編 「やりたい、使いたい」センサーやパーツにフォーカス して、それらを動かす準備とコードを解説 Raspberry Pi の IO 詳解編 ラズパイが持つ GPIO を基に、デジタル/PWM/I2Cなどな ど IO にフォーカスして、操作する方法を解説
IoT で解決したいこと、実現したいことを手順で紹介 SORACOM IoT DIY レシピ IoT デバイスからクラウドまで 50を超える IoT
の手順書 《閲覧無料》 https://soracom.jp/iot-recipes/ 🔍 IoT レシピ 温湿度、位置情報、CO 2 濃度、遠隔操作、サイネージ、通知 ラズパイ、Arduino
None
None
IoT 、楽しそう! IoT 、できそう!
SORACOM の願い クラウド ⇒ 多くの Web サービス SORACOM ⇒ 多くの
IoT システム 日本から、世界から、たくさんの IoT プレイヤーが生まれますように
IoTの「つなぐ」を簡単に You Create. We Connect.
© 2022, Amazon Web Services, Inc. or its affiliates. All
rights reserved. Thank you! © 2022, Amazon Web Services, Inc. or its affiliates. All rights reserved. 松下 “Max” こうへい @ma2shita #Maxデテル