• 投稿日
  • 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 サービスの魅力が伝わりましたら幸いです。長文をお読みくださりありがとうございました!