DOI QR코드

DOI QR Code

Location Information System based on LoRa(Long Range) and IPv6

LoRa(Long Range)와 IPv6 기반의 위치정보시스템

  • 최민철 (한국산업기술대학 교 컴퓨터공학부 학부생) ;
  • 정재호 (한국산업기술대학 교 컴퓨터공학부 학부생) ;
  • 김홍준 (한국과학기술원 사이버보안연구센터 학부생) ;
  • 이보경 (한국산업기술대학교, 컴퓨터공학부 교수)
  • Received : 2020.03.01
  • Accepted : 2020.06.05
  • Published : 2020.06.30

Abstract

As the IoT industry expands, various application services based on location information of devices are released. In order to transmit the location information, various wireless communication technologies such as Bluetooth and Wi-Fi are used. However, these technologies have limited coverage, and cellular networks with relatively wide coverage have the disadvantage of paying for use. In this paper, we implemented our own location information system using LoRa, a low power long distance wireless communication technology. As a result, no cost is incurred and it has relatively wider coverage than other wireless communication technologies using LoRa technology. The implementation system enables LoRa communication based on IPv6 using CoAP and 6LoWPAN, and enables multiple devices to interwork with the existing Internet environment.

IoT 산업이 확대되면서 기기들의 위치정보를 측정하고 활용하는 다양한 응용서비스들이 많이 출시되고 있다. 이러한 위치정보를 전송하기 위해 Bluetooth, Wi-Fi, Zigbee 등 여러 무선통신 기술들이 사용된다. 하지만 이 기술들은 제한된 커버리지를 가지고 있으며, 비교적 넓은 커버리지를 갖는 셀룰라 망은 이용비용을 지불해야하는 단점을 가지고 있다. 본 논문에서는 저전력 장거리 무선 통신 기술인 LoRa(Long Range)를 이용하여 자체적인 위치정보시스템을 구현하였다. 이 구현 시스템은 LoRa 기술을 활용하기 때문에 다른 무선통신 기술보다 비교적 넓은 커버리지를 가질 뿐만아니라 이용비용이 발생하지 않는다. 또한 위치정보시스템은 CoAP와 6LoWPAN을 사용하여 IPv6 형태로 패킷을 전송하기 때문에 기존 인터넷 환경에서 다수의 기기들과 연동이 가능하다.

Keywords

Ⅰ. 서론

최근 IoT(Internet of Things)와 관련하여 위치정보를 측정하고 활용하는 기술이 발전함에 따라 인터넷을 통하여 기기들의 위치정보를 전송하기 위한 다양한 서비스들이 출시되고 있다. 이러한 기기들은 인터넷을 이용하기 때문에 IP 주소를 할당받아야 하는데, 기하급수적으로 늘어나는 기기들로 인해 IP 주소가 점점 고갈되고 있는 실정이다. 또한 기존의 위치정보 서비스들은 Bluetooth, Wi-Fi, Zigbee 같은 무선통신 기술을 사용하는데 이 기술들은 제한된 커버리지 특징을 가지고 있어서 장거리 통신에 제약을 받는다. 만약 장거리 통신을 필요로 할 경우, 셀룰러 망을 이용하여 구현해야 하지만 이는 이용비용을 지불해야하기 때문에 비교적 적은 데이터를 다루는 IoT 환경에서는 적합하지 않다. 뿐만 아니라 기존의 인터넷망을 바로 이용하는 경우, 일반적으로 응용계층에서 HTTP(Hyper Text Transfer Protocol)를 활용하는데 해당 프로토콜은 많은 자원을 필요로 한다. 하지만 IoT 환경에서 사용되는 데이터들은 자원이 한정되어 있기 때문에 HTTP 프로토콜을 사용하는 것이 적합하지 않다.

본 논문에서는 이러한 단점을 보완하기 위해 저전력으로 장시간을 서비스하고 장거리 통신이 가능한 LoRa와 CoAP(Constrained Application Protocol)/6LoWPAN (IPv6 over Low Power WPAN)를 결합한 위치정보시스템을 제안한다. LoRa 무선통신기술을 이용하기 때문에 배터리 소모 시간을 줄일 수 있고 Bluetooth, Wi-Fi, Zigbee 같은 무선통신기술의 단점인 짧은 커버리지를 대체할 수 있다. 또한 IPv6를 사용함으로써 주소 고갈 문제에 대처할 수 있다.

본 논문의 구성은 다음과 같다. 2장 관련 연구로서 LoRa, IPv6, 6LoWPAN, CoAP의 특징들을 설명하고 3장에서는 구현 시스템의 구성도, 프로토콜 스택, 시스템의 하드웨어 기능 및 세부 구현 사항을 설명한다. 4장에서는 구현 시스템을 이용하여 구간별 데이터 전송시간과 통신품질 테스트 결과를 통해 성능을 분석하며 마지막 5장에서 결론을 맺는다.

Ⅱ. 관련 연구

1. LoRa(Long Range)[1]

LoRa는 다양한 특징을 가지는 새로운 무선 통신기술이다. 저전력으로 장시간 사용이 가능하며 개발자 가이드라인에 따르면 10km 이상 장거리 통신이 가능하다고 한다. 또한 다중 센서 기능을 가짐으로써 노드에 여러 개의 센서를 부착해 사용이 가능하다. 최근 모든 사물을 인터넷에 연동시켜 사물들 간에 데이터를 전송하는 사물인터넷 기술이 다양한 분야에 적용되고 있다.

그림 1은 각 무선통신기술의 특징을 보여준다. 짧은 통신 거리를 가지고 있는 Wi-Fi, Zigbee, Bluetooth는 상대적으로 데이터 전송률이 큰 대신 짧은 커버리지를 가지고 있다. 셀룰러 통신은 넓은 커리지와 높은 데이터 전송률 제공하지만 이동통신망을 사용하기 때문에 많은 통신비용이 발생한다. 이에 반해 LoRa 통신은 넓은 커버리지와 저전력이라는 특징이 있기 때문에 위치 값이나 센서 값과 같은 경량데이터를 사용함에 있어 IoT 환경에 최적화된 기술이다.

OTNBBE_2020_v20n3_15_f0001.png 이미지

그림 1. LoRa통신 커버리지[2]

Fig. 1. LoRa Coverage[2]

2. IPv6 및 6LoWPAN(IPv6 over Low Power WPAN)

가. IPv6(Internet Protocol Version 6)[3]

IPv6는 기존의 IPv4 주소 고갈 문제를 해결하기 위한 차세대 인터넷 프로토콜이다. 인터넷 서비스가 전 세계적으로 확산되면서 IPv4주소 고갈 문제를 해결하기 위하여 CIDR(Classless Inter Domain Routing), 사설 IP주소, NAT(Network Address Translation) 등 다양한 임시적인 방안들이 제안되었으나 IoT 시장이 활성화되면서 기하급수적으로 늘어난 IoT 단말기로 인해 한계점이 드러나고 있는 실정이다.

이러한 상황에서 IPv6는 주소 길이가 128bit로 주소 개수는 거의 무한대에 가까워 모든 IoT 단말기에 할당하고 모든 단말기의 식별이 가능하도록 하고 있다. IoT 환경에서 IPv6 필요성에 대한 연구가 많이 이루어지고 있는 실정이지만 자원이 제한된 IoT 환경인 무선 센서 네트워크에서 많은 리소스를 필요로 하는 IP기반의 프로토콜을 그대로 사용하기에는 부담이 될 수 있다. IPv6의 헤더 사이즈가 크기 때문에 IPv6 패킷을 안전하게 전달하기 위해 헤더 부분에 대한 압축과 패킷 분할 기술이 필요하다.

이러한 문제를 해결하기 위해 IETF(Internet Engineering Task Force)에서는 IEEE 802.15.4기반의 센서 네트워크에 IPv6를 지원하기 위한 규격으로 Adaptation 계층의 6LoWPAN기술을 제안하였다.

나. 6LoWPAN(IPv6 over Low Power WPAN)

6LoWPAN은 IEEE 802.15.4를 PHY/MAC으로 하는 저전력 WPAN(Wireless Personal Area Networks)상에서 IPv6를 결합하여 기존 인터넷망과 연결하는 기술이다. 6LoWPAN WG(Working Group)에서는 L2 Layer에 IEEE 802.15.4를 기반으로 하는 센서 네트워크에 IPv6를 지원하기 위한 표준을 정의하고 있다. 6LoWPAN은 저전력이며 20 ~ 250kbps의 낮은 데이터 전송률, 868 ~ 2400MHz의 주파수 대역에서 동작하는 특징을 가지고 있어 IoT 환경에 적합한 프로토콜이다. 또한 6LoWPAN은 IEEE 802.15.4의 제한된 MTU를 고려하여 IPv6와 결합하기 위 단편화와 재조립을 담당하는 Adaptation계층으로 L2와 L3 Layer사이에 존재한다. 그림 2는 6LoWPAN이 포함된 프로토콜 스택을 나타낸다.

OTNBBE_2020_v20n3_15_f0002.png 이미지

그림 2. 6LoWPAN 프로토콜 스택

Fig. 2. 6LoWPAN protocal stack

RFC 4919(IPv6 over Low-Power Wireless Personal Area Networks)[4]에서는 6LoWPAN의 전체적인 특성과 IEEE 802.15.4에서 IPv6 사용 시 고려하여야 하는 문제점과 이를 해결하기 위한 기술적 목표를 정의하고 있다. RFC 4944(Transmission of IPv6 Packets over IEEE 802.15.4 Networks)[5]는 IEEE 802.15.4 기반의 IPv6 패킷 전송에 필요한 단편화 및 재조립, 헤더 압축 등에 대한 방법을 기술하고 있다.

3. CoAP(Constrained Application Protocol)[6][7]

CoAP는 저성능의 CPU와 저용량 RAM 또는 ROM 등의 제한된 장치에서 사용하기 위한 응용 프로토콜로서 RFC 7252에 정의되어 있다. CoAP는 HTTP에 비해 가볍고 빠르게 처리하며 전력을 적게 소모한다. 이 프로토콜은 HTTP와 달리 전송계층으로 UDP(User Datagram Protocol)를 사용하며 6LoWPAN 환경에서 동작한다.[7] HTTP프로토콜과 가장 큰 차이점은 무선 센서 네트워크를 지원하기 위하여 물리 계층과 링크 계층에 IEEE 802.15.4가 지원되며, 이를 이용하여 기존 인터넷망과 연동하여 데이터를 주고받을 수 있다. 그림 3은 CoAP와 HTTP 패킷의 프로토콜 스택을 비교하여 보여준다.

OTNBBE_2020_v20n3_15_f0003.png 이미지

그림 3. HTTP 와 CoAP 비교

Fig. 3. Comparison between HTTP and CoAP

Ⅲ. 구현 시스템

1. 시스템 구성도

본 논문에서는 IoT 환경에 적합한 LoRa, 6LoWPAN 및 CoAP 등의 프로토콜을 적용하여 LoRa/IPv6 통신 환경에서 기기들 간에 위치정보를 송수신할 수 있는 시스템을 구현하였다. 특히 위치 정보를 송수신하여 이를 노인이나 어린이 등 취약계층을 위한 알림 서비스에 활용할 수 있도록 스마트폰 어플리케이션도 구현하였다. 구현 시스템은 LoRa 모듈에 장착된 GPS를 통해 위치 정보를 수신할 수 있는 End-Device와 End-Device로부터 데이터를 수신받아 네트워크 서버로 전송하는 역할을 수행하는 게이트웨이가 있다. 또한 전체 네트워크를 관리하며 손실된 패킷과 중복되는 패킷을 제거하는 네트워크 서버와 위치 정보를 저장하여 사용자의 스마트폰으로 해당 정보를 전송하는 기능을 갖는 어플리케이션 서버로구성된다. 특히 어플리케이션 서버는 End-Device로부터 위치 정보를 지속으로 수신하여 확인 또는 알림이 필요한 정보가 발생되면 사용자에게 스마트폰을 통해 알림 정보를 전달해 준다. 그림 4는 본 논문에서 제안한 전체 통합 시스템 구성도를 나타낸다.

OTNBBE_2020_v20n3_15_f0004.png 이미지

그림 4. 시스템 구성도

Fig. 4. System diagram

End-Device는 LoRa 모듈에 부착된 GPS로부터 위치 정보를 읽어오고 LoRa 통신을 통해 게이트웨이로 전송하는 역할을 수행한다. 이때 GPS값은 수신된 원본 데이터를 파싱한 값이다. 기존 원본 데이터에는 위도, 경도뿐 아니라 다양한 값들과 함께 존재하기 때문에 파싱이 필요하다. 이렇게 파싱된 데이터는 “위도,경도” 형태로 인접한 게이트웨이로 전송한다.

게이트웨이는 다수의 End-Device와 네트워크 서버를 연결시켜 주는 역할을 수행하며 할당된 IPv6 주소를 이용하여 End-Device로부터 수신된 데이터를 네트워크 서버로 전송시킨다.

네트워크 서버가 게이트웨이로부터 수신한 데이터들 중 일부는 손실되거나, 중복되어 질 수 있다. 따라서 네트워크 서버는 이러한 중복 데이터들을 제거하여 유의미한 값들만 정제하여 어플리케이션 서버로 전송하는 역할을 수행한다.

어플리케이션 서버는 최종적으로 End-Device로부터 수신된 데이터 즉 위치정보를 데이터베이스에 저장하고 사용자의 스마트폰으로 실시간 위치정보 및 안전반경을 넘어갔을 경우 알림정보를 제공해 준다.

2. 프로토콜 스택

구현 시스템의 프로토콜은 물리계층, 데이터링크 계층에 LoRa PHY, LoRa MAC, IEEE 802.15.4가 사용되었고, Adaptation 계층에는 6LoWPAN, 네트워크 계층에는 IPv6, 응용 계층에는 CoAP 등이 사용되었다. 그림 5는 구현 시스템의 각 구성 요소별 프로토콜 스택을 보여준다.

OTNBBE_2020_v20n3_15_f0005.png 이미지

그림 5. 전체 프로토콜 스택

Fig. 5. Total protocol stack

End-Device의 물리계층에서는 무선통신기술인 LoRa 프로토콜을 이용하였다. LoRa 망을 IPv6와 연동하기 위해 Adaptation 계층인 6LoWPAN을 적용하였으며 이를 위해 데이터링크 계층에는 LoRaMAC과 IEEE 802.15.4를 이용하였다. IEEE 802.15.4는 저속 무선 개인용 네트워크를 의미하는 LR-WPAN(Low-Rate Wireless Personal Area Network)으로도 불리는데, 이는 저속, 저가, 저전력, 응용에서 무선으로 연결되는 구조의 통신 네트워크를 지향한다. 특징으로는 Star or P2P 네트워크 토폴로지 형태로 구성되며 20kbps, 40kbps, 100kbps, 250kbps의 속도로 데이터를 전송한. IEEE 802.15.4 표준의 대표적인 기술로는 Zigbee가 있다. 본 논문에서는 IEEE 802.154 프로토콜을 기반으로 IPv6를 사용하기 위해 Adaptation 계층에 6LoWPAN을 구현하였다. 또한 IoT 환경에서 송수신되는 데이터들은 대체적으로 작은 사이즈이기 때문에 큰 용량을 차지하는 HTTP 대신, 보다 빠른 속도로 경량 데이터를 처리할 수 있는 UDP 기반의 CoAP를 사용하였다.

게이트웨이는 End-Device와 동일한 프로토콜 스택을 가지고 있지만 LoRa 통신과 Wi-Fi 통신을 사용하기 때문에 IEEE 802.15.4과 IEEE 802.11 프로토콜을 추가하였다. IEEE 802.15.4는 End-Device와 LoRa 통신을 지원하기 위한 프로토콜이며, IEEE 802.11은 네트워크 서버와 Wi-Fi 기반 무선통신을 지원하기 위한 것이다.

네트워크 서버는 기존 Wi-Fi 형태로 데이터를 송수신하기 때문에 IEEE 802.11 표준 물리 계층, 링크 계층으로 구성하였고, UDP로 전송계층을 구성하였다.

어플리케이션 서버에서도 네트워크 서버와 동일한 프로토콜로 구성하여 구현하였으며 전송계층, 어플리케이션 계층에는 각각 UDP, CoAP를 이용하여 구현하였다.

3. 구현시스템의 하드웨어 및 세부 구현 사항

가. End-Device

End-Device의 하드웨어는 Raspberry Pi 3b+와 Dragino LoRa/GPS HAT[8]로 구현하였다. End-Device는 GPS값을 수신하여 LoRa통신을 이용하여 게이트웨이로 전달하는 역할을 수행한다. 전체 시스템에서 End-Device는 CoAP Server로 동작한다. 그림 6은 Raspberry Pi 3b+와 Dragino LoRa/GPS HAT을 이용하여 구현한 End-Device이다. Dragino LoRa/GPS HAT은 GPS모듈과 LoRa통신을 위해 433MHz 주파수 대역의 sx1278 Transceiver모듈이 내장되어 있다.

OTNBBE_2020_v20n3_15_f0006.png 이미지

그림 6. 엔드 디바이스

Fig. 6. End-Device

표 1은 시스템 구성을 위해 사용한 LoRa 모듈의 기본 사양을 나타낸다.

표 1. LoRa 모듈 사양

Table 1. LoRa Module specification

OTNBBE_2020_v20n3_15_t0001.png 이미지

LoRa/IPv6를 구현하기 위하여 6LoWPAN 기능을 적용하였으며 이를 위해 Semtech사의 SX127X와 호환되는 디바이스 드라이버[9]룰 사용하였다. 또한 6LoWPAN 지원을 위해 IEEE 802.15.4 인터페이스와 LoRa 인터페이스를 연동시키기 위해 wpan-tools[10] 오픈소스를 활용하였다.

디바이스 드이버를 커널에 빌드하여 LoRa 인터페이스를 생성하면 IPv6 로컬 주소가 할당되어 IPv6 통신이 가능한 상태가 된다. 라우터 역할을 하는 이트웨이를 통해 End-Device는 IPv6 글로벌 주소를 할당받게 되며 비로소 외부와 통신이 가능한 상태가 된다. End-Device를 CoAP Server로 구현하기 위해 californium 오픈소스를 사용하였다.[11] CoAP Client에서 요청할 Resource 등록에 대한 처리 프로세스와 IPv6 주소로 접근할 수 있게 필터링하는 기능을 이용하여 CoAP Server를 구축하였다. CoAP Server가 실행되면 CoAP Client로부터 Resource 요청을 수신받고 GPS센서 값으로부터 읽은 데이터를 IPv6 패킷 형태로 LoRa 통신을 통하여 게이트웨이로 전송한다.

나. 게이트웨이

게이트웨이의 하드웨어도 End-Device와 동일한 Raspberry Pi 3b+와 Dragino LoRa/GPS HAT를 사용하여 구현하였다. 게이트웨이는 다수의 End-Device로부터 수신된 데이터를 네트워크 서버로 라우팅하는 역할을 수행한다. 그림 7은 실제로 구현한 게이트웨이를 보여준다. 게이트웨이에 근접한 디수의 로컬 링크의 호스트를 외부로 나갈 수 있도록 하기 위하여 게이트웨이에 라우터 역할을 하는 수행하는 radvd (Router Advertisement Daemon) 데몬 프로그램을 설치하여 작동시켰다.

OTNBBE_2020_v20n3_15_f0007.png 이미지

그림 7. 게이트웨이

Fig. 7. Gateway

radvd는 라우터와 같은 역할을 수행하며 NDP(Neighbor Discovery Protocol)[12][13]를 통해 호스트에게 로컬 링크 상에 있는 호스트에게 글로벌 IPv6 주소를 자동으로 할당하도록 도와준다. radvd를 작동하기에 앞서 먼저 게이트웨이와 같은 로컬 링크 상에 있는 호스트에게 RA(Router Advertisement)에 사용되는 메시지를 구성하여 radvd를 동작시킨다.

다. 네트워크 서버

네트워크 서버는 게이트웨이의 radvd 프로그램으로부터 할당받은 IPv6 주소로 게이트웨이와 데이터를 주고받는다. LoRa통신은 데이터를 작게 분할하여 전송하기 때문에 게이트웨이로부터 전달된 패킷 중 손실이 발생할 수 있고 중복된 데이터가 게이트웨이로부터 수신될 가능성이 있다. 이러한 데이터들을 걸러내지 않으면 어플리케이션 서버에서 문제가 발생할 수 있기 때문에 유의미한 값들만 정제하여 어플리케이션 서버로 전송한다.

중복된 데이터를 걸러주는 프로세스는 그림 8과 같다. 네트워크 서버에서는 게이트웨이로부터 수신된 데이터들을 저장한 파일을 오픈한다. 이미 필터링하기 위한 데이터 포맷을 정의해 두었으며 수신된 데이터와 포맷이 맞는지 비교하여 일치할 경우 동일한 값이므로 해당 데이터를 버린다.

OTNBBE_2020_v20n3_15_f0008.png 이미지

그림 8.네트워크 서버 정제 프로세스

Fig. 8. Filtering Process of Nework Server

라. 어플리케이션 서버

어플리케이션 서버는 AWS 서비스를 활용하여 구축하였으며 리눅스 환경에서 RDS(Relational Database Service)를 사용하여 데이터베이스에 데이터를 저장하였다. 어플리케이션 서버는 CoAP Client 역할을 수행한다. 그림 9에서는 CoAP Client 역할을 수행하는 어플리케이션 서버와 CoAP Server 역할을 수행하는 End-Device 간의 연결 과정을 보여준다.

OTNBBE_2020_v20n3_15_f0009.png 이미지

그림 9. CoAP 신뢰성 메시지 전송

Fig. 9. Send CoAP message message

CoAP Client는 CoAP Server에게 신뢰성 있는 메시지 전송을 위해 확인형(CON) 메시지를 전송한다. 여기에 포함된 메시지 식별자(Message ID)는 승인(ACK) 메시지에도 포함된다. CoAP Server가 자료나 요청을 잘 전달 받았으면 승인 메시지를 전송하고, 그렇지 못하면 리셋(Reset) 메시지를 전송한다.[14] 그림 10는 CoAP Client가 CoAP Server에게 GPS 정보를 수신하기 위해 GET요청을 수행하는 과정을 보여준다.

OTNBBE_2020_v20n3_15_f0010.png 이미지

그림 10. CoAP Observe 기능

Fig. 10. CoAP Observe features

CoAP Server는 Observe라는 기능을 통해 주제(subject)라는 공간을 할당하여, 요청하는 자원 들을 접근시킨다. 특정 주제에 Client가 observe 요청을 한다면, 그 주제에 관한 내용이 바뀔 때마다 별도의 요청 메시지 없이 서버로부터 변경된 내용을 알림으로 받게 된다.

그림 11은 CoAP Client가 CoAP Server로부터 ACK 메시지를 수신을 받은 후, 요청했던 데이터인 GPS의 값을 수신한다. 이렇게 수신된 GPS 값은 데이터베이스에 저장된다.

OTNBBE_2020_v20n3_15_f0011.png 이미지

그림 11. CoAP Client Resource 응답 화면

Fig. 11. CoAP Client Resource Response Screen

마. 스마트폰 어플리케이션

스마트폰 어플리케이션의 대표 기능은 안전 반경 설정과 실시간 위치 탐색기능이 있다. 실시간 위치 탐색의 기능은 GoogleMap API를 이용하여 구현하였다. 그림 12는 사용자의 안전 반경을 설정하는 어플리케이션 화면이다.

OTNBBE_2020_v20n3_15_f0012.png 이미지

그림 12. 안전 반경 설정 화면

Fig. 12. Scren shot for setting stable radius

안전 반경 설정 프로세스는 좌표 값 탐색, 안전반경 설정, 적용의 3단계로 진행된다. 좌표 값 탐색은 주소 지명을 좌표로 변환해주는 기능이다. 좌표 값을 설정한 뒤 안전반경은 GoogleMap의 내장함수인 addCircle을 통해 시각적으로 구현했다. 이 함수를 통하여 전달된 파라미터 값을 m(미터)단위로 하여, 좌표를 기준으로 파라미터값을 반경 원으로 설정한다. 최종적으로 수신된 좌표값과 m(미터)값은 웹으로 파싱되어, 데이터베이스에 저장된다. 저장된 안전반경 설정값은 실시간으로 CoAP Server로부터 수신된 GPS값과 비교한다.

그림 13는 실시간으로 위치를 탐색하는 기능을 보여준다. 만일 설정해 놓은 안전 반경을 넘어가면 스마트폰 어플리케이션을 통해서 알림을 해주게 된다. 이는 노인이나 어린이 등 취약 계층들을 위한 위치정보 알림 서비스에 응용될 수 있다.

OTNBBE_2020_v20n3_15_f0013.png 이미지

그림 13. 실시간 위치 탐색 화면

Fig. 13. Screen shot for realtime location tracking

Ⅳ. 성능 평가

본 논문에서 구현한 시스템을 활용하여 기기들의 위치정보를 송수신하는 과정을 통하여 LoRa 망의 성능을 평가하였다. 이를 위해 End-Device에서 게이트웨이까지의 최대 통신거리, 채널별 패킷 도달 시간 및 채널별 각 구간의 패킷 전송률을 측정하였다.[15]

그림 14는 구간별 LoRa 통신거리 측정 위치를 보여주는 지도이다. 측정 시 간섭을 최소화하기 위해 게이트웨이를 아파트 29층 옥상 높이에 배치하여 가시거리를 확보하였고, 거리를 늘려가며 최대 통신 거리를 측정하였다.

OTNBBE_2020_v20n3_15_f0014.png 이미지

그림 14. LoRa 통신 거리 측정 위치

Fig. 14. LoRa communication distance measurement location

또한 SF(Spreading Factor) 채널별 전송 가능한 페이로드의 크기가 다르기 때문에 채널을 다르게 하면서 각 구간별 패킷 도달 시간을 측정하였다. 표 2는 100m, 250m, 500m, 1,000m 총 4개의 구간에서 구간별로 도달되는 패킷의 전송시간을 500회 측정하여 평균을 낸 결과를 보여준다.

표 2. 채널별 각 구간의 패킷 도달 시간

Table 2. Packet arrival time of each section by channel

OTNBBE_2020_v20n3_15_t0002.png 이미지

SF 채널이 높아질수록 전송 가능한 페이로드의 사이즈는 작아지기 때문에 같은 구간에도 채널별 데이터 사이즈가 다르다는 것을 확인할 수 있었다. 모든 채널은 공통적으로 거리가 늘어날수록 패킷이 도달되는 시간이 가되는 것을 확인할 수 있었다. 또한 250m에서 측정한 값과 500m에서 측정한 값이 2배 이상으로 급격하게 증가하는 것을 볼 수 있다. 측정한 통신거리는 최대 1km까지 측정이 가능하였으며, 그 이상부터는 수신되지 않았다. 평균 패킷 도달 시간으로 확인했을 때 SF8 채널이 3개의 채널 중 가장 좋은 성능을 나타내고 있다.

표 3은 SF 채널별 수신된 패킷의 평균 성공률을 보여준다. SF8과 SF9채널은 100m, 250m까지는 우수한 패킷 전송률을 보여주지만, SF10은 낮은 성공률을 보인다. 또한 250m에서 500m로 넘어가는 경우 성공률은 급격히 감소하며 최대 통신거리인 1km에서는 모두 약 20% 정도의 낮은 전송률이 측정된 것을 확인하였다.

표 3. 채널별 각 구간의 패킷 전송 성공률

Table 3. Packet arrival time of each section by channel

OTNBBE_2020_v20n3_15_t0003.png 이미지

구현 시스템에서 실재로 전송되는 위치정보 데이터의 크기는 20바이트 정도이며 안전 반경을 500M~1Km 범위로 설정한다면 서비스를 제공하는데 무리가 없다고 판단된다. 그러므로 성능 평가를 수행한 결과, 본 논문에서 제안한 위치정보시스템은 저전력, 높은 커버리지의 특성을 갖는 LoRa를 기반으로 서비스를 제공하기에 적합한 것으로 보인다.

Ⅴ. 결론

본 논문에서 LoRa 통신을 기반으로 하고 6LoWPAN/IPv6와 CoAP를 결합하여 기기들의 위치 정보를 송수신하고 사용자들에게 알림을 제공하는 통합시스템을 개발하였다. IoT 환경에서 제공되는 서비스가 증가하면서 인터넷과 연동하는 대부분의 사물들이 IPv4 주소체계로 동작되고 있으나 IP 주소 고갈문제가 대두되고 있는 실정이다. 이러한 기기들을 연동하기 위해 사용되는 Wi-Fi, Bluetooth 및 Zigbee와 같은 무선 통신기술은 짧은 커버리지와 짧은 배터리 수명을 갖는다. 따라서 본 논문에서는 이러한 문제를 해결하기 위해 LoRa 통신이 가지는 저전력, 장거리 특징을 활용하고 IPv6를 활용하는 방안을 적용하여 위치정보시스템을 구현하였다.

구현 시스템에서 LoRa sx1278 Transceiver Chip을 Raspbian OS에서 동작하는 디바이스 드라이버 코드를 활용하여 구현하였다. 그러나 이는 Dragino LoRa/GPS HAT과 완전히 호환되지 않아 동작이 불안정할 때가 있었다. 향후에는 시스템의 동작 및 성능을 향상시키고 안정된 서비스를 제공하기 위하여 LoRa 디바이스 드라이버를 보완할 계획이다. 또한 LoRa 통신 모듈을 통해 전송하는 데이터로 위치정보뿐 아니라 심박 센서나 가속센서를 추가하여 좀 더 다양한 서비스를 제공하는 개선된 시스템을 구현할 계획이다.

사물인터넷은 모든 사물들이 언제 어디서나 인터넷에 연결되어 어떠한 정보라도 전달받을 수 있어야 한다. 이러한 정보를 안전하고 정확하게 받을 있어야 하는데 그러기 위해서는 보안 요소가 매우 중요하다. 그래서 LoRa에서 사용되는 대칭키 기반의 AES 기본 보안 프로토콜 외에 IoT 환경에 적합한 DTLS(Datagram Transport Layer Security) 등 다양한 보 프로토콜을 적용할 필요가 있으며 향후 안전하게 데이터를 전송할 수 있는 기능을 구현하고자 한다.

References

  1. Kiyoung Kim "Analysis for Efficiency of Long Range Wireless IoT Network ", The Journal of The Korea Institute of Information & Electronic Communication Technology, Vol. 9, No. 6, pp. 617-623, Dec 2016. DOI: http://dx.doi.org/10.17661/jkiiect.2016.9.6.617
  2. SEMTECH, "why lora?" Accessed July 1, 2019. https://www.semtech.com/lora/why-lora
  3. S. Deering and R. Hinden, Internet Protocol, "Version6(IPv6) Specification, RFC 2460" Accessed February 2019. https://tools.ietf.org/html/rfc2460
  4. N. Kushalnagar, G. Montenegro and C. Schumacher, "IPv6 oever Low-Power Wireless Personal Area Networks (6LoWPANs): Overview, Assumptions, Problem Statement, and Goals, RFC 4919" Accessed February 2019. https://tools.ietf.org/html/rfc4919
  5. G. Montenegro, N. Kushalnagar, J. Hui and D. Culler, "Transmission of IPv6 Packets over IEEE 802.15.4 Networks, RFC 4944" Accessed February 2019. https://tools.ietf.org/html/rfc4944
  6. W. Andreew and A. Anurag, "The Internet of Things-A survey of topics and trends" Information Systems Frontiers, Vol. 17, Issue. 2, pp. 261-274 Accessed April 2015. DOI: https://doi.org/10.1007/s10796-014-9489-2
  7. ETRI, "CoAP Electronics and Telecommunications Trends" Accessed April 2019.
  8. Dragino, "LoRa/GPS HAT" Accessed March 2019. https://wiki.dragino.com/index.php?title=Lora/GPS_HAT
  9. Jian-Hong Pan, "LoRa device driver as a kernel module" Accessed April 2019. https://github.com/starnight/LoRa
  10. Linux WPAN network development(IEEE 802.15.4), "Userspace tools for Linux IEEE 802.15.4 stack" Accessed April 2019. https://github.com/linux-wpan/wpan-tools
  11. Kai Hudalla "CoAP/DTLS Java Implementation" Accessed Aprill 2019. https://github.com/eclipse/californium
  12. T. Narten, E. Nordmark, W. Simpson and H. Soliman "Neighbor Discovery for IP version 6 (IPv6)" Accessed February 2019. https://tools.ietf.org/html/rfc4861
  13. Yeon-Su Kim, Ki-Tae Kim and Bo-Kyung Lee, "CoAP/6LoWPAN-based Smart Home Network system using DTLS", The Journal of The Institute of Internet, Broadcasting and Communication, Vol. 18, No. 6, pp. 53-61, Dec 2018. DOI: https://doi.org/10.7236/JIIBC.2018.18.6.53
  14. knu_communication_protocol_Lab, "Apply CoAP Observer", Accessed April 2019. https://iot.knu.ac.kr/tech/CPL-TR-17-01-CoAP-Observe.pdf
  15. Dong-Han Lee, Wan-Jae Lee, Hwa-Se Park, and Dae-Sik Ko, "A Study on the Improved Transmission Distance of the LoRa Network ", Journal of KIIT. Vol. 17, No. 4, pp. 53-59, Apr. 30, 2019. DOI : 10.14801/jkiit.2019.17.4.53