SORAZINEは、世界中のヒトとモノをつなげ共鳴する社会をビジョンに掲げるIoTプラットフォーム SORACOMのメディアです。

日本発IoTスタートアップ ソラコムの「今」をお伝えします

SORACOM のサービスを SORACOM SIM と SIM フリースマホ、PC だけで体験してみる

2019 年 5 月に入社した三國です。SORACOM ではサポートエンジニア担当しています。

約4年前の2015年の9月にサービスを開始した SORACOM ですが、当時に比べて IoT の知名度が広く一般に知られるようになり、IT 系以外の方からも「IoT 向け通信ってどういうものなんですか?」「SORACOM さんの通信はスマホで使えないの?」というお声をいただくようになりました。

かく言う私も SORACOM に入ってみて、改めて「SORACOM の通信は何が IoT 向けなのか?」ということを肌で感じてみたいと思い、今日は 一番身近な(?) IoT デバイスとして使うことができる "SIM フリースマホ" を使って簡単に SORACOM のサービスを体験できるブログをご用意しました。

今回トライしてみたこと

・ 普通にインターネット接続してみよう! SORACOM Air ・ 接続先をセキュアにしてみよう! Private Garden
・ データを取得してみよう! SORACOM Air メタデータサービス機能
・ データを送ってみよう! Unified Endpoint
・ データを可視化してみよう! SORACOM Harvest
・ データをクラウドへ転送してみよう! SORACOM Beam

準備するものや費用感

・ NTT ドコモまたは KDDI(au) の回線に対応できる SIM フリースマホをご用意ください。
・ スマホに挿入可能な SIM のサイズと、それに合わせた SORACOM Air SIM をお求めください。
・ plan-D(データ通信のみ)/plan-K を利用した場合、以下の費用がかかります (2019 年 6 月 1 日現在)。1 日で終わった場合、合計で 2,000 円以内で完了します。
  ・ SIM 購入費用 895~ 1,500 円 (税別) + 送料
  ・ 基本料金 10 円 / 日
  ・ Private Garden 利用料 5 円 / 日
  ・ SORACOM Harvest 利用料 5 円 / 日
  ・ SORACOM Air データ通信料金、SORACOM Beam 利用料 数円 (利用量に応じて課金)
  ・ 詳細は公式ドキュメントをご参照ください (https://soracom.jp/pricing/)

事前準備

・ iPhone に Apple 公式の「ショートカット」アプリを入れる (このアプリを使って HTTP REST API を呼び出すことができます)
https://itunes.apple.com/jp/app/id915249334?mt=8
・ android の場合、SORACOM や Google の公式アプリはありませんが、たとえば以下のようなアプリで REST が呼び出せます。選択やインストールは自己責任でお願いします。
https://play.google.com/store/apps/details?id=com.app.restclient&hl=ja

手順

...一部実際に PC と スマートフォンでスクリーンショットなどを撮って手順の紹介をします
[1] SORACOM に登録する
[2] SORACOM から SIM を購入する
[3] SIM が届いたら受け取り確認をし、スマートフォンに SIM を挿す
[4] スマートフォン のアクセスポイントを設定する (iPhone の場合、要Wifi環境)
[5] Wifi を切って、インターネット接続を行う
[6] Private Garden を有効にして接続先をセキュアにする
[7] SORACOM Air メタデータサービス機能 から Unified Endpoint に送るためのデータフォーマットを取得する
[8] 事前にインストールしたアプリを用いて Unified Endpoint に データを送り、SORACOM Harvest で可視化する
[9] SORACOM Beam でデータを外部に送る

1. SORACOM に登録する

以下のページの手順に従い、SORACOM サービスに登録します。クレジットカード情報が必要となります。
https://dev.soracom.io/jp/start/console/#account

2. SORACOM から SIM を購入する

以下のページの手順に従い、SIM の購入ができます。
https://dev.soracom.io/jp/start/console/#order

参考のスクリーンショット =>
f:id:nmikuni:20190607191916p:plain f:id:nmikuni:20190607191932p:plain

購入する SIM カードのサイズは機種によって異なります。たとえば iPhone であれば以下の Apple 公式サイトを参考にするなど、機種ごとにご確認ください。
https://support.apple.com/ja-jp/HT202645

3. SIM が届いたら受け取り確認をし、スマートフォンに SIM を挿す

受け取り確認は、SIM の購入をした時と同様の「発注」メニューから以下のスクリーンショットのように行えます。
f:id:nmikuni:20190607191936p:plain

その後の SIM カードの挿入方法は機種によって異なります。たとえば iPhone であれば以下の Apple 公式サイトを参考にしてください。
https://support.apple.com/ja-jp/HT201337

4. スマートフォン のアクセスポイントを設定する (iPhone の場合、要Wifi環境)

以下のページの「アクセスポイント名(APN)の設定」に記載された手順に従い、アクセスポイントの設定ができます。iPhone の場合、構成ファイルが必要となりますので Wifi 環境などからダウンロードください。
https://soracom.jp/start/

APN 設定をしている様子を動画にまとめてみました。動画に音声はありませんが字幕で解説しています。


04 apn

5. Wifi を切って、インターネット接続を行う

いよいよ SORACOM Air SIM を使ってインターネット接続をしてみましょう。まずは Wifi を切ります。
また、購入したばかりの SORACOM Air SIM のデフォルト通信速度は 512Kbps で、IoTデバイスのような少量のデータ通信であれば必要十分な通信速度が割り当てられています。今回はそれを活かしてデータ量が軽量なサイトとして「世界最古の CERN のサイト」を表示してみました。

http://info.cern.ch/hypertext/WWW/TheProject.html

調べてみると、上記のウェブサイトは 137バイト(!)という、今からでは考えられないくらい軽量のウェブページですが残っていることにも驚きです。

スマートフォンの Wi-Fi を OFFにしてから SORACOM Air 経由でインターネットにアクセスしてみた動画が以下となります。動画に音声はありませんが字幕で解説しています。


05 accessInternet

このように、通常の SIM として利用することも可能です。通信速度はコンソールから変更することができ、最大で 2Mbps まで増速できます。速度に応じてデータ使用料が変動します。また、SOARCOM の SIM はデータ通信(もしくはデータ通信+SMS)になっています。音声通話を実現したい場合は、LINE 電話や Skype といったデータ通信上でのアプリケーションやサービスをお使いください。

(参考) SIM 設定の変更
https://dev.soracom.io/jp/start/console/#managesim
(参考) データ通信料金
https://soracom.jp/services/air/cellular/price/#price4

この通信は以下の図のように、スマートフォン => 各種キャリアの基地局 => 各種キャリアのデータセンター => SORACOM のプラットフォーム => インターネットという経路を通っています。

f:id:nmikuni:20190616130233p:plain
通信経路の図

6. Private Garden を有効にして接続先をセキュアにする

SORACOM の魅力は上記で行った通信速度の変更などがユーザーコンソールや API コールで簡単にできることです。たとえば、Private Garden という機能を用いて SORACOM プラットフォームからインターネットに出られなくすることが可能です。

一見すると「それって意味があるの?」と思われる方もいらっしゃるかもしれませんが、インターネットに出られる仕組みを限定的にすることで、例えば「OS のアップデートが自動的に動いて、多大な費用がかかってしまった」や「悪意のあるソフトウェアが勝手にインターネットにデータを流出させてしまった」といった事故を防ぐことが可能となります。

以下のページの手順に従い、Private Garden 機能を有効にできます。こちらは追加の費用が発生しますのでご注意ください。
https://dev.soracom.io/jp/docs/private_garden/

今回は以下の流れで設定します。
6-1. ユーザーコンソールにアクセスする
6-2. SIM グループを作成する
6-3. 購入した SIM を作成したグループに所属させる
6-4. SIM グループの設定にて
SORACOM Air for Cellular 設定 => VPG (Virtual Private Gateway) 設定 => ON => プルダウンより [Shared VPG for Private Garden (PrivateGarden)] => 保存
6-5. セッションを一度切断し、再接続する 6-6. インターネットにアクセスできなくなる

動画はこちらになります。動画に音声はありませんが字幕で解説しています。=>


06 privateGarden

7. SORACOM Air メタデータサービス機能から Unified Endpoint に送るためのデータフォーマットを取得する

それではインターネットに出れない状態で、SORACOM プラットフォームが提供するサービスを使ってみましょう。
IoT といえばセンサーなどからデータをインターネット上のサーバに送るイメージがあるかと思いますが、その疑似体験をします。
スマートフォンで送るデータを手入力するのもひと手間かかります。ダウンロードできれば良いのですが、そのためだけにクラウドストレージを準備するのも、また手間です。

SORACOM は通信回線を細かく制御できることは、これまで解説してきましたが、実は回線自体に管理用の情報を付与することができ、コンソール上での検索にはもちろん、API を通じて管理情報を入手することができる機能が「メタデータサービス」です。 今回は入力用のデータを「管理情報」としてメタデータサービスに格納してダウンロードできるようにしてみます。

メタデータサービスの詳しい解説や利用シーンについては、以下をご覧ください。 https://dev.soracom.io/jp/start/metadata/

今回は以下の流れで設定します。
7-1. SIM グループの設定にて
SORACOM Air for Cellular 設定 => メタデータサービス設定 => ON => ユーザーデータに以下をコピー & ペースト => 保存

{"temperture":25,"Humidity":40}

7-2. スマートフォンのブラウザで以下の URL にアクセスし、表示された文字列をコピーする
http://metadata.soracom.io/v1/userdata

このように、ソラコム内のプラットフォームにはアクセスでき、設定したデータをコピーできました。このデータには作成したグループに所属している SIM を挿したデバイスからのみアクセスできます。
動画はこちらになります。動画に音声はありませんが字幕で解説しています。=>


07 metadata

8. 事前にインストールしたアプリを用いて Unified Endpoint に データを送り、SORACOM Harvest で可視化する

それではセンサーからデータを送る疑似体験をしましょう。
SORACOM では Unified Endpoint というエンドポイントを用意しており、こちらへデータを送ることで SORACOM Beam, SORACOM Funnel, SORACOM Harvest といった SORACOM のサービスから好きなものにデータを連携することが可能です。今回は SORACOM Harvest と連携し、データを可視化してみましょう。
Unified Endpoint の詳細は以下のドキュメントをご参照ください。
https://dev.soracom.io/jp/unified_endpoint/what-is-unified_endpoint/

今回は以下の流れで設定します。スマートフォンのアプリよって順番やできることが若干異なります。
8-1. SIM が所属しているグループにで SORACOM Air メタデータサービス機能が有効になっていることを確認する
8-2. SIM が所属しているグループで SORACOM Harvest を有効にする
8-3. インストールしたアプリにて、SORACOM Air メタデータサービス機能からユーザーデータをダウンロードし、Unified Endpoint へ送信する設定をする
(Unified Endpoint へ送信するときは、メソッドは POST とし、Header は 「Content-Type: application/json」、送りたいデータを Body に入力します。)
8-4. アプリより Unified Endpoint へデータを送信し、SORACOM Harvest で可視化できることを確認する

今回 iPhone の「ショートカット」アプリで使用したショートカットはこちらになります。送信先をデバイスごとに変えなくてよいので、このように配布も簡単です。

drive.google.com

iPhone から送信した例を動画で紹介します。動画に音声はありませんが字幕で解説しています。


08 UnifiedHarvest

9. SORACOM Beam でデータを外部に送る

SORACOM Beam は、SORACOM プラットフォームで受けたデータを外部に転送することができるサービスです。 Unified Endpoint を使えば、デバイス側の設定を変更することなく SORACOM Harvest と同時に SORACOM Beam へ送信することができます。 今回は httpbin.org という、シンプルな HTTP リクエスト & レスポンスサービスへ送ってみます。Private Garden のように、デバイスから直接のインターネットアクセスをが限定されている環境においても、SORACOM Beam を用いて安全に外部へデータを送れるのを実感してみましょう。

今回は以下の流れで設定します。スマートフォンのアプリよって順番やできることが若干異なります。
9-1. SIM が所属しているグループにで SORACOM Air メタデータサービス機能が有効になっていることを確認する
9-2. SIM が所属しているグループで SORACOM Beam を有効にする。設定は以下のように行う
・エントリポイント => HTTP エントリポイント
・エントリポイントのパス => /
・転送先のホスト名 => httpbin.org
・転送先のパス => /post
(その他の設定は不要です)
9-3. Unified Endpoint 設定でフォーマットを "SORACOM Beam" にする
9-4. インストールしたアプリにて、SORACOM Air メタデータサービス機能からユーザーデータをダウンロードし、Unified Endpoint へ送信する設定をする
(8-3 で行った手順と同じなため、設定済であればこの手順は不要です)
9-5. アプリより Unified Endpoint へデータを送信し、レスポンスが httpbin.org からきていることを確認する
9-6. SORACOM Harvest にもデータが送られていることを確認する

iPhone から送信した例を動画で紹介します。動画に音声はありませんが字幕で解説しています。


09 UnifiedBeam

体験したサービスを支える大事なコンセプト

SORACOM は簡単にセキュアな IoT 通信を実現するためのプラットフォームです。
基地局から SORACOM プラットフォームに専用線を引いているため、インターネットに接続させずにサービスを利用することが簡単にできます。
SORACOM プラットフォームまでが専用線なため、暗号化していない HTTP 通信やTCP, UDPでも安全にデバイスから送れます。その後可視化したり、暗号化して他のサービスと連携することも可能です。
今回は紹介しませんでしたが、SORACOM Canal/Direct/Door や SORACOM Gate などを用いてよりセキュアにユーザのエンドポイントとつなげることも可能ですので、よろしければ参考にしてみてください。さらに応用サービスとして SORACOM Endorse, SORACOM Inventory, SORACOM Junction などもありますが、それはまたの機会に...。
https://soracom.jp/services/canal/
https://soracom.jp/services/direct/
https://soracom.jp/services/door/
https://soracom.jp/services/gate/

少しでも SORACOM サービスの魅力が伝わりましたら幸いです。長文をお読みくださりありがとうございました!