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
110
クラウドを活用して家電をハックしてみた
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
Cloudflare R2をトリガーにCloudflare Workersを動かしてみた
miura55
0
80
あのボタンでつながるSORACOM
miura55
0
73
Postman Flowsで作るAPI連携LINE Bot
miura55
0
250
Lambdaと共に歩んだAWS
miura55
3
580
Bedrock Knowledge baseを使って今年の上半期のニュースを聞いてみた(リベンジ編)
miura55
0
170
Is it wrong to use a web framework with Lambda?
miura55
0
150
Bedrock Knowledge baseを使って今年の上半期のニュースを聞いてみた
miura55
0
160
AWS×IoTについて語り合う会
miura55
0
100
Amplify Gen2でLambda構築してみた
miura55
0
140
Other Decks in Technology
See All in Technology
.NET 9 のパフォーマンス改善
nenonaninu
0
580
1等無人航空機操縦士一発試験 合格までの道のり ドローンミートアップ@大阪 2024/12/18
excdinc
0
150
なぜCodeceptJSを選んだか
goataka
0
160
宇宙ベンチャーにおける最近の情シス取り組みについて
axelmizu
0
110
Jetpack Composeで始めるServer Cache State
ogaclejapan
2
160
5分でわかるDuckDB
chanyou0311
10
3.2k
オプトインカメラ:UWB測位を応用したオプトイン型のカメラ計測
matthewlujp
0
170
どちらを使う?GitHub or Azure DevOps Ver. 24H2
kkamegawa
0
640
LINEスキマニにおけるフロントエンド開発
lycorptech_jp
PRO
0
330
スタートアップで取り組んでいるAzureとMicrosoft 365のセキュリティ対策/How to Improve Azure and Microsoft 365 Security at Startup
yuj1osm
0
210
PHPからGoへのマイグレーション for DMMアフィリエイト
yabakokobayashi
1
160
新機能VPCリソースエンドポイント機能検証から得られた考察
duelist2020jp
0
210
Featured
See All Featured
GraphQLの誤解/rethinking-graphql
sonatard
67
10k
Code Reviewing Like a Champion
maltzj
520
39k
Scaling GitHub
holman
458
140k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
10
810
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
RailsConf 2023
tenderlove
29
940
Visualization
eitanlees
146
15k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
2
290
VelocityConf: Rendering Performance Case Studies
addyosmani
326
24k
Side Projects
sachag
452
42k
The Cost Of JavaScript in 2023
addyosmani
45
7k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
0
96
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