前提

構成図(但し、今回のハンズオンにAWSの部分は含みません)


SORACOM Arcについて

今回のハンズオンでは、「セキュアリンクサービス SORACOM Arc」(以下、Arc)を用いてみなさんのPCをSORACOMサービスに接続します。

Arcについて詳しくは以下の公式ページを参照ください。

https://soracom.jp/services/arc/

PCでArcを使うには以下の2つの方法があります。

今回は、WireGuardを用いて接続をします。

利用料金

Arcの利用料金は以下の通りです。

今回のハンズオンでは、ほとんどの方は初めてバーチャルSIMを作成することになりますので、無料枠の中でご利用いただけます。

また、ハンズオン終了後にバーチャルSIMを解約しないでも、翌月以降費用が発生することもありません。作成時の初期費用が無料になるのも最初の1回だけなので、そのまま残しておくのをお勧めします。

WireGuardについて

WireGuardはオープンソースのVPN実装です。OpenVPNやIPsec等に比べ、セットアップが非常に容易で、パフォーマンスにも優れているという特徴があります。

Linuxのカーネルモジュールでの実装の他に、アプリケーション(ユーザー空間)での実装があります。

詳細は公式ページをご覧ください。
https://www.wireguard.com/


SORACOM Beamについて

今回のハンズオンでは、「データ転送サービス SORACOM Beam」(以下、Beam)を用いてOrbitで加工した、ボタンシュミレータから受信データをLine Notifyに転送します。

Beamについて詳しくは以下の公式ページを参照ください。
https://soracom.jp/services/beam/

利用料金

Beamの利用料金は以下の通りです。

今回のハンズオンでは、それぞれ個別のアカウントで作業を行い、リクエストも通常であれば100,000リクエストには達しませんので、無料枠の中でご利用いただけます。


SORACOM Harvestについて

今回のハンズオンでは、「データ収集・可視化サービス SORACOM Harvest」(以下Harvest)を用いてボタンシュミレータから受信したデータを可視化します。
Harvest自体は、データの蓄積(Harvest Data)とファイルの保存(Harvest Files)の2つがありますが、今回は、Harvest Dataのみ扱います。

アップロードされたデータは標準で40日間保存されます。

Harvestについて詳しくは以下の公式ページを参照ください。

https://soracom.jp/services/harvest/

利用料金

Harvestの利用料金は以下の通りです。

今回のハンズオンでは、バーチャルSIM1つを用い、書き込みも通常であれば2,000リクエストには達しませんので、無料枠の中でご利用いただけます。


SORACOM Orbitについて

今回のハンズオンでは、「インラインプロセッシングサービス SORACOM Orbit」(以下Orbit)を用いてボタンシュミレータから受信したデータを加工します。

今回は、時間の都合上事前に用意したWASMを用います。

Appendixとして、開発環境構築、コード準備、ビルドを行う方法も記載しておりますので、興味がある方はそちらも合わせて行なってください。

Orbitについて詳しくは以下の公式ページを参照ください。

https://soracom.jp/services/orbit/

利用料金

Orbitの利用料金は以下の通りです。

今回のハンズオンでは、バーチャルSIM1つを用い、リクエストも通常であれば10,000リクエストには達しませんので、無料枠の中でご利用いただけます。


PCからSORACOM Arcに接続するための必要な VPN ソフトウェア「WireGuard」をインストールします。OS 毎の解説を確認してください。

インストール / Windows 編

  1. https://www.wireguard.com/install/ から をクリックして wireguard-installer.exe をダウンロードします。
  2. ダウンロードした wireguard-installer.exe を実行します。
  3. 実行中に管理者権限を求められた場合は許可してください。
  4. 最終的に以下のような画面が表示されればインストール成功です。この画面は後で利用しますので、表示しておいてください。

インストール / macOS 編

  1. https://www.wireguard.com/install/ からをクリックします。
  2. ブラウザ上でApp Storeの画面が表示されますが、その際ダイアログで、「App Store を開きますか?」と表示されるので、[App Storeを開く]をクリックします。

  1. App Store画面が表示されたら、右上のダウンロードをクリックします。

  1. ダウンロードおよびインストールが終わったら、以下の画面になりますので[開く]をクリックします。

  1. 最終的に以下の画面が表示されれば、インストール完了です。

以下の画像や説明は最新と少し異なる部分もありますので、ご注意ください。

WireGuardに設定する接続情報をSORACOMから入手します。接続情報は「バーチャルSIM」をSORACOM上で作成することで生成されます。

バーチャルSIMの作成

次に、SORACOMのコンソールからArcのバーチャルSIMを作成します。

  1. SORACOMのコンソールにログインします。
    https://console.soracom.io にアクセスすると以下のような画面が表示されます。メールアドレスとパスワードを入れ、「ログイン」ボタンを押します。
    普段SAMでログインしている場合は、そちらでログインしても問題ありません。
  2. 正常にログインできると、多くの方は最初に以下のようにSIM管理の画面が表示されます。まだSIMをお持ちで無い場合は、一覧の部分は空欄になります。



    もしこの画面が表示されない場合は、左上の「Menu」から「SORACOM Air forセルラー」→「SIM管理」を選んでください。

  3. 「サブスクリプションコンテナに対応した新しい SIM 管理画面」に切り替えます。「切り替える」をクリックしてください。

    以下のように「サブスクリプションコンテナに対応した新しい SIM 管理画面をご利用中です。」と表示されていることを確認してください。
    ※既に「新しい SIM 管理画面をご利用中です。」となっている場合は、次のステップに進んでください。

  4. 左上の「SIM登録」を押します。
  5. 以下のようにSIM登録画面が表示されるので、「バーチャルSIMを登録」を押します。
  6. 「登録」を押します。
  7. 「以下のWireGuard接続情報をデバイスに設定してください。」と表示されている内容を保存しておきます。
    「コピー」ボタンを押すことでクリップボードにコピーすることができますので、テキストエディッタなどに貼り付けて保存しておきましょう。
  8. 発行されたバーチャルSIMに名前を付けて、管理しやすくします。一覧画面で「名前」の所の鉛筆ボタンをクリックします。


    例えば「ArcSIM02」といった名前を入力して、リターンキーで確定します。

WireGuardの設定

  1. インストールしていたWireGuardを起動し、「トンネルの追加」から「空のトンネルを追加」もしくは 「設定が空のトンネルを追加」をクリックします。
    [Windowsの場合] [空のトンネルを追加]をクリック


    [macOSの場合] [設定が空のトンネルを追加]をクリック
  2. トンネルの新規作成では、名前 (例: soracom-arc)を設定した後、テキストエリアにバーチャルSIMの作成時に保存しておいたWireGuard 接続情報上書きして「保存」を押します。

    [Windowsの場合]


    [macOS の場合]

    保存時にダイアログが出た場合は、「許可」を押してください。
  3. これで設定は完了です。

接続と動作確認

  1. 「有効化」を押して、SORACOMプラットホームに接続してみます。

    [Windowsの場合]


    [macOS の場合]


  2. 接続できたか、試験をします。
    Windowsの場合はPowerShell (もしくはコマンドプロンプト)を起動します。スタートメニューを右クリックすると起動できます。
    Macの場合は、Finderアプリで「/アプリケーション/ユーティリティ」フォルダを開いて、「ターミナル」をダブルクリックします。

    [Windowsの場合PowerShell (もしくはコマンドプロンプト)を開く]


    [macOS の場合「ターミナル」を開く]


  3. PowerShell(コマンドプロンプト)またはターミナルの中で「ping pong.soracom.io」と入力し、リターンキーを押します。以下のように、pingへの応答があれば成功です。
    pingコマンドが停止しない場合はコントロールキーを押しながら「c」を押すと停止します。
    もし以下のように応答が無い場合は正常に接続できていないので、WireGuardの設定が間違っていないか、また接続が有効になっているかを確認してください。

トラブルシューティング

設定がうまく進まないときにご覧ください。ここまでの作業が出来ている場合は次に進んでください。

①バーチャルSIM登録時の情報を保存し忘れた

  1. SIM管理画面から該当のSIM(「サブスクリプション」が「planArc01」のもの、または名前を付けている場合はその名前で)を探し、チェックボックスをクリックしてから左上の「詳細」を押します。

  2. SIM詳細画面で、「バーチャルSIM」タブをクリック、「高度な設定」をクリック、「公開鍵の更新」をクリックします。

  3. 「認証情報を生成」を押します。

  4. 「クライアントピア秘密鍵」と「クライアントピア公開鍵」を保存しておきます。

  5. 「セッション」タブを押し、「バーチャルSIMセッションのリセット」を押します。

  6. 「バーチャルSIMセッションをリセット」を押します

  7. 一度画面をリロードします。リロードすると再度SIM管理画面が表示されるので、同じ手順でSIM詳細画面を開き、「バーチャルSIM」タブの「セッション」を確認します。
    ここで表示される「クライアントピア公開鍵」が、先ほど保存した値と同じであることを確認します。
    「クライアントピアIPアドレス」、「サーバーピア公開鍵」、「サーバーエンドポイント」の値を保存します。

  8. テキストエディッタなどを開き、WireGuardの設定を以下の形で作成します。
[Interface]
PrivateKey = クライアントピア秘密鍵
Address = クライアントピアIPアドレス

[Peer]
PublicKey = サーバピア公開鍵
AllowedIPs = 100.127.0.0/16
Endpoint = サーバエンドポイント.
  1. 上記の値をWireGuardに設定します。


②WireGuardを有効にしても接続できない

  1. SIM管理画面から該当のSIM(「サブスクリプション」が「planArc01」のもの)を探し、チェックボックスをクリックしてから左上の「詳細」を押します。

  2. SIM詳細画面の「バーチャルSIM」タブの「高度な設定」に進みます。

  3. 「バーチャルSIMの再初期化」を押します。

  4. 以下のように、WireGuardの設定が表示されますので、WireGuardにこの情報を再設定します。
    <YOUR_PRIVATE_KEY>の部分は最初に保存した設定の「PrivateKey」の値をそのまま使います。

  5. 「有効化」を押して接続できるかを試します

SIMグループの作成

SORACOMの各サービスを使うには、SIMをSIMグループへ登録する必要があります。

ここでは、まずSIMグループを作成します。

  1. 左上のMenuをクリックし、[SIMグループ]をクリックします。

  1. [追加]をクリックします。

  1. グループ名として、以下を入力し、[グループ作成]をクリックします。

注意) 以下の画像ではグループ名表示は[handson-soratan-20210821]となっています。

  1. SIMグループ設定画面が出てくれば完了です。

SIMグループへのSIM追加

作成したSIMグループに、Arc設定時に作成したバーチャルSIMを所属させます。

  1. 左上のMenuをクリックし、[SIM 管理]をクリックします。

  1. 作成したバーチャルSIMの左端のチェックボックスをクリックします。

  1. 画面上部の[操作 ▼]をクリックし、[所属グループ変更]をクリックします。

  1. [新しい所属グループ]からさきほど作成したSIMグループを選択し[グループ変更]をクリックします。

  1. グループのところに、選択したグループ名が表示されていれば完了です。

SORACOM Air for セルラー設定

ボタンシュミレータからのデータを適切なフォーマットに変換するバイナリパーサーの設定を行います。

  1. 左上のMenuをクリックし、[SIMグループ]をクリックします。

  1. 左の名前で、作成したSIMグループを選択します。

  1. [SORACOM Air for セルラー設定]左の[>]をクリックします。設定セクションが表示されます。

  1. [バイナリパーサー]横のボタンをクリックして、ONにし、フォーマットに[@button]と入力します。

  1. 最下部の[保存]をクリックします。
  2. [SORACOM Air for セルラー設定]左の[>]をクリックし、設定セクションを閉じます。

動作環境

今回のハンズオンでは、SORACOM LTE-M Button for Enterprise(通称:しろボタン)の代わりに、シミュレータソフトを用います。
現在公式に配布しているバイナリーは、以下の環境で動作確認が取れています。

これ以外の環境をお使いでバイナリが動かない場合は、Node.js + Electronが動く環境であればソースコードからビルドすることで動作すると思われますが、本テキストではビルド環境の構築については触れませんのでご了承ください。

ダウンロードしてインストールする

以下のURLから、ご自身の環境に合わせたバイナリをダウンロードしてください。

https://github.com/kenichiro-kimura/soracom-button/releases/tag/v0.2.0

起動する

Windowsの場合はスタートメニューから、Macの場合はFinderなどからクリックすると起動します(アプリケーション名:soracom-button)。
Macの場合、インストールしたアプリを実行しようとすると、開発元が不明なため開けないと警告が出る場合があります。
その場合は、Finderでアプリを表示して、Controlキーを押しながらアプリケーションアイコンをクリックして、ショートカットメニューから「開く」を選択します。

起動すると以下のような画面が表示されます。


メニューの機能は以下の通りです。

メニュー名

サブメニュー名

機能

File

終了

アプリケーションを終了します

View

サイズ

ウインドウサイズを大/中/小から選択できます。デフォルトは「大」です

ステッカー

ボタンにステッカーを貼って見た目を変えられます。しろボタンとUGバージョンがあり、デフォルトは「しろボタン」です

Help

SORACOM LTE-M Button for Enterpriseユーザーガイド

SORACOMの公式ページが開きます。今回は利用しません。

Open devTools for WebView

デバッグ用です。今回は利用しません。

Viewから見た目やサイズを好きな物に変えてみてください。動作自体は変わりません。

使い方



大きな丸が、ボタンになります。ここをシングルクリック・ダブルクリック・ロングクリックすることができます。クリックすると、SORACOMにデータが送信されます。
小さな丸が、LEDになります。通信中はオレンジに点滅し、5秒ほど点滅をしたあとに実際に通信が発生します。通信結果が成功であれば緑に、失敗であれば赤に1秒ほど点灯します。
「バッテリーレベル」のドロップボックスで、送信するバッテリーレベルを変更できます。バッテリーレベルは1.0/0.75/0.5/0.25から選べます。
「送信状況」の部分に現在の通信内容(例:シングルクリックでバッテリーレベル1.0を送信中)が表示され、通信終了後は通信結果(成功/失敗)が表示されます。
SORACOM Arcで作成したバーチャルSIMの通信状況を、次でセットアップするSORACOM Harvest Dataで見ながら、色々なタイプのクリック情報やバッテリーレベルを送ってみてください。


WASMのダウンロード

今回のSORACOM OrbitのWASMファイルは事前に準備しておりますので、まずはそれをダウンロードします。

  1. 以下にURLにアクセスしてsoracomOrbit/soralet-wasm.zip を任意の場所にダウンロードします。

https://github.com/soracomug/soracom-arc-v-button-handson/raw/main/soracomOrbit/soralet-wasm.zip

  1. ダウンロードしたzipファイルを解凍します。

WASMのアップロード

先ほどダウンロードしたWASMファイルをSoraletとしてアップロードします。

  1. 左上のMenuをクリックし、[SORACOM Orbit]をクリックし、[Soralet管理]をクリックします。

  1. 左上の[+ 新規作成]をクリックします。

  1. Soralet の作成では以下を入力します。
  1. SORALET ID :[button-handson]を入力します。

注意) 以下の画像ではグループ名表示は[handson-soratan-20210821]となっています。

  1. 入力が終わったら、[作成]をクリックします。
  2. VERSIONSタブの[新しいWASMをアップロード]をクリックします。

  1. [ファイルを選択]をクリックし、先ほどダウンロードしたWASMファイルのうち[soralet-optimized.wasm]を選択します。

  1. 選択が終わったら[アップロード]をクリックします。
  2. Version 1 が作成されることを確認したら、SRNに表示されている文字列をコピーして、テキストエディッタなどに貼り付けて保存しておきましょう。

ex) srn:soracom:OP0123456789:jp:Soralet:handson-sorataro-20210821/1


Orbitの設定

SIMグループに先ほど追加したSoraletを紐づけて、Orbitを有効にします。

  1. 左上のMenuをクリックし、[SIMグループ]をクリックします。

  1. 左の名前で、作成したSIMグループを選択します。

  1. [SORACOM Orbit 設定]左の[>]をクリックします。設定セクションが表示されます。

  1. 設定セクションでは以下の設定を行います。
  2. ボタン : ON

    CODE SRN : 先ほどコピーしたSoraletのSRNを貼り付けます。
    その際、/1の部分を /$LATESTに変更します。なお、入力フィールド

    横の歯車ボタンを開くと表示される選択画面で、先ほど作成したSORALETとSORALET VERSIONを選んでも構いません。

    CONTENT TYPE : applicaiton/json

    メタデータ : ON

    DIRECTION : uplinkのみチェック

  1. 入力し終わったら、[保存]をクリックします。

トラブルシューティング

設定がうまく進まないときにご覧ください。ここまでの作業が出来ている場合は次に進んでください。

  1. WASMファイルのアップロード時にエラーになる。

正しいWASMファイルを指定していない可能性がありますので、
解凍済みのWASMファイルを指定してください。


SORACOM Arc & IoTボタンシュミレータ 設定の完了

以上でSORACOM Arc & IoTボタンシュミレータ の設定が完了しました。

以下のURLで「IoT初心者 SORACOM Button ハンズオン(ボタンを押してkintoneに記録しよう!)」をお試しください!

https://qiita.com/yukataoka/private/9979a9ced93b1f0a28ff


後片付け

放置しておいても、課金が発生することはありませんが、後片付けを行います。

すでに今回のハンズオン以外で、Orbit、Harvestなどのサービスをお使いの場合は、料金が発生しますので、不要の場合は削除を行ってください。

バーチャルSIMについても、アカウントに1つだけは無料で保持できますので、そのままでも問題ありません。1つ以上お持ちの方のみ、不要の場合は削除を行ってください。

WireGuardの削除

OS標準のアンインストール方法で削除します。

SORACOM LTE-M Button for Enterpriseシミュレータの削除

こちらもOS標準のアンインストール方法で削除します。

Soraletの削除

Soraletも残しておいても問題ありませんが、不要な場合は削除します。

Soraletを削除するためには、まずOrbit側での設定を削除します。

  1. SIMグループのSORACOM Orbitの設定セクションで、Orbitの設定を削除します。[削除]をクリックして、削除します。

  1. 問題なければそのまま[削除]をクリックします。これでOrbitの削除は完了です。

  1. 続いてSoraletの設定画面にで、グループへの紐付けがなくなってる(Referred Groupsが空)と、WASM右端のゴミ箱アイコンがクリック可能になりますので、クリックします。

  1. 問題なければそのまま[削除する]をクリックします。

  1. 「バージョンが削除されました」と表示されれば完了です。
    Appendixを実施されて、Soraletのバージョンが複数ある場合は、同じように全て削除してください。

  1. バージョンが全て無くなったら、Solaret自体の削除が可能になりますので、右上の[削除]ボタンをクリックします。

  1. 問題なければそのまま[削除]をクリックします。これで完了です。

SIMグループの削除

SIMグループを削除するには、紐づいているSIMグループを削除してから削除する必要があります。

  1. SIMの紐付け解除は、SIMグループの登録と同じ手順で、SIMを選択して、SIMの所属グループ変更画面を表示します。そこで、新しい所属グループで[グループ解除]を選択して、登録すれば解除されます。

  1. SIMグループの削除は、SIMグループ設定画面右上の[削除]をクリックします。

  1. 問題なければそのまま[削除する]をクリックします。これで完了です。

なお、SIMの紐付けがあると、エラーになりますので、必ずSIMの紐付けを全部解除してから行ってください。

バーチャルSIMの削除(すでに1つ以上バーチャルSIMがある方のみ実施してください)

  1. バーチャルSIMの解約は、通常のSIMの解約と同じく、SIMを選択後、画面上部の[操作 ▼]をクリックし、[解約]をクリックします。

  1. 問題なければ、そのまま[解約する]をクリックしてください。

  1. SIM一覧からバーチャルSIMがなくなっていればOKです。

ここまでで、後片付けは終了です。