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 Orbitを使って 過去に作ったものを改善してみた。/ 20200924-so...
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Kenichiro Wada
September 24, 2020
Technology
0
360
SORACOM Orbitを使って 過去に作ったものを改善してみた。/ 20200924-soracomug-online-1
2020.09.24 SORACOM UG Online #1 発表資料です。
Kenichiro Wada
September 24, 2020
Tweet
Share
More Decks by Kenichiro Wada
See All by Kenichiro Wada
楽しく学ぼう!サーバーレス入門 /jawsdays2026
kwada
0
20
JAWS-UGとLambdaに感謝を込めて~ AWS と共に歩んだX年 ~/kmj-20260117
kwada
1
64
My First Impression Of Kiro / 20250801-kumoben-lt
kwada
0
110
(全日本人)待望のS3トリガーのLambda無限ループ対応について / chibaraki-1
kwada
0
180
AWS Lambdaに出会って人生が変わった1人の10年間 /awslambda10th
kwada
0
130
GPSデバイスを使った簡易位置案内システムの構築をしてみた話。/jawsfesta2024
kwada
0
1k
とある航空会社の飛行機の乗り方をお教えします。/20240913-lt
kwada
3
360
Building a Simple Navigation Guide Service Using GPS Devices/jaws-pankration2024
kwada
0
170
IaCジェネレーターを使って、昔に作ったLambda関数をCDK管理下においてみた / jaws-ug-josys-30
kwada
0
170
Other Decks in Technology
See All in Technology
わたしがセキュアにAWSを使えるわけないじゃん、ムリムリ!(※ムリじゃなかった!?)
cmusudakeisuke
1
730
モブプログラミング再入門 ー 基本から見直す、AI時代のチーム開発の選択肢 ー / A Re-introduction of Mob Programming
takaking22
5
1.5k
作りっぱなしで終わらせない! 価値を出し続ける AI エージェントのための「信頼性」設計 / Designing Reliability for AI Agents that Deliver Continuous Value
aoto
PRO
2
290
us-east-1 に障害が起きた時に、 ap-northeast-1 にどんな影響があるか 説明できるようになろう!
miu_crescent
PRO
13
4.3k
Everything Claude Code を眺める
oikon48
2
2.8k
銀行の内製開発にて2つのプロダクトを1つのチームでスクラムしてみてる話
koba1210
1
120
オレ達はAWS管理をやりたいんじゃない!開発の生産性を爆アゲしたいんだ!!
wkm2
4
530
Keycloak を使った SSO で CockroachDB にログインする / CockroachDB SSO with Keycloak
kota2and3kan
0
120
ナレッジワーク IT情報系キャリア研究セッション資料(情報処理学会 第88回全国大会 )
kworkdev
PRO
0
190
Claude Code 2026年 最新アップデート
oikon48
12
9.8k
Go標準パッケージのI/O処理をながめる
matumoto
0
200
[JAWS DAYS 2026]私の AWS DevOps Agent 推しポイント
furuton
0
150
Featured
See All Featured
Ethics towards AI in product and experience design
skipperchong
2
220
Code Reviewing Like a Champion
maltzj
528
40k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.2k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
62
52k
Technical Leadership for Architectural Decision Making
baasie
3
290
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
470
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.1k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.7k
The Pragmatic Product Professional
lauravandoore
37
7.2k
Transcript
403"$0.0SCJUΛͬͯ աڈʹ࡞ͬͨͷΛվળͯ͠Έͨɻ TPSBDPN TPSBDPNVH 2020.09.24 SORACOM UG Online #1 和⽥健⼀郎@Keni_W
⾃⼰紹介 ⽒名:和⽥ 健⼀郎 所属:アイレット株式会社 エンジニア SORACOM UGコアメンバー JAWS-UG 千葉 運営メンバー
好きなSORACOMサービス: Funk、Buttonシリーズ、Orbit 実は最近共著で本書きました。 Buttonがちょっと出てます。
ࠓ͢͜ͱ 403"$0.6(0OMJOF TPSBDPN TPSBDPNVH • SORACOM Orbitとは(個⼈的所感) • Before Orbit
• After Orbit • これが欲しいなOrbit • まとめ 403"$0.0SCJUΛͬͯաڈʹ࡞ͬͨͷΛվળͯ͠Έͨɻ
403"$0.0SCJUͱ ݸਓతॴײ 403"$0.6(0OMJOF TPSBDPN TPSBDPNVH • デバイスから、SORACOMプラットフォーム上に送られてきたデー タをFunk、Beam等に渡す前に、⾊々いじれる機能 • このスライド書きつつ、Downlink試してないことに気づく
• すごいバイナリパーサー(Blogより)。 • ⾃分で開発して、SORACOMプラットフォーム上にアップロードし て使うという数少ない機能。 • アップロードして使う唯⼀の機能と⾔いたいんですが、Mosaicがあった。。。 403"$0.0SCJUΛͬͯաڈʹ࡞ͬͨͷΛվળͯ͠Έͨɻ
403"$0.0SCJUͱ ݸਓతॴײ 403"$0.6(0OMJOF TPSBDPN TPSBDPNVH • 使える⾔語(Orbit SDKが提供されている⾔語)は、以下の4つ。 • Assembly
Script • C/C++ • Rust • TinyGo New! • ローカルで、WASMモジュールを開発して、デプロイして、SIMグ ループのコンソールで指定して使います。 • VS Code + Development container の開発環境が⽤意されてい ます。 403"$0.0SCJUΛͬͯաڈʹ࡞ͬͨͷΛվળͯ͠Έͨɻ
403"$0.0SCJUͱ ݸਓతॴײ 403"$0.6(0OMJOF TPSBDPN TPSBDPNVH • 2020/07/14 SORACOM Discovery 2020の基調講演で発表される。
• 基調講演後、ライブセッションそっちのけで、Orbitの技術セッショ ンとBlog、開発者ガイドを⾒つつ、チャレンジ。 • SORACOM UGナイトイベントに参加しつつ、引き続き格闘。 • C++わかんねーって思いながらやってた。 • 翌2020/07/15 00:41にQiitaに投稿 • https://qiita.com/keni_w/items/de0f9ca67af8be315f93 • 今の所、Orbit使ったブログを3本投稿済み(&1本下書き)です。 403"$0.0SCJUΛͬͯաڈʹ࡞ͬͨͷΛվળͯ͠Έͨɻ
403"$0.0SCJUͱ ݸਓతॴײ 403"$0.6(0OMJOF TPSBDPN TPSBDPNVH アプリケーション(サーバーサイド) エンジニア⽬線だと・・・。 403"$0.0SCJUΛͬͯաڈʹ࡞ͬͨͷΛվળͯ͠Έͨɻ
403"$0.0SCJUͱ ݸਓతॴײ 403"$0.6(0OMJOF TPSBDPN TPSBDPNVH 「⾃分で開発して、 SORACOMプラットフォーム上に アップロードして使う」 403"$0.0SCJUΛͬͯաڈʹ࡞ͬͨͷΛվળͯ͠Έͨɻ
403"$0.0SCJUͱ ݸਓతॴײ 403"$0.6(0OMJOF TPSBDPN TPSBDPNVH • Before Orbit 403"$0.0SCJUΛͬͯաڈʹ࡞ͬͨͷΛվળͯ͠Έͨɻ
403"$0.0SCJUͱ ݸਓతॴײ 403"$0.6(0OMJOF TPSBDPN TPSBDPNVH • After Orbit 403"$0.0SCJUΛͬͯաڈʹ࡞ͬͨͷΛվળͯ͠Έͨɻ
#FGPSF0SCJU 403"$0.6(0OMJOF TPSBDPN TPSBDPNVH 403"$0.0SCJUΛͬͯաڈʹ࡞ͬͨͷΛվળͯ͠Έͨɻ
#FGPSF0SCJU 403"$0.6(0OMJOF TPSBDPN TPSBDPNVH 403"$0.0SCJUΛͬͯաڈʹ࡞ͬͨͷΛվળͯ͠Έͨɻ • SIMの名前(Tags.name)などSIMの情報を取得したいと思った場合、 Funkで呼び出したAWS Lambda側で以下の処理が必要でした。 •
Lambda側の環境変数に、認証情報を格納。 • SORACOMの認証APIを使って、トークンを取得。 • そのトークンを使って、Subscribe APIを使って、SIMの情報を 取得。 • また、初回起動時、認証&Subsribe APIのリクエスト、そして、そ のあとの処理を⾏っていると、そこそこ処理時間がかかること も。。。 • その結果、Funkがタイムアウトし、ボタンが⾚点滅することが稀に ありました。
"GUFS0SCJU 403"$0.6(0OMJOF TPSBDPN TPSBDPNVH 403"$0.0SCJUΛͬͯաڈʹ࡞ͬͨͷΛվળͯ͠Έͨɻ
"GUFS0SCJU 403"$0.6(0OMJOF TPSBDPN TPSBDPNVH 403"$0.0SCJUΛͬͯաڈʹ࡞ͬͨͷΛվળͯ͠Έͨɻ SORACOM Orbitが 登場したことでどうなったか・・・。
"GUFS0SCJU 403"$0.6(0OMJOF TPSBDPN TPSBDPNVH 403"$0.0SCJUΛͬͯաڈʹ࡞ͬͨͷΛվળͯ͠Έͨɻ • SIMの名前(Tags.name)などSIMの情報を取得したいと思った場合、 Funkで呼び出したAWS Lambda側で以下の処理が必要でした。 •
Lambda側の環境変数に、認証情報を格納。 • SORACOMの認証APIを使って、トークンを取得 • そのトークンを使って、Subscribe APIを使って、SIMの情報を 取得。 • また、認証&Subsribe APIのリクエスト、そして、そのあとの処理 を⾏っていると、そこそこ処理時間かかってました。 • そうすると、Funkがタイムアウト&ボタンで⾚点滅することが稀に ありました。
"GUFS0SCJU 403"$0.6(0OMJOF TPSBDPN TPSBDPNVH 403"$0.0SCJUΛͬͯաڈʹ࡞ͬͨͷΛվળͯ͠Έͨɻ 全部なくなりましたー!
"GUFS0SCJU 403"$0.6(0OMJOF TPSBDPN TPSBDPNVH 403"$0.0SCJUΛͬͯաڈʹ࡞ͬͨͷΛվળͯ͠Έͨɻ • Orbit側にSIMの情報を取得する処理を移管した結果、 Lambdaの関数のコード量は半減しました。 • Orbit利⽤前
Orbit利⽤後
"GUFS0SCJU 403"$0.6(0OMJOF TPSBDPN TPSBDPNVH 403"$0.0SCJUΛͬͯաڈʹ࡞ͬͨͷΛվળͯ͠Έͨɻ • 初回起動時間も減少しました。 • Orbit利⽤前 •
Orbit利⽤後 • 全ての処理が移譲できるわけではないので、Funk経由で、AWS Lambda等を呼び出し、クラウド側で何らかの処理をさせるという のは、残ると思います。
"GUFS0SCJU 403"$0.6(0OMJOF TPSBDPN TPSBDPNVH 403"$0.0SCJUΛͬͯաڈʹ࡞ͬͨͷΛվળͯ͠Έͨɻ • 2020/6/25に開催された「 Letʼs IoT プロトタイピング〜ドアの開
閉をモニタリングしよう〜 」で前触れもなく登場したHosted Funk もどきも作れます。 • それについてはこちら https://qiita.com/keni_w/items/0658c14bc0459fa9e94e • GPSマルチユニットを使って、暑さ指数(WBGT値)を計算して、や ばそうなら通知させるっていう季節外れのネタ(来年向け)を作っ てるんですが、Orbitのおかげで、SORACOMプラットフォームだけ で作れそうです。↓こんな感じ。
͜Ε͕ཉ͍͠ͳ0SCJU 403"$0.6(0OMJOF TPSBDPN TPSBDPNVH 403"$0.0SCJUΛͬͯաڈʹ࡞ͬͨͷΛվળͯ͠Έͨɻ • ⾔語の拡充(PythonとかJavaとか?) • SorabitのコンソールでWASMモジュール、古いの⾃動で消える機 能
• 気づくと、MAXでアップできなくて怒られる⼈です • soracom.logの拡充 • ちょっと⾒づらいかなと。 • ローカルデバッグ頑張れ事案でもありますが。。。 • まずはAPI Sandbox(New!)でやってみればいいですかね。。。
·ͱΊ 403"$0.6(0OMJOF TPSBDPN TPSBDPNVH • 前回(2020/05/28 SORACOM UG Tokyo Online)時、
こんなことを書いたのですが、 403"$0.0SCJUΛͬͯաڈʹ࡞ͬͨͷΛվળͯ͠Έͨɻ
·ͱΊ 403"$0.6(0OMJOF TPSBDPN TPSBDPNVH • Before Orbit(再掲) 403"$0.0SCJUΛͬͯաڈʹ࡞ͬͨͷΛվળͯ͠Έͨɻ
·ͱΊ 403"$0.6(0OMJOF TPSBDPN TPSBDPNVH • After Orbit(再掲) 403"$0.0SCJUΛͬͯաڈʹ࡞ͬͨͷΛվળͯ͠Έͨɻ
·ͱΊ 403"$0.6(0OMJOF TPSBDPN TPSBDPNVH デバイス ↓ SORACOMプラットフォーム ↓ クラウド という、
全領域の開発ができるようになりました。 403"$0.0SCJUΛͬͯաڈʹ࡞ͬͨͷΛվળͯ͠Έͨɻ
·ͱΊ 403"$0.6(0OMJOF TPSBDPN TPSBDPNVH 真の総合格闘技ファイターに ※⾃分はまだまだ半⼈前 403"$0.0SCJUΛͬͯաڈʹ࡞ͬͨͷΛվળͯ͠Έͨɻ
·ͱΊ 403"$0.6(0OMJOF TPSBDPN TPSBDPNVH やってみたいけど、 どうすればいい・・・? 403"$0.0SCJUΛͬͯաڈʹ࡞ͬͨͷΛվળͯ͠Έͨɻ
·ͱΊ 403"$0.6(0OMJOF TPSBDPN TPSBDPNVH 403"$0.0SCJUΛͬͯաڈʹ࡞ͬͨͷΛվળͯ͠Έͨɻ • 開発者ガイド(https://dev.soracom.io/jp/orbit/what-is-orbit/)が 素晴らしいので、これを⼀読。 • ソラコムさんのドキュメント系はどれもすごく充実してますが、
これは秀逸ではないかと。 • この開発者ガイドがなかったら、多分環境セットアップで挫折し てた。 • サンプルコードもあるので、それを使えばすぐ試せます。 • と⾔いつつ、AssemblyScriptでめっちゃ苦戦した⼈(⼀番近しい はずなのに。。。)
·ͱΊ 403"$0.6(0OMJOF TPSBDPN TPSBDPNVH 403"$0.0SCJUΛͬͯաڈʹ࡞ͬͨͷΛվળͯ͠Έͨɻ • 使える⾔語がどれもわからない?・・・そこは頑張りましょう。 • とりあえず4つの中からできそうな⾔語にチャレンジです。 •
デバイスがない?・・・今なら、GPSマルチユニットセール中デス。 (アイスの引換券は今⽇のJSTの23:59:59まで!) • https://blog.soracom.com/ja-jp/2020/09/16/connected-campaign/
͓ΘΓ 403"$0.6(0OMJOF TPSBDPN TPSBDPNVH 便利だし、なので、 みんなもっと使ってみようよ! そしてアウトプットしようよ! 403"$0.0SCJUΛͬͯաڈʹ࡞ͬͨͷΛվળͯ͠Έͨɻ
͓ΘΓ 403"$0.6(0OMJOF TPSBDPN TPSBDPNVH 403"$0.0SCJUΛͬͯաڈʹ࡞ͬͨͷΛվળͯ͠Έͨɻ ご静聴ありがとうございました!