デバイス間通信機能をリリースしました

こんにちは、sakura.ioプラットフォーム開発を担当しています、潘です。
本投稿では「デバイス間通信」機能について、ご紹介したいと思います。

デバイス間通信とは

sakura.ioモジュール同士がメッセージをやり取りする機能で、従来のやり方と比べるとより簡潔で安全になっています。

今まで

  • ① モジュールAからプラットフォームにメッセージ送信
  • ② Outgoing Webhookで外部サーバにプラットフォームが受信したメッセージを転送し、モジュールAからの物だけ抽出
  • ③ Incoming Webhookでプラットフォームに「モジュールBに抽出したメッセージを送信する」様に指示
  • ④ プラットフォームからモジュールBにメッセージ送信

デバイス間通信を使用すると

  • ① モジュールAからプラットフォームにメッセージ送信
  • ② デバイス間通信設定の「モジュールAからのメッセージをモジュールBに送信する」という条件に該当したため、プラットフォームからモジュールBにメッセージ送信

※ 従来と比べてインターネット通信がなくなり、閉域網のみとなりましたので、より安全な通信になります。

利用シーン

利用シーンとしては複数のモジュールから特定のモジュールへ送信する仕組みです。

例えば、以下の様な状況が起きてしまいました。

  • モジュール搭載のトラップが害獣の捕獲を検知した時
  • モジュール搭載の監視カメラが異常を検知した時
  • モジュール搭載の自販機が地震を検知した時

すると、モジュールからプラットフォームにメッセージを送られ、モジュール搭載のパトライトを点滅させたりします。

最後に

今回はデバイス間通信機能の挙動と利用シーンについて紹介しました。
従来よりお客様が開発や運用の手間を減らし、本質な作業に集中できる様な機能を充実して行きたいと思います。

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

Continue Reading

新しいDataStore V2 APIへの移行について

sakura.ioのサービス開始時から提供していたデータストア機能がバージョンアップし、「DataStore API」はリニューアルして「DataStore V2 API」となります。旧バージョンのDataStore APIは段階的に廃止されるので、利用されている方はお手数ですがソフトウェアの書き換えを行って頂く必要があります。料金形態・API仕様にも大きな変更がありますので、この記事で紹介させていただきます。

変更の概要

新しい「DataStore V2 API」は、以下の部分を主に変更しています。

  • JSON一括ダウンロード
  • CSVダウンロード機能
  • メッセージ閲覧対象
  • API変更
  • クエリ速度改善
  • 料金

JSON一括ダウンロード機能の追加

ブラウザ・curlコマンド等で以下のようなURLにアクセスすると、ZIPファイルがダウンロード出来ます。ZIPファイルを解凍すると1つのテキストファイルが保存されており、1行につき1つのJSONメッセージが記述されていることが確認できます。

https://api.sakura.io/datastore/v2/messages-bulk?limit=100&encoding=FILE_ZIP&token=********-****-****-****-************

(トークン部分を自身のものに置き換えてアクセスを行ってください)

この機能の追加により、低頻度なバッチ処理・バックアップ用途にご利用いただきやすくなりました。

ZIPの他に、gzipなどでの取得も可能です。詳しくは、こちらのAPIリファレンスをご覧ください。 DataStore V2 APIリファレンス

CSVダウンロード機能

「DataStore V2 API」では、コントロールパネル上でCSVをダウンロードする機能が追加されました。JSON等のメッセージを扱うのが難しかったExcel等のソフトでも読み込みしやすくなりました。

サービス連携設定を追加した後に、サービス連携設定の詳細画面に移動し、ボタンをクリックすることで本機能が利用可能です。対象のモジュール・期間・件数・チャンネル番号等を指定してダウンロードが可能となっています。速度は環境や負荷状況に大きく依存しますが、10万件あたり10~20秒程度で取得が可能であることを確認しています。

なお、この機能は古いWebブラウザ(Internet Explorer等)では利用できませんのでご了承ください。

メッセージ閲覧対象の変更

旧機能の「DataStore API」は、新しく有償プランを契約した時点で、過去のメッセージも全て閲覧が可能でした。また、モジュールの譲渡・モジュールの所属プロジェクトの変更を行うと、過去のメッセージも全て新しい所有者・プロジェクトに移動していました。

新機能の「DataStore V2 API」では、プランの契約を行った時点からメッセージの保存が始まるように変更されました。また、モジュールの譲渡・モジュールの所属プロジェクトの変更を行ってもそれまでのメッセージは移動せず、メッセージがsakura.ioに届いた時点での参加プロジェクトに保存されます。

この変更によって、製造のフェーズによってモジュールの所有者が変わるようなケースでの使い勝手が良くなりました。例えば、製品の製造・テスト・エンドユーザで会員ID/所属プロジェクトが異なるような場合は、それぞれ過去のメッセージが見えることが無くより直感的になりました。

新しい仕様では、プロジェクトを削除すると過去のメッセージも削除され閲覧できなくなりますので十分にご注意ください。

APIの変更

利用状況・理解しやすさ等を考え、以下のように複数の仕様が変更されています。

パラメータの変更

新機能の「DataStore V2 API」では、今までと同様にメッセージの単位で取得する /messages チャンネルの単位で取得する /channels の2つのAPIを用意しています。ですが、パラメータの意味・指定する値が変更されています。

機能概要 対象API V1パラメータ名 V2パラメータ名 変更点
認証・プロジェクトの選択 全て token token 変更なし
対象モジュールの指定 全て module module V2では1つのみ指定可能。指定しなかった場合はプロジェクト内の全てのモジュールを対象に。
対象のメッセージの種別の指定 /messages type V2では廃止。
対象のチャンネル番号の指定 /channels channel V2では1つのみ指定可能。
1リクエストで取得する最大数 全て size limit 名称変更。
メッセージのソート順の指定 全て order order V2では大文字の ASC DESC のみ指定可能。
取得メッセージの開始日時の指定 全て after after V2では厳密なRFC3339形式 2020-03-02T12:00:00.000+09:00 のみ受付。
取得メッセージの終了日時の指定 全て before before V2では厳密なRFC3339形式 2020-03-02T12:00:00.000+09:00 のみ受付。
複数回に分けたリクエストに利用 /messages,/channels cursor cursor 変更なし
レスポンスの変更

旧機能「DataStore API」で提供されていた meta.count meta.match フィールドは廃止されました。新機能「DataStore V2 API」では、新たに meta.has_next フィールドを追加しました。カーソルを使用して再帰的に取得する際、全てのメッセージの取得が完了したことは meta.has_next のBoolean値が false で有ることを検証してください。

クエリ速度の改善

旧機能の「DataStore API」は、内部システムの都合で若干クエリ速度に時間がかかっていました。大量にメッセージを取得する際は、大きなボトルネックになることが有りました。新機能の「DataStore V2 API」では、機能を絞ってサービスを提供する事で大幅にクエリ時間が短くなりました。

旧 DataStore API 新 DataStore V2 API
1回あたりの処理時間 745.15ms 312.60ms

※最新1件のメッセージ取得を繰り返して20回行った際の平均レスポンス時間です。他のお客様からのアクセス状況・内部システムの負荷・お客様のネットワーク環境等、様々な要因でばらつきがありますので参考値としてお考えください。

料金の変更

旧機能「DataStore API」では、閲覧期間に応じて「フリー」「ライト」「スタンダード」が提供されていました。新機能「DataStore V2 API」ではよりきめ細かく閲覧期間の設定が可能になりました。

なお、DataStore V2 APIは2020年8月11日までβ版として提供します。期間中は上記のプランを全て無償で提供します。

メッセージはプロジェクトごとのメッセージ保存上限数に達するか、保存期間を経過すると旧いメッセージから順次削除される可能性があります。

移行スケジュール

本日から新機能「DataStore V2 API」はβ提供として無償でご利用いただけます。旧機能「DataStore API」はサービス終了まで無償利用が可能となります。

日付 項目
2020年5月12日 旧機能DataStore APIの無償化・新機能DataStore V2 APIの無償提供開始
2020年8月11日 新機能DataStore V2 APIの課金開始
2022年5月30日 旧機能DataStore APIの提供を終了

最後に

今回は新しい機能の紹介をさせていただきました。
今後も既存機能の改善などを行っていく予定です。

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

Continue Reading

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

本日、sakura.ioモジュールファームウェアのVersion 1.4.4を公開しましたのでお知らせします。

Version 1.4.3までのファームウェアにおいて高頻度(数十ミリ秒間隔)で送受信を行った場合、稀に通信処理が継続できなくなる現象が確認されました。

対策として、送受信処理を監視し処理継続不能な状態に陥った場合にsakura.ioモジュールを再起動し復帰させる機能を追加しました。

今までのバージョン履歴はリリースノートをご参照ください。

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

Continue Reading

Windows向けツール sakura.io Test を公開しました

sakura.ioの機能を簡単に試すことができるWindows向けGUIツール sakura.io Test をリリースしました。

sakura.io Testを利用することで、管理用APIを用いてプロジェクトの一覧を取得したり、WebSocket連携サービスを経由して通信モジュールとの通信を行ったりがGUI上で簡単に行えるようになります。
OSSとして公開していますので、C#が書ける方なら改造して専用ツールに転用するなどの応用も可能です。

ダウンロード

GithubのReleaseページから実行ファイルをダウンロードできます。
Releaseページを開いたら、sakuraio-test-0.1.0.zipと書かれたリンクを探し、ダウンロードしてください。

Google Chromeを使用している場合、一般的にダウンロードされていないファイルとの理由でダウンロードがブロックされることがありますが、ドロップダウンメニューから 継続 を選択することでダウンロードが継続できます。

信用できないという方はGithubからソースコードをダウンロードし、内容を確認の上ご自身の環境でビルドすることをおすすめします。
Visual Studio 2017 Communityに .NET デスクトップ開発 機能がインストールされていればビルド可能です。

使用方法

ダウンロードしたZIPファイルを解凍し、 SakuraIOTest.exe を起動することでsakura.io Testが起動します。

最低限必要な準備として、sakura.io 管理APIのTokenをsakura.io Testに入力する必要があります。

 

管理API Tokenの取得・認証

管理APIのTokenは sakura.ioのコントロールパネル で作成・表示が可能です(ログインが必要です)。
sakura.io Testの画面に表示されている取得ページへのリンクをクリックすることでもアクセス可能です。

APIキーを作成して、表示画面まで進めると以下のような画面になります。このうち TokenSecret をコピーし、それぞれsakura.io Testの対応する欄に入力してください。

TokenとSecretを入力したら、 認証 ボタンを押すことで認証処理が実行されます。
認証ボタンの左、API state の表示が 認証済み となっていれば、プロジェクト一覧取得などの管理APIを用いた機能が使用できます。

(なお、本記事内で例として使用しているToken/Secretは記事公開時点で既に無効化してあります。)

プロジェクトやモジュールの一覧取得

事前に管理API Tokenの取得・認証の手順に従ってAPIの認証を行ってください。

プロジェクトの一覧を取得 ボタンを押すと、API Tokenを作成したユーザーが持っているプロジェクトの一覧が project ドロップダウンに表示されます。
ドロップダウンでプロジェクトを選択し、 モジュール一覧取得 ボタンを押すことで、プロジェクトに所属しているモジュールの一覧が module ドロップダウンに表示されるようになります。

通信モジュールのIDコピー

モジュール一覧のうち送信先としたいモジュールが選択された状態で、 送信対象モジュールとして設定 ボタンをクリックすると右ペインの送信メッセージキュー内の 送信先モジュールID の欄にモジュールIDがコピーされます。

WebSocket 連携サービスのトークンを自動設定する

project ドロップダウンの下にある WebSocket Token自動設定 ボタンを押すと、選択されているプロジェクトにWebSocket 連携サービスが紐付いているかをチェックして、紐付いていればそれを流用、紐付いていなければAPIを利用してWebSocket連携サービスを自動で作成した上でsakura.io TestでのWebSocketテスト用に使用できるように設定を行います。

自動設定が完了すると、API Tokenなどの入力欄下にある WebSocket Token 欄にWebSocket連携サービスのトークンがコピーされます。

 

WebSocketで接続を行う

WebSocket Token 欄にトークンが入力されている状態で、隣の 接続 ボタンをクリックするとWebSocket 連携サービスとsakura.io TestがWebSocketで接続され、双方向にメッセージのやりとりが可能な状態となります。

ウィンドウ左下のステータスバーに 通信中 と表示されていればWebSocketでの接続が確立しています。

WebSocketでメッセージ送信

事前にWebSocketで接続を行うの手順に従ってWebSocketの接続を行ってください。

送信したいデータを送信メッセージキューに追加し、 WebSocketで送信 ボタンを押すことでメッセージの送信が行えます。

channelは0~127までの値を取ります。valueに送出したいデータを入力し、typeを送りたいデータの型に合わせて選択します。
valueの表記方法についてはsakura.io メッセージ仕様をご覧下さい。
ただし、本記事の執筆時点(2019/05/13)ではbyte[8]の送信に対応していません。

通信モジュールからのメッセージを受信する

事前にWebSocketで接続を行うの手順に従ってWebSocketの接続を行ってください。

WebSocketでの接続が確立している状態でsakura.io モジュールからデータが送信された場合、sakura.io Testは自動でメッセージの受信を行います。
受信内容は 受信したメッセージ のリストボックスに追加されていきます。

受信したメッセージを選択して右クリックすることで、受信したデータをクリップボードにコピーすることができます。

0, f, 28.249817, 2019-05-13T03:43:58.24665214Z
1, f, 29.553223, 2019-05-13T03:43:58.25865214Z
2, I, 24138, 2019-05-13T03:43:58.27065214Z

のように、受信したデータをCSV形式でコピーできるので、メモ帳などに貼り付けてCSV形式で保存すればExcel等で開くことが可能になります。

無効化されているエクスポートボタン使わせてくれとかExcelに直接貼り付けるにはTSV形式でコピーする必要があるとか、いろいろ詰めが甘いところがありますがそれは今後の課題ということでお願いします。

注意点

sakura.io TestはApache License 2.0に基づき提供されているソフトウェアです。
Apache License 2.0の条件に従って、再頒布、商用利用、改造などを自由に行うことができます。

sakura.io Testに関して、一切のサポート及び保証を行いません。使い方や不具合などについてお問い合わせいただいても対応致しかねますのでご了承の上でご利用ください。
サポート等は行いませんが、PRやIssueなど、Github上でのコントリビュートは歓迎しております。
(実際の所未実装の機能が山盛りの状態でリリースしていますので、いろいろ突っ込み所はあると思います)

最後に

今までのサンプルコードがPythonなどに偏っていたので、反対に何も書かずに使えるサンプルとは何だろう、と考えた結果Windows向けGUIツールであるという結論に至りました。
コンソールアプリなどに抵抗がある方でもマウスでポチポチと手軽にお試しいただけるかと思います。

このようなサンプルコードやツールの提供をさらに推し進めていきたいと考えておりますのでご期待下さい。

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

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
Close Menu