920MHz帯特定小電力無線とかLoRaとか、結局どうなの？

920MHz帯特定小電力無線とか長くて言いづらいし。LoRaとか検索すると法律っぽい話ばかりだし。結局どうなの？遊べるの？という記事。

目前のソリューションに使えそうか、おもちゃとしてモジュールを買う価値があるか、判断材料になれば幸いです。

# この記事について

* 920MHz帯特定小電力無線とLoRaの関係
* これらを使う/買う上で理解しておくべきザックリしたまとめ
* [EASEL 920MHz帯LoRaモジュール ES920LR](http://easel5.com/productinfo/lora_module.html)と、
[LAPIS Lazurite Pi Gateway](http://www.lapis-semi.com/lazurite-jp/products/lazurite-pi-gateway)をいじってみた通信距離/速度の実測値
* 結局どうなの？

細かいハナシは書きません。
あくまで、普通に売ってる920MHz通信モジュールがどんな感じなの？という記事です。

# 920MHｚ帯特定小電力とLoRaWAN

LoRaとは、免許不要で使える、サブギガ帯の低消費電力・長距離通信規格。自ずと低速。

[LoRa Alliance](https://lora-alliance.org/)によると
> The LoRaWAN® specification is a Low Power Wide Area (LPWA) network protocol designed to wirelessly connect battery operated ‘things’ to the internet in regional, national or global networks. The protocol includes features that support low-cost, mobile, and secure bi-directional communication for Internet of Things (IoT), machine-to-machine (M2M), smart city & industrial applications. LoRaWAN® protocol is optimised for low power consumption and is designed to scale from a single gateway installation up to large global networks with billions of devices. Innovative features of the LoRaWAN® specification include support for redundant operation, geolocation, low-cost, and low-power: Devices can even run on energy harvesting technologies enabling the mobility and bringing true ease of use to the Internet of Things.

つまりゲートウェイの手前にあるIoTあるいはM2Mネットワーク用の通信プロトコルです。
> ”低消費電力向けに最適化されており、数十億のデバイスを持つ大規模なグローバルネットワークまで拡張できるように設計されています。”

とあるので、スケールを意識した通信規格なのでしょう。

日本の場合使えるのが920MHｚ帯であり、この帯域を特小（免許不要）として使うには当然日本の制約（電波法）があります。いくら海外でいっぱいあっても日本の技適を通さないと日本では使えないから高い。そんな理由で日本ではイマイチ浸透していないのだと思います。

またLoRaはプロトコルなので、`920MHz帯＝LoRa`というわけでもありません。
`920MHｚ 通信 モジュール`と検索すると、割といくつかのモジュールが売られていますが、LoRaではなく、独自プロトコルの無線モジュールも多いです。

# 920MHｚ帯特小無線（LoRa）のイメージ

軽く調べると、きっとみんなこうゆうイメージを持つでしょう。
![2019-09-05_17h32_27.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/488658/396930d1-a92b-931e-1053-b681877beb73.png)

* BLEみたいなもの
* 遠くまで飛ぶ
* ちょっと高い
* ちょっと遅い
* 帯域が違うから混信しない
* 障害物を回り込むらしい（回折性）

こう来ると、思うわけです。

> アウトドアなIoTで使えそう！
> BLEを置き換えたら距離が伸びてよさそう！
> 電子レンジ工場で使えるね（笑）
> アドホックネットワークを作るのだ！

でも実際普通のBluetoothと比べてどんなもんか知ってる人は少ないでしょう。
使ってみた感じを次の項で書きます。

# 実際のスペックは？

LoRa準拠でも独自プロトコルでも、920MHz帯を使っている時点で電波使用の制約は同じです。調べた人はわかると思いますが、キャリアセンス、最大送信時間、休止時間、最大出力電力、これらがあって、速度や距離はあまり出ないようになっています。
技適の通ったモジュールを買ってきて使う側の立場からするとこんな感じです。

> 計算上はもっと出るはずなのになんかモジュールが押さえつけてくる！

その技適が守っている制約、電波法が言う”920MHｚ帯特定小電力無線に関する技術的条件”とは一部まとめるとこんな感じ。
![2019-09-05_18h01_48.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/488658/4767499f-f7b8-66c2-562a-dc4cfc6b4e74.png)

`デューティ制限`と`パケット毎制御`とは、`一時間のうち合計送信時間が合計６分以内`か`送るパケット全てにオーバーヘッド付ける`かどちらかは守ってね、ということです。

この上に、プロトコルや変調方式に依って、チャンネルが少ない代わりに遠くまで飛ぶ、遅いかわりに遠くまで飛ぶ、など色々なパターンがあり、細かく設定できたりもします。LoRaにはBluetoothと同じようにClassという概念もあります。

つまり、`伝送速度:～～kbps`とカタログに書いてあっても実際はそこまででません。

* 送信する前に（衝突回避のため）キャリアセンス時間
* 最大送信時間に収まるペイロード（１パケット）サイズ
* １パケット毎の休止時間

１パケットあたりにこのオーバーヘッドがあるわけです。

`最大伝送可能距離: 1km`と書いてあっても、ビットレートを最大に下げ、おそらくアンテナをつけて何もない場所で行ったときの理論値です。市街地ではその10%くらいでしょう。
モジュールによって最大距離が違うのは、変調方式が違うからです。空中線電力と帯域が同じなら、チャンネル数やスループットを犠牲にしているはずです。

[【ワイヤレスジャパン】920MHz帯で最大8km先まで画像を長距離伝送](https://businessnetwork.jp/Detail/tabid/65/artid/4589/Default.aspx)という記事を見つけましたが、これはスペクトラム拡散変調方式で、ビットレートは0.2kbpsだそうです。さらに外付けアンテナ付きですね。

## [Lazurite Pi Gateway](http://www.lapis-semi.com/lazurite-jp/products/lazurite-pi-gateway)を用いた実測

Lazurite Pi Gatewayは、Raspberry Piにドッキングできるお手軽なモジュールです。各種ライブラリが公開されていて簡単に始められます。

LoRaではなく独自プロトコルのようです。変調方式はわかりませんが、少なくともLoRaの`スペクトラム拡散変調`ではないです。
ローム製通信モジュール`BP3596A`が乗っています。
rateは100kbpsか50kbpsか選択できます。HPに通信距離は`数100m`と書いてあります。

* rate: 100kbps
* power: 20mw
* ACK要求： なし
* 外付けアンテナ: なし
* 真横に置いてユニキャスト

上記条件で、ペイロード最大（240byte）のパケットを送り続けて平均を出したところ、スループットは 約`69kbps`でした。
同様の条件でペイロードを50byteとしたら、スループットは`32kbps`でした。
やはりオーバーヘッドが大きいようです。

さらに同条件で、パケットを10%以上取りこぼさない最大距離は、市街地で見通し90mくらいでした。叫べば届く距離です。しかも間に車が走ると露骨に取りこぼします。920MHz帯の回折性能とはそんなレベルですね。

## [ES920LR](http://easel5.com/productinfo/lora_module.html)を用いた実測

こちらはLoRa準拠の無線モジュールが乗ったマイコンボードです。PCとシリアル接続できるテストボードとセットで買いました。
HPに詳しいデータシートが公開されていてとても親切です。

通信プロトコルはファームの書き換えでEASEL独自プロトコルとLoRaWANを選択できます。変調方式はスペクトラム拡散方式です。

スペクトラム拡散方式とは、信号を本来よりも広い帯域に拡散してノイズに強く、遠くまで飛ぶようにしているものです。
ユーザ目線でザックリいくと、帯域幅と拡散率という２つのパラメータを変更可能で、（到達距離）と（通信速度・チャンネル数）をトレードオフしているわけです。

HPには、`伝送速度: 146bps～22kbps`、`条件のよい見通しのエリアでは、最大30Km以上の通信`と書いてあります。

* rate: 22kbps
* power: 20mw
* ACK要求： なし
* 外付けアンテナ: なし
* 真横に置いてユニキャスト

こちらも同様に試験しました。
ペイロード最大（50byte）で、パケットを送り続けて平均したところ、約`4kbps`でした。相当落ちますね。
しかしES920LRのテストキットにはアンテナが付いてきたのでアンテナをつけて距離を測ったところ、少なくとも、間に建物を挟んで100m以上での取りこぼしのない通信を確認しました。

このモジュールで、rateを3.9kbpsに下げ、実質ビットレート約1kbpsで音声通信をしたのですが、端末だけで、建物挟んで２ブロック先と直接の通信が可能なのはちょいと感動ものでした。

試してませんが、rateを146bpsとしたらほんとに10km以上飛ぶかもしれません。

# まとめ

920MHz帯特定小電力無線モジュールは高いです。しかしLoRaにしても独自プロトコルにしても、BLEとは違う個性があるのは確かです。
ES920LRに関しては、同じ変調方式のモジュールはそうだと思いますが、確かに結構長距離の通信ができます。（市街地ではカタログほどではないですが）

遠くまで飛ぶけど思いの外遅いし高い訳です。
遠くまで飛ぶと言っても1km,2kmのアドホック通信ができるわけでもなく、微妙なところです。

BluetoothやBLEの仲間というより、新キャラとして思った方がいいかもしれません。
[LoRa AllianceのHP](https://lora-alliance.org/)はなんかスゴそうで読み応えがあります。