LoginSignup
12
10

More than 5 years have passed since last update.

SORACOM Airの回線速度変更APIの適用タイミング検証

Last updated at Posted at 2015-10-01

SORACOMリリース記念のリレーブログ10/2担当の ma2shita(まにした) です

9/30にセンセーショナルなローンチをされたソラコムさんのSORACOM Airですが、なんとAPIでSIM制御ができます

じゃあ回線速度の変更APIを叩いたら、どのくらいのタイムラグでそれが適用されるのか?気になったので検証してみました
(早速APIネタでいいのか、という声は無視してAPIトライネタです)

検証機は、弊社のIoTゲートウェイ "OpenBlocks IoT BX1" を使いました。無論、SORACOM Airに対応しております! (広告)

fig 1-1.png

※お約束ですが、これは個人のメモ/意見であり、所属する組織を代表するものではありません

ちなみに従来だと

回線速度を変えるとなったら、一大事でした
事務手数料はかかる、別のSIMが来る、実際の切り替えまで1ヶ月かかる、そんな不満をAPIで解消するわけです!

TL;DR

結論から書いちゃうと APIを叩いてから2〜3秒で適用されます
もはや即時適用と言って過言ではありません

実際にやってみた時のスクリーンキャスト動画(90秒)はこちらです

開封の儀

Docomoさんの回線を使っているとのことなので、SIMは Docomoさんのパッケージです

fig 1-2a.jpg

SIMは3種類から選べます。今回入手したのはnano-SIMです
交換対応はどうなんでしょうか?情報が待たれます

"OpenBlocks IoT BX1" をWi-Fiルータにしてみる

検証用として OpenBlocks IoT BX1 (以下、BX1) にSORACOM AirのSIMを挿し、BX1をWi-Fiルータにしてみます

作業としては、たった2つです

  1. 無線APとしてBX1を設定する
  2. APNの設定をする

SIMを挿す

まずは、電源OFF状態のBX1に SORACOM Air のSIMを挿します

fig 1-3.jpg

BX1は標準SIMサイズ(mini-SIMサイズ)を挿れることが出来ます。SIMアダプタの使用は保証外のようです1

電源を入れる

BX1には電源ボタンが無く、シリアルコンソール兼電源用コードを挿すだけで起動が始まります
起動に4分程かかりますので、腹筋しながらお待ちください2

Web管理画面から設定する

無線APとして設定する

BX1のWeb管理画面の表示から無線APとして設定する方法は、クラスメソッドのせーのさんの記事が秀逸です。是非ご覧ください!3

Screenshot from 2015-09-30 14:34:34.png

APNの設定をする

SORACOM Airの設定はBX1のWeb管理画面にAPN設定があるので、マニュアル記載のAPNやID/Passwordを設定して再起動するだけです

fig 1-4.png

以上で、BX1をWi-Fiルータ化でき、3G回線を使ったIoTゲートウェイとして利用することができます

SORACOM AirのスゴさはAPI

SORACOM Airのスゴさは、SIM、即ち回線の制御がすべてAPIで提供されるところです

変更は即時適用され、しかも標準で提供されるという、今までのキャリア回線では考えられなかった環境が手に入ります
APIドキュメントは公開されていて、直ぐに利用可能です。今回は回線速度の変更のAPIを使って、ダイナミックに回線速度を変更してみます

やりたいことは、こんな感じ

fig 1-5.png

注: 文中のAPIリクエスト/レスポンスは10/1時点のもので、変更されているかもしれませんので、最新のドキュメントを確認してください

RubyのSDKをインストールする

API操作のため、Ruby向けのAPI SDKツールをインストールします

SORACOMのAPIはHTTPS RESTです。が、認証の仕組み等、正直めんどうです(^^;
Ruby向けSDKが用意されており、コマンドラインからAPI操作ができるようになりますので、是非とも入れましょう4

Ruby SDKのインストール

SDKページの方法に沿ってインストールします
https://dev.soracom.io/jp/tools/

$ (sudo) gem install soracom

これで soracom コマンドが使えるようになります

$ soracom version
Soracom API tool v1.0.1

APIを叩いてみる (soracom sim list)

Web consoleのアカウントを作成したら、APIが直ぐ叩けます

まず、いきなり叩いてみましょう

コマンド中の YOUR_SORACOM_EMAIL YOUR_SORACOM_PASSWORD は、Webコンソールへのログインアカウント情報です
※これ以降では省略します

$ export SORACOM_EMAIL=YOUR_SORACOM_EMAIL
$ export SORACOM_PASSWORD=YOUR_SORACOM_PASSWORD
$ soracom sim list
[]

まだSIMを登録していないので、空のJSON配列が返ってきました5
見ての通りJSONでデータが返されるため、jqを使った加工操作も可能です

SIMを登録する

SIMの登録もAPIからできますが、ここはWebコンソールから行いました

必要な情報はSIMカードに書かれている「IMSI」「PASSCODE」です

fig 1-6.png

上記情報をWebコンソールに入力し、登録を完了します

fig 1-7.png

再度 sim list してみましょう

$ soracom sim list
[
  {
    "imsi": "4XXXXXXXXXXX2",
    "msisdn": "8XXXXXXXXXXX3",
    "ipAddress": "X.XXX.X.XXX",
    "apn": "soracom.io",
    "type": "s1.standard",
...snip...
    "status": "active",
    "tags": {
      "FormFactor": "nano",
      "name": "ma2sim",
      "Manager": "ma2shita"
    },
...snip...
  }
]

ええ感じで返ってきました!
tagもSIMに割り当てることができますから、管理も捗ります

ここまで出来れば、あとは弄りたい放題ですので、速度の変更を試してみます

速度の変更API

あらためて現状のSIMの回線速度を確認します

$ soracom sim list | jq .[0].speedClass
"s1.minimum"

速度変更は sim update_speed_class です。対象となるSIMのIMSIと、変更先速度の名前を指定します

s1.fastに変更してみます

$ soracom sim update_speed_class --imsi=4xxxxxxxxxxx2 --speed-class=s1.fast | jq .[0].speedClass
"s1.fast"

無事、変更完了です。あっけないほど、簡単です

--speed-class に指定できるのは、10/1時点での速度クラスは 4つです

  • s1.minimum
  • s1.slow
  • s1.standard
  • s1.fast

色々なところで書かれていますが、どこかで見たことのあるような、クラス名です

本題: 通信中の速度変更はどうなのか?

恐れいります、やっと本題です

通信中にAPIで速度を変更すると、どうなるのか?です

fig 1-5.png

結論、即時適用されます!

s1.minimum → s1.fast → s1.standard → s1.minimum と試してみたスクリーンキャストがこちらです (90秒動画)

SORACOM Air APIの適用タイミング検証の動画

APIを叩いてから、2〜3秒で転送速度が変化しています
無論、セッションも切れていません。素晴らしいの一言に尽きます!

まとめ & ひきつぎ

SORACOM Airは「通信費が8割も安い」と価格面が強調した紹介がされていますが、本質的にはモバイル回線を "24時間365日つながってるもの" から "必要なときだけ使うもの" へと変えてしまう、ルールチェンジャー的なサービスといえます

今回のAPIコントロールや、ここでは紹介できなかった SORACOM Beamと、今までできなかったことを実現するソラコムのサービスに今後も期待できます

次は10/5(月)のクラスメソッド 都元さんにバトンをお渡しします、よろしくお願いします!



  1. ※どうしても使う場合はフィルムで固定する系統のSIMアダプタが使えるらしいですが、何度も言いますがアダプタ利用は保証外です。最悪は、SIMスロットが壊れてしまいます(T_T 

  2. ※3GモデムとSIM情報の読み込みに時間がかかっているようです。この辺は改善が待たれます 

  3. ※自社のページじゃないところが、なんともニンニン 

  4. ※ さもなくば、curlとお付き合いください 

  5. ※ サブコマンドの simsubscriber の別名です。本体は subscriber ですが、個人的には sim の方がわかりやすいです。。。 

12
10
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
10