今回のハンズオンでは、「セキュアリンクサービス SORACOM Arc」(以下、Arc)を用いてみなさんのPCをSORACOMサービスに接続します。
Arcについて詳しくは以下の公式ページを参照ください。
https://soracom.jp/services/arc/
PCでArcを使うには以下の2つの方法があります。
今回は、WireGuardを用いて接続をします。
Arcの利用料金は以下の通りです。
今回のハンズオンでは、ほとんどの方は初めてバーチャルSIMを作成することになりますので、無料枠の中でご利用いただけます。
また、ハンズオン終了後にバーチャルSIMを解約しないでも、翌月以降費用が発生することもありません。作成時の初期費用が無料になるのも最初の1回だけなので、そのまま残しておくのをお勧めします。
WireGuardはオープンソースのVPN実装です。OpenVPNやIPsec等に比べ、セットアップが非常に容易で、パフォーマンスにも優れているという特徴があります。
Linuxのカーネルモジュールでの実装の他に、アプリケーション(ユーザー空間)での実装があります。
詳細は公式ページをご覧ください。
https://www.wireguard.com/
今回のハンズオンでは、「データ転送サービス SORACOM Beam」(以下、Beam)を用いてOrbitで加工した、ボタンシュミレータから受信データをLine Notifyに転送します。
Beamについて詳しくは以下の公式ページを参照ください。
https://soracom.jp/services/beam/
Beamの利用料金は以下の通りです。
今回のハンズオンでは、それぞれ個別のアカウントで作業を行い、リクエストも通常であれば100,000リクエストには達しませんので、無料枠の中でご利用いただけます。
今回のハンズオンでは、「データ収集・可視化サービス SORACOM Harvest」(以下Harvest)を用いてボタンシュミレータから受信したデータを可視化します。
Harvest自体は、データの蓄積(Harvest Data)とファイルの保存(Harvest Files)の2つがありますが、今回は、Harvest Dataのみ扱います。
アップロードされたデータは標準で40日間保存されます。
Harvestについて詳しくは以下の公式ページを参照ください。
https://soracom.jp/services/harvest/
Harvestの利用料金は以下の通りです。
Harvest を有効にしたグループに所属する 1 SIM カードまたは 1 デバイスあたり
1 日 5.5 円
書き込みリクエスト: 1 リクエストあたり 0.0044 円
1 SIM カード / デバイスあたり 1 日 2,000 リクエストまでの料金は上記の「Harvest 利用オプション」の料金内に含まれます。
2,001 回目のリクエストから課金対象です。
SORACOM Harvest は無料利用枠をご提供しています。
1 アカウントあたり毎月 31 日 分の「Harvest 利用オプション」が無料です。(月末締めで自動で計算されます。)
2 つの SIM カード / デバイスで 15 日だけ利用した場合なども合計で 31 日以内なので無料利用枠の対象です。
無料利用枠内で利用している場合でも、書き込みが 1 日 2,000 リクエストを超えた分は従量課金が発生します。
月内の利用日の合計が 31 日以内でも無料利用枠が翌月に持ち越されることはありません。
今回のハンズオンでは、バーチャルSIM1つを用い、書き込みも通常であれば2,000リクエストには達しませんので、無料枠の中でご利用いただけます。
今回のハンズオンでは、「インラインプロセッシングサービス SORACOM Orbit」(以下Orbit)を用いてボタンシュミレータから受信したデータを加工します。
今回は、時間の都合上事前に用意したWASMを用います。
Appendixとして、開発環境構築、コード準備、ビルドを行う方法も記載しておりますので、興味がある方はそちらも合わせて行なってください。
Orbitについて詳しくは以下の公式ページを参照ください。
https://soracom.jp/services/orbit/
Orbitの利用料金は以下の通りです。
Orbitを利用したSIMの数に応じて、料金が発生します。
SIM 毎に 22 円/月
オペレーター単位にリクエスト数の合計数に応じて料金が発生します。
10,000 リクエストあたり 44 円
1 アカウント、カバレッジごとに、以下の無料利用枠をご提供いたします。
無料利用枠: 1SIM分
リクエスト無料利用枠: 10,000リクエスト分
今回のハンズオンでは、バーチャルSIM1つを用い、リクエストも通常であれば10,000リクエストには達しませんので、無料枠の中でご利用いただけます。
PCからSORACOM Arcに接続するための必要な VPN ソフトウェア「WireGuard」をインストールします。OS 毎の解説を確認してください。
wireguard-installer.exe
をダウンロードします。wireguard-installer.exe
を実行します。以下の画像や説明は最新と少し異なる部分もありますので、ご注意ください。
WireGuardに設定する接続情報をSORACOMから入手します。接続情報は「バーチャルSIM」をSORACOM上で作成することで生成されます。
次に、SORACOMのコンソールからArcのバーチャルSIMを作成します。
soracom-arc
)を設定した後、テキストエリアにバーチャルSIMの作成時に保存しておいたWireGuard 接続情報上書きして「保存」を押します。ping pong.soracom.io
」と入力し、リターンキーを押します。以下のように、pingへの応答があれば成功です。設定がうまく進まないときにご覧ください。ここまでの作業が出来ている場合は次に進んでください。
[Interface]
PrivateKey = クライアントピア秘密鍵
Address = クライアントピアIPアドレス
[Peer]
PublicKey = サーバピア公開鍵
AllowedIPs = 100.127.0.0/16
Endpoint = サーバエンドポイント.
SORACOMの各サービスを使うには、SIMをSIMグループへ登録する必要があります。
ここでは、まずSIMグループを作成します。
注意) 以下の画像ではグループ名表示は[handson-soratan-20210821]となっています。
作成したSIMグループに、Arc設定時に作成したバーチャルSIMを所属させます。
ボタンシュミレータからのデータを適切なフォーマットに変換するバイナリパーサーの設定を行います。
@button
]と入力します。今回のハンズオンでは、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で見ながら、色々なタイプのクリック情報やバッテリーレベルを送ってみてください。
今回のSORACOM OrbitのWASMファイルは事前に準備しておりますので、まずはそれをダウンロードします。
https://github.com/soracomug/soracom-arc-v-button-handson/raw/main/soracomOrbit/soralet-wasm.zip
先ほどダウンロードしたWASMファイルをSoraletとしてアップロードします。
注意) 以下の画像ではグループ名表示は[handson-soratan-20210821]となっています。
ex) srn:soracom:OP0123456789:jp:Soralet:handson-sorataro-20210821/1
SIMグループに先ほど追加したSoraletを紐づけて、Orbitを有効にします。
ボタン : ON
CODE SRN : 先ほどコピーしたSoraletのSRNを貼り付けます。
その際、/1の部分を /$LATESTに変更します。なお、入力フィールド
横の歯車ボタンを開くと表示される選択画面で、先ほど作成したSORALETとSORALET VERSIONを選んでも構いません。
CONTENT TYPE : applicaiton/json
メタデータ : ON
DIRECTION : uplinkのみチェック
設定がうまく進まないときにご覧ください。ここまでの作業が出来ている場合は次に進んでください。
正しいWASMファイルを指定していない可能性がありますので、
解凍済みのWASMファイルを指定してください。
以上でSORACOM Arc & IoTボタンシュミレータ の設定が完了しました。
以下のURLで「IoT初心者 SORACOM Button ハンズオン(ボタンを押してkintoneに記録しよう!)」をお試しください!
https://qiita.com/yukataoka/private/9979a9ced93b1f0a28ff
放置しておいても、課金が発生することはありませんが、後片付けを行います。
すでに今回のハンズオン以外で、Orbit、Harvestなどのサービスをお使いの場合は、料金が発生しますので、不要の場合は削除を行ってください。
バーチャルSIMについても、アカウントに1つだけは無料で保持できますので、そのままでも問題ありません。1つ以上お持ちの方のみ、不要の場合は削除を行ってください。
OS標準のアンインストール方法で削除します。
こちらもOS標準のアンインストール方法で削除します。
Soraletも残しておいても問題ありませんが、不要な場合は削除します。
Soraletを削除するためには、まずOrbit側での設定を削除します。
SIMグループを削除するには、紐づいているSIMグループを削除してから削除する必要があります。
なお、SIMの紐付けがあると、エラーになりますので、必ずSIMの紐付けを全部解除してから行ってください。
ここまでで、後片付けは終了です。