【セキュアモバイルコネクト】cat.M1のLTEモジュールで通信できることを確認しました

IoTチームの矢野です。
今話題のcat.M1対応LTEモジュールに、セキュアモバイルコネクトのSIMカードを挿して通信できることを確認しました。
検証時の設定と確認方法を紹介させていただきます。

cat.M1とは

LTE(4G)で通信するデバイスにはUEカテゴリという端末の通信性能を示す指標があります。この中でもcat.M1は特に電力消費量が少なく、LPWA(Low Power Wide Area)の通信方式として注目されています。通信速度を必要とせず、電池で動作するIoT機器に最適です。
cat.4 下り150Mbps/上り50Mbps
cat.3 下り100Mbps/上り50Mbps
cat.1 下り10Mbps/上り5Mbps 電力消費が少ない (sakura.io LTEモジュールなど)
cat.M1 下り0.375Mbps/上り0.375Mbps 電力消費が極めて少ない(BG96,SIM7000など)

動作を確認したLTEモジュール

どちらのモジュールも日本国内の技術基準適合証明及び技術基準適合認定を取得済みです。
・Quectel社 BG96MATEA-128-SGN 公式評価ボード(以下BG96)
→BG96のメーカーサイト
・SIMCOM社 SIM7000JC 公式評価ボード(以下SIM7000)
→SIM7000JCの国内代理店

検証方法

・PING疎通確認
・TCP折り返し通信
LTEモジュールとPCをUSBで接続し、ATコマンドポートをTeraTermで開いて手動でコマンド入力します。
検証はさくらインターネット東京支社(西新宿)で行いました。
セキュアモバイルコネクトを経由して、ソフトバンク回線及びKDDI回線で通信できることを確認しています。(セキュアモバイルコネクトは1枚のSIMで国内3つのキャリアの提供エリアおよびバンドに対応しています)

LTEモジュール毎の設定方法と通信の確認方法

セキュアモバイルコネクトのAPN名、ID、パスワードは次の通りです。
APN名:sakura
ユーザー名:なし
パスワード:なし

Quectel BG96の場合

モジュールの設定方法

AT+CGDCONTコマンドで通信方式を設定します。PDPタイプはIP、APN名はsakuraです。

AT+CGDCONT=1,"IP","sakura"
OK

 

AT+QICSGPコマンドでAPN名、ID、パスワードを設定します。APN名はsakura、ユーザー名とパスワードはなしです。

AT+QICSGP=1,1,"sakura"
OK

 

AT+COPSコマンドで接続可能な基地局をサーチします。
なおAT+COPSコマンドは、[=?]で基地局サーチ、[?]で接続状況の確認、[=]で基地局のセットを行うことができます。

AT+COPS=?
+COPS: (3,"KDDI","KDDI","44050",8),(2,"NTT DOCOMO","DOCOMO","44010",8),(1,"SoftBank","SoftBank","44020",8),(1,"KDDI","KDDI","44051",8),(1,"440 52","440 52","44052",8),,(0,1,2,3,4),(0,1,2)
OK

 

AT+COPSコマンドで接続したいキャリアを指定して接続します。オートモードに設定するとどこにも接続できないので、必ずマニュアルモードで接続先PLMN番号を指定する必要があります。モードは1(PLMNをマニュアル選択)、フォーマットは2(数字でPLMN番号を指定)、オペレータはPLMN番号を指定します。接続が成功してOKが表示されるまでEnterを押さないでください。(押すとCOPSコマンドがキャンセルされます)

AT+COPS=1,2,"44020"
OK

 

1回目のAT+COPSでエラーとなることが良くあります。2回目はほぼ成功します。(モジュール側の問題です)

AT+COPS=1,2,"44020"
+CME ERROR: 30

 

AT+COPSコマンドで基地局への接続状況を確認します。PLMN番号”44020″はソフトバンクです。
接続が成功していれば、COPSの結果に接続先のPLMN番号が表示されます。

AT+COPS?
+COPS: 1,2,"44020",8

 

AT+COPS?の結果が1になる場合は接続に失敗しています。SIMカードが正しく刺さっているか、セキュアモバイルコネクトのコントロールパネルで接続先のキャリアを許可しているかを確認してください。

AT+COPS?
+COPS: 1

 

AT+QNWINFOコマンドで現在の接続状況をさらに詳しく確認できます。
実行結果から、cat.M1でオンライン、PLMNは44020(ソフトバンク)、バンド1で基地局に接続していることがわかります。

//ソフトバンクの場合
AT+QNWINFO
+QNWINFO: "CAT-M1","44020","LTE BAND 1",475

//KDDIの場合
AT+QNWINFO
+QNWINFO: "CAT-M1","44051","LTE BAND 18",5900

 

PING疎通確認

AT+QPINGコマンドでPINGを打つことができます。この実行結果からDNSでIPアドレスが引けて、PINGが返ってきてることが確認できます。

AT+QPING=1,"google.com",1,10
OK
+QPING: 0,"172.217.27.78",32,93,255
+QPING: 0,"172.217.27.78",32,73,255
+QPING: 0,"172.217.27.78",32,79,255
+QPING: 0,"172.217.27.78",32,85,255
+QPING: 0,"172.217.27.78",32,75,255
+QPING: 0,"172.217.27.78",32,79,255
+QPING: 0,"172.217.27.78",32,79,255
+QPING: 0,"172.217.27.78",32,81,255
+QPING: 0,"172.217.27.78",32,79,255
+QPING: 0,"172.217.27.78",32,79,255
+QPING: 0,10,10,0,73,93,79

 

TCP折り返し通信

受信した文字列を返信するだけのサーバに文字列”SAKURA Internet”を送信して、同じ文字列が返ってくることを確認します。

AT+QIOPENコマンドで折り返し通信サーバーへ接続します。

AT+QIOPEN=1,0,"TCP","***.***.***.***",54321,0,1
OK
+QIOPEN: 0,0

 

AT+QISTATEコマンドでTCPコネクションを確認します。

AT+QISTATE=1,0
+QISTATE: 0,"TCP","***.***.***.***",54321,30356,2,1,0,1,"usbmodem"

 

AT+QISENDコマンドでサーバーに文字列を送信します。今回は”SAKURA Internet”で15文字送信しました。送信後に同じ文字列を受信したことを確かめます。

AT+QISEND=0,15
> SAKURA Internet
SEND OK

+QIURC: "recv",0,15
SAKURA Internet

 

AT+QICLOSEコマンドでTCPコネクションをクローズします。

AT+QICLOSE
OK

BG96の設定及び検証方法は以上になります。

 

SIMCOM SIM7000の場合

モジュールの設定方法

AT+CGDCONTコマンドで通信方式を設定します。PDPタイプはIP、APN名はsakuraです。

AT+CGDCONT=1,"IP","sakura"
OK

 

AT+CSTTコマンドでAPN名、ID、パスワードを設定します。APN名はsakura、ユーザー名とパスワードはなしです。

AT+CSTT="sakura"
OK

 

AT+COPSコマンドで接続可能な基地局をサーチします。
なおAT+COPSコマンドは、[=?]で基地局サーチ、[?]で接続状況の確認、[=]で基地局のセットを行うことができます。

AT+COPS=?
+COPS: (1,"440 10","440 10","44010",7),(2,"440 20","440 20","44020",7),(1,"440 51","440 51","44051",7),(1,"440 52","440 52","44052",7),(3,"440 50","440 50","44050",7),,(0,1,2,3,4),(0,1,2)
OK

 

AT+COPSコマンドで接続したいキャリアを指定して接続します。オートモードに設定するとどこにも接続できないので、必ずマニュアルモードで接続先PLMN番号を指定する必要があります。モードは1(PLMNをマニュアル選択)、フォーマットは2(数字でPLMN番号を指定)、オペレータはPLMN番号を指定します。接続が成功してOKが表示されるまでEnterを押さないでください。(押すとCOPSコマンドがキャンセルされます)

AT+COPS=1,2,"44020"
OK

 

1回目のAT+COPSでエラーとなることが良くあります。2回目はほぼ成功します。(モジュール側の問題です)

AT+COPS=1,2,"44020"
ERROR

 

AT+COPSコマンドで基地局への接続状況を確認します。PLMN番号”44020″はソフトバンクです。
接続が成功していれば、COPSの結果に接続先のPLMN番号が表示されます。

AT+COPS?
+COPS: 1,0,"440 20 SAKURA Internet",7

 

AT+COPS?の結果が1になる場合は接続に失敗しています。SIMカードが正しく刺さっているか、セキュアモバイルコネクトのコントロールパネルで接続先のキャリアを許可しているかを確認してください。

AT+COPS?
+COPS: 1

 

AT+CPSIコマンドで現在の接続状況をさらに詳しく確認できます。
実行結果から、cat.M1でオンライン、PLMNは44020(ソフトバンク)、バンド1で基地局に接続していることがわかります。

//ソフトバンクの場合
AT+CPSI?
+CPSI: LTE CAT-M1,Online,440-20,0x183C,10555906,372,EUTRAN-BAND1,475,4,4,-5,-79,-58,14

//KDDIの場合
AT+CPSI?
+CPSI: LTE CAT-M1,Online,440-51,0x1079,33909762,342,EUTRAN-BAND18,5900,3,3,-4,-55,-34,24

 

AT+CIICRコマンドで無線通信を有効化します。

AT+CIICR
OK

 

AT+CIFSRコマンドでIPアドレスを確認します。

AT+CIFSR
10.20.30.7

 

PING疎通確認

AT+CIPPINGコマンドでPINGを打つことができます。この実行結果からDNSでIPアドレスが引けて、PINGが返ってきてることが確認できます。

AT+CIPPING="google.com",10
+CIPPING: 1,"172.217.31.142",91,54
+CIPPING: 2,"172.217.31.142",68,54
+CIPPING: 3,"172.217.31.142",79,54
+CIPPING: 4,"172.217.31.142",79,54
+CIPPING: 5,"172.217.31.142",79,54
+CIPPING: 6,"172.217.31.142",79,54
+CIPPING: 7,"172.217.31.142",79,54
+CIPPING: 8,"172.217.31.142",79,54
+CIPPING: 9,"172.217.31.142",79,54
+CIPPING: 10,"172.217.31.142",79,54
OK

 

TCP折り返し通信

受信した文字列を返信するだけのサーバに文字列”SAKURA Internet”を送信して、同じ文字列が返ってくることを確認します。

AT+CIPSTARTコマンドで折り返し通信サーバーへ接続します。

AT+CIPSTART="TCP","***.***.***.***","54321"
OK

CONNECT OK

 

AT+CIPSENDコマンドでサーバーに文字列を送信します。今回は”SAKURA Internet”で15文字送信しました。送信後に同じ文字列を受信したことを確かめます。

AT+CIPSEND
> SAKURA Internet
SEND OK
SAKURA Internet

 

AT+QICLOSEコマンドでTCPコネクションをクローズします。

AT+CIPCLOSE
CLOSE OK

SIM7000の設定及び検証方法は以上になります。

最後まで読んで頂きありがとうございました。

Continue Reading

【sakura.io】イベントアラート機能をリリースしました

概要

sakura.ioのプラットフォーム開発担当の藤原です。
今回は先日リリースした「イベントアラート」機能の紹介をさせていただきたいと思います。

イベントアラートとは何か?

ユーザ様に

  • モジュールの接続が失われる
  • モジュールの通信回数が一定数を上回る

などの条件を定義していただき

  • メール
  • Slack

といった方法で通知を受け取ることができます。

なぜこの機能があると良いのか?

たとえば下記のようなことができるため、より簡単にモジュールの管理が可能です。

  • モジュールの電源が切れてオフラインになる
  • 異常な回数を通信しているモジュールを発見できる

イベントアラートが無かったらどうだったのか?

今までは、接続が切れた際に以下のいずれかの作業を行う、もしくはお客様側で通知の開発を行う必要がありました。

  • sakura.ioコントロールパネルから確認
  • モジュールの接続状態を物理的に確認
  • DataStore API で確認


イベントアラートを利用するとどうなるか?

イベントアラートを作成し、接続が切れた際に自動的にメールやWebhookを受け取ることができます。


設定画面

下記のような設定画面からイベントアラートを作成可能です。

その他の設定パターン

上記で例に挙げているのは、接続が切れたパターンのみですが、「一定時間内の通信回数の監視」も可能です。
具体的には下記のようなことが該当します。

  • モジュールAに対して、B時間(1 ~ 24)の中で、C回通信を行った場合に通知を送信

使い方について

詳細な設定方法については下記リンク先をご覧ください。

イベントの発生時に通知を設定

まとめ

今回はイベントアラート機能の紹介させていただきました。
sakura.ioは開発・運用の中でお客様の手間を減らし、本質的な作業に集中できる機能を今後も提供させていただたいと思います。

今後とも、sakura.ioをよろしくお願いします。

Continue Reading

さくらが登録電気通信事業者になった話

さくらインターネットが登録電気通信事業者になった話

これはさくらインターネットAdvent Calendar 2018 13日目の記事です

まえがき

 IoTチームの川畑です。去年の さくらAdvent Calendar 2017 では、同じく総務省ネタとして IINとPLMNの番号取得 について記事を書きましたが、実は同時並行で電気通信事業者の登録についても手続きが完了しており、紹介するタイミングを逃しに逃して1年後のAdvent Calendarのネタになるのでした。すみません。去年の記事を公開してから社内では 総務省コーディネーター というニッチすぎてよくわからない称号(?)を頂き、すっかり総務省の手続き関連の仕事が板についてしまいました。

 今回登録になるにあたって、始終総務省との全ての交渉を担当する非常に貴重な経験をさせて頂きました。何せ探せど探せどどこにも情報がありませんし、通常は伝送路を持つキャリアの中の人がやる業務です。インターネット上で電気通信事業者として登録の実例が公開されるのは、もしかしたらこれが史上初かもしれません。(1年ぶり2回目)

登録になった事業者は、大半が自社で光ファイバ・電話線・無線等の 伝送路 を持ってサービスを提供している事業者です。電気通信事業者の登録とは何か、登録すると何ができるか、どうやって登録になるのか、登録になるまでの道のりをお届けします。

電気通信事業者って何?

 電気通信とは 有線、無線その他の電磁的方式により、符号、音響又は影像を送り、伝え、又は受けることをいう。 とありますが、言う所の電話やインターネット関連サービスを生業とし、事業性をもって提供している集団を電気通信事業者と呼びます。みなさんが普段使っている携帯電話を提供している事業者や、NTTなどが電気通信事業者ですね。

 電気通信事業に該当するものは、勝手に始めてよいものではありません。電気通信事業法とよばれる法律に従って、総務省に対して どのような電気通信事業を提供します と予め宣言(書類の提出)しなければならず、その提供する事業やサービスの内容によって 届け出 電気通信事業者登録 電気通信事業者 のどちらかに分類されます。 届け出は比較的ライトな分類で、個人や任意団体でも申請が可能です。やろうと思えば誰でも電気通信事業を営むことができます。登録はより責任の重い事業者として、そもそも法人でしか受け付けてもらえず、しっかり事業を運営する能力があるか等、様々な書類の提出と審査を経て電気通信サービスを提供することになります。


総務省が電気通信事業へ新規参入の障壁を下げるために、何が電気通信事業に該当する・しないのかがYES-NOのフローチャートで解説した資料が公開されています(クリックで飛びます)。大方の場合はこのマニュアルに従って電気通信事業者に該当するか否かを判断することが出来るでしょう。やりたいサービスが該当するか分からない場合は、最寄りの総務省総合通信局・電気通信事業課へ問い合わせると、詳しいヒアリングの後に判断して貰えます。

電気通信事業の登録

  • 1.他人の通信を媒介し、電気通信の役務を提供する
  • 2.事業性を有し、反復継続的に提供する意志があり(一時的に提供するものではない)
  • 3.サービス提供により利益を得る(ここで利益とは金銭の授受だけに限らず、サービス提供の対価として広告を打ってもらうことや、相互にサービスを使わせ合うなど融通する行為も利益を得ると見なされます)

 この3要素は電気通信事業者になるために共通して必要な前提条件で、電気通信事業の届け出と登録は、画像の通り4要素目の 電気通信回線 を設置するか否かで大きく変わってきます。電気通信回線とは電柱や地下に敷設されている光ファイバケーブル・ケーブルテレビ局の同軸ケーブル・電話線や携帯電話で利用される基地局の無線を指し、まさにNTTやKDDI・ケーブルテレビ局などがこの電気通信事業者の登録を受けて事業を行っているのです。全国の登録になった 電気通信事業者一覧は、総務省により公開 されています。

最近の登録動向

 登録の話をネタにしているのも、最近はIoT業界でも登録の事業者が目立って増えてきているからです。お察しの良い読者の皆様ならもうお分かりのこと、 LPWA事業 です。 SigfoxやLoRa(WAN)、Wi-SUNなど電波法における免許不要帯(ISMバンド)を利用した通信方式で、LTEや3Gの電波が届かないラストワンマイルのIoT向け通信環境に利用されています。

登録になる詳細な条件

 LPWAの解説は記事の本質から逸れるため説明を省略しますが、このLPWA機器を親機・子機のように利用し、事業者は親機(=基地局)を提供し、利用者が子機を購入してサービスエリアで利用するといった形式がとられます(これをゲートウェイモデルと呼ぶ)。この親機を事業として提供するということは、 無線の伝送路 つまり電気通信回線を設置するということになり、その提供範囲によっては届け出ではなく登録にならないといけないのです。当社が登録を受けたのも、同じ理由です。

 ゲートウェイモデルでLPWAを提供する場合、親機は専門用語で 端末系伝送路設備 に分類されます。ここに書いている通り、電気通信回線を設置した上で市や区をまたいでサービスを提供する場合には、登録になる必要があると書いてありますね。この範囲に留まる場合は、電気通信回線を設置してもこの範囲を超えない場合は、届け出でOKということになっています。

登録の障壁

 登録になる障壁は 法人でないといけない だけではなく、事業で提供する設備に応じて電気通信主任技術者の資格者証を交付された有資格者を選任し、設備の運用・工事・維持について監督させることが義務付けられていることも挙げられます。社内に居ない場合は外部に委託することも認められていますが、設備の種類によっては原則都道府県毎に選任が必要であり、近県であれば兼任も許可されます。当社の場合、私が 伝送交換 種と 線路 種の両方の資格を受けていたため主任技術者の選任は私で提出しました。いかにこの主任技術者を確保するかも、参入する壁の一つだと思います。 ちなみに、LPWAのゲートウェイモデルを提供するために登録になるには、電気通信主任技術者の 伝送交換 種が必要です。
 後は会社自体が届け出事業者から登録事業者に変わるため、私の一存で変更できるものではありません。なぜ登録になるのか、運用方法はどうなるか、リスクはあるか等を部門長が役員会で説明するための資料を作ったりもしました。

登録申請

 さて、前置きが長くなりましたがいよいよ登録です。登録は各エリアを管轄する総合通信局の電気通信事業課か、管轄する総合通信局を跨いだ区域で事業をする場合には総務本省の事業政策課で手続きを行います。私の場合は近畿総合通信局の電気通信事業課に直接電話し、担当官に概要をお伝えするところから始まりました。事業としては間違いなく登録が必要だと言うことで、手続きに必要な書類一覧を教えていただきました。

 
最終的にはこれだけ必要になりました

必要な書類一覧

 登録の申請に必要な書類一覧は こちら で公開されています。

  • 1.電気通信事業登録申請書(様式第1)
  • 2.欠格事由に関する誓約書(様式第2)
  • 3.ネットワーク構成図(様式第3)
  • 4.提供する役務に関する書類(様式第4)
  • 5.申請者の行う電気通信事業以外の事業の概要
  • 6.登記事項証明書の原本
  • 7.定款の写し
  • 8.役員の名簿及び履歴書
  • 9.電気通信事業変更届出書(様式第9/届け出→登録になる場合のみ必要)
  • 10.事業用電気通信設備の自己確認届出書(様式第20の2)
  • 11.管理規定変更届出(様式第22/既に管理規定がある場合のみ必要、新規では管理規定届出書が必要です)
  • 12.電気通信主任技術者選任届出書
  • 13.電気通信設備統括管理者選任届(当社は既に届け出事業者として選任済みであったため提出なし)

当社は届け出→登録になったので、新規で登録になる場合一部不要な書類があります。
登記事項証明書や定款の写し、役員の名簿・履歴書は私では到底用意出来ないため、法務や総務にお願いして書類作成と発行をお願いしました。
次項でもう少し細かく解説します。

1.電気通信事業登録申請書

 当社が提供しているレンタルサーバ等の電気通信事業は全国を業務区域としているため、LPWAで提供する業務区域とそれ以外のサービスの業務区域(といっても全国ですが…)を記入します。当社が事業で利用するLPWAゲートウェイは端末系伝送路設備であるため、そのゲートウェイでサービスを提供する場所(政令指定都市は区単位)を記入します。

2.欠格事由に関する誓約書

 電気通信事業法第12条第1項第1号から第3号までに該当すれば登録を受けられませんので、該当しない事を誓約しなければなりません。

第十二条 総務大臣は、第十条第一項の申請書を提出した者が次の各号のいずれかに該当するとき、又は当該申請書若しくはその添付書類のうちに重要な事項について虚偽の記載があり、若しくは重要な事実の記載が欠けているときは、その登録を拒否しなければならない。
 一 この法律又は有線電気通信法(昭和二十八年法律第九十六号)若しくは電波法の規定により罰金以上の刑に処せられ、その執行を終わり、又はその執行を受けることがなくなつた日から二年を経過しない者
 二 第十四条第一項の規定により登録の取消しを受け、その取消しの日から二年を経過しない者
 三 法人又は団体であつて、その役員のうちに前二号のいずれかに該当する者があるもの
3.ネットワーク構成図

 届け出電気通信事業の際にも必要になります。機器の名称(機種)やIPアドレスまで書き込む必要はなく、構成図はPowerPoint等のポンチ絵(簡易なもの)で問題ありません。

4.提供する役務に関する書類

 同じく届け出でも必要になる書類です。総務省側で提供するサービスを約30種別に大別してくれているので、提供する役務に丸をつけます。

5.申請者の行う電気通信事業以外の事業の概要

 電気通信事業以外に事業を行っていれば、その事業の概要を記入します。 当社のコーポレートサイト には、不動産の賃貸(データセンターのコロケーション等)や管理が記載されていますので、これらについて説明する必要があります。本文書に関しては、法務にお願いしました。

6.登記事項証明書の原本

 本社所在地の法務局から会社の登記事項証明書を取得する必要があります。総務に取得をお願いしました。

7.定款の写し

 どの会社にもある定款です。法務にお願いして写しをいただきました。

8.役員の名簿及び履歴書

 会社役員の氏名・職名・生年月日・略歴を記載した書類です。法務に作成をお願いしました。

9.電気通信事業変更届出書

 もともと届け出事業者であったものを登録事業者として変更したため、更新用書類が必要です。

10.事業用電気通信設備の自己確認届出書

 これが一番大変でした。自己確認の根拠は電気通信事業施行規則第27条の5の6項に定められている内容です。

六 法第四十一条第一項に規定する電気通信設備のうち前各号に掲げる事業用電気通信設備以外の電気通信回線設備 次に掲げる書類
 イ 第一号に掲げる書類(同号ロ、ト、リ、ル、ソ、ラ、ム及びヰに掲げるものを除く。)
 ロ 電気通信設備を設置している通信機械室における自動火災報知設備及び消火設備の設置状況に関する説明書
 ハ その他イ及びロに掲げる書類を補足するために必要な資料

さらに を展開すると…

(多すぎるので画像にしました)これだけあります。これらについて、以下の2点がどうかを確認します。
– LPWA基地局(端末系伝送路設備)
– データセンター及びサーバー(交換設備、伝送路設備及びこれらの付随設備)

 さすがに自己確認とは言えど確認した内容に不備があっては困るので、当社が確認すべき法律の根拠(施行規則)と確認すべき対象設備やその詳細な中身(利用するLTEやLoRaモジュールは技術基準に適合しているか等)について列挙し、それぞれ自己確認の項目に当てはめ、構成図・停電対策・防護措置などについて丁寧に回答書を作成しました。
作成した資料については直接総務本省の電気通信事業部・電気通信技術システム課へ持参し、自己確認について誤りや抜けが無いか確認を頂きます。
 問題ないとOKを貰えれば、ようやくこの自己確認届出書に上記2点確認した旨が記載出来ます。(私は念のために本省へ持参した回答書を別添とし、根拠資料として提出しました)


法的に拘束力のある書類では無いため、一部をお見せします。

11.管理規定変更届出

 一定規模以上(30万ドメイン)のDNSサービスを提供していると ドメイン名電気通信サービス という電気通信役務の対象になります。本役務は電気通信設備統括管理者(後述)と呼ばれる管理者の選任や設備の管理規定を整えて書類を提出する必要があり、当社は届け出電気通信事業者として既に書類を提出済みでした。管理規定とは電気通信の設備をどう適切に管理・運用するかを事業者が決めて総務省に提出する仕組みになっています。 詳しくは こちら に管理規定記載マニュアルがあり、何をどうすれば良いのかが良くまとめられています。LPWAサービスを追加するにあたり、これを参考にしながら管理規定を更新しました。

12.電気通信主任技術者選任届出書

 登録事業者の必須事項である有資格者の選任届出書です。私が持っていたので、資格者番号と種別を記入します。主任技術者は電気通信設備の運用・維持に関する現場レベルの監督者として業務を行います。電気通信事故が発生した際にも、故障箇所の特定や報告書の作成、再発防止策の策定やその策の認定を業務として行うことが法律で規定されています。

13.電気通信設備統括管理者選任届

 電気通信設備統括管理者は、経営レベルでの責任者(安全管理責任者)です。管理者として選任されるためには、役員・執行役員や本部長等の会社経営に手を入れられる役職に就いていなければならず、加えて電気通信設備の維持・運用・工事の監督経験が3年以上必要です。主任技術者を持っていなくても実務経験と役職さえあれば選任できます。当社は既に技術本部の本部長を選任済みであったため、新たに書類の提出はしませんでした。

登録完了

 以上の書類を全て揃えた上で登録として事業を行うに相応しい経済力や運営力があるかどうか、全面から審査が行われます。結果としては欠格事由も無く、無事に審査完了し晴れて登録事業者となりました。新規登録や登録内容の変更にあたっては登録免許税制度に則り都度15万円の納付が必要です。

 登録の番号は近第19号です。初手から登録完了まで約2ヶ月でした。書類の差し戻しは無かったのでほぼストレートかと思います。法務や総務にも大変ご尽力頂き感謝しかありません。

最後に

 専門用語が多く、初見ではなかなか読み辛い記事になってしまいました。最後までお読み頂きありがとうございます。登録になった事を活かし、現在は北海道の石狩市と福井県の鯖江市で、LPWAを活用した河川水位計測を自治体と協力して運用しています。また、横須賀でもYRP/NICT/京セラコミュニケーションシステムズ様と協力し、様々なアンライセンスLPWAが同時に試せるハイブリッドのテストベッドを運用しています。LPWAに興味のある方は、是非協会サイトを御覧ください。
 申請書類は2017年当時に必要とされたものですので、登録の申請をされる際には各総合通信局または総務本省にお問い合わせください(免責)

さくらインターネットはLPWAを活用し、更なるサービス価値の向上を目指します。

あわせて読みたい

先日の北海道の大地震でLPWAセンサネットワークから興味深いデータを得られた記事を書きました
タイトル:大停電から見えてきたモノのデータの有用性

先日のInternetWeek2018で、LPWAの概要から電気通信事業法・電波法までを網羅したセッションに登壇しました。
タイトル:S7 IoTにおける通信方式~最新のLPWA事情から法律まで~

もう少しで資料公開されると思います!

JANOG42@津で、IoT周りの電気通信事業法やIIN/PLMNの番号取得について発表しました。
タイトル:今のIoT/MVNOを取り巻く電気通信事業法

加筆・修正

なし

Continue Reading

QRコードでの通信モジュール登録

こんにちは、sakura.io プラットフォーム開発を担当しています、潘です。

本投稿ではコントロールパネルでsakura.ioモジュールを一括登録する機能について、ご紹介したいと思います。

なぜ一括登録が必要なのか

購入した通信モジュールを登録する事で、初めてIoTプラットフォームとデータ通信できる様になります。これまでの登録フォームは、以下の様になっていました。

見たと通り、登録に必要な情報を都度入力し、一回の登録で一つのモジュールしか登録できません。
それでは大量のモジュールを登録する時は大変手間になるので、一括で登録できる様に機能追加を行いました。

一括登録する方法

こちらは機能追加したモジュールを一括登録するフォームです。

登録に必要な情報はすべて SER:Serial,ID:ModuleId,PASS:Password の様な文字列でモジュールに載せていますので、こちらを登録する際に使います。この文字列は、通信モジュールにあるQRコードをスキャンすることで、同じ文字列が取得できます。

  1. 最初は、モジュールの追加ページにある 一括 タブを選ぶと、一括登録のフォームが表示されます。
  2. そして、モジュールのQRコードから取得したデータを QRコードデータ 項目に一行ずつ記入します。
  3. 最後に、合計金額が モジュール一括追加の際の注意点 へ表示されます。よろしければ 追加 ボタンをクリックして完了します。

なお、一括登録にかかる時間は 100モジュール につき、おおよそ 5秒間 ほどです。

最後に

今回はモジュールの一括登録機能に関する背景・使用方法を説明しました。
これから、モジュールを大量にご購入のお客様は、より簡単に利用開始できるのではないかと思います。

今後とも、sakura.io をよろしくお願いします。

Continue Reading

大停電から見えてきたモノのデータの有用性

IoTチームの川畑です。9月6日 北海道胆振東部地震により被災された皆さまに謹んでお見舞い申し上げます。

去る9月6日の北海道胆振東部地震において、北海道全土に亘って大停電が発生したことは皆様ご存知の事だと思います。
弊社は札幌の北へ約10kmに位置する石狩市にデータセンターを構えているのですが、データセンター事業以外にも、石狩市様とIoT技術を軸とした防災や地域活性化に向けての包括協定*1を結び、取り組んでいます。
今回はその取り組みの中で地震・大停電が発生し、それによって得られた モノからの情報 が非常に興味深かった為、本ブログにて紹介しようと思います。

取り組みについて

事前情報として、弊社と石狩市様で取り組んでいる内容を簡単にご紹介します。
sakura.ioのLPWA版であるLoRaモジュールと超音波測距センサ(以後、水位計測器)を利用し、河川の水位データを集積・可視化する事で、大量降雨時の増水検出・避難所早期開設の役に立てるものです。
ひとまず取り組みは河川水位のみとなっていますが、やれることはセンサの数だけ存在し、温度・湿度など様々なデータを収集可能です。
水位計測器から送出されたLoRa電波は、LoRaゲートウェイ装置で受信され、更に上流のLTE回線を通じて弊社のプラットフォームに蓄積されます。

河川に設置している実際の写真です。センサー付きの子機は2分に1回測距し、LoRaで送信します。電力はリチウム1次電池を利用しており、電池入れ替え無しで1年程の連続稼働を見込んでいます。実際に設置したのは3月ですが、今のところは無停止で稼働中です。詳しい話をすると今回の本筋から外れてしまうため、この取り組みについては改めて別の記事でご紹介させて下さい。

求められる復電情報

例外無く弊社の石狩データセンターでも停電が発生し、非常用発電機による給電を行っていました。停電直後の発表によれば復旧には1週間以上を要するという絶望的な報道もさることながら、お客様はもちろんのこと社内からも復電情報を求める声が多数挙がりました。
世耕経産大臣がTwitterで発電所の再稼働や北電の復電情報を積極的に発信している姿は印象的で、たくさんの人がこれらのツイートに救われたと思います。


ですが、復電情報は地域レベルで見ると粒度が大きく、上記ツイートのようにおおよそは市単位であり、加えて更にその市町村の一部であるなど詳細な情報がありません。復電しても分単位でリアルタイムに情報を得る手段が無く、どうにか石狩の電力事情を知ることはできないかと考えていると、ふとLPWAの取り組みを思い出しました。

モノの声と携帯電話インフラの生命力

ここからは、実際のデータに基づく推察を交えてお話します。
LPWAの水位センサは、下図の通り石狩市北部に位置する浜益区において運用されており、6つの川にそれぞれ水位計測器とゲートウェイ装置が1台ずつ稼働しています。

川名 ゲートウェイ設置場所 給電方式
床丹川 屋外 鉛蓄電池(バッテリー)
幌川 室内 商用電源(100V)
茂生川 室内 商用電源(100V/非常用発電設備あり)
於札内川 室内 商用電源(100V)
毘砂別川 室内 商用電源(100V)
送毛川 室内 商用電源(100V)

表は地理的に北側から順に南下するように並べました。床丹川については鉛蓄電池による給電、それ以外は全て商用電源による給電です。床丹川も商用電源化する計画があるのですが、今回はむしろバッテリ運用によることでしか得られなかったデータもありました。
計測された水位データはsakura.ioプラットフォームを通じてインターネット上にあるサーバへ蓄積されたのち、Webアプリにより可視化されます。

まずは、地震発生直後のグラフをご覧ください。(水位計測器の筐体内温度グラフ)

複数のグラフが一斉に途切れているところが地震発生である3時7分を表しているのですが、1本だけ切れていない青色のグラフがあります。地震発生と同時に商用電源から給電しているゲートウェイ装置は全て止まってしまいましたが、青線が示すゲートウェイ装置は蓄電池から給電されており、その後も何時間か元気に動いていることが分かります。

少しだけ時間軸を進めたグラフがこちら。

地震発生から約8時間ほど時間を進めた所で、伸びていた青いグラフ(床丹川/バッテリー給電)が切れてしまいました。これは推察になってしまいますが、 最寄りの携帯電話基地局も地震直後に商用電源供給が停止したものの、附属の蓄電池設備で8時間は基地局の電力を賄っていたお陰で、ゲートウェイは通信できていたのではないか と考えています。
携帯電話設備やPHS設備は、電気通信事業法における事業電気通信設備規則(昭和60年郵政省令第30号)の第3条[適用範囲]及び第11条[停電対策]で自家発電設備や蓄電池など、これに類する停電対策を行うように定められているため、この基地局も対策がされていたのでしょう。
残念ながら他の河川についてはゲートウェイ装置が全て商用電源給電であったことから、復電まで通信が回復することはありませんでした。
水位計測器・ゲートウェイ装置ともにバッテリーで運用できていたからこそ、普段はひっそりと息を潜めている携帯電話インフラの、その生命力を垣間見ることができたのです。(そう考えると、「停電なう」とTwitterで呟けることも凄い事です)

復電の兆し

9/6 AM3:06に停電してから約16時間後、浜益南部の送毛川で動きが見られます。

驚く事に、9/6 PM19:10 突然送毛が復電しました。グラフにも描画されている通り、翌9/7のAM04:41に再度停電しましたが約10時間に亘って電力供給が行われたことが、グラフからも見て取れます。
北海道電力の電力系統図(110kV以下)によれば浜益地区は北江別系統に属するようです。系統図を見ると送毛変電所の奥に浜益変電所が構えており、この 送毛が一時的に復旧した という情報により浜益地区電力復旧の希望が見えてきます。

電力回復

ついに9/8 AM1:21頃、復電の合図かの如く浜益に設置している水位センサから同時刻で一斉にデータが届きます。商用電源から給電しているゲートウェイからデータが中継されており、当該地域において復電したことが伺えます。

同日9/8 PM14:05、当社のデータセンターも特別高圧の送電が復旧し、約60時間と長きにわたる非常用発電機の運転を終え、完全商用電源による電源供給を行うことができました。

振り返り

今までのイベント情報を時系列に並べて見てみましょう。

何時何分にデータを受信したか否か だけでここまでの情報を得ることができました。これこそ モノのつぶやき と言うに相応しく、LoRaやLTE等の無線通信、バッテリー&商用電源という電力供給方法、適度な地理的分散、更には他社が運用する設備など、複数の要素をいくつもの組み合わせで利用したことが功を奏し、本来の目的である防災だけではなくIoTが持つ潜在的な力が発揮されたのではないかと思います。
言ってしまえば、これらのゲートウェイをばら撒いて機器の電源状況を可視化すれば、設置場所が多ければ多いほど高精度・ピンポイントで停電情報が把握できるということを示しています。当社のsakura.ioは通信部分に専用モデムとLTE回線を提供しているため、通信状況の確認(基地局のダウン等)も同時に活用できるでしょう。今回は副次的効果として停電情報を得ることができましたが、このように実際に取得しているデータとは「異なる情報」が取得できる可能性は、他にもありそうです。
世界的に見ても飛び抜けて停電回数が少ない日本。IoTのチカラを利用して電力・通信事情を監視することだけが今回の解ではありませんが、高性能・高価なセンサーデバイスをいくつか用意して運用するより、安価で各々の性能は高くないけれども、それらを大量に設置し、データを収集・解析をすることで、前者より高精度かつ有用性の高い情報を得られることは間違いありません。

sakura.ioは、そんな方々も支えられるプラットフォームを目指しています。
長文にお付き合い頂き、ありがとうございました。

*1 北海道石狩市とさくらインターネット、IoTなどの情報技術を活用した地域活性化に関する包括連携協定を締結(弊社)
 石狩市とさくらインターネット株式会社による情報技術を活用した地域活性化に関する包括連携協定の締結について(石狩市様)

Continue Reading

【セキュアモバイルコネクト】SIMルート機能をリリースしました

IoTチームの川畑です。セキュアモバイルコネクトにて新機能をリリースしましたので、その概要から使い方・利用例をご紹介します。

SIMルートで実現できること

SIMルート機能では、SIMカードのICCID(固有識別番号)をNext-Hopとした静的IPルーティングができるようになりました。利用感覚はルータに静的IPルートを設定する事と同じように、CIDR表記の宛先ネットワークアドレス(e.g. 192.168.0.0/24)と、そのNext-HopになるSIMカードをコントロールパネル上から投入するだけで簡単に利用可能です。

使い所

昨今のLTEデバイスでは、EthernetやWiFi(IEEE802.11)の機能も持つような製品がリリースされ、携帯電話のみならず様々な場面でLTEネットワークを活用できるようになっています。

所謂M2MルータやIoTゲートウェイと呼ばれるこれらの製品は、特徴としてEthernet/LTE間のL3ルーティング機能が挙げられ、Ethernetポートに設定されたネットワークと、その先のLTEネットワークをNAPTを噛まずに直接接続可能です。一般的なポケットWiFiや携帯電話のテザリング機能でも、LTEデバイス自身の配下の端末をモバイルネットワークに接続することができますが、その多くはNAPTで実現されています。ここで問題なのは、そのLTEデバイス配下の端末にLTE外の通常ネットワークから直接アクセスできないことが挙げられるでしょう。

通常のインターネット専用MVNOと違い、我々のサービスはクラウドとモバイル端末を完全に閉域で相互接続できることにあります。インターネット専用MVNOではセキュリティ上懸念されていた LTEデバイスがPort LISTENしてサーバとして動作する ような構成が安全に取れるようになるのはもちろんの事、今回のSIMルート機能では更にその配下の端末がサーバとして動作しても安全に接続できるようになりました。

モバイルネットワークの利用形態

MNOやMVNOとの契約によって、利用可能な構成が全く異なります。弊社のセキュアモバイルコネクトを使った場合も含め、SIMが入っているデバイスへのアクセスを大きく4パータンにまとめてみました。(クリックで拡大)

パターン1: 通常のMNO/MVNO

一般的に契約可能なMNOやMVNOのLTEネットワークの構成です。LTEデバイスにはプライベートIPアドレスが割り当てられ、端末からインターネットにアクセスしようとすると2段でNAPTがかかります。通常のブラウジングのような動作には全く問題無い構成ですが、LTEデバイスやその配下の端末に直接アクセスしたい場合には不向きな構成です。

パターン2: グローバルIPオプションのついたMNO/MVNO

オプション料金を支払えば、グローバルIPアドレスがLTEデバイスに割り当てられるサービスです。直接グローバルIPアドレスが付くので、LTEデバイスがPort ForwardingやDMZに対応しているものであれば、配下の端末へのアクセスはある程度可能そうです。ですが、インターネットに直接晒されているため、直接DoS攻撃に遭うなど安全性に欠ける面が多く見られます。(DoSに遭ったとき、そのまま下り通信として計算された時には大変なことに…)

パターン3: 閉域網接続可能なMNO/MVNO

コンシューマ向けではなく、法人契約をターゲットにしたプランを打ち出しているMNOやMNVOが存在します。モバイル端末をお客様のネットワーク(データセンタやオフィス)まで直接閉域網で安全にデータ通信ができる仕組みで、インターネットからのリーチや他のお客様からの攻撃を受けることはありません。この場合ですと、 NAPTだけではなくL3 Routingできるデバイスでも使えるのでは? と思いがちですが、LTE網にデバイスをアタッチしたときに割り当てられるプライベートIPアドレスは、基本的に動的です。加えて、通常はパケットの宛先がLTEデバイスに付与したIPアドレスのときのみに通信が成立するようになっており、それ以外(ここではデバイス配下のネットワーク)の宛先のパケットは捨てられてしまいます。

パターン4: セキュアモバイルコネクト


弊社のサービスですが、上記3パターンの問題を解消しています。モバイルゲートウェイ(お客様のLTEデバイスを収容するアプライアンス)をキャリアと同じ感覚でお客様に操作して頂けるように作っており、端末に割り当てるIPアドレスをSIMカード毎に好きな値に固定できますし、インターネット接続も任意(デフォルトはOFF)に可能です。 今回リリースしたSIMルート機能についても、IPアドレスではなくICCIDをNext-Hopとすることで、端末(SIM)に割り当てるIPアドレスが変更されても、必ずそのSIMカードの先にStatic Routeが設定された状態が担保されます。

まとめ

SIMへのアクセスを観点に、簡単に表にまとめてみました

パターン メリット デメリット
パターン1 安価でキャリア選択肢が豊富 キャリア側でNAPTされる
SSH Reverse TunnelもしくはIPsecが必要
パターン2 安価でキャリア選択肢が豊富
デバイスに直接アクセス可能
インターネットからの攻撃に巻き込まれやすい
IPアドレスが変動する可能性が高い
パターン3 インターネットからの攻撃に巻き込まれない
デバイスに直接アクセス可能
IPアドレスが変動する可能性が高い
パターン4 IMSIとIPアドレスの1:1対応が可能
デバイスに直接アクセス可能
デバイスを超えてのルーティング設定が可能
特になし

最後に

今回リリースしたSIMルート機能の概要と、その使い方やモバイルネットワークの特徴・利用例をお伝えしました。SIMルートについては、その独自性について特許出願中です!本機能の具体的な設定方法については公式ドキュメントに掲載しておりますので、SIMルートドキュメントを御覧ください。今後とも、sakura.ioならびにセキュアモバイルコネクトを宜しくおねがいします!

Continue Reading

sakura.ioモジュールファームウェア”Version1.4.2″公開のお知らせ

sakura.ioモジュールのファームウェア開発を担当しています奥原です。
本日、sakura.ioモジュールファームウェアのVersion 1.4.2を公開しましたのでお知らせします。

Version 1.4.0から1.4.1が動作しているモジュールでSPIの推奨クロックである350kHzを超える設定で使用した際にパリティエラー等が発生し通信が不安定になっていました。
本バージョンでは1MHz以上のクロックで動作させた際のSPI通信の安定性が改善しました。

Version 1.4系でSPIをご利用されている場合は更新をお勧めいたします。

あわせてArduinoライブラリの更新を行いVersion 1.1.4になっておりますので更新をお勧めいたします。

sakura.ioをより便利により快適にご利用いただけるよう努めてまいりますので、今後ともよろしくお願いいたします。

Continue Reading

通信量の可視化機能をリリースしました

こんにちは、 sakura.io のプラットフォーム開発を担当しています、上條です。

コントロールパネルのリニューアルによって、モジュールの通信量が分かりやすく表示されるようになりました。通信量を確認するページは、モジュールごと・アカウント全体の2種類用意されています。

アカウントの使用通信量

アカウント毎の通信量を確認するためには、ヘッダの アカウントの使用通信量 リンクをクリックします。 アカウントの使用通信量 のページでは、アカウントに登録されているモジュールの通信量を合算して確認することが出来ます。

モジュールの使用通信量

モジュールごとの通信量を確認するためには、モジュールが登録されているプロジェクトの詳細画面から、グラフボタンをクリックします。 モジュールの使用通信量 のページでは、月毎・日毎の通信量が確認できます。

最後に

今回のリリースによって、通信量・ポイントの消費がより直感的に分かるようになったのではないかと思います。
また、大量のモジュールをお使いのお客様は、APIをご利用いただくことで同様の情報が取得可能です。
今後とも、sakura.ioをよろしくおねがいします。

Continue Reading

GCPUG in Osaka で sakura.io と GCPの連携について発表しました

6/13(水) に行われた GCPUG in Osaka #7 で、 sakura.io と GCP の連携について発表してきました。

公開用資料は、 Speaker Deck に上がっています。

当日のDataflowのコードなどは、GitHub に置いてあります。

発表内容について

今回の発表では、 sakura.io の機能を使って、 GCP Pub/Subにデータを送信し、 Pub/Sub → Dataflow → BigQuery とデータを保存、Data Studio で可視化する、ということを行いました。
IoTをテーマに2つ発表があるということもあり、前半にサービス紹介を入れざるを得なかったことと、すでにDataflowなどを触っている方が多いという想定で資料を準備していたので、あまり細かなGCPのチュートリアルは入れていません。
今回、鯖江市と協力して行っている水位計測データを利用しました。デバイス側も開発・改善しつつのデータということもあり、プロダクション環境で扱うデータよりもはるかに除外値が多いのですが、実データ使ってDataflowが便利に使えることはお見せでき、連携した場合のイメージは何となく示すことができたと考えています。

最後に

今回、 Pub/Sub, Dataflow, BigQuery, Data Studio という4つを使ったのですが、他にもいくつか良く利用されるであろうソリューションがあります。
その1つがデータ分析のためのCloud MLです。
IoTでデータを収集する目的として、やはりデータを分析したい、というモチベーションがある場合が多く、今回Dataflowを中心に話すつもりではなく、Cloud MLを使ったデータ分析の話を中心に話すべく準備していました。
ただ、データの収集・保存の準備をしている中で、私自身が初めて実証実験のデータを見て、想定以上の異常データがあることに気づき前処理に時間を取られたということがあり、だったらこの知見をお話しておいた方が、参加者が(sakura.io に限らず、)IoTプロダクトを作るときに参考になるのでは、と思い、Dataflow を使った前処理のお話をさせていただきました。

また機会があれば、 sakura.io から Cloud MLまでの連携をする場合の紹介ができればと思います。

Continue Reading

sakura.io のコントロールパネルが新しくなりました

こんにちは、 sakura.io のプラットフォーム開発を担当しています、藤原です。
本投稿では、sakura.io コントロールパネルのリニューアルについてお知らせいたします。
以下が新しいコントロールパネルです。

何故リニューアルを行ったのか?

理由としては「表示が遅くなる場合があるから」 です。
旧コントロールパネルは、仮に特定のプロジェクトに 5万個モジュールなどの大量のデータが登録されていた場合に、全てのモジュールを取得するようになっておりました。

新コントロールパネルでは、同様の条件で 分割して モジュールの情報を返すように変更されました。
一般的に言われる「ページネーション」の適用になります。

ページネーションにより

  1. サーバサイド側の SQL の削減、オブジェクト生成
  2. クライアントサイドのオブジェクトの生成

が、削減され体感描画速度が向上しました。

ページネーションによる管理 API の利用方法

ページネーションの導入により、管理 API の v2 を今回開発しました。
もちろん、以前の 管理 API v1 は今後もご利用いただけます。
これから管理 API v2 の実際の利用方法について示します。
管理 API 呼び出しに際する API Token と API Secret の取得は、管理API 利用ガイド を参考にしてください。
今回はモジュールのリストを取得してみることにします。

管理 API v1

$ curl -XGET  --header 'Accept: application/json' --user '{api token}:{api secret}'   'https://api.sakura.io/v1/modules/'

このようなリクエストを送ると、下記のようなレスポンスデータが返却されます。

[
{
"id": "1",
"name": "",
"project": 1,
"is_online": false,
"serl_number": "*********",
"model": "test-model"
},
{
"id": "2",
"name": "",
"project": 1,
"is_online": false,
"serial_number": "*********",
"model": "test-model"
},
...
]

管理 API v2

次に、ページネーションを用いた場合のデータの取得方法について解説します。
変更点としては、下記になります。

  1. アクセスする URL
  2. cursor を用いてリクエストを送信

アクセスする URL

アクセスする URL は下記のように変更になります。

https://api.sakura.io/v1/modules/ => https://api.sakura.io/v2/modules/

cursor を用いてリクエストを送信

こちらは実例を交えながら後述します。
それでは実際にアクセスして情報を取得してみましょう。

$ curl -XGET  --header 'Accept: application/json' --user '{api token}:{api secret}'   'https://api.sakura.io/v2/modules/'

このとき、以下のような結果が表示されます。

{
"meta": {
"per_page": 100,
"links": {
"next": "https://api.sakura.io/v2/modules/?cursor=bbbbbbbbbb",
"previous": null
}
},
"results": [
{
"id": "1",
"name": "",
"project": 1,
"is_online": false,
"serial_number": "*********",
"model": "test-model"
},
...
]
}

このとき、 1 ~ 100件目が表示されました。
101 件目以降を表示したい場合には、 先程前述した 「cursor を用いてリクエストを送信」 を利用します。
レスポンスの next の URL にリクエストを投げます。

$ curl  -XGET --header 'Accept: application/json' --user '{token}:{secret}' "https://api .sakura.io/v2/modules/?cursor=bbbbbbbbbb"

実際に投げると、下記のようにレスポンスが帰ってきて、101 件目以降が表示されました。

{
"meta": {
"per_page": 100,
"links": {
"next": "https://api.sakura.io/v2/modules/?cursor=aaaaaaaaaaa",
"previous": "https://api.sakura.io/v2/modules/?evcursor=ccccccccc"
}
},
"results": [
{
"id": "101",
"name": "",
"project": 1,
"is_online": false,
"serial_number": "********",
"model": "test-model"
},
...
]
}

cursor を用いてリクエストを送信」を繰り返しますと、最終ページにたどり着きます。
最終的に next が null になると、最終ページとなります。
具体的には下記のようなレスポンスが帰ってきた場合です。

{
"meta": {
"per_page": 100,
"links": {
"next": null,
"previous": "https://api.sakura.io/v2/modules/?cursor=yyyyyyyyyyy"
}
},
"results": [
{
"id": "50000",
"name": "",
"project": 1,
"is_online": false,
"serial_number": "********",
"model": "test-model"
},
...
]
}

 

最後に

コントロールパネルのリニューアルとその背景について解説させていただきました。
今回のリニューアルにより、大量のモジュールやプロジェクトをご利用のお客様も安心してご利用いただけます。
今後とも sakura.io をよろしくお願いいたします。

Continue Reading
Close Menu