Slide 1

Slide 1 text

SORACOM LTE-M Button Powerd by AWSを使ってSwitchBotを動かしてみた KMiura(@k_miura_io)

Slide 2

Slide 2 text

自己紹介 • 三浦 耕生(こうき) • 名古屋のゲーム会社のサーバー エンジニア • 好きなSORACOMのサービス: SORAOCM Arc、SORACOM Funk @k_miura_io koki.miura05

Slide 3

Slide 3 text

Switch botを手に入れた • Amazonのブラックフライデーで手に入れ た • BLEのAPIもオープンになっていてハックし 放題 • OSS万歳!

Slide 4

Slide 4 text

https://qiita.com/ma2shita/items/d620bb09ba001b66593b

Slide 5

Slide 5 text

No content

Slide 6

Slide 6 text

どうやってやろう?

Slide 7

Slide 7 text

調べてみた • SORACOMのプラットフォームでMQTTをするならSORACOM Beam • 他のMQTTブローカー(AWS、Shifter.ioなど)の接続情報を設定することでデバイス 側のMQTT接続が楽になる(らしい) • なんかよくわからんけど凄そう(小並感)

Slide 8

Slide 8 text

入力どうしよう・・・

Slide 9

Slide 9 text

こいつの出番だ!

Slide 10

Slide 10 text

SORACOMを知るきっかけ • 2年前に名古屋でやってたハンズオンで「あのボ タン」に出会う • ボタンを押すことでLambdaを使えたり、メール 送信ができるのは面白い • ビルの高層階からボタンの電波が届かなくて送信 失敗しまくったのはいい思い出w

Slide 11

Slide 11 text

システム構成

Slide 12

Slide 12 text

実装のポイント:Raspberry Pi • AWS IoTのSDKではなく汎用的なMQTTライブラリを使っている • 接続時に使うトピックの中にIMSIをプレースホルダーにしておくとSORACOM Beamが転送するときに置き換えてくれる →SIMが変わったり複数のデバイスが来ても安心

Slide 13

Slide 13 text

実装のポイント:Lambda • AWS IoT 1-Clickのプレイスメントでボタンを押したときのコマンドだけではな く、IMSIを受け取れるようにすることでLambdaで環境変数を設定しなくて良く なる • LambdaでテストするときもJSONを設定するだけなので楽(詳しくは記事にて!)

Slide 14

Slide 14 text

DEMO https://youtu.be/n0Gpwt8pOlY

Slide 15

Slide 15 text

まとめ • SORACOM側でAWS IoTの接続情報を登録することでデバイス側のコードが とてもシンプルになる • IMSIをプレースホルダーにするとデバイス単位でも同じコードを使い回せる • Switchbotを使ったハックは楽しい SORACOM × AWSは相性抜群!

Slide 16

Slide 16 text

今日紹介した内容 https://zenn.dev/kmiura55/articles/soracom-beam-switch-bot

Slide 17

Slide 17 text

コラボイベント第2弾開催決定! https://linedevelopercommunity.connpass.com/event/235647/

Slide 18

Slide 18 text

END