SORACOM Orbit では、デバイスから SORACOM プラットフォームに送信されたデータを、SORACOM サービスや外部システムへ送信する前に、ユーザーが独自に作成した WebAssembly (以下、WASM) のモジュールで加工できます。また、SORACOM サービスや外部システムからデバイスへのレスポンスも処理できます。
さらに、WASM モジュールで Orbit SDK を利用すると、デバイスから IoT SIM のタグ などのデータを取得できます。
さまざまなプログラミング言語に対応
近年さまざまなプログラミング言語が WASM 形式での出力をサポートしていますので、開発者の使い慣れた言語やフレームワーク、過去のソフトウェア資産を活用し素早くデータ変換処理を開発できます。
Orbit では、以下のプログラミング言語向けの開発環境を提供しています。ここでは Visual Studio Code を利用した開発環境のセットアップ、WASM モジュールの開発・テスト・アップロードについてご案内します。
- AssemblyScript: TypeScript のサブセットで WASM モジュールを書くことに特化した言語です。JavaScript や TypeScript を書いたことのある方は最も親しみやすいでしょう。既存の npm パッケージを利用可能な場合もありますので、開発をスピーディーに進められるかもしれません。
- Rust: WASM モジュールの開発と親和性の高い言語です。
- C/C++ (Emscripten) : Emscripten というツールチェインを使うことで、C/C++ のソースコードを WASM モジュールにコンパイルすることができます。組み込み系などで C/C++ プログラミングの経験がある方はすぐにでも開発が始められるでしょう。
- TinyGo: マイクロコントローラーや WASM をターゲットとした Go 言語のサブセット実装です。Orbit 実行環境では現時点で
syscall/js.*
モジュールをサポートしていないためfmt
パッケージが使えないなど制約はありますが、サーバーサイドで Go 言語を使っている開発者はスムーズに始められると思います。
SORACOM Orbit を利用するまでの流れ
SORACOM Orbit を利用するまでの流れは以下の通りです。
- WASM モジュール開発環境をセットアップする
- WASM モジュールを開発 / テストする
- WASM モジュールを SORACOM プラットフォームへアップロードしてテストする
- 通信で WASM モジュールが使用されるように SIM グループを設定する
- デバイスでデータを送受信してテストする
SORACOM API Sandbox でテストできます
アップロード用 WASM モジュールを SORACOM API Sandbox にアップロードして、安全にテストできます。詳しくは、アップロード用 WASM モジュールをビルドする を参照してください。