Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
可能性は無限大!SORACOM Orbit 入門 /SORACOM Orbit-UG Onli...
Search
SORACOM(ソラコム)
PRO
September 24, 2020
Technology
1k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
可能性は無限大!SORACOM Orbit 入門 /SORACOM Orbit-UG Online #1
2020年9月24日(木)SORACOM UG Online #1
可能性は無限大!SORACOM Orbit 入門
株式会社ソラコム プリンシパルエンジニア 小熊 崇/ogu
SORACOM(ソラコム)
PRO
September 24, 2020
More Decks by SORACOM(ソラコム)
See All by SORACOM(ソラコム)
基調講演:人とAIをつなぐIoTの今と未来 ー 「フィジカル」と「デジタル」が出会うその先へ【SORACOM Discovery 2026】
soracom
PRO
1
660
CTOキーノート:AI時代の「つなぐ」を再定義 ― 真のIoTとリアルワールドAI【SORACOM Discovery 2026】
soracom
PRO
0
600
カメラ×AIで挑む「ホワイト物流」― 車両管理、自動化の壁と突破口【SORACOM Discovery 2026】
soracom
PRO
1
250
AIと人が繋ぐ顧客体験:チカクが実践するLINE×Wisora活用事例【SORACOM Discovery 2026】
soracom
PRO
0
150
サイズと機能の壁を打破!みてねGPSが挑むiSIM活用秘話【SORACOM Discovery 2026】
soracom
PRO
0
160
人手不足への挑戦:車両保全を支えるIoTとクラウド内製化の道【SORACOM Discovery 2026】
soracom
PRO
0
240
GMOフィナンシャルゲートが挑む、「止まらない」決済インフラ構築の裏側【SORACOM Discovery 2026】
soracom
PRO
0
170
害獣害虫を自動判別! ペストコントロール支援ビジネス成功のヒント【SORACOM Discovery 2026】
soracom
PRO
1
220
移動の壁をなくし、ボーダレスな社会へ!UNI-ONE開発秘話と実践【SORACOM Discovery 2026】
soracom
PRO
0
160
Other Decks in Technology
See All in Technology
SQL文一行も書けない人事がCortexもろもろを使って人事業務を楽にしてみる
ponponmikankan
1
180
推論の観測、できていますか? 〜 Google Cloud Gemini Enterprise Agent Platformで 3つの Gemini モデルを実測して踏んだ、評価の罠 〜
shukob
PRO
0
180
AIオーケストレーションを活用した 開発ワークフローの設計と実践
bqnq
0
110
Screen Lens - 今見てる画面を翻訳する
komagata
0
170
Oracle Cloud Infrastructure IaaS 新機能アップデート 2026/6 - 2026/8
oracle4engineer
PRO
0
130
アリアドネの糸と、20年ごとの建て替え ── 長尾真『電子図書館』を、伊勢で読み直す / Rereading Makoto Nagao’s "Electronic Library" in Ise
ykiyota
0
120
「図書館」という名前のままでいいのか -Code4Lib JAPANカンファレンス2026 アンカンファレンス報告- / Code4Lib JAPAN Conference 2026: Unconference Report
ykiyota
0
120
AI活用の現在地、 ちゃんと見えてますか?/XPfest-2026
visional_engineering_and_design
0
170
AIとペアプロを始める。人とのペアプロをやめる。ペアプロの良さを改めて知る。もっと好きになった。 / Rediscovering Pair Programming
honyanya
1
310
【視聴者参加型!】AWSセキュリティアンチパターンクイズ
syoshie
1
480
AI時代のAPI品質を支えるガードレール / API Guardrails for API quality in the AI era
yokawasa
1
190
プロダクトエンジニアに必要な「いい感じ」に作る能力 〜たくさん作れる時代に、どこまで作るかの決め方〜
jnishime_dresscode
2
1.4k
Featured
See All Featured
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
510
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
69
65k
Embracing the Ebb and Flow
colly
88
5.2k
Mind Mapping
helmedeiros
1
350
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Making Projects Easy
brettharned
120
6.7k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.6k
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
310
4 Signs Your Business is Dying
shpigford
187
23k
It's Worth the Effort
3n
188
29k
Code Reviewing Like a Champion
maltzj
528
40k
Transcript
可能性は無限大! SORACOM Orbit 入門 2020.09.24 SORACOM UG Online #1 株式会社ソラコム
プリンシパル ソフトウェア エンジニア 小熊 崇 @ogu
自己紹介 小熊 崇(おぐま たかし)- @ogu • プリンシパルソフトウェアエンジニア • SORACOM Orbit
開発者 • AT コマンドの本を書きました: SORACOM で学ぶ AT コマンド入門 https://zenn.dev/bearmini/books/12ebf8331d6f9ea1d90d
目次 1. SORACOM Orbit とは? 2. なぜ SORACOM Orbit ?
3. SORACOM Orbit の使い方
SORACOM Orbit とは?
インライン プロセッシング サービス SORACOM プラットフォームの通信経路上 (=インライン)で お客様が定義したデータ変換処理(=プロセッシング)プログラムを実行 IoT デバイス Unified
Endpoint ユーザーコード (変換処理) SORACOM Funk SORACOM Funnel SORACOM Beam SORACOM Orbit SORACOM Lagoon SORACOM Harvest
インライン プロセッシング・・・? όΠφϦͰ ૹ৴͍ͨ͠ 0x1A2B... IoT デバイス σʔλ௨৴ྔΛ ݮͰ͖Δ サーバー
{ "battery": 54, "latitude": 35.652748, "longitude": 139.750827 } +40/ Ͱ ड৴͍ͨ͠ ΫϥυͰ ॲཧ͍͢͠
インライン プロセッシング・・・! όΠφϦͰ ૹ৴͍ͨ͠ 0x1A2B... IoT デバイス σʔλ௨৴ྔΛ ݮͰ͖Δ サーバー
{ "battery": 54, "latitude": 35.652748, "longitude": 139.750827 } +40/ Ͱ ड৴͍ͨ͠ ΫϥυͰ ॲཧ͍͢͠ ユーザーコード (変換処理) SORACOM Orbit
バイナリパーサーとどう違うの? バイナリパーサー • ◦ シンプル • ◦ すぐに使える • ?
固定のフォーマットにしか対応できない • ? 入力形式はバイナリのみ • ? 出力形式は JSON のみ • ? アップリンク方向のデータのみ変換できる SORACOM Orbit • ◦ 好きな言語で自由に処理を書ける • ◦ ソラコム公式の開発環境が用意されている • ◦ ある程度複雑なフォーマットでも対応可能 • ◦ バイナリ以外のデータにも対応 • ◦ JSON 以外の出力も可能 • ◦ ダウンリンクのデータも変換可能 • ◦ バイナリパーサーと組み合わせての利用も可能
バイナリだけじゃない SORACOM Lagoon SORACOM Harvest { "lat":35.000000, "lon":139.000000, "bat":3, "rs":4,
"temp":16.0, "humi":32.4, "x":0.0, "y":-64.0, "z":-960.0, "type":0 } ユーザーコード (変換処理) SORACOM Orbit { "lat":35.000000, "lon":139.000000, "bat":3, "rs":4, "temp":16.0, "humi":32.4, "x":0.0, "y":-64.0, "z":-960.0, "type":0, "name":"oguのGPSマルチユニット", "imsi":"44010xxxxxxxxxx", "inside_area":1, "distance":0.123487 } GPS マルチユニット SORACOM Edition SIM のタグなどの メタ情報
Funk + FaaS とどう違うの? SORACOM Funk + FaaS • ◦
ほぼなんでもできる • ◦ クラウドサービスとの連携 • ? Harvest や Lagoon との連携にはひと工夫必要 SORACOM Orbit • ◦ Orbit の中に閉じた処理であれば何でもできる • ◦ SIM のメタデータ等を活用できる • ◦ Harvest や Lagoon に直結
Funk + FaaS からの Harvest / Lagoon SORACOM Funk 経由で
AWS Lambda を呼び出して処理 その後 Inventory を使って Harvest にデータ投入 SORACOM Inventory SORACOM Funk SORACOM Harvest SORACOM Lagoon AWS Lambda IoT デバイス 外部にサーバー等を用意しなくてすむお手軽さが Harvest / Lagoon の良さですが、 これだとちょっと大変… ユーザーコード (変換処理)
Harvest / Lagoon との連携 ちょっとだけデータの形式を変えて Harvest に入れたい場合に シンプルに実現可能 SORACOM Orbit
SORACOM Harvest SORACOM Lagoon IoT デバイス ユーザーコード (変換処理) Unified Endpoint
なぜ SORACOM Orbit ?
それは2017年にさかのぼります LPWA はデータサイズが 小さいとはいえ、データの 一部を読んで場合分けし たいことはありそうだよ なぁ・・・ ogu LPWA のバイナリデータを
かんたんに JSON に変換できる バイナリパーサーを作りましょう! 記法はこんな感じで: status:0:uint:2:7 battery:0:uint:6:5:*2 latitude:5:float:32 longitude:1:float:32 altitude:7:uint:16:/10-100 いいね!
ogu DSL 記法は便利だけど、ソラコム独自の記法をユーザーのみなさまに覚えてもらうのは心苦しい・・・ 場合分けなどの複雑な機能を持たせたら、なおさら学習コストが高まる・・・ 複雑な DSL を作っちゃうとソラコム側でのメンテナンスコストも・・・ nginx とかみたいに Lua
を使えばいいのかな・・・ Lua も馴染みがない人が多いよなぁ・・・ 今後廃れちゃうかもしれないしな・・・ 任意のプログラミング言語をサポートできるのが理想だけど、 そうするためにはユーザーさんの書いたネイティブコードを動かせるようにしたり、 Java VM みたいなものを動かしてその上でユーザーさんのコードを動かせるように する必要がありそう。そうなるとセキュリティが・・・ https://blog.soracom.com/ja-jp/2020/07/14/soracom-orbit/ 新サービス SORACOM Orbit のご紹介(&開発秘話)
時は流れて2019年
WebAssembly のいいところ • いろいろな言語で書いたコードを Wasm 形式に出力できる • お客様は使い慣れた言語を使えるので学習コスト:低 • ソラコム側は
Wasm ランタイムのみサポートすればよいので メンテナンスコスト:低 • 言語の流行に左右されるリスク:低 • セキュア • もともと Web 向けに開発された • 軽量・高速
WebAssembly で万事解決! όΠφϦͰ ૹ৴͍ͨ͠ 0x1A2B... IoT デバイス σʔλ௨৴ྔΛ ݮͰ͖Δ サーバー
{ "battery": 54, "latitude": 35.652748, "longitude": 139.750827 } +40/ Ͱ ड৴͍ͨ͠ ΫϥυͰ ॲཧ͍͢͠ ユーザーコード (変換処理) SORACOM Orbit
SORACOM Orbit の使い方
SORACOM Orbit の使い方 1. 対応言語で変換処理プログラムを書く 2. Wasm モジュールにコンパイル 3. アップロード
4. テスト 5. 本番投入! 詳しくは SORACOM Orbit 開発者ガイド https://dev.soracom.io/jp/orbit/what-is-orbit/
SDK 提供言語 • AssemblyScript • TypeScript のサブセット • Rust •
WASM との親和性の高い言語 • C/C++ • Emscripten というツールセットで WASM に対応 • TinyGo • Go 言語のサブセット ※ 2020年9月現在 New!
開発は VS Code を使ってめっちゃ簡単 • Dev container • 開発環境(コンパイラ等)インストール済・設定済 •
Orbit extension • Soralet の管理 • アップロード • テスト実行 • ログ確認
でも、お高いんでしょう・・・? 無料利用枠 • 基本料金 1 SIM 分 • リクエスト 10,000
回分 くわしくは SORACOM Orbit のご利用料金 https://soracom.jp/services/orbit/price/
API Sandbox も Orbit をサポート /v1/soralets 以下の API を実行できるようになりました •
Soralet のアップロード • テスト実行 • ログの確認 etc. … New!
サンプルプログラム • 各言語用の SDK 内に同梱 • SORACOM IoT DIY レシピ
• Meitrack T366による車両トラッキング https://soracom.github.io/iot-recipes/vehicle-tracking-by-meitrack-t366 • SORACOM Summer Challenge 2020 • 1万円で作る SORACOM LTE-M Button Plusで冷蔵庫を用いた見守りシステム https://qiita.com/reomaru7/items/8276ab4dee1c8bdc1183 • Qiita • SoracomOrbit で検索
Orbit でできることのほんの一例 • デバイスからは CSV を送信、JSON に変換 • 入出力のフォーマットは自由 •
LTE-M button の Click type を type 別にカウント • デバイスからの GPS 座標と、タグに設定しておいた中心座標から距離を 計算しジオフェンシング • SIM のタグから設定値を読み込んで処理に利用可 • デバイスやサーバーサイドのバージョン違いを吸収 :
無限大の可能性 感じていただけましたか? 特に Harvest / Lagoon との相性が最高なので オススメです! みなさまからのフィードバックお待ちしております!
世界中のヒトとモノをつなげ 共鳴する社会へ