Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

自己紹介 • 三浦 耕生(こうき) • JAWS UG名古屋運営 • 三次元地図技術のスタートアッ プのエンジニア・社内のAWSの 管理人 • SORACOMを社内に布教した男 @k_miura_io koki.miura05

Slide 3

Slide 3 text

注意:このLTは以前SORACOM UGのLTで話したネタ のリバイバル+αです。見たことある方はあしからず m(_ _)m

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

No content

Slide 7

Slide 7 text

どうやってやろう🤔?

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

入力どうしよう・・・

Slide 10

Slide 10 text

こいつの出番だ!

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

システム構成 ※AWS IoT 1-Clickの連携先はLambdaしかない

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

DEMO

Slide 16

Slide 16 text

実際に設置してみた(+α要素) • Raspberry Pi zeroWで意外と安定して稼働している • SORACOM Arcの仮想SIMを交換するだけで移行 が簡単だったのは気持ちいい • 適度にボタンから再起動できるのは助かる • モニター用になにかディスプレイつけても良さそう

Slide 17

Slide 17 text

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

Slide 18

Slide 18 text

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

Slide 19

Slide 19 text

宣伝 https://jawsug-nagoya.doorkeeper.jp/events/150228

Slide 20

Slide 20 text

END