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
SORACOM LTE-M Button Powerd by AWSを使ってSwitchBot...
Search
KMiura
February 11, 2023
Technology
0
210
SORACOM LTE-M Button Powerd by AWSを使ってSwitchBotを動かしてみた
2023年2月11日 JAWS-UG 東海道 ”IoT ボタンハンズオン”
https://jaws-ug-tokaido.connpass.com/event/271449/
KMiura
February 11, 2023
Tweet
Share
More Decks by KMiura
See All by KMiura
Lambdaと共に歩んだAWS
miura55
3
390
Bedrock Knowledge baseを使って今年の上半期のニュースを聞いてみた(リベンジ編)
miura55
0
170
Is it wrong to use a web framework with Lambda?
miura55
0
130
Bedrock Knowledge baseを使って今年の上半期のニュースを聞いてみた
miura55
0
150
AWS×IoTについて語り合う会
miura55
0
93
クラウドを活用して家電をハックしてみた
miura55
0
98
Amplify Gen2でLambda構築してみた
miura55
0
130
Amplify Gen2でLambda構築してみた
miura55
1
910
Amplify Gen2がGAされたので試してみた
miura55
0
150
Other Decks in Technology
See All in Technology
Oracle Cloud Infrastructureデータベース・クラウド:各バージョンのサポート期間
oracle4engineer
PRO
29
13k
CysharpのOSS群から見るModern C#の現在地
neuecc
2
3.5k
Making your applications cross-environment - OSCG 2024 NA
salaboy
0
200
Platform Engineering for Software Developers and Architects
syntasso
1
520
AIチャットボット開発への生成AI活用
ryomrt
0
170
飲食店データの分析事例とそれを支えるデータ基盤
kimujun
0
190
OCI Network Firewall 概要
oracle4engineer
PRO
0
4.2k
TypeScriptの次なる大進化なるか!? 条件型を返り値とする関数の型推論
uhyo
2
1.7k
ドメインの本質を掴む / Get the essence of the domain
sinsoku
2
160
Flutterによる 効率的なAndroid・iOS・Webアプリケーション開発の事例
recruitengineers
PRO
0
120
Introduction to Works of ML Engineer in LY Corporation
lycorp_recruit_jp
0
140
アジャイルチームがらしさを発揮するための目標づくり / Making the goal and enabling the team
kakehashi
3
150
Featured
See All Featured
Unsuck your backbone
ammeep
668
57k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
6
430
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
26
2.1k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
109
49k
A Tale of Four Properties
chriscoyier
156
23k
StorybookのUI Testing Handbookを読んだ
zakiyama
27
5.3k
Docker and Python
trallard
40
3.1k
Large-scale JavaScript Application Architecture
addyosmani
510
110k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
28
2k
Speed Design
sergeychernyshev
25
620
ReactJS: Keep Simple. Everything can be a component!
pedronauck
665
120k
RailsConf 2023
tenderlove
29
900
Transcript
SORACOM LTE-M Button Powerd by AWSを使ってSwitchBotを動かしてみた KMiura(@k_miura_io)
自己紹介 • 三浦 耕生(こうき) • JAWS UG名古屋運営 • 三次元地図技術のスタートアッ プのエンジニア・社内のAWSの
管理人 • SORACOMを社内に布教した男 @k_miura_io koki.miura05
注意:このLTは以前SORACOM UGのLTで話したネタ のリバイバル+αです。見たことある方はあしからず m(_ _)m
Switch botを手に入れた • Amazonのブラックフライデーで手に入れた • BLEのAPIもオープンになっていてハックし放題 • OSS万歳!
https://qiita.com/ma2shita/items/d620bb09ba001b66593b
None
どうやってやろう🤔?
調べてみた • SORACOMのプラットフォームでMQTTをするならSORACOM Beam • 他のMQTTブローカー(AWS、Shifter.ioなど)の接続情報を設定することでデバイ ス側のMQTT接続が楽になる(らしい) • なんかよくわからんけど凄そう(小並感)
入力どうしよう・・・
こいつの出番だ!
SORACOMを知るきっかけ • 4年前にここでやったハンズオンで「あのボタン」に出 会う • ボタンを押すことでLambdaを使えたり、メール送信 ができるのは面白い • ビルの高層階からボタンの電波が届かなくて送信失 敗しまくったのはいい思い出w
システム構成 ※AWS IoT 1-Clickの連携先はLambdaしかない
実装のポイント:Raspberry Pi • AWS IoTのSDKではなく汎用的なMQTTライブラリを使っている • 接続時に使うトピックの中にIMSIをプレースホルダーにしておくとSORACOM Beamが 転送するときに置き換えてくれる →SIMが変わったり複数のデバイスが来ても安心
実装のポイント:Lambda • AWS IoT 1-Clickのプレイスメントでボタンを押したときのコマンドだけではなく、IMSIを 受け取れるようにすることでLambdaで環境変数を設定しなくて良くなる • LambdaでテストするときもJSONを設定するだけなので楽(詳しくは記事にて!)
DEMO
実際に設置してみた(+α要素) • Raspberry Pi zeroWで意外と安定して稼働している • SORACOM Arcの仮想SIMを交換するだけで移行 が簡単だったのは気持ちいい •
適度にボタンから再起動できるのは助かる • モニター用になにかディスプレイつけても良さそう
まとめ • SORACOM側でAWS IoTの接続情報を登録することでデバイス側のコードがとて もシンプルになる • IMSIをプレースホルダーにするとデバイス単位でも同じコードを使い回せる • Switchbotを使ったハックは楽しい •
コーディングに自身ある方はAWS IoT 1-Clickを検討するのもあり SORACOM × AWSは相性抜群!
今日紹介した内容 https://zenn.dev/kmiura55/articles/soracom-beam-switch-bot
宣伝 https://jawsug-nagoya.doorkeeper.jp/events/150228
END