IoTの3要素「モノ・ネットワーク・クラウド」を体験いただけるワークショップです。

LTE-M通信を内蔵したIoTボタン「SORACOM LTE-M Button」(以下、IoTボタン)と、SORACOMのIoTサービスを組み合わせて、実用性のあるIoTシステムを組み立てます。

本ワークショップで体験いただけるのは2つです。

  1. IoTボタンの押下データを、SORACOM上のサービスに蓄積します (20分)。
  2. IoTボタンの押下データを、LINE Notifyを通じてお手元のLINEに通知します (15分)。

利用するデバイスやサービスの紹介

LTE-M内蔵 IoTボタン「SORACOM LTE-M Button」

SORACOM LTE-M Button はボタン型 IoT デバイスで、用途や機能で3種類のモデルがあります。ここでは共通部分を解説します。

ボタンは押し方に応じて3種類の情報をクラウドに送信できます。通信には省電力のLTE「LTE-M」が使われており、そのSIMは「eSIM」です。通信設定が済んでいる状態ですぐに利用開始できます。電源は交換可能な単4電池2本で、小型で持ち運びも可能です。

データ収集・蓄積「SORACOM Harvest」

IoT デバイスからのデータの収集や蓄積、およびファイルを保持できるサービスが SORACOM Harvest (ソラコム ハーベスト) です。

IoT では特にデータ活用が重要です。デバイスからのデータをいち早く確認したいという要望に対し、利用するクラウドが決まっていない、決まっているが準備が整わないために、開発スピードが滞る事があります。

SORACOM Harvest の利点

SORACOM Harvest は、 SORACOM 上のデータ収集・蓄積サービスです。
SORACOM のアカウントを持っている時点で即座に利用いただけます。機能のON/OFFはオンライン上で行うことができ、契約は1日単位であるため、開発時の必要時に絞って利用できます。

SORACOM Harvest は蓄積するデータの種類によって2つの機能があります。
IoT デバイスからのデータの収集・蓄積に対応しているのが SORACOM Harvest Data、画像ファイルやログファイルといったファイルに対応しているのが SORACOM Harvest Files です。

インラインプロセッシング「SORACOM Orbit」

IoTデバイスとクラウド間のデータ形式のギャップを埋める変換処理を行えるサービスが SORACOM Orbit (ソラコム オービット) です。

IoTデバイスとクラウドでは、扱うデータ形式が異なるケースがあります。具体的には、IoTデバイス上ではデータ格納効率を優先してバイナリー形式を、クラウドでは他システム連携を優先してJSONを扱うといった形です。

一方で、IoTを実現するにはデータ形式を合わせる必要があります。IoTデバイス側がJSONを扱う、もしくはクラウド側でバイナリーを処理するのは「不得意なこと」を行うことになり非効率です。

SORACOM Orbit の利点

SORACOM Orbitは、IoTデバイスとクラウドの間で「変換処理」を提供します。変換処理自体は、プログラムで書きます。データ形式の整形から、演算、条件分岐なども可能です。

IoTデバイスからバイナリー形式で送信したデータを、Orbit上のプログラムでJSONに変換してからクラウドに送る事が可能となり、それぞれの得意なデータ形式での実装をおこないつつ、つなげることができます。

プログラムはWASM (WebAssembly) という形式でOrbitに登録しておきます。そして、データがOrbitを通過する毎にWASMが実行される仕組みです。
WASM はプログラム言語に依存せず生成できます。例えば Rust で書いたプログラムをコンパイルしてWASMファイルを作ります。実際にSORACOM Orbitで動かすWASMファイルを作るには、SORACOM Orbit SDKに対応した言語で記述いただきます。4言語(2022年9月時点)に対応しています。

データ転送「SORACOM Beam」

IoTデバイスから送信されたデータを、任意のクラウドやサーバーへ転送できるサービスが SORACOM Beam (ソラコム ビーム)です。

IoTデバイスとクラウドを連携するには、IoTデバイス内のプログラムに送信先のクラウドやサーバーのアドレスをハードコード(決め打ちで記述)するのが一般的です。

なんらかの理由でアドレス変更が必要となった場合、すべてのIoTデバイスのプログラムを書き換える必要があります。この "理由" には、システム刷新に伴うアドレス変更といった大がかりな状況はもちろん、出荷前の試験用と本番用でアドレスが異なるといった日々の運用でもあり得ることです。

SORACOM Beamの利点

IoTデバイスのデータ送信先アドレスをクラウドへ直接設定するのではなく、SORACOMプラットフォームに設定することで、SORACOM Beamが利用できます。IoTデバイスとクラウドの間に挟み込む形です。

SORACOM Beamでは「最終的なデータ送信先のアドレス」を設定できます。これで、IoTデバイスからのデータをSORACOM Beam上の設定に沿って転送が可能です。アドレスの変更に伴うIoTデバイス上のプログラム変更は不要となります。

また、転送時には追加でTLSによるデータの暗号化や、HTTPヘッダの追加・編集も可能です。これらの実装をIoTデバイスから無くす(= 実装量を減らす)効果もあります。

LINE Notify

作業2では、LINE Notifyを使ってIoTボタンの押下データをLINEへ通知します。

LINE Notifyには、以下の特徴があります。

非常にシンプルな設定を行うだけで、LINEに対して通知を送信できるサービスです。詳細は公式ページを参照ください。

ここまで確認したら

次に進みます。

本ワークショップを行うためには、以下の準備を行ってください。

当日までに準備しておくこと

以下は、ワークショップ当日までに準備を済ませておいてください。

ワークショップ中でも行うことは可能ですが、時間の考慮はされていないため、時間内に作業を終える事ができない可能性があることにご留意ください。

#

備考

SORACOM アカウントの作成

SORACOM アカウント (オペレーター) を作成するを参考に、作成を済ませてください。

SORACOM LTE-M Button の登録

ユーザーコンソールに SORACOM LTE-M Button for Enterprise を登録するを参考に、登録を済ませてください。

メールアドレスと
パスワードが設定済みの
LINE アカウント

作業2のLINEの通知先に利用します。

当日の持ち物

以下は、ワークショップ当日の持ち物です。

#

備考

パソコン

ワークショップテキストを閲覧したり、SORACOM ユーザーコンソール (Web管理画面) の
操作を行います。

  • Windows 10 もしくは 11 、macOS 12.0 もしくは 11.0 であること。
  • Wi-Fi によるインターネット接続が可能で、Webサイトへの接続制限が無いこと。
  • Google Chrome 等の最新ブラウザが利用可能であること。
  • 3〜4時間の連続利用が可能な環境 (特にACアダプター)
  • ※タブレットやスマホでの参加はサポート外となります。

LINE通知が受信できる
スマートフォン

作業2のLINE通知の確認に利用します。

SORACOM LTE-M Button
for Enterprise

LTE-M 通信内蔵 IoT ボタンです。一人1ケ、使用します。

本文中では「IoTボタン」と称します。

SORACOM アカウント

IoT ボタンの操作を行うためのSORACOMアカウントです。

ここまで達成したら

次に進みます。

作業1では、IoTボタンのデータを SORACOM Harvest Data に蓄積して、そのデータを確認します。

手順は以下の通りです。

  1. SORACOM ユーザーコンソールへのログインと、SIM の確認
  2. スマート設定を利用した、IoTボタンの設定

ここまで達成したら

次に進みます。

SORACOM のサービスを利用するためには、SORACOMのWeb管理画面「SORACOM ユーザーコンソール」(以下、ユーザーコンソール)へログインします。

SORACOM ユーザーコンソールへログインする

SORACOM アカウントにログインからログインをします。

ログインが成功し、使用状況を一覧できる「ダッシュボード」が表示されることを確認してください

ユーザーコンソールの画面左上[メニュー]→[SIM管理]とクリックします

IoT ボタンに紐づいている SIM を確認します

図では「Enterprise Button 3」と名前を割り当てています。登録直後では名前が無いため、例えばサブスクリプションが "plan-KM1" の SIM といった形で探してください。

ここまで達成したら

次に進みます。

スマート設定機能を利用して、IoTボタンからのデータの蓄積と通知を素早く行います。

ユーザーコンソールの左上[メニュー]→[ガジェット管理]→[LTE-M Button for Enterprise]とクリックします

デバイス一覧の画面で[デバイスを追加]をクリックします

ここで「データが見つかりません」と表示されているのは正常です。このリストに、今からIoTボタンを追加するためです。

使用するデバイスを選択する画面で、IoTボタンにチェックを付けた後[次へ:グループを選択]をクリックします

複数候補があった場合、名前が「Enterprise Button XX (XXは数字)」となっている行にチェックを付けてください。

設定を保存するグループを選択する画面で、[新規グループを作成]にチェックがついていることを確認したうえで、グループ名に入力をして[次へ:設定を編集]をクリックしてください

設定名

備考

グループ名

ボタンワークショップ

値は任意(自由に設定可能)です。

LTE-M Button for Enterprise/Plus の設定の画面では、以下のように設定を行い、最後に[保存]をクリックします

設定名

備考

可視化

可視化を有効にする

チェックを付ける

簡易位置測位機能

位置情報を付与する

チェックを付ける

メール送信

メール送信を有効にする

チェックを外す

標準でチェックが外れているため、何もせずOKです。

宛先

(変更しない)

標準で "空" であるため、何もせずOKです。

件名

(変更しない)

本文

(変更しない)

その後表示されるダイアログで[デバイス一覧に戻る]をクリックします。

デバイス一覧の画面で、先ほどは「データが見つかりません」と表示されていた一覧へ、設定したLTE-Mボタンが表示されていれば成功です。

ここまで達成したら

次に進みます。

IoTボタンを押して、データの蓄積を確認してみましょう。

デバイス一覧画面で、データを確認したIoTボタンにチェックを付け、[SORACOM Harvest Data]をクリックします

表示された画面が「SORACOM Harvest Dataによる蓄積データ確認画面」です。[自動更新]をクリックして ON にします

この時点では、IoTボタンからはデータ未送信であるため「データが見つかりません」と表示されますが正常です。

自動更新をONにしておくことで、新しく蓄積されたIoTデータを自動表示できるようになります。

IoTボタンを押す

IoTボタンを押して、データを確認してみましょう。ボタン部分を押下後、最終的に LED が緑色に点灯したらデータ送信成功です。

1件のデータが到着した様子

データが SORACOM Harvest Data に表示されていることが確認できます。

表示を別の表現に変更してみる

SORACOM Harvest Data では、データをグラフ形式にしたり、位置情報に該当するデータがあれば地図へのマッピングもできます。本ワークショップでは簡易位置測位機能をONにしているため、位置の表示ができます。

棒グラフでの表示の様子

地図での表示の様子

※ プライバシーに配慮してボカしていますが、実際ははっきりとした地図で表示されます。

データ内の $metadata.lat$metadata.lon を基にした位置をポイントしています。

ここまでのおさらい

以上で、作業1「IoTボタンのデータを、データ収集・蓄積サービス "SORACOM Harvest Data" で確認」を達成しました。

ここまで達成したら

次に進みます。

作業2の全体像

作業2では、SORACOM Orbit と SORACOM Beam を利用して、LINE Notifyを呼び出し、LINEへの通知を行います。

手順は以下の通りです。

  1. LINE Notify の設定 / LINE Notify を呼び出す際に必要な「トークン」の入手
  2. SORACOM Beam の設定 / IoTボタンのデータを LINE Notify へ転送
  3. SORACOM Orbit の設定 / IoTボタンのデータフォーマットを LINE Notify 向けに加工処理

ここまで達成したら

次に進みます。

LINE Notify を呼び出すのに必要な「トークン」を入手、メモします。

LINE Notifyにログイン

トークンを取得するために、LINE Nofityにログインします。

  1. https://notify-bot.line.me/ja/ にアクセスします。
  2. 右上の[ログイン]をクリックします。

  1. LINEに登録済みのメールアドレスとパスワードを入力してログインします。

トークン取得

ログインしたらトークンを取得します。なお、ここで発行したトークンは同じものは再発行できないので、無くさないようにお願いします。

  1. 右上のアカウント名が表示されているところをクリックして、[マイページ ]をクリックします。

  1. アクセストークンの発行(開発者向け)の[トークンを発行する]をクリックします。

  1. "トークンを発行する" では、以下の設定を行います。

トークン名 : soracom-handson (名称は任意です)

通知を送信するトークルーム : 1:1でLINE Notifyから通知を受け取る

  1. [発行する]をクリックします。トークンが発行されます。

  1. 前述のとおり、発行されたトークンはここでしか取得できませんので、必ずコピー([コピー]をクリック)して、テキストエディタなどに貼り付けて保存しておきましょう。

LINE Notify のトークンがメモできたら完了です。

ここまで達成したら

次に進みます。

SORACOM Beamの設定を行い、LINE Notifyに通知できるようにします。

ユーザーコンソールの画面左上[メニュー]→[SIM管理]とクリックします

IoTボタンに紐づいている SIM グループをクリックします

SOARCOM Beam 設定をクリックしてから「設定を追加する」をクリックし、[UDP → HTTP/HTTPS エントリポイント]をクリックします

SORACOM Beamの設定を、以下のように設定します

変更する場所のみを記載しています。その他の項目は、変更不要です。

設定名

備考

転送先

ホスト名

notify-api.line.me

ポート番号

443

パス

/api/notify

カスタムヘッダの[追加]をクリックします

追加された行を、以下のように設定します

変更する場所のみを記載しています。その他の項目は、変更不要です。

設定名

備考

ヘッダ名

Authorization

Bearer (LINE Notifyのトークン)

"Bearer" とトークンの文字列の間には
半角スペースを入れてください

例: Bearer TaPXtIpjrd...

[保存]をクリックします

以下のようになれば OK です。

ここまで達成したら

次に進みます。

SORACOM Orbitの設定を行い、LINE Notify 向けフォーマット変換ができるようにします。

本来、SORACOM OrbitはRust等のプログラム言語とOrbit SDKを使ってプログラミングし、WASMファイルとしてコンパイルするといった開発作業があります。

本ワークショップでは、すでにコンパイル済みのWASMファイルを用意しました。これを利用することで、ゼロから開発することなくワークショップを進めることができます。ソースコードが公開されています。

WASMファイルのダウンロード

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

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

  1. ダウンロードしたZIPファイルを展開してください。
    ZIPファイルの中には、WASMファイルが2つあります。ここでは soralet-optimized-with-geo.wasm を利用します。

ユーザーコンソールの画面左上[メニュー]→[SORACOM Orbit]→[Soralet 管理]とクリックします

Orbit用にコンパイルされたWASMファイルの事を、SORACOMでは「Soralet (ソラレット)」と呼んでいます。先ほどダウンロードしたWASMファイルはSoraletです。

SoraletをSORACOM Orbitに登録(アップロード)して、実行できるようにします。

[新規作成]をクリックします

「Soraletの作成」では、以下のように設定を行い、最後に[作成]をクリックします

設定名

備考

Soralet ID

iot-button-workshop-with-geo

[新しいWASMをアップロード]をクリックします

[ファイルを選択]をクリックし、soralet-optimized-with-geo.wasm ファイルを選択した後、[アップロード]をクリックします

このように「新しいバージョンが作成されました」というダイアログと共に、Version 1の行が表示されていれば、アップロード成功です。

ユーザーコンソールの画面左上[メニュー]→[SIM管理]とクリックします

IoTボタンに紐づいている SIM グループをクリックします

[SORACOM Orbit 設定]をクリックした後、OFF となっているスイッチをクリックして ON にし、[選択]をクリックします

「利用する Soralet Version を選択」では、以下のように設定して、最後に[OK]をクリックします

設定名

備考

Soralet

iot-button-workshop-with-geo

"Soraletの作成" で指定した Soralet ID です。

Soralet Version

$LATEST

最新を意味します。

残りの設定は以下のようにして設定し、最後に[保存]をクリックします

設定名

備考

Uplink

チェックを付ける

簡易位置測位機能

ON にする

標準では OFF です。クリックして ON にしてください。

以上で、SORACOM Orbitの設定は完了です。

ここまで達成したら

次に進みます。

IoTボタンを押すと、以下のようにLINEへ通知が届きます。

ボタンの押され方、バッテリーレベル、簡易位置測位による緯度経度とGoogle Mapへのリンクが通知されています。

通知のメッセージフォーマットは Soralet 内で組み立てています。詳細は Soralet のソースコードをご覧ください。

ここまでのおさらい

以上で、作業2「LINEへの通知」を達成しました。

ここまで達成したら

次に進みます。

SORACOMサービス内の設定削除と、LINE Notifyのトークン削除は自身で行ってください。

LINE Notifyのトークンの削除

LINE Notifyは無料です。そのため登録したままでも問題ありませんが、不慮の操作を防ぐためにも、不要になった段階で削除をおすすめします。

  1. LINE Notifyにログインし、マイページで今回使ったトークン横の[解除]をクリックします。

  1. 出てきたダイアログで、問題なければ、[解除]をクリックします。マイページで表示がなくなっていれば削除完了です。

SORACOMサービス内の設定削除

今回設定したSORACOMサービスは、以下4点です。

スマート設定機能の解除

ボタンに割り当てられたスマート設定機能を解除します。

  1. ガジェット管理 / SORACOM LTE-M Button を開きます
  2. スマート設定機能を解除したいボタンにチェックを付けます
  3. [設定削除]をクリックし、[設定を解除する]をクリックします

以上で、ボタンに割り当てられたスマート設定機能は解除されます。ただし、SIMグループは残ります。SIMグループは後述の手順で削除してください。

スマート設定機能自体の保管は無料です。

SIM グループの削除

スマート設定機能で自動的に作成されたSIMグループを削除します。

  1. SIMグループを開きます
  2. 削除したいSIMグループをクリックします
  3. [削除]をクリックし、[削除する]をクリックします

以上で、SIMグループの削除は完了です。SIMグループ内の設定内容は、削除完了時点ですべて無効化されます。SIMグループの復活はできません。設定内容のバックアップが必要であれば、削除前にメモを取ってください。

SIMグループに、ボタン(SIM)が所属していると削除ができません。SIMグループ削除の前に、スマート設定機能の解除を行ってください。

SIMグループ自体の保管は無料です。

Soralet の削除

SIM グループの削除で Orbit 設定自体は無効化されます。しかし、Soralet は削除されないので別途Soralet を削除します。

  1. Soralet 管理を開きます
  2. 削除したい Soralet をクリックします
  3. Versions に表示されている一覧のゴミ箱アイコンをクリックし、[削除]をクリックします
  4. 右上の[削除]クリックし、[削除]をクリックします

以上で、Soralet の削除は完了です。

Soralet 自体の保管は無料です。整頓のための削除となります。

SORACOM Harvest Data のデータ削除

SORACOM Harvest Data は、データ保存から40日を超えると自動的に削除されます。また、データ保管料は無料です。よってこのままでも特に困りませんが、データの整頓を行いたい場合は、能動的に削除が可能です。

  1. SORACOM Harvest Data を開きます
  2. データ削除を行いたいボタン(SIM)を、左上の「リソース」から選びます
  3. 表示されたデータの中で削除したいデータにチェックを付け、[削除]をクリックし、[削除]をクリックします

データの復元はできません。ご注意ください。

費用について

ここで記載している金額はすべて税込、送料別となります。

SORACOM LTE-M Button for Enterprise (Plus) に係る費用

ご利用にあたっては本体の価格とは別に、内蔵されている SIM (plan-KM1) の基本料金(月額110円)と、データ通信量に応じたデータ通信料が発生します。

plan-KM1 の料金はご利用料金 - 特定地域向け IoT SIM (plan-KM1) をご確認ください。

データ通信量の目安は 1送信あたり約0.3円です。

SORACOM プラットフォームの利用料金

SORACOM Harvest Data を始めとした SORACOM プラットフォーム利用料は後述の通りかかります。

サービス/機能

料金

SORACOM Harvest Data

  • 本機能を有効にしたグループに所属する1SIMあたり5.5円/日 (2000リクエスト/日/SIMを含む)。
  • 2000リクエスト/日を超えた分は0.0044円/リクエスト。

SORACOM Beam

  • 1リクエストあたり 0.00099円。
  • SORACOM Beamへの入力で1リクエスト、出力で1リクエストとカウントします。そのため、例えばUDP→HTTPSでは、UDPでの入力で1リクエスト、HTTPSへの出力で1リクエストの2リクエストが課金されます。

SORACOM Orbit

  • 本機能を有効にしたグループに所属する1SIMあたり22円/月。
  • 10,000リクエストあたり44円。10,000リクエスト毎の課金です。

簡易位置測位機能

  • 本機能を有効にしたグループに所属する1SIMあたり55円/月 (750リクエスト/月/SIMを含む)
  • 750リクエスト/月を超えた分は0.165円/リクエスト

※ 費用詳細はリンク先をご確認ください。

【確認】本テキストついて / 謝辞

本コンテンツは無償で公開しています。URL が必要な方はブックマーク等メモしてください。事前の断りなく公開中止やURL 変更される場合があります。

著作権は株式会社ソラコムに帰属しています。再利用を希望される場合はご連絡ください。

また、本テキストにおけるWASM製作や基となったテキストはSOARCOM ユーザーグループ(UG)の皆様のご協力によるものです。この場を借りてお礼申し上げます!
SORACOM UGは「IoTの仲間が集まるコミュニティ」です。どなたでも参加いただけます。日本各地での支部の開催や、オンラインイベントにぜひご参加ください!