LoRa
https://videocodec.tistory.com/2514
IoT 오픈 하우스란?
IoT 오픈 하우스는 디바이스의 개발을 위햇 오픈된 공간입니다. IoT 오픈 하우스는 IoT 생태계 활성화를 위하여 개발자 및 스타트업의 상품 개발부터 서비스 상용화까지 종합적으로 지원하고 개발자를 육성하는 Eco-Player 역할을 수행합니다.
https://ilikethisplus.tistory.com/67
목적기술 지원을 통한서비스 개발 및 상용화 기간 단축개발자 지원을 통한 자생적 개발 환경 조성 및IoT 생태계 활성화지원 대상LoRa, Cat M1, LTE-M 등IoT 단말 및 서비스 상용화를 준비 중인 모든 기업지원 업무컨설팅 : 기획/개발, 디바이스 및 플랫폼, 클라우드 활용 컨설팅개발지원 : 디바이스 HW/SW 및 ThingPlug 연동 개발지원상품화 지원 : 상용 망연동을 통한 상용화 지원교육 : IoT 단말 및 클라우드 상설 교육 과정
- 기술 지원을 통한 서비스 개발 및 상용화 기간 단축
- 개발자 지원을 통한 자생적 개발 환경 조성 및 IoT 생태계 활성화
- LoRa, Cat M1, LTE-M 등 IoT 단말 및 서비스 상용화를 준비 중인 모든 기업
- 컨설팅 : 기획/개발, 디바이스 및 플랫폼, 클라우드 활용 컨설팅
- 개발지원 : 디바이스 HW/SW 및 ThingPlug 연동 개발지원
- 상품화 지원 : 상용 망연동을 통한 상용화 지원
- 교육 : IoT 단말 및 클라우드 상설 교육 과정
패킷 충돌
RAK LoRa 게이트웨이를 사용하시면서 여러 디바이스가 동시에 데이터를 전송할 때 데이터 누락(Packet Loss)이 발생하는 것은 LoRaWAN 네트워크에서 흔하게 발생할 수 있는 현상입니다. 이는 LoRaWAN이 사용하는 CSMA/CA(충돌 회피) 방식이 아닌 ALOHA 방식과 관련이 깊습니다.
데이터 누락이 발생하는 주된 원인은 **패킷 충돌(Collision)**과 게이트웨이의 한계 때문이며, 세부 원인은 다음과 같습니다.
1. 패킷 충돌 (Collision)
LoRaWAN은 비동기식 ALOHA 프로토콜을 기반으로 작동합니다. 이는 디바이스가 데이터를 보내기 전에 채널이 비어있는지 확인하지 않고, 필요할 때 즉시 데이터를 전송하는 방식입니다.
1.1. 동시 전송 (심각한 충돌)
가장 직접적인 원인입니다. **두 개 이상의 디바이스가 완전히 동일한 시간에, 동일한 채널(주파수), 동일한 전송 파라미터(SF, BW)**를 사용하여 패킷을 전송하는 경우입니다.
- 결과: 두 패킷의 전파가 서로 간섭하여 모두 손상되고, 게이트웨이가 두 패킷 중 어느 것도 성공적으로 디코딩(복호화)하지 못하게 됩니다. 이는 데이터 누락으로 이어집니다.
1.2. 동일한 스펙트럼 사용
LoRa 기술은 **확산 인자(Spreading Factor, SF)**와 **대역폭(Bandwidth, BW)**을 다르게 사용하면 동일한 주파수라도 충돌 없이 데이터를 수신할 수 있는 **직교성(Orthogonality)**을 제공합니다.
- 하지만, 디바이스들이 동일한 SF를 사용하는 경우, 주파수가 달라도 **패킷 전송 시간(Airtime)**이 길어지면 충돌 가능성이 높아집니다.
- 원인: 모든 디바이스가 기본 설정값(예: SF12)을 사용하도록 되어 있다면, 충돌이 발생할 확률이 매우 높습니다.
2. 게이트웨이의 한계
RAK 게이트웨이는 일반적으로 8채널 또는 16채널 수신기를 사용하며, 동시에 처리할 수 있는 패킷 수에 물리적 한계가 있습니다.
2.1. 채널 수신 능력의 한계
대부분의 LoRaWAN 게이트웨이는 8개의 병렬 수신 체인을 가지고 있어, 최대 8개의 서로 다른 LoRa 신호를 동시에 디코딩할 수 있습니다.
- 만약 12대의 디바이스가 동시에, 심지어 서로 다른 채널을 사용하더라도, 동일한 순간에 8개를 초과하는 패킷이 도달하면 나머지 패킷은 게이트웨이에 의해 처리되지 못하고 버려지게 됩니다.
2.2. 게이트웨이의 백홀 병목 현상
게이트웨이가 수신한 패킷을 LoRaWAN 네트워크 서버(LNS)로 전달하는 과정(백홀, 보통 인터넷 연결)에서 잠시 지연이 발생하거나 과부하가 걸릴 수 있습니다.
- 원인: 게이트웨이의 CPU 부하가 높거나, 인터넷 연결 상태가 불안정할 경우, 수신된 패킷을 LNS로 보내기 전에 메모리 버퍼가 가득 차서 새로운 패킷을 받아들이지 못하고 드롭(Drop)시킬 수 있습니다.
3. 통신 환경 및 설정 문제
3.1. ADR(Adaptive Data Rate) 미사용
- *ADR(적응형 데이터 전송 속도)**은 LoRaWAN의 핵심 기능 중 하나입니다.
- ADR 기능: 디바이스와 게이트웨이 간의 신호 세기(RSSI)가 좋을 경우, LNS가 디바이스에게 SF 값을 낮추도록(예: SF12 → SF7) 명령을 내립니다.
- 효과: SF 값이 낮아지면 **패킷 전송 시간(Airtime)**이 극적으로 짧아집니다. (SF12에 비해 SF7은 수십 배 빠름). 전송 시간이 짧아질수록 다른 패킷과 충돌할 확률도 낮아지므로 누락률이 감소합니다.
- 누락 원인: ADR이 활성화되지 않거나, 디바이스가 너무 낮은 SF(느린 속도)로 고정되어 있으면 충돌에 취약해집니다.
3.2. 인접 채널 간섭 (Adjacent Channel Interference)
디바이스들이 사용하는 주파수 채널이 너무 촘촘하게 붙어 있어, 한 채널의 강력한 신호가 인접한 다른 채널의 약한 신호를 마스킹(가려버리는) 현상이 발생할 수 있습니다.
해결을 위한 권장 조치
데이터 누락을 최소화하려면 디바이스들이 충돌을 피하도록 설정하고, 게이트웨이의 부하를 줄이는 것이 중요합니다.
- ADR 활성화 및 관리: 모든 디바이스에서 ADR을 활성화하여, 디바이스가 가능한 한 낮은 SF(빠른 전송 속도)를 사용하도록 유도해야 합니다.
- 전송 주기 분산: 디바이스들이 동시에 데이터를 보내지 않도록 각 디바이스의 전송 주기를 무작위화하거나 (Random Jitter), 서로 다른 시간에 전송하도록 설정합니다.
- SF 분산: 만약 ADR이 작동하지 않는 환경이라면, 디바이스들을 수동으로 **다양한 SF 값(SF7, SF8, SF9 등)**으로 나누어 설정하여 충돌 가능성을 줄여야 합니다.
- 게이트웨이 추가: 디바이스 수가 많고 통신이 중요한 경우, 게이트웨이를 추가로 설치하여 커버리지를 늘리고 패킷을 동시에 수신할 수 있는 능력을 확장하는 것이 가장 확실한 방법입니다.
💡 600미터 거리에서 충돌 최소화 전략
600미터 거리에서는 디바이스들이 **SF7 (DR5)**을 사용하여 통신할 수 있는 환경이 조성됩니다. SF7은 SF12에 비해 전송 시간이 약 30배 이상 짧기 때문에 충돌 확률을 획기적으로 낮출 수 있습니다.
1. ADR 설정의 효과 확인 (가장 중요)
네트워크 서버(LNS) 설정은 이미 Max Allowed TX Data Rate이 DR_5 SF7 BW125로 설정되어 있어, 디바이스가 이 속도를 사용하도록 유도하고 있습니다.
파라미터 현재 설정 600m 환경에서의 기대 효과
| Enable ADR | ON | LNS가 디바이스에게 SF7을 사용하라는 명령을 적극적으로 보낼 것입니다. |
| Max Allowed TX Data Rate | DR_5 SF7 BW125 | LNS가 허용하는 가장 빠른 속도이므로, 600m에서는 대부분 이 속도를 사용하게 됩니다. |
2. ADR 마진 조정 (선택적 튜닝)
충돌이 계속 발생한다면, LNS가 더 빠르게 SF를 낮추도록 유도할 수 있습니다.
파라미터 현재 설정 권장 조정 효과
| ADR Margin (dB) | 5 | 3으로 낮추는 것을 고려 | 마진을 낮추면 LNS는 현재 수신 환경이 충분히 좋다고 판단하여, 디바이스에게 **더 낮은 SF (더 빠른 속도)**를 사용하라는 명령을 보냅니다. 600m 거리라면 3dB로 낮춰도 안정성을 크게 해치지 않을 가능성이 높습니다. |
3. DR0 (SF12) 사용 제한
파라미터 현재 설정 권장 변경 이유
| Min Allowed TX Data Rate | DR_0 SF12 BW125 | DR_2 SF10 BW125 | 가장 느린 속도인 DR0와 DR1 (SF11)을 네트워크에서 제외하여, 최악의 경우에도 전송 시간을 단축하고 충돌 위험을 크게 줄입니다. 600m에서는 SF10으로도 충분히 안정적인 통신이 가능합니다. |
LoRa 테스트








