LoRaWANを触ってみて分かったSORACOMがIoTの”プラットフォーム”である理由

By |11月 11, 2016|IoT, SORACOM, |


この記事はSORACOM リリース1周年記念リレーブログの11月8日の記事です。(今日は何日だっけ?)

こんにちは。このブログには初投稿のウフルIoTイノベーションセンターの竹之下です。

ソラコムさんのサービスはβ版の時から触らせてもらっていますが、たったの1年間でここまで進化していることに驚いています。今日はソラコムさんが実証実験、商用展開を進めているLoRaWANを触ってみて分かった「プラットフォームとしてのSORACOMの強さ」について書きたいと思います。

※2016年11月18日LoRaWANの仕様について追記

LoRaWANってなんだっけ?

まずは前置きとして、LoRaWANについて

LoRaWANは、LPWA(Low Power Wide Area Network)と呼ばれる無線通信規格の一つです。セルラー通信を使用する場合に比べて低消費電力で通信でき、通信費用も抑えられるということで、IoTの分野で注目を集めています。ソラコムさんからは、LoRaWANの評価を目的に「LoRaWAN™ PoC キット」が提供されています。

LoRaWANサービスの構成図をソラコムさんのサイトから引用しつつ、その特徴を紹介します。

SORACOM LoRaWANの構成(https://soracom.jp/lorawan/から引用)

データの流れに着目して見てみると、まず、センサーなどを積んだエッジデバイスからゲートウェイまで、LoRaという規格の無線通信でデータを飛ばします。LoRaはサブギガ帯と呼ばれる周波数帯域(日本では920MHz帯)を使います。サブギガ帯の電波は、WiFiやBluetoothで利用される2.4GHz/5GHz帯と比べると、通信速度には劣りますが、より遠距離まで届くという特徴があります。実力値としてどの程度の距離飛ぶのかは、レキサスのトッキーこと常盤木さんの記事を読んでいただけると、感覚がつかめると思います。

ゲートウェイからセルラー通信(SORACOM Air)を通じて、SORACOM Platformにデータが届きます。SORACO Airの代わりに、通常のインターネット回線を使うこともできます。SORACOM Platformからは、SORACOM BeamやFunnelを経由して、ユーザーのサーバーにデータが送られてきます。

LoRaでデータを飛ばすところからユーザーのサーバーにデータが届くまでを総称して、LoRaWANといいます。(単にLoRaと言う場合は、エッジデバイスからゲートウェイまでの通信規格のことを言います。)

セキュリティの観点から見ると、LoRaで通信するところはAESで守られていますので、電波を盗聴しても、中身は解読できないようになっています。ゲートウェイからSORACOM Platformまでの間も暗号化されているので、途中の通信サービス用のサーバーでデータを盗み見られることもありません。SORACOM PlatformからBeam/Funnelでユーザーのサーバーにデータを届ける部分も、適切な設定(例えばHTTPSを使ってデータを保護するなど)を行っておけば安全です。

非常に魅力的なサービスなのですが、いくつか制約もあります。

  1. 送信できるデータ量が限られる
    LoRaで送信できるデータ量は、1回の通信につき11Byteという制限があります。さらに、日本で使う場合には4秒に1回しか送信できないという制約もあり、何をどのように送信するかは、よく考える必要があります。
  2. データは上りだけ[*0]
    基本的に、エッジデバイスからサーバーに対してデータをアップするだけの使い方しかできません。サーバー側から、エッジデバイスに対してPush通知を送ったり、下りの通信はできません。

触ってみた感想

ウフルは、クラスメソッドさん、レキサスさんと共に、「LoRaWAN™ PoC キット」をソラコムさんと共に提供するパートナーに選ばれています。そのため、正式発売前のLoRaモジュールが社内に転がっていますので、これを使って色々なものを作ってみました(本当に作業しているのは原田君なので、そちらの記事も参照してください)。その経験を通して分かってきた、SORACOM LoRaWANの特徴を挙げてみると

  • LoRa強い
    思ったより、電波が飛びます。常盤木さんのレポートからも分かるように、屋外では見通しが良ければ10km程度は飛ぶことは分かっていましたが、屋内でも優秀な結果が出ています。ウフルのオフィスはビルの4Fにありますが、ゲートウェイを社内に置いた状態で、1Fからもデータを送ることができています。一つのゲートウェイでビル一つをカバーできるというのは、中々に応用が効きそうです。
  • LoRaチョロい
    使うのが簡単です。「LoRaWAN™ PoC キット」標準のエッジデバイスはArduinoにLoRaモジュールを付けたものですが、ウフルでは色々なセンサを繋げたいので、ArduinoをBLEが使えるmbedマイコンに置き換えて使っています。センサから取得したデータをLoRaモジュールに伝えてあげれば、あとは勝手にSORACOM Beamからデータが出てくるので、使うのが非常に簡単でした。経験上、このての無線系のものは、だいたい繋がらないとか、ペアリングできないとかの問題が起きるものですが、そういったことはほとんどなく、普通に使えてびっくりしました。

んで、何がすごいの?

今回の経験を通じて感じたのは、LoRaWANがすごいということはもちろんなのですが、個人的にはそれよりも「SORACOMのプラットフォームってこういうことか」ということを少し理解できたかな、ということです。つまり、エッジデバイス側のコネクティビティがセルラー(SORACOM Air)であろうと、LoRaであろうと、結局データが出てくるのはBeamかFunnelなので、サーバー側には関係ありません。これまでSORACOMを使ってきた経験がそのまま流用できるということです。この学習容易性は、非常に魅力的だと思います。

事実として、実作業は全て今年4月に新卒で入社した原田君がやってくれました。「IoTはエッジから通信、クラウドまでいろいろなレイヤーの知識が必要なので難しいんですよ」とか言っていた少し前の自分に猛省を促したい気分です。 IoTもここまで簡単になったのか、と[*1]。

今後、LoRaWAN以外の通信サービス(例えばSIGFOXとか)がSORACOMに追加されても、はたまた、国内と海外(Global)のAirであっても、すべてのデータを同じように扱えるというのは、ある種の安心感があります。その安心感こそが、SORACOMがプラットフォームたる所以なのかな、と感じた今回の経験でした。次の1年でSORACOMはどのような進化を遂げるのでしょうか。楽しみにしたいと思います。

*0: 2016年11月18日追記: 規格的には上りも下り(Downlink)も通信可能です。現在のところ上りの通信しかできないのは、現在ソラコムさんから提供されている「LoRaWAN™ PoC キット」のゲートウェイの仕様上の制約です。(ゲートウェイの次世代製品から下りも対応可能になるとのこと)

*1: ここまで簡単にできたのは、SORACOM Beamからデータを受け取って、グラフ化したり他のサービスに繋げたりをグラフィカルなフローエディターで簡単に実現できるウフルのサービスenebularがあったことも大きいのですが(宣伝)