Korean Institute of Information Technology

Current Issue

The Journal of Korean Institute of Information Technology - Vol. 22 , No. 2

[ Article ]
The Journal of Korean Institute of Information Technology - Vol. 19, No. 10, pp. 37-43
Abbreviation: Journal of KIIT
ISSN: 1598-8619 (Print) 2093-7571 (Online)
Print publication date 31 Oct 2021
Received 24 Sep 2021 Revised 12 Oct 2021 Accepted 15 Oct 2021
DOI: https://doi.org/10.14801/jkiit.2021.19.10.37

LoRaWAN 엔드 노드 장치를 위한 임베디드 플랫폼 개발
박성문* ; 최준영**
*부산대학교 기계기술연구원 연구원
**부산대학교 전자공학과 교수(교신저자)

Embedded Platform Development for LoRaWAN End Node Device
Sung-Mun Park* ; Joon-Young Choi**
Correspondence to : Joon-Young Choi Dept. of Electronic Engineering, Pusan National University, 2, Busandaehak-ro 63beon-gil, Geumjeong-gu, Busan, 46241, Korea, Tel.: +82-51-510-2490, Email: jyc@pusan.ac.kr

Funding Information ▼

초록

본 논문에서는 LoRaWAN 프로토콜을 지원하는 엔드 노드 장치를 위한 임베디드 플랫폼을 설계 및 구현한다. MPU와 RF 트랜시버를 포함하는 상용 LoRaWAN 모듈을 기반으로 임베디드 회로를 설계 및 제작하고 운영체제 기반의 응용프로그램 개발 환경을 구축한다. 엔드 노드의 저전력 특성을 실현하기 위해 배터리 용량 감지 회로와 각 장치의 전원 공급 제어 회로를 설계 및 적용하고 운영체제에서 제공하는 절전모드를 활용하여 응용프로그램을 작성한다. 상용 게이트웨이, 웹 브라우저 기반 네트워크 서버, 5대의 개발된 엔드 노드로 구성되는 LoRaWAN 시험 환경을 구축하고 5대의 엔드 노드가 매 10초마다 동시에 데이터를 전송하는 시험을 수행한다. 시험 결과 5대의 엔드 노드는 14시간 이상 정상적으로 데이터를 전송하고 이러한 결과는 개발된 엔드 노드의 정상 동작과 성능을 검증한다.

Abstract

In this paper, we design and implement an embedded platform for end node devices supporting LoRaWAN protocol. Based on commercial LoRaWAN module including MPU and RF transceiver, an embedded circuit is designed and implemented, and an application development environment based on operating systems is built. In order to realize the low power characteristics of the end node, the battery capacity detection circuit and the power supply control circuit of each device are designed and applied, and the application program is written using the power saving mode provided by the operating system. We build a LoRaWAN test environment consisting of a commercial gateway, a web browser-based network server, and five developed end nodes, and perform the experiment in which five end nodes transmit data simultaneously every 10 seconds. As test results, five end nodes transmit data normally for more than 14 hours, which verifies the normal operation and performance of the developed end node.


Keywords: LoRaWAN, IoT, end node device, embedded platform

Ⅰ. 서 론

IoT(Internet of Things)는 다양한 사물에 센서와 통신 기능을 내장하여 인터넷에 연결하는 기술로서 사물이 생성하는 정보를 사람의 개입 없이 자동으로 수집하고 다양한 서비스를 제공하여 인간의 편리한 생활을 추구한다. IoT는 무인 계량기, 지능형 교통 서비스, 화산 지대 감시, 생태계 관찰 등 감시 정보를 기반으로 원격지의 장비를 제어하는 다양한 분야의 서비스에 활용되고 있다[1][2].

한편 전기, 가스, 수도 등의 검침과 같이 이동성 서비스의 품질이 중요하지 않고, 지연에 민감하지 않은 소량의 데이터를 전송하는 IoT 기반 서비스 수요는 증가하고 있으며 이에 따라 저전력 광역 무선 통신 기술의 필요성이 확대되고 있다. 현재 이용가능한 IoT를 위한 장거리 저전력 무선 통신 기술은 LPWA(Low Power Wide Area) 기술 기반의 LoRa(Long Range), Sigfox, 이동 통신 기반의 NB-IoT, eMTC 등의 기술들이 있다.

특히 이동통신 기반 기술과 비교할 때 LPWA 기술은 비면허 대역의 주파수를 사용함으로써 설치 및 운용 비용이 저렴하고 긴 배터리 수명을 보장하는 장점이 있다[3][4]. LPWA 기술 중에 LoRa는 CSS(Chirp Spread Spectrum) 변조방식을 사용하여 간섭에 강하면서 장거리 전송을 가능하게 하고Sigfox와 비교하여 통신 모듈의 가격이 낮으면서 더욱 높은 데이터 전송률을 제공한다. 따라서 비용, 데이터 전송률, 통신 반경, 배터리 수명 등을 고려할 때 LPWA의 LoRa 기술이 전반적으로 균형있는 성능을 제공함으로써 가장 널리 채택되는 IoT를 위한 저전력 광역 무선 통신 기술로서 가장 널리 채택되고 있다[5].

또한 관련 시장 동향 분석 결과에 따르면 전세계 LPWA 네트워크 장치 시장 규모는 2020년에 24억 달러로 평가되었으며 2021년부터 2026년까지 매년 연평균 성장률 32.8%로 성장할 것으로 전망되고, LoRa 및 LoRaWAN(LoRa Wide Area Network) 장치 시장 규모도 2021년부터 매년 연평균 성장률 36.5%로 성장하여 2026년에 62억 달러에 이를 것으로 전망된다[6]. 따라서 LPWA 기반 LoRa 기술은 IoT 관련 산업 분야에서 매우 유망한 핵심 기술로서 기술적 및 경제적 파급효과가 높아 관련 요소 기술 개발이 필요한 상황이다.

이러한 상황을 고려하여 본 논문에서 LoRa 엔드 노드 장치를 위한 임베디드 플랫폼을 설계하고 구현한다. 개발 비용 및 시간을 절약하기 위해 LoRaWAN 표준 프로토콜을 지원하는 RF 트랜시버와 MCU(Micro controller unit)를 포함하는 LoRaWAN 모듈을 기반으로 하드웨어 플랫폼을 개발한다. 또한 선택된 LoRaWAN 모듈에 적합한 운영체제를 선정하고 응용프로그램 개발 환경 플랫폼을 구축한다. 개발된 LoRa 엔드 노드 플랫폼을 시험하기 위해 상용 게이트웨이와 TTN(The Things Network)에서 제공하는 네트워크 서버기능을 이용하여 LoRaWAN 시험 환경을 구축하고 개발된 LoRaWAN 엔드 노드 플랫폼의 정상 동작과 성능을 검증한다.

전체 논문의 구성은 다음과 같다. 2장에서는 LoRaWAN 프로토콜의 핵심 내용을 기술한다. 3장에서는 엔드 노드의 하드웨어 플랫폼을 설계 및 제작하고, 4장에서는 운영체제 기반 응용프로그램 개발 환경을 구축한다. 5장에서는 LoRaWAN 시험 환경을 구축하고 다양한 시험을 통해 개발된 엔드 노드 플랫폼의 성능을 검증한다. 6장에서는 결론을 도출한다.


Ⅱ. LoRaWAN 프로토콜

LoRaWAN은 LoRa 기술을 물리계층으로 사용하는 네트워크 스택으로 LoRa 네트워크를 위한 통신 프로토콜과 시스템 구성을 의미한다[7]. 그림 1은 LoRaWAN의 구성도를 나타낸다. 그림 1에서 보는 것과 같이 LoRaWAN의 시스템 구성은 엔드 노드, 게이트웨이, 네트워크 서버, 어플리케이션 서버로 구성된다. 엔드 노드는 센서를 통해 수집한 데이터를 LoRa 무선 통신을 이용하여 게이트웨이로 송출하거나 게이트웨이로부터 제어 신호를 수신받는 장치이다. 게이트웨이는 엔드 노드에서 수신한 데이터를 IP 기반으로 연결된 네트워크 서버에 전송한다. 네트워크 서버는 엔드 노드를 관리하며 게이트웨이로부터 수신한 엔드 노드의 데이터를 어플리케이션 서버로 전송한다. 어플리케이션 서버는 엔드 노드의 데이터를 분석 및 처리하여 서비스를 제공한다[8].


Fig. 1. 
LoRaWAN architecture

엔드 노드는 DevEUI(Device Identifier)라고 하는 장치를 구분하는 고유 ID를 가지고 있으며, 네트워크 서버는 AppEUI(Application Identifier)라고 하는 서버를 구분하는 고유 ID를 가지고 있다. 엔드 노드가 네트워크 서버에 접속하기 위해서는 AppKey(Application Key)라는 암호화된 키가 필요하다. 게이트웨이는 엔드 노드와 주파수 대역만 같으면 엔드 노드와 통신이 가능하고, 엔드 노드와 네트워크 서버 중간에서 LoRa 프레임에서 데이터를 읽어 IP 프레임으로 변경한 후 네트워크 서버로 전달해주는 역할을 한다.

LoRaWAN은 국가마다 다른 주파수 대역을 사용하고 있으며 국내에서 사용할 수 있는 주파수는 920~925 MHz이다. LoRaWAN은 대역 확산 인자를 SF12에서 SF7까지 사용하여 250~5470 bps의 전송 속도를 가진다. 가장 저속 250 bps를 DR0이라고 하며 SF12를 사용하고 가장 넓은 지역에 확산하여 데이터를 전송할 수 있다[9].


Ⅲ. 하드웨어 플랫폼 설계 및 구현
3.1 LoRaWAN 모듈

LoRa 엔드 노드 장치의 하드웨어 플랫폼을 설계하기 위해서는 LoRaWAN 표준 프로토콜을 지원하는 RF 트랜시버와 프로토콜을 처리할 MCU가 요구된다. 본 논문에서는 개발 비용 및 시간을 절약하기 위해 RF 트랜시버와 MCU가 포함된 상용 LoRaWAN 모듈인 Multitech사의 xDot을 선택한다. xDot은 STMicroelectronics사의 ARM 기반 STM32L151CCU6 MCU와 Semtech 사의 SX1272 RF 트랜시버가 포함되어 있다.

xDot의 통신 범위는 실외에서는 최대 15km이며, 실내에서는 최대 2km이다. xDot은 자체적으로 안테나 패턴이 설계되어 있고 U.FL 타입의 안테나 연결 단자를 제공하고 있어 xDot 모듈에 직접 상용 안테나를 연결할 수 있다.

따라서 xDot을 이용하면 엔드 노드 PCB를 설계할 때 기술의 난이도가 높은 안테나 패턴 설계를 피할 수 있어 개발 비용과 시간을 절약하는 장점을 나타낸다. 또한, 19개의 디지털 입출력, 10개의 아날로그 입력, 2개의 DAC 출력, I2C, SPI, UART 인터페이스를 지원한다. xDot은 아무 동작도 하지 않는 대기 상태일 때 전력 소모를 낮추기 위한 절전 모드가 있으며, 최대 절전 모드로 동작할 경우 동작 전류는 2 μA 미만으로 저전력 엔드 노드 개발에 유용하다.

3.2 임베디드 회로 설계

개발할 엔드 노드 장치의 전원은 3.6V 배터리를 사용하며, xDot은 2.4~3.6 V 전원에서 동작한다. 따라서, 전원부는 입력 전원을 3V로 바꿔주는 LDO(Low-DropOut) 전압 레귤레이터를 사용한다. 또한, 배터리의 전압을 측정할 수 있도록 저항을 이용하여 회로를 구성하고 GPIO 신호와 연결하여 GPIO 신호가 1인지 0인지를 판단하여 남은 배터리 용량을 측정할 수 있는 기능을 제공한다.

디버거 인터페이스는 SWD(Serial Wire Debug) 방식을 사용하여 xDot의 MCU와 연결되며, UART 신호선을 연결하여 시리얼 통신이 가능하도록 설계한다.

센서부는 동작 시험을 위해 I2C 인터페이스를 사용하는 장치와 SPI 인터페이스를 사용하는 장치로 구성한다. 각각의 센서에 별도의 전원을 인가하기 위해 센서마다 전압 레귤레이터를 하나씩 사용하며, 레귤레이터의 활성/비활성화 신호선을 xDot의 GPIO 신호와 연결하여 사용하지 않는 경우 전원을 차단하여 저전력으로 동작할 수 있도록 설계한다.

3.3 PCB 제작

전원부, 디버거 인터페이스, 센서부를 포함하여 개발된 LoRa 엔드 노드 하드웨어 플랫폼은 그림 2와 같이 가로 세로 각 11 cm 크기의 PCB로 제작된다. 좌측 배터리 커넥터를 통해 3.6V 배터리 전원을 입력받아 3개의 전압 레귤레이터를 통해 3V로 변환되며 각각 xDot, I2C 인터페이스 센서, SPI 인터페이스 센서로 인가된다. xDot과 SPI 인터페이스 센서부는 보드 상단에 연결된 별도의 커넥터와 연결되며, I2C 인터페이스 센서부는 우측 하단에 연결된다. 디버거 인터페이스는 좌측 하단에 위치하며 xDot과 연결된다. RF 안테나는 915MHz 대역의 U.FL 단자 타입 안테나를 xDot에 부착하여 사용한다.


Fig. 2. 
Developed LoRa end node platform


Ⅳ. 소프트웨어 플랫폼 구축
4.1 운영체제

개발된 LoRa 엔드 노드 하드웨어 플랫폼에서 사용하는 LoRaWAN 모듈의 소프트웨어 플랫폼을 위해 Mbed 운영체제를 선택한다. Mbed 운영체제는 ARM Cortex-M 프로세서를 위한 오픈 소스 운영체제로 IoT 장치 개발에 주로 사용되고 있다. Mbed는 온라인상에서 개발 환경 및 컴파일러를 제공하고 있으며, 오프라인 컴파일러도 제공하고 있어 Keil, IAR, 이클립스와 같은 통합 개발 환경에 설치하여 사용할 수 있다.

4.2 응용프로그램 개발 환경

응용프로그램 개발을 위해 윈도우 기반 HOST PC에 범용 통합 개발 환경인 이클립스를 설치하고 Mbed 컴파일러를 설치한다. 개발된 엔드 노드와 PC는 STLINK-V3 디버거로 연결하여 프로그램을 다운로드 및 실행, 디버깅을 수행한다.

개발된 엔드 노드의 성능을 검증하기 위해 작성된 시험용 프로그램은 다음과 같이 동작한다. 먼저 전원이 인가되고 시스템이 초기화되면 LoRa 설정 및 네트워크 서버에 접속하기 위한 AppEui와 AppKey를 설정한다. 네트워크 서버와 접속이 되면 I2C, SPI 인터페이스 센서의 데이터를 읽고 이를 게이트웨이로 전송한다. 전송이 끝난 후 다음 동작 주기가 시작될 때까지 xDot을 절전 모드로 설정하고 다음 주기까지 10초 동안 대기한다.

xDot에서 지원하는 절전 모드는 Sleep 모드와 Deepsleep 모드가 있다. Sleep 모드는 주변 장치의 전원은 그대로 공급하면서 MCU의 클럭만 차단한 상태를 의미하며, Deepsleep 모드는 레지스터와 RAM의 내용을 보존해 줄 수 있을 정도로 작은 전력만 공급한 상태를 의미한다. 엔드 노드의 모든 동작이 끝난 후 다음 동작이 시작될 때까지 최대 절전 모드인 Deepsleep 모드에 들어가도록 설정하고, 센서부에 연결된 전압 레귤레이터도 GPIO 신호를 통해 비활성화시켜 동작하지 않도록 한다. 이러한 방법을 통하여 최소 전력을 소비하는 엔드 노드를 구현한다.


Ⅴ. LoRaWAN 시험
5.1 시험환경 구축

본 논문에서 개발한 엔드 노드 플랫폼을 시험하기 위해 그림 3과 같이 상용 게이트웨이와 네트워크 서버를 이용하여 LoRaWAN 시험 환경을 구축한다. 상용 게이트웨이는 Multitech사의 Conduit 게이트웨이를 사용한다. Conduit 게이트웨이는 Semtech사의 SX1301을 사용하며, 868~915MHz를 지원하고 네트워크 서버와는 이더넷, Wi-Fi, LTE를 통해 연결할 수 있다. 또한 Linux 개발 환경을 지원하며 PC와 USB를 통해 시리얼 통신이 가능하다. 네트워크 서버는 TTN에서 무료로 제공하는 네트워크 서버를 사용한다. 네트워크 서버에서 게이트웨이와 개발된 엔드 노드를 등록하고 수신 데이터를 확인할 수 있다.


Fig. 3. 
LoRaWAN test environment

성능을 검증하기 위해 작성된 시험용 프로그램을 개발된 엔드 노드에 다운로드 하고, 네트워크 서버와의 통신을 검증한다. 5개의 개발된 엔드 노드와 Multitech 게이트웨이, TTN 네트워크 서버를 연결한 후 약 14시간 40분의 동작 시험을 수행한다. 엔드 노드의 UART 인터페이스를 통해 PC에서 엔드 노드의 동작을 확인한다.

엔드 노드가 네트워크 서버로 데이터를 전송할 때 메시지를 출력하고 그때의 시간을 측정한다. 측정한 시간 차이를 계산하여 엔드 노드의 전송 시간 간격을 계산한다. Multitech 게이트웨이는 USB를 이용한 시리얼 통신으로 PC에서 게이트웨이 동작 로그를 확인한다. 또한, TTN에서 엔드 노드의 데이터를 수신하는지 확인하여 개발한 엔드 노드의 정상 동작 여부를 확인한다.

5.2 시험결과 및 분석

그림 4는 LoRaWAN 시험환경에서 5개의 엔드 노드 중 1개의 엔드 노드의 전송 시간 간격을 나타낸다. I2C, SPI 인터페이스 센서에서 데이터 읽기와 네트워크 서버로 데이터 전송 및 10초간의 대기를 포함한 전송 시간 간격의 평균값은 13.70초이고, 최대 전송 시간 간격은 163.96초, 최소 전송 시간 간격은 10.04초이다. 최대 동작 주기인 163.96초를 포함하여 20초 이상 측정된 전송 시간 간격은 엔드 노드와 네트워크 서버가 접속이 끊어져 다시 네트워크 서버와 접속하기 위한 시간을 포함하고 있다. 엔드 노드와 네트워크 서버의 접속이 끊어진 경우는 14시간 40분의 동작 동안 9번 발생하였으며 다시 네트워크 서버에 접속하여 데이터를 전송하는 데 소요된 시간은 최소 20초에서 최대 164초이다.


Fig. 4. 
Transmission interval of developed end node

PC와 연결된 게이트웨이는 시리얼 통신을 통해 게이트웨이의 동작 로그를 출력할 수 있다. 게이트웨이는 엔드 노드로부터 수신한 데이터를 네트워크 서버로 전달하는데 이때 엔드 노드로부터 수신한 데이터를 출력한 결과는 그림 5와 같다.


Fig. 5. 
Gateway log

네트워크 서버와 접속된 5개의 엔드 노드는 각각 고유의 DevEUI를 가지고 있으며, DevEUI를 통해 어떤 엔드 노드로부터 수신한 데이터 인지 식별할 수 있다.

그림 5에서 볼 수 있듯이 게이트웨이의 동작 로그에서 5개의 엔드 노드의 데이터를 수신한 것을 확인할 수 있고, 이는 개발된 엔드 노드가 게이트웨이와 정상적으로 통신하는 것을 검증한다.

그림 6은 네트워크 서버에서 수신한 엔드 노드의 데이터를 나타낸다. TTN에서 제공하는 네트워크 서버는 엔드 노드에서 보낸 데이터와 도착 시간을 확인할 수 있다. 개발된 엔드 노드의 평균 전송 시간 간격인 13초와 동일하게 네트워크 서버에서도 13초마다 데이터를 받는 것을 확인할 수 있고, 이는 개발된 LoRaWAN 엔드 노드 플랫폼이 구축한 LoRaWAN 시험환경에서 정상 동작하는 것을 검증한다.


Fig. 6. 
End node data received at the network server


Ⅵ. 결 론

본 논문에서는 LoRaWAN 프로토콜을 지원하는 RF 트랜시버와 MCU가 포함된 LoRaWAN 모듈을 기반으로 엔드 노드의 하드웨어를 설계 및 제작하고 Mbed 운영체제 기반 응용 프로그램 개발 환경을 구축하였다. 설계한 엔드 노드 장치의 저전력 소비 특성을 실현하기 위해 배터리 용량 감지 회로 및 각종 장치에 공급되는 전원부를 제어할 수 있는 회로를 설계하고 적용하였다. 또한, 응용 프로그램에서는 운영체제에서 제공하는 절전모드를 이용하고 전원 공급 제어 기능을 구현하였다. 상용 게이트웨이와 TTN 네트워크 서버를 이용하여 LoRaWAN 시험 환경을 구축하고 장시간 동작 시험을 수행하였다. 이를 통하여 개발된 엔드 노드의 전송 시간 간격 및 게이트웨이, 네트워크 서버와의 통신을 확인하고 개발된 엔드 노드 장치가 안정적으로 정상 동작하는 것을 검증하였다.

향후 연구 방향으로 다음과 같은 연구 개발 내용을 제안한다. 개발된 엔드 노드 플랫폼의 최대 전송거리, 전송지연, 전송 성공률, 소비 전력 등의 성능을 측정하는 시험 및 분석을 수행하고 미흡한 부분은 개선하여 개발된 엔드 노드 플랫폼의 성능 인증 및 상용화를 추진한다.


Acknowledgments

이 과제는 부산대학교 기본연구지원사업(2년)에 의하여 연구되었음


References
1. S. Chen, H. Xu, D. Liu, B. Hu, and H. Wang, "A Vision of IoT: Applications, Challenges, and Opportunities With China Perspective", INTERNET OF THINGS JOURNAL, IEEE, Vol. 1, No. 4, pp. 349-359, Aug. 2014.
2. K. K. Patel and S. M. Patel, "Internet of Things-IOT: Definition, Characteristics, Architecture, Enabling Technologies, Application & Future Challenges", International Journal of Engineering Science and Computing, Vol. 6, No. 5, pp. 6122-6131, May 2016.
3. T. J. Park, K. S. Lee, W. C. Jeong, B. C. Choi, and H. C. Bang, "LPWA IoT Network Technology Trends", Electronics and Telecommunications Trends, ETRI, Vol. 32, No. 1, pp. 46-53, Feb. 2017.
4. D. H. Lee, W. J. Lee, H. S. Park, and D.-S. Ko, "A Study on the Improved Transmission Distance of the LoRa Network", Journal of KIIT, Vol. 17, No. 4, pp. 53-59, Apr. 2019.
5. W. Cho, "LoRa for LPWA Network: Overview and its Performance Enhancement Technologies", Journal of the KIECS, Vol. 14, No. 2, pp. 283-288, Apr. 2019.
6. https://www.industryarc.com/. [accessed: Oct. 09, 2021]
7. M. S. Park and J. S. Oh, "Through-the-inner Bulkhead Signal Characteristics and Distance based Analysis on Receiving Rate using LoRaWAN", Journal of KMS, Vol. 23, No. 2, pp. 255-261, Feb. 2020.
8. J. S. Jung, J. K. Lee, and J. K. Park, "Wireless Network Safety Management System on LPWA-based Tram Roads", Journal of KIIT, Vol. 16, No. 12, pp. 57-68, Dec. 2018.
9. H. Yoon, J. Um, and B. J. Jang, "Performance Analysis of a LoRa Device on Duty Cycle Local Regulation of Korean RFID/USN Frequency Band", Journal of KIEES, Vol. 28, No. 2, pp. 113-119, Feb. 2017.

저자소개
박 성 문 (Sung-Mun Park)

2014년 2월 : 부산대학교 전자전기공학부(공학사)

2016년 2월 : 부산대학교 전자전기컴퓨터공학과(공학석사)

2021년 8월 : 부산대학교 전기전자공학과(공학박사)

2021년 9월 ~ 현재 : 부산대학교 기계기술연구원 연구원

관심분야 : 임베디드 시스템, 제어 시스템

최 준 영 (Joon-Young Choi)

1994년 : 포항공과대학교 전자전기공학과(공학사)

1996년 : 포항공과대학교 전자전기공학과(공학석사)

2002년 : 포항공과대학교 전자전기공학과(공학박사)

2005년 3월 ~ 현재 : 부산대학교 전자공학과 교수

관심분야 : 임베디드 시스템, 제어 시스템