United Statesからアクセスのようです。言語設定をEnglishに切り替えますか?
Switch to English site
Skip to main content

LoRaWANの詳細と「The Things Network」プロジェクト

title

LoRaWANの仕組み ~ 支援プロジェクトTTN(The Things Network)の紹介

この記事では、LoRaWANのネットワークアーキテクチャを見ていくと同時に、なぜ従来の無線通信システムに比べてはるかに広範囲をカバーできるのかについて説明していく。そして、現在使用可能なモジュールについていくつか例をご紹介し、最後にクラウドソースIoTデータネットワーク支援組織であるThe Things Networkのサポートについて説明する。

データ量と通信範囲のトレードオフ

title

LoRaスペクトログラム, © 2016 RevSpace CC BY-SA 3.0

信じられないほど広範囲の通信を極めてわずかな送信電力でカバーできるというLoRaWANの秘密は、Semtech社のLoRa変調技術にある。チャープスペクトラム拡散(CSS)の派生形により、スペクトルの広範囲の周波数帯に信号を拡散することを利用して、非常に信号雑音比(SNR)の悪いシステムでも良好に動作させることができる。

スペクトラム拡散システムにおける拡散は、通常、元信号をデータ信号よりも格段に速いレートの拡散コード(チップシーケンス)と掛け合わせることによって実現されている。そのため、信号の帯域幅は元信号を超えるものとなる。

LoRaでは、連続的に周波数を変化させることでチャープ信号を生成し、これによりデータ信号が拡散され変調される。送信信号によって占められる無線スペクトラムの量、変調帯域幅が固定のとき、実現可能なデータスループットと、通信範囲や干渉への耐性はトレードオフであり、拡散度合いを変化させることでそのバランスを変えられる。 

拡散率(SF)は7から12が利用され、1増加するごとにリンクバジェットゲインが2.5dB増える。Semtech社の新製品LSIは、拡散率12のとき -134dBmという驚くべき感度をもっている。さらに、受信側ではこれらは直交で干渉も最小限なので、全体の無線チャンネル容量はそれぞれの拡散率を合わせたものになる。

また変調には誤り訂正の用意も含まれている。低消費電力、広範囲の対応だけでなく、他にもマルチパスフェージングや、ドップラーシフトに強いという特徴があり、低価格、高効率のRFパワーアンプを使うのに適している。

さらに詳しい説明についてはLoRa変調の基本 アプリケーションノート(英語)をご覧頂きたい。

低消費電力の広範囲ネットワーク

title

LoRaWANクラス, © 2015 LoRa™ アライアンス.

上図をご覧のとおり、LoRaWANはLoRaモジュールが構築する低消費広域ネットワーク(LPWANs)の上のLoRa変調で動作を行う。そしてこれらのLoRaモジュールは、各国の免許不要帯域の周波数(日本では920MHzなど)上で動作をしている。つまり言い換えれば、通信業者との契約を行う必要も、特殊な免許を取得することも不要で、様々なことが低消費電力で実現できる。また、これはバッテリ動作する端末にとっても、とても望ましいことである。

Aloha、ビーコン、連続クラス

LoRaWANにおいて、無線と有線領域をブリッジする機器をゲートウェイと呼ばれている(ベースステーション、アクセスポイントとしても知られているものだ)。次にあげるのは、エンドノードデバイスの3つのクラスである。

  • クラスA: もっとも基本的なモード。データ送信は必要なときにランダム時間を持たせて行われる(ALOHAタイプのプロトコル)。2つの短い受信ウインドウがアップリンクの送信後、設けられる。
  • クラスB: ゲートウェイモード。デバイスを同期させ、正確に予定されたデータ受信が行えるよう、規則的なビーコン信号を送出する。
  • クラスC: このクラスのデバイスは連続的に受信を行い、送出時だけ受信を止める。

このような動作は少し変わっているように思えるかもしれない。しかしLoRaWANが低消費電力に最適化されていることを考えれば、納得頂けるだろう。例えば低電力を考えると、受信のためだけに、遠隔地にあるバッテリ駆動のセンサノードを常時起動しておくことはもっとも避けたいことだ。さらに、IoTのアプリケーションを考えるとダウンリンクに比べ、アップリンクの通信の要求が圧倒的に多いのは当然といえる。

つまり、クラスAのノードは自由に量を変えてデータを送出できるが、ネットワークはアップインクに続いたタイミングのみでしかデータを送信できない。2つの短い受信チャンネルが十分でないとするならば、ネットワークは「フレーム継続」ビットをセットし、さらにアップリンクを送ることでノードに別のウインドウを開けるように要求する。

もっと予想可能なダウンリンク容量を必要とするならクラスBを利用すべきだろう。クまたラスCはコンセントの電源につなげられるノードで大きなダウンリンクを行うアプリケーションに適している。

ほかに注目すべき点:

  • 受信側の受信を確認するデータメッセージ利用可
  • アダプティブデータレート(ADR): ネットワークの利用を最適化し、可能な最速のデータレートを実現するため、ネットワークがあるノードの拡散率を操作することができる。
  • 移動が伴う運用では、ノードが周期的な空のアップリンクを行うことで、ダウンリンクのルートを更新する。

暗号化、ABP、OTAA

暗号化は、ネットワーク層およびアプリケーション層で行われる。ネットワークに参加するには有効なネットワークセッションキーが必要とされ、内容はアプリケーションセッションキーによって復号化される。AES-128キーがこれらには利用され、プライバシーとメッセージの完全性が担保される。

パーソナル化によるアクティベーション(ABP)は、ネットワークセッションキーとアプリケーションセッションキーに加え、32ビットのデバイスアドレス(7ビットは識別子、残り25ビットはネットワークアドレス)を手動で設定できる。

オーバー・ザ・アクティベーション(OTAA)は、少し複雑で、ノードはデバイス識別子、アプリケーション識別子およびアプリケーションキー(これもAES-128)によって構成される。これらを使い、アドレスとセッションキーを割り当てられることで、参加手順を実行することができる。

ABPはプロトタイピングや小さなネットワークに適している、一方、OTAAは、アドレスの割り当てなどに自由度が非常に高く、スケーラビリティと高いセキュリティを実現できる。

ゲートウェイ

title

IMST ic880A SPI LoRaWANコンセントレーターボードの一部

LoRaWANゲートウェイを実現する製品は既にいくつか存在している。このうちのいくつかはSemtech社 SX1257トランシーバーとSX1301ベースバンドプロセッサを利用したリフェレンスデザインをベースにしている。この組み合わせにより、異なるチャンネルの異なる拡散率をもつ、最大8パケットの送信を同時に受信することができる。

また、それらゲートウェイ上のソフトウェアやファームウェアも、Semtechによるリファレンス実装に基づいている。ゲートウェイのベンダーはもちろん、ハードウェアの性能を変え、ネットワークを効果的に管理、スケールするために望ましいほかの機能を統合し、すぐにつかえるソリューションを提供することで、製品の差別化を図るだろう。

キーになるハードウェアの機能の1つは、正確にネットワークでのゲートウェイの位置を報告し、高精度のタイミングをノードに伝えることができるGPSである。さらに、複数のゲートウェイでそのような正確な位置やタイミングがわかると到着時間差TODAという技術を利用することできるため、複数の異なるゲートウェイでアップリンクメッセージが受信されるまでの時間の違いに基づき、ノードの位置を推定することができる。

更に付け加えるべきこととして、Raspberry Piを使って、そこそこ簡単にあなた自身でゲートウェイを作ることができるということだ。低予算での自作に興味がある人なら、大変心強いことだろう。

ノードの選択肢

title

ノードの無線ソリューションに関しては、2つのカテゴリに分けることができる。

  • 無線部とLoRaWANスタックが実装されたプロセッサが統合されており、そのインターフェースが提供されるもの
  • 無線部分だけで接続したプロセッサでスタックを動作させる必要があるもの

前者は、LoRaWANの認定を受けたモジュールもあり、とても簡単に利用できる。一方、後者は、同じデバイス上でネットワーキングスタックとアプリケーションを動かせる可能性があり、これによりコストダウンや、さらなる低消費電力やMACレイヤーでの高度なコントロールなどより密な統合による恩恵を受けることができる。

もっとも知られているすぐに使えるモジュールには、LoRaWANに認定を受けているMicrochip RN2483などがある。このモジュールは、3.3VレベルのUART通信を介し、簡単に使えるASCIIコマンドセットにより制御可能である。

無線機能しか持たないモジュールを利用する人には、例えば、SemtechからLoRaWANスタックのリファレンスやmbedにポーティングされているIBMの"LoRa WAN in C"スタックがある。

RoLaWAN普及をサポートするプロジェクト「The Things Network」

The Things Network(TTN)は、 LoRaWAN v1.0に完全互換性をもったオープンソース開発をオープン規格で実現するプロジェクトである。彼らの開発した成果物ソフトウェアはGitHubを通じてオープンソースで公開されている。さらに、TTNのホスティングサービスから独立した完全に分散されたシステムを構築できるよう活動を行っている。

title

この記事を書いている時点で、TTNが提供するプロトタイプアーキテクチャは、クラスAだけをサポートししており、ADRと受信確認メッセージはサポートされていない。ADRがサポートされないため、拡散率・データレートは固定として扱われる。ABPによってノードの構成が行われる。チャンネルは、2つのSX1257を搭載するゲートウェイの利用を想定した868MHz帯の利用が計画されている。

TTNのゲートウェイに参加するのは、驚くほど単純だ。ハードウェアを持っていれば、あとは、緯度や経度といったいくつかのパラメータの設定(GPSを搭載していない場合)やTTNのサーバが接続するためのネットワークの詳細により、パケットフォワーダの構成をするだけである。ゲートウェイはおそらくハードウェアのシリアル番号を含むユニークな識別子か、DIYのRaspberry PiによるものはプリフィックスとイーサネットアダプタのMACアドレスから作ったユニークな識別子を必要とする。

ゲートウェイがTTNの一部となるためには、共通の知られたネットワークセッションキーを使わなければならない。同じ、AES-128キーをアプリケーションセッションキーとして利用するということは、TTNのサーバーが送られた内容をデコードし、 RESTful APIかMQTTを通じて平文として扱うができるということを意味する。プライベートアプリケーションセッションキーにより、センシティブな内容のデータを同様に扱うこともできる。

前回の投稿 「The Things Networkカルダーデールコミュニティを立ち上げる」では、非常に簡単に現在のTTNアーキテクチャについて触れた。2月29日のTTNの技術的な更新により新しいアーキテクチャの概要が発表され、そこでは新しいネットワーク要素や5月末あたりを目標に製作中であることが紹介された。8月末には古いプラットフォームは終了する。

LoRaWANの可能性

LoRaWANは、低価格、広範囲、信頼性、シンプルさ、拡張性といった要素を完璧なバランスで提供してくれる。基本的なスタートポロジーネットワークを採用していることで広い通信範囲を実現。メッシュネットワーク特有の問題や複雑性を排除し、ソフトウェアをシンプル化に成功している。このことで、LoRaWANの開発を、誰でも簡単に、低消費電力で、WAN通信業者の手をかりることなく実現できている。

バッテリで駆動する無線ノードにより見通し15kmの距離をカバーすることができるのは、LoRaWANがまさに技術のランドマークであり、IoTのキーとなる存在であると思える。ただ一つのイニシアチブであるThe Things Networkへの関心を考えれば、去年からの大きな勢いが合わさって、ネットワークの構築が続けられるだろう。

Andrew Back

Open source (hardware and software!) advocate, Treasurer and Director of the Free and Open Source Silicon Foundation, organiser of Wuthering Bytes technology festival and founder of the Open Source Hardware User Group.
DesignSpark Electrical Logolinkedin