ゲートウェイ「LoRa 1ch」と「LoRaWAN 8ch」のLMIC違い

![DSC_0132.JPG](https://qiita-image-store.s3.amazonaws.com/0/197167/33e24d28-3f3e-3c54-2bf8-d2a28aa8ae35.jpeg)
#1. single channel gatewayについて＿トーマス テルカンプ 談
single channel gatewayは、複数の周波数と拡散要因を使用する一般的なLoRaWANデバイス（地域内のゲートウェイのタイプを認識していないデバイス）を適切にサポートすることができないため、実際にはそれらのカバレッジを提供していません。単一の周波数とSFでノードを修正する必要があります。
#2. 実証実験で使用したsingle channel gateway用のノードLMIC
```ruby:lorabasa.hの一部
//                 freq             band     datarates
//based on TTN arrangement
enum { AS923_F1 = 923200000,      // g1   SF7-12
       AS923_F2 = 923200000,      // g1   SF7-12 
       AS923_F3 = 923200000,      // g1   SF7-12
       AS923_F4 = 923200000,      // g2   SF7-12
       AS923_F5 = 923200000,      // g2   SF7-12
       AS923_F6 = 923200000,      // g3   SF7-12
       AS923_J4 = 923200000,      // g2   SF7-12  
       AS923_J5 = 923200000,      // g2   SF7-12   
       AS923_J6 = 923200000,      // g2   SF7      
};
enum { AS923_FREQ_MIN = 923200000,
       AS923_FREQ_MAX = 923200000 };

enum { CHNL_PING         = 5 };
enum { FREQ_PING         = AS923_F6 };  // default ping freq
enum { DR_PING           = DR_SF9 };       // default ping DR
enum { CHNL_DNW2         = 5 };
enum { FREQ_DNW2         = AS923_F6 };
enum { DR_DNW2           = DR_SF10 };
enum { CHNL_BCN          = 5 };
enum { FREQ_BCN          = AS923_F6 };
enum { DR_BCN            = DR_SF9 };
enum { AIRTIME_BCN       = 144384 };  // micros
```
前回の「はじめてのLoRa＿「The Things Network」に 「Dragino LG01-P」で接続」では、このようにノードをLG01専用に書き換え、LG01側の設定を変えてカバレッジを確認しました。
8chですと端末の通信データレートを自動的に切り替えるADR(Adaptive Data Rate)が働きますので通信したSF値がよくわかりませんが、1chですとSFを手動で切り替えて確認できますので、通信基礎実証実験には最適です。
![DSC_1382.JPG](https://qiita-image-store.s3.amazonaws.com/0/197167/ed0b5afe-782f-a413-8066-5c325263b6d8.jpeg)
ノードを山頂に置き、LG01ゲートウェイをジムニーに積み山岳地帯を確認しました。
#3. 8channel gateway用のノードLMIC
```ruby:lorabasa.hの一部
//                 freq             band     datarates
//based on TTN arrangement
enum { AS923_F1 = 923200000,      // g1   SF7-12
       AS923_F2 = 923400000,      // g1   SF7-12 
       AS923_F3 = 922200000,      // g1   SF7-12
       AS923_F4 = 922400000,      // g2   SF7-12
       AS923_F5 = 922600000,      // g2   SF7-12
       AS923_F6 = 922800000,      // g3   SF7-12
       AS923_J4 = 923000000,      // g2   SF7-12  
       AS923_J5 = 922000000,      // g2   SF7-12   
       // AS923_J6 = 922100000,      // g2   SF7      
};
enum { AS923_FREQ_MIN = 921000000,
       AS923_FREQ_MAX = 924000000 };

enum { CHNL_PING         = 5 };
enum { FREQ_PING         = AS923_F2 };  // default ping freq
enum { DR_PING           = DR_SF9 };       // default ping DR
enum { CHNL_DNW2         = 0 };
enum { FREQ_DNW2         = AS923_F1 };
enum { DR_DNW2           = DR_SF10 };
enum { CHNL_BCN          = 5 };
enum { FREQ_BCN          = AS923_F2 };
enum { DR_BCN            = DR_SF9 };
enum { AIRTIME_BCN       = 144384 };  // micros

```
[TheThingsNetwork LoRaWAN Frequencies Overview](https://www.thethingsnetwork.org/docs/lorawan/frequency-plans.html)
lorabasa.hで、EU868の周波数部分を上記に変えるだけでも動作します。お好みですが、その方が他のファイルが関係しないので簡単かもしれません。
#4. LMIC
Arduino系LoRaノードをArduinoIDEで記述する際の基本プログラムLMICは、主に3種あるかと思います。
####1. IBM マティス・クイジマン 作
- [GitHubにあるmatthijskooijman / arduino-lmic](https://github.com/matthijskooijman/arduino-lmic)

####2. TTN_ニューヨーク MCCI Catena 作
- [GitHubにあるmcci-catena/arduino-lmic](https://github.com/mcci-catena)

####3. Lacuna Space トーマス・テレカンプ 作
- [GitHubにあるtftelkamp / arduino-lmic-v1.5](https://github.com/tftelkamp/arduino-lmic-v1.5)

藤枝市Softbankと島田市TheThingsNetworkの接続試験では、日本のAS923周波数規格のゲートウェイADRに対応しなければなりませんでしたが、上記3種の内、1のIBM製が最も問題がありませんでした。
また現在、Downlinkさせるために世界のあちこちでLMICが編集されており、メモリー消費量も増えてきています。
#5. 結論
8chは、SF値が自動的に切り替えるため、実運用において電波が飛ぶと感じると思います。
#参考
- [TheThingsNetwork FORUM シングルチャネルゲートウェイパート1(Lacuna Space トーマス テルカンプ)](https://www.thethingsnetwork.org/forum/t/single-channel-gateway-part-1/798)