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
KMiura
July 13, 2024
Technology
0
72
クラウドを活用して家電をハックしてみた
2024/07/13 Cloud in the Camp 2024 札幌 Horippa
https://connpass.com/event/315715/
KMiura
July 13, 2024
Tweet
Share
More Decks by KMiura
See All by KMiura
Bedrock Knowledge baseを使って今年の上半期のニュースを聞いてみた(リベンジ編)
miura55
0
140
Is it wrong to use a web framework with Lambda?
miura55
0
100
Bedrock Knowledge baseを使って今年の上半期のニュースを聞いてみた
miura55
0
110
AWS×IoTについて語り合う会
miura55
0
78
Amplify Gen2でLambda構築してみた
miura55
0
98
Amplify Gen2でLambda構築してみた
miura55
1
680
Amplify Gen2がGAされたので試してみた
miura55
0
110
VS CodeとVimが好きなエンジニアが考えた最強のエディタ
miura55
0
230
オープンソースのロボットソフトウェア「ROS」で地図作成を試してみた
miura55
0
320
Other Decks in Technology
See All in Technology
【Λ(らむだ)最近のアプデ情報 / RPALT20240904
lambda
0
170
Binary Authorizationと友達になろう / Let's be friends with Binary Authorization
iselegant
2
140
Dive Deep in Cloud Run: Automatic Base Image update
aoto
PRO
0
900
ことばをそろえる / Bridging the Terminology Gap
amaotone
5
1k
自社サービスのための独自リリース版Redmine「RedMica」の取り組み
vividtone
0
780
デジタル化・DX推進あるある
y150saya
0
230
Functional TypeScript
naoya
9
3.6k
LLMに日本語テキストを学習させる意義
ksaito
13
3.6k
手軽に始める? おうちサーバーのすゝめ
nyagasan
0
190
四国クラウドお遍路 2024 in 高知 オープニング
yukataoka
0
140
RAGHack: Kickoff and RAG 101
pamelafox
0
250
Namespace, Now and Then
tagomoris
0
170
Featured
See All Featured
Infographics Made Easy
chrislema
239
18k
The Invisible Side of Design
smashingmag
295
50k
A designer walks into a library…
pauljervisheath
201
24k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
326
21k
Building Better People: How to give real-time feedback that sticks.
wjessup
359
18k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
22
3.9k
How to train your dragon (web standard)
notwaldorf
85
5.6k
A better future with KSS
kneath
235
17k
The Straight Up "How To Draw Better" Workshop
denniskardys
230
130k
Ruby is Unlike a Banana
tanoku
96
10k
Visualization
eitanlees
142
15k
StorybookのUI Testing Handbookを読んだ
zakiyama
25
5k
Transcript
クラウドを活用して家電をハックして みた KMiura(@k_miura_io)
自己紹介 • 三浦 耕生(こうき) • Acallのバックエンドエンジニア • JAWS UG名古屋, Cloudflare
Meetup 名古屋 運営 • 北海道で好きなところ:小樽、支笏湖、 余市蒸留所 @k_miura_io koki.miura05
時は2024年3月
会社辞めました
入社直前に人生初の北海道へ
そして入社
4年ぶりのフルリモート ※画像はイメージです
こいつの出番!
在宅勤務あるある? • 作業に集中してコーヒーの存在を忘れる • せっかく淹れたコーヒーが渋くなる • 良い豆ほど損した気分 ↑2500円のコーヒーメーカーと 4000円のコーヒー豆のツーショット
今回はこれをIoTで解決する話
システム構成
デバイスの通信 • デバイスの通信はすべてSORACOMを駆使したセルラー通信を使用 • 在宅勤務に支障をきたさないようになるべくWifiで接続するデバイスの数は減らしたい • SORACOM Beamを使うことでSORACOMのプラットフォームにデータ転送して暗号 化を行いAWSにPublish •
デバイスの通信量が減る&デバイスにAWSの認証情報を持たなくて済む • 用途:コーヒーメーカーにつけたセンサーデータの送信、信号灯の操作 https://soracom.jp/services/beam/
デバイスの通信その2 • SORACOM Funkを使ってサー バーレスなAPIを実装 • AWS、Azure、GCPのFaaSの実 行権限を与えるだけでエンドポ イントを叩くだけで実現できる •
もちろんSORACOMのSIM・バー チャルSIMのアクセスだけ受け 付けるのでAPI Gatewayに認証 つける必要なし • 用途:QRコードスキャナを使っ たチェックイン https://soracom.jp/services/funk/
センサーデータを送信 してからのロジック • IoT Rulesを使ってデバイス から送信されたセンサー データをそのまま別のサー ビスに転送サービスにでき る •
転送先の中にはStep Functionsも含まれる • トピックのデータがJSON だったときはよしなにJSON に変換してStep Functions に入力される
メインのビジネス ロジック • 待ち時間が長いのでStep FunctionsでLambdaの処 理を分割 • Step Functionsでもできる ような処理はStep
Functionsに逃がすことで 一つのLambdaのコード量 を減らせる • IoTのPublishはLambdaで しかできない…
ハードウェアの全体像
ハードウェア(コーヒーメーカー) • 電流センサーでコーヒーメーカーが通電したことを検知して MQTTでデータを飛ばす • SORACOMのSIMを仕込んでSORACOM Beamを飛ばすこ とでマイコンの消費電力、メモリ使用量を抑えられる • センサー自体はアナログ信号なのでジャックプラグで信号を受
け取ったらADコンバータをかましてマイコンにデータを送信 • センサーの特性上、ノイズが乗りやすいので抵抗を挟むと抑え られる • センサーのドキュメントがなにもない&付属品のジャックが初 期不良で辛かった…
ハードウェア(チェックイン&通知) • チェックインには某T様系企業製のQRコードリー ダーを使用 • 結構古い機種なのによう動く • シリアル通信 • 通知に使用する信号塔はネットワークライトを使用
• HTTP通信で操作できるので結構便利 • ブザーも鳴らせる • 制御にはそれっぽい筐体付きのRaspberry Pi model Bを使用 • 1年前に秋葉原で購入 • 無線モジュールがないのでモデムを使って SORACOMのぷらっとフォームに接続
デモ動画
まとめ • SORACOMはクラウドとの相性バツグンでアプリ屋さんでも手軽にIoT を楽しめる • AWSのサービスを使うことでIoT連携にマッチしたシステムをサーバー レスで構築できる • 課題解決でIoTプロトタイピングしていくのは楽しい
宣伝 https://discovery.soracom.jp/2024/index.html
宣伝2 https://jawspankration2024.jaws-ug.jp/ja/
END