今回のテーマは、SORACOM(ソラコム)です。
昨年から何かと話題で、ArduinoやRaspberry piを使っている人であればその名前を目にしたことがあるのではないでしょうか。ひと言で言えば、「モバイルデータ通信プラットフォーム」。今回はSORACOM Airってどういうもの?という基本から、SORACOMのSIMカードを利用して、Arduinoから携帯電話と同じ通信方式の3G通信をするための方法などについて勉強していきたいと思います!
目次
- SORACOM(ソラコム)って何?
- SORACOMを使うとこれまでとどう違うの?便利なの?
- Arduinoで3G通信ができるシールド製品
- まとめ
1.SORACOM(ソラコム)って何?
まずSORACOM(ソラコム)って何でしょうか?簡単に言ってしまうならば、
IoTデバイスが3G通信する際に最適な管理機能を持ち、かつ低料金で利用できるSIMカードを備えたMVNOサービス
となります。さらに乱暴に言ってしまうならば、ArduinoやRaspberry piで作った自作デバイスに手軽に携帯電話と同じような通信機能を追加し、低料金でSIMカードを利用するためのサービスです。
IoTデバイス…?IoTって何だっけ?おさらいしてみましょう。
IoT(Internet of Things)は、これまでのコンピュータやスマートフォンなどの一般的な通信機器だけでなく、世の中のあらゆるモノ(Things)をインターネットで通信できるようにして、モノを自動制御したり、センサなどの数値で監視・計測したりすることですが、この「インターネットで通信できるように」というのが日本国内はこれまではなかなか環境が整っておらず、難しい現状がありました。そのインターネットの通信部分を手軽にかつ低料金で多様なIoTの用途に合わせて便利に扱うことができるのが、SORACOMのサービスです。
SORACOMの各種サービスについて
SORACOMには各種サービスがあるのですが、自作デバイスで利用する場合などは「SORACOM Air」というサービスの利用がメインになると思います。公式サイトに記載してあるSORACOM Airの特徴をみてみると、
- LTE/3G データ通信
(NTT ドコモのエリアで利用可能です) - 従量課金
(日本向けSIMの場合、基本料金 1 日 1 枚 10 円、データ通信料は 1MB あたり 0.2 円) - ユーザーコンソール、API から多数の SIM を一括操作
(ウェブ管理画面からそれぞれのSIMの様々な操作が可能) - 1 枚でも、1000枚以上でも、SIM をすぐに調達可能
(使いたいと思ったらamazonですぐ注文できるのが魅力的)
となっています。
格安SIMを提供している会社はSORACOM以外にもたくさんありますが、SORACOMの場合、従量課金ということがポイントです。IoTデバイスは、基本的にデバイスの制御や計測が主となり、やりとりされるデータはコマンドや計測データです。そのデータサイズは種類にもよりますが、例えば気温・湿度・気圧・光量・風速などのようなデータを1時間に1回サーバーに送る場合を考えてみると、1回1キロバイトにも満たず、1日24Kバイトだと考えても1MB/月間に届きません。実質基本料金(1日10円×30日)=月額300円程度でSIMを利用することが可能です。
ということで、さっそくSORACOM Airを注文してみると…
このようなSIMカードが届きます。このSIMカードを、
・付属した用紙のURLと設定情報から登録を行い、
・Raspberry PiやArduinoで利用するデバイスにさして、
・設定をすると、
通信が可能になる、という流れになります。
では、実際にArduinoで使う場合、何がメリットで、どのようにすればよいでしょうか?
SORACOMを使うとこれまでとどう違うの?便利なの?
具体的な例として、第10回で作成した、「Arduinoで作る簡易百葉箱」を挙げてみます。この百葉箱で取得したデータを、サーバー上に常に送信してデータを蓄積していく、という機能拡張の例で考えてみましょう。
これまで本連載で扱った方法で実装を考える場合、有線・無線LANでのインターネット通信が思い浮かびます。連載当初に扱った有線LANによるイーサネットシールドを使った例や、無線LANを利用したESP-WROOM-02を使った例などがあります。これらの方法でも問題はないのですが、有線の場合は、LANケーブルの長さに依存したり、無線LANも無線LANルーターから出る電波の距離などの制限があるため、実質的には、屋内(もしくは屋内に近い屋外)での利用のみの想定になるかと思います。
Arduinoからサーバーへの通信方法(これまでの紹介例)
この百葉箱のようなケースでは、屋外で計測したい場合、無線LANの電波が届くところは良いですが、届かないところで使いたい場合は、近くまで無線LANルーターを持っていくか、もしくはモバイルルーターなどをセットにして設置するなどの必要があります。
SORACOM Airを使った場合の通信方法
SORACOM Airを使った場合は、図2のような構成になります。SIMカードを通じて直接3G通信を行ってサーバーにアクセスをするので、図1のように中間にインターネットへの中継をしてくれるルーターを設置する必要がありません。そのため、デバイスには電源だけ供給することができれば、通信面は場所の制限なく(NTTドコモの圏内)利用可能となります。
Arduinoで3G通信ができるシールド製品
では、実際にArduinoでSORACOM AirのSIMが使えるシールド製品にはどのようなものがあるか調べてみます。SORACOMにはRaspberry Piなどでも利用できるUSBドングルがあるのですが、ArduinoではUSBは利用できないため、対応している製品が限られます。
その他の形式のものはSORACOM認定モジュール一覧ページで確認することができます。その中でArduinoで比較的手軽に利用できるのは下記の製品が該当します。
3GIM V2.0 (Tabrain社)
ATコマンド内蔵で手軽に通信設定が可能なことと、GPSモジュールが搭載されていることが特長です。マニュアルも豊富です。教育機関向けの販売などもあります。
その他のArduino 3G通信モジュールを利用する場合の注意点について上記の製品以外でも、「Arduino 3Gモジュール」などで検索をした場合、3G対応シールドが見つかるかと思います。しかし、その際に ひとつ注意することがあり、それは利用する3G通信モジュールが「技術基準適合証明」(通称 技適に登録)されているかどうかです。対応しているかどうか技適マーク が製品に表示されているか、もしくは総務省のウェブサイトから型番で確認することができます。この「技適が通っている製品」は、日本の電波法に基づいた仕様で電波を扱うことができる製品なので、利用範囲内で改造などをしない限り利用することができますが、技適が通っていない製品を利用した場合、違法行為となってしまうことがあるので注意してください。詳しくは下記の総務省のウェブサイトを参照してください。
まとめ
今回は、SORACOMの基本的なことから、Arduinoで利用する場合のモジュールの選択肢などについて紹介しました。Arduino × 3G通信(SORACOM Air)の組み合わせは電源だけ確保できれば場所を問わずにArduinoでIoTの可能性を持つ魅力的な組み合わせですね。充電池やバッテリーとソーラー発電などと組み合わせてどこでもおけるArduinoのIoTデバイスの開発をしてみてはいかがでしょうか。