IOTOWN Manual

LoRaWAN Connect

개요

IOTOWN은 LoRaWAN network server를 내장하고 있어서 사용자의 LoRa 지원 하드웨어와 연동할 수 있습니다. 즉, PLM100 같은 LoRa를 지원하는 개발보드에서 LoRaWAN을 통해 IOTOWN으로 데이터를 전송하거나 수신할 수 있다는 의미입니다. 물론, 저희는 이동통신사가 하듯이 전국망 서비스를 제공하지는 못하지만, 사용자가 직접 게이트웨이와 장치를 설치하여 별도의 과금없이 무료로 운용할 수 있습니다.

게이트웨이 등록

LoRaWAN 게이트웨이는 장치와 네트워크 서버(IOTOWN) 사이에 위치하여 양쪽으로부터 수신한 패킷들을 상대편에게 전달하는 역할을 하고 있습니다.

게이트웨이 측에서는 서버 주소를 town.coxlab.kr로 설정하세요. 만약, IOTOWN-Biz를 사용중이시면 별도의 서버 주소를 설정하면 됩니다. IOTOWN에서는 Semtech Packet Forwarder의 UDP 기반 방식과 Chirpstack Gateway Bridge의 MQTT 기반 방식을 지원합니다. Packet Forwarder를 사용하는 경우에는 UDP 1700, Chirpstack Gateway Bridge를 사용하는 경우에는 TCP 1883을 포트 주소로 설정해야 합니다.

본 사가 개발/판매하는 CG100은 이 2가지 프로토콜을 모두 지원합니다. 타 사 게이트웨이를 IOTOWN과 연결하려는 분들은 해당 제품의 제조사에서 제공하는 매뉴얼을 참고하세요.

IOTOWN은 사설망이므로 게이트웨이의 LoRa syncword는 private으로 설정합니다. 사실 syncword는 게이트웨이-장치 간 약속이므로 사용자가 어떻게 사용하든 자유입니다만, 현재 이동통신사가 서비스하는 전국망과 간섭을 피하기 위해서는 private으로 설정하는 것이 바람직합니다.

IOTOWN에서도 게이트웨이 등록을 해야 합니다. 자세한 내용은 IOTOWN User Manual의 Gateway Management를 참고하세요.

장치 등록

LoRaWAN 장치의 ID는 LW로 시작하여 장치의 EUI-64를 MSB first 순으로 입력하여야 합니다. 예를 들어, 장치 EUI-64가 00-11-22-33-44-55-66-77이면, ID는 LW0011223344556677이 됩니다. 자세한 내용은 IOTOWN User Manual의 Node Management를 참고하세요.

Device Profile은 해당 장치가 사용할 대역, stack version 및 class를 의미합니다. 아래 그림과 같이 KR920 1.0.2 A 인 경우, KR920 대역, 1.0.2 version의 stack, 및 class A를 사용한다는 뜻입니다.

등록이 완료되면, 아래와 같이 해당 장치의 Node Info. 열에 LoRaWAN Info 항이 나타납니다. 이 중 AppKey를 장치에 입력하여야 합니다. 입력 방법은 장치별로 다르므로, 장치 제조사에 문의바랍니다.

IOTOWN은 사설망이므로 로밍을 지원하지 않습니다. 따라서, 장치의 AppEUI(JoinEUI)는 00-00-00-00-00-00-00-00 으로 설정합니다.

데이터 전송

LoRaWAN을 사용한 IOTOWN으로의 데이터 전송은 기본적으로 JSON 포맷을 따릅니다. 자세한 내용은 How to send data의 LoRaWAN을 참고하시기 바랍니다.

특이사항

JoinRequest 메시지의 replay attack을 엄격히 차단

IOTOWN에 내장된 LoRaWAN network server는 OTAA의 JoinRequest 메시지의 replay attack을 엄격히 차단합니다. 즉, 어떤 장치가 한번 사용한 DevNonce로 다시 JoinRequest를 전송하는 경우 network server에 의해 해당 메시지는 무시됩니다. 특히, 사양이 제한적인 장치에서는 의사 난수 발생기(pseudo random generator)를 사용하는 경우가 많은데, 이는 리셋할 때마다 동일한 패턴의 DevNonce를 사용하게 하는 결과를 초래합니다. 이러한 현상을 방지하기 위해서는 매 리셋시마다 random seed를 다르게 설정하도록 하는 별도의 방안이 요구됩니다. 만약, 계속 증상이 반복된다면, Session-Reset 버튼을 눌러 network server에 축적된 DevNonce 기록을 초기화할 수 있습니다.