低レート、長距離IoTアプリケーション向けにLoRaを使用した開発

著者 Paul Pickering

Digi-Keyの北米担当編集者 の提供

設計者には、モノのインターネット(IoT)に製品を接続するための広範なワイヤレス技術があります。各技術は異なるアプリケーションに適合するため、設計者は、距離やデータレート、コスト、消費電力、容量、フォームファクタなどの要素を慎重に検討する必要があります。

この記事では、LoRaプロトコルを紹介し、その利点を他のプロトコルと比較し、LoRaベースのシステムを迅速に技術者が開発することが可能ないくつかの製品および開発キットについて考察します。

ワイヤレスIoTのトレードオフに関する考慮事項

各ワイヤレス技術には、長所と短所があります。たとえば、標準のWi-Fiは高速で大量のデータを伝送することができますが、その範囲は限られています。セルラーネットワークは、高速と長距離を組み合わせていますが、電力消費が大きくなります。

リモートデータ収集、都市照明制御、気象モニタリング、農業などのIoTアプリケーションには、それぞれ異なる優先事項があります。気象条件、土壌水分レベル、または街灯などの、これらのアプリケーションで測定または制御される量は、すべて長期間にわたって非常にゆっくりと変化します。

加えて、センサノードは多くの場合に数マイル離れており、バッテリ駆動であるため、最適なワイヤレスプロトコルは、最小の消費電力で長距離にわたって小さなデータパケットを効率的に送信できる必要があります。LoRaプロトコルは、まさにこれらの要件を満たすように設計されました。

LoRa技術の概要

LoRaは、低電力広域ネットワーク(LPWAN)アプリケーションを対象としています。これは、15キロメートルを超える範囲と最大100万ノードの容量を備えています。低電力と長距離の組み合わせにより、最大データレートは50キロビット/秒(Kbps)に制限されます。

LoRaは、ISM帯域で事業を展開しているSemtech Corporationが所有し、特許を取得した独自技術です。ISM用の周波数割り当ておよび規制要件は、地域によって異なります(図1)。2つの最も一般的な周波数は、ヨーロッパで使用される868メガヘルツ(MHz)、北米で使用される915MHzです。他の地域、特にアジアでは、異なる要件があります。 

ヨーロッパ 北米
周波数帯域 867~869MHz 902~928MHz
チャンネル 10 64 + 8 + 8
チャンネルBW Up 125/250kHz 125/500kHz
チャンネルBW Dn 125kHz 500kHz
TX電力Up +14dBm +20dBm標準
(+30dBm許容)
TX電力Dn +14dBm +27dBm
SF Up 7~12 7~10
データレート 250bps~50kbps 980bps~21.9kbps
リンクバジェットUp 155dB 154dB
リンクバジェットDn 155dB 157dB

図1:ISM帯域が広く使用されている2つの地域(ヨーロッパと米国)のLoRa仕様の比較。(画像提供:LoRa Alliance)

LoRa物理層は、スペクトラム拡散変調(SSM)を使用します(図2)。SSMは、ベース信号をより高い周波数シーケンスでエンコードし、このより高い周波数シーケンスは、より広い帯域幅にわたってベース信号を意図的に拡散し、消費電力を低減して、電磁妨害に対する耐性を高めます。

入力データに掛けるスペクトラム拡散システムの図

図2:スペクトラム拡散システムは、入力データに、信号帯域幅を拡散するはるかに高速のコードシーケンスを掛けます。(画像提供:Semtech Corporation)

ベース信号の拡散率(SF)は可変で、トレードオフを表します。 特定の利用可能な帯域幅に対して、より大きい拡散率はビットレートを低減させ、また、伝送時間を増加させることによってバッテリ寿命を減少させます。

指定された拡散率(SF)および帯域幅(BW)で、次の式によって定義されるビットレートを求めることができます。

式1

LoRaは、6つの拡散率(SF7~SF12)および3つの異なる帯域幅(125kHz、250kHz、500kHz)を許容します。許容される拡散率および帯域幅は、地域規制機関によって定められています。たとえば、北米では、500kHzの帯域幅と7~10の拡散率が指定されています。

スペクトラム拡散技術により、異なるデータレートを有するメッセージは直交し、「仮想」チャンネルのセットを作成することによって相互に干渉しないため、ゲートウェイの容量が増大します。

LoRa方式は、チャープ拡散スペクトラム(CSS)変調と呼ばれるSSMのバージョンに基づいています(図3)。CSSは、本質的に、経時的に増加または減少する広帯域周波数変調正弦波信号である「チャープ」でデータをエンコードします。

周波数対時間の線形関係を示すCSS「アップチャープ」の画像

図3:CSS「アップチャープ」は、周波数対時間の多項式に従うか、またはここに示すような線形関係を示すことができます。(画像提供:Wikipedia)

CSSは、低電力の使用を必要とする低データレート(<1Mb/s)アプリケーションによく適しています。別の低レート規格であるIEEE 802.15.4aは、それを、ワイヤレスパーソナルエリアネットワーク(LR-WPAN)での使用向けの技術として規定しています。CSSは、軍用アプリケーションや宇宙用アプリケーションで長距離で堅牢な通信を提供するために長年にわたって使用されてきましたが、LoRaは最初の低コスト商用実装です。

LoRaWANおよびLoRaネットワークアーキテクチャ

LoRaWAN仕様は、LPWAN用のメディアアクセス制御(MAC)層を定義します。LoRaWANは、LoRa物理層の上に実装され、通信プロトコルおよびネットワークアーキテクチャを指定します。これらの機能は、次のようないくつかの性能パラメータに対して高い影響力を持ちます。

  • ノードのバッテリ寿命
  • ネットワーク容量
  • ネットワークセキュリティ
  • 対応アプリケーション

LoRaWANネットワークアーキテクチャは、ネットワークサーバと通信する複数のゲートウェイと各エンドノードが通信するスターオブスタートポロジを使用します。

LoRaネットワークには、次の4つの要素があります(図4)。

  • エンドノードはセンサデータを収集し、それをアップストリームに送信し、アプリケーションサーバからダウンストリーム通信を受信します。エンドポイントデバイスは、1つまたは多くのゲートウェイへのシングルホップワイヤレス通信を使用します。
  • コンセントレータ/ゲートウェイは透過型ブリッジとして機能し、エンドノードとアップストリームサーバ間の双方向データをリレーします。
  • ネットワークサーバは、有線またはワイヤレスでセキュアなTCP/IP接続を介して複数のゲートウェイに接続し、重複するメッセージを排除し、どのゲートウェイがエンドノードメッセージに応答すべきかを決定し、ネットワーク機能を最大化してエンドノードバッテリ寿命を延ばすために適応データレート(ADR)方式でエンドノードデータレートを管理します。
  • アプリケーションサーバは、エンドノードからデータを収集して分析し、エンドノードの動作を決定します。

LoRaネットワークの4つのメインブロックと2つのセキュリティ層の図

図4:LoRaネットワークには、4つのメインブロックと2つのセキュリティ層があります。(画像提供:LoRa Alliance)

エンドポイント通信は通常双方向ですが、LoRaはソフトウェアアップグレードなどの機能向けのマルチキャスト操作もサポートしています。ZigBeeなどの多くの競合プロトコルは、個々のエンドノードが他のエンドノードから情報を受信して​​再送信するメッシュトポロジを採用しています。このアプローチはネットワークの範囲とセルサイズを増加させますが、追加の通信オーバーヘッドは複雑さを増し、ネットワーク容量を低減し、個々のノードの消費電力を増加させます。

LoRaエンドノードの分類

エンドノードデバイスの3つのクラスがあります。3つのクラスはすべて双方向通信を可能にし、ゲートウェイを介してサーバへのアップリンクを開始することができます。それらは、受信したサーバメッセージをいつ受け入れるかという点で異なります。

LoRaWANクラスAデバイスは、消費電力が最小です。エンドノードは、アップリンク伝送の後に短期間開く2つの短い受信ウィンドウの間にのみ、サーバからの通信を可能にします。その他の時間でのサーバからのメッセージは、次のスケジュールされたアップリンク時間まで待機する必要があります。クラスAデバイスは非同期です。エンドポイントは、送信するデータがある時はいつでも送信を開始し、その後、あらかじめ設定された時間待機して応答をリッスンします。

LoRaクラスBデバイスはクラスA機能を提供しますが、スケジュールされた時間に追加の受信ウィンドウも開きます。ネットワークと同期するために、クラスBノードは、128秒ごとにゲートウェイから時間同期ビーコンを受信します。エンドデバイスがリッスンしている時にサーバに知らせる、その128秒以内でのタイムスロットが割り当てられます。

LoRaクラスCデバイスは、ほぼ連続したオープン受信ウィンドウを提供します。ウィンドウは、エンドポイント送信中にのみ閉じられます。クラスCデバイスは、大量のデータを送信するのではなく受信する必要がある場合に適しています。

LoRaWANセキュリティ

堅牢なセキュリティは、LPWAN設計の重要な要素です。LoRaWANは、AES 128ビット暗号を使用し、ネットワークセッションキー(NwkSKey)とアプリケーションセッションキー(AppSKey)の2つの独立したセキュリティ層を備えています(図5)。

LoRaエンドデバイスからアプリケーションへのデータフローの図

図5:LoRaエンドデバイスからアプリケーションへのデータフローには、チェーンの始めと終わりでの暗号化と復号化が含まれており、エンドノードセンサとアプリケーションのみがプレーンテキストデータにアクセスできます。(画像提供:Microchip Technology

ネットワークセキュリティ層は、ネットワークでのノードの信頼性を確保し、アプリケーションセキュリティ層は、エンドユーザーのアプリケーションデータへのアクセスをネットワークオペレータが持たないことを確保します。

キーを展開する次の2つの方法があります。

  • Activation by Personalization(ABP):ここで、LoRaWANエンドデバイスは、特定のLoRaWANネットワーク用の認証情報を使用して工場出荷時にプログラムすることができます。
  • Over-the-Air Activation(OTAA):これは、アプリケーションID、一意のデバイスID、およびネットワーク割り当てデバイスアドレスを使用して、NwkSKeyおよびAppSKeyを取得します。この方法は、キーがあらかじめ決定されておらず、再生成できるため、好ましい方法です。

LoRa開発を始める

メーカーは、個々のデバイスから完全な開発キットに及ぶ統合レベルを備えた各種のLoRaオプションを設計者に提供します。

Semtech CorporationのSX1279シングルチップLoRaトランシーバは、ヨーロッパと北米のISM帯域をカバーすることができます(図6)。適用される規制に応じて、デバイスは7.8kHz〜500kHzのチャンネル帯域幅および6〜12の拡散率を提供します。

Semtech SX1279の図(クリックしてフルサイズを表示)

図6:SemtechのSX1279は、LoRaWANが許容するよりも広い範囲である、18ビット/秒から37.5キロビット/秒の実効ビットレートを提供します。(画像提供:Semtech Corporation)

モジュールレベルで、LoRa IPのライセンシーであるMicrochipは、868MHzのヨーロッパのアプリケーション向けにRN2483を提供し、北米の915MHzアプリケーション向けにRN2903 LoRaを提供します(図7)。両方のモジュールには、LoRaプロトコルスタックを備えたアプリケーション特有のマイクロコントローラ、LoRa準拠の無線トランシーバ、一意のEUI-64識別子をデバイスに提供するシリアルEEPROM、およびアナログまたはデジタルセンサ入力、スイッチ、またはステータスインジケータ用の14個の入出力(I/O)ピンが含まれます。

これらのモジュールはクラスAでの使用向けに設計されており、-146dBmのレシーバ感度とともに、統合型+18.5デシベルミリワット(dBm)出力高効率パワーアンプ(RN2483では+14dBm)で長距離動作を達成します。

Microchip RN2903エンドノードの図

図7:標準のRN2903エンドノードは、入力機能と出力機能の両方を含むことができます。オプションのICSPポートを使用して、ファームウェアを更新することができます。(画像提供:Microchip Technology)

ボードレベルで、Microchipは、RN2903 LoRaモデムをベースとしたクラスAエンドデバイスであるDM164139 Moteを提供します。Moteは、RN2903の長距離機能向けに便利なデモンストレーションプラットフォームを提供するスタンドアロンのバッテリ駆動ノードです。

Moteには、光および温度センサが含まれます。データ送信は、ボタン押下によって開始するか、または固定スケジュールで送信することができます。LCDには、接続ステータス、センサ値、またはダウンリンクデータなどの情報が表示されます。

ボードは、RN2903のUARTインターフェースへのアクセスを提供するUSB​​ 2.0マイクロBコネクタを介してコンピュータに接続します。UARTにより、高レベルのASCIIコマンドセットを介してオンボードLoRaWANプロトコルスタックを迅速に設定および制御することができます。

RN2483モデムには、独自のMoteボードであるDM164138があります。

最後に、MicrochipのDV164140-2 LoRaネットワーク評価キットには、2つのRN2903 Moteボードとゲートウェイボードが含まれます(図8)。これにより、設計者は、完全な915MHz LoRaシステムの機能を容易に評価することができます。姉妹キットであるDV164140-1は、868MHzのアプリケーションをカバーします。

Microchip DV164140-2(915MHz)およびDV164140-1(868MHz)LoRa評価キットの画像

図8:MicrochipのDV164140-2(915MHz)およびDV164140-1(868MHz)LoRa評価キットには、(図の左から右に向かって)2つのMoteボード、ゲートウェイコアボード、および無線ボードが含まれます。(画像提供:Microchip Technology)

ゲートウェイボードは、コアボードと付属の無線ボードで構成されています。これには、LCD画面、構成データ用のSDカード、Ethernet接続、アンテナ、およびフルバンドキャプチャ無線が含まれます。

ゲートウェイボードは、パワーと通信の両方を供給するUSB​​ケーブルを通してホストPCとインターフェースします。加えて、Ethernetケーブルは、ゲートウェイとサーバ間の通信のために、コアボードとPCのローカルエリアネットワーク(LAN)コネクタ間に接続されます。

Mote開発ボードは、独自のUSB接続を通してホストコンピュータに接続されます。

ネットワーク評価キットソフトウェア

評価キットソフトウェアは、Digi-KeyのDV164140-2 製品ページから無償でダウンロードできるMicrochipのLoRa開発スイートで構成されます。Mac、Windows、またはLinuxマシンで利用可能なこのスイートは、外部ネットワーク接続なしでホストOS下で動作するLoRaWANネットワークサーバのローカルバージョンを設定します。開発スイートは、LoRaネットワークを素早く簡単にテストできる自己完結型のデモンストレーションネットワークを作成します。

内部的に、LoRa開発スイートは、コンテナ化されたアプリケーションを実行するためのオープンソース開発プラットフォームであるDockerを使用します。Dockerにより、Oracle Virtual Machine(VM)は、Windows、Mac、またはLinux環境で動作することができます(図9)。VMがDocker Engineをホストし、Docker EngineがLoRa評価サーバを実行します。評価サーバは、LoRaリンクを介してRNモジュールにデータをリレーするEthernetポートを介してゲートウェイボードと通信します。

Microchip LoRaネットワーク評価キットの図

図9:LoRaネットワーク評価キットは、ホストコンピュータのOS下で動作する評価LoRaサーバを実装します。(画像提供:Microchip Technology)

LoRa開発ユーティリティは、Javaアプリケーションの開発を可能にする一連のソフトウェアツールであるJava Runtime Environment(JRE)内で動作します。このユーティリティにより、新しいエンドデバイスのためにネットワークをスキャンする、それらにネットワークへのアクセスを許可する、新しいアプリケーションサーバを作成する、ネットワークを構成するなどの各種のタスクをユーザーが実行することができます(図10)。

LoRa開発ユーティリティの画像

図10:評価キットの製品ページからダウンロードできるLoRa開発ユーティリティは、ネットワーク構成を含むLoRa評価キットの多くの機能を制御します。(画像提供:Microchip Technology)

結論

LoRaプロトコルは、長距離、低電力、低データレート通信のために重要なIoTニーズを満たします。この記事では、これを可能にするLoRa物理層およびLoRaWAN仕様について考察し、さまざまなターゲットアプリケーションにおいてLoRaの性能を迅速に設計者が評価するのに役立つ各種のデバイスおよびキットを紹介しました。

免責条項:このウェブサイト上で、さまざまな著者および/またはフォーラム参加者によって表明された意見、信念や視点は、Digi-Key Electronicsの意見、信念および視点またはDigi-Key Electronicsの公式な方針を必ずしも反映するものではありません。

著者について

Paul Pickering

出版者について

Digi-Keyの北米担当編集者