1. 서 론
4차산업혁명이 전통적인 제조 시설과 ICT 인프라의 융합을 통한 빅데이터에 대하여 많은 관심을 기울이고 있다[1].특히 효율적인 동선을 위해서는 설비들의 위치를 파악하고, 제품 제작의 자율화가 필수적이다[2]. 현재 위치정보 수집을 위한 기술은 GPS (GlobalPositioningSystem)센서를 이용하여 데이터 수집을 진행할 수 있으나, GPS의 경우 직진 성이 강하며, 회절과 반사율이 낮아 실내에는 도달하지 않고 오차가 5∼50m로 인해 위치 측위를 적용하기에 어려운 점이 있다[3].
실내 측위의 경우에는 Bluetooth, ZigBee, WiFi, RFLinks, CellularNetworks, LPWA등의 무선 네트워크를 활용하여 위치를 파악하고 있으나[4], 오차범위가 20∼30m로 크고 정확도가 낮은 문제점이 발생한다. 라즈베리파이는 영국 잉글랜드의 라즈베리파이 재단에서 개발하였으며[5], 가격 대비 성능이 좋아 교육용, 개발용, 연구용, 산업체의 선행 목적으로 흔히 사용되고 있다.특히, 라즈베리파이 3B+버전은 블루투스가 내장되어 있어서 실내측위를 위한 모듈 구성에 용이하므로, 본 논문의 시스템 구현에 활용한다.
RSSI(ReceivedSignalStrengthIndicator)는 사용자의 접근을 감지하는 기술로, 위치 측정 분야, 마케팅, 광고, 소매업 등 다양한 산업 분야에 적용되어있다[6]. 그러나 현재 RSSI를 이용한 위치 인식 시스템은 많이 구현되어 있으나, 송신 및 수신되는 신호 세기 및 강도 등에 따라 오차율이 많이 발생하는 문제점이 있다.본 논문에서는 이러한 문제점을 해결하기 위하여 3-카운트 점진 알고리즘과 4각 측위 알고리즘을 구현하여 오차율 최소화 및 데이터 송·수신을 위한 사물인터넷용 무선 네트워크를 구현한다.
이를 위하여 본 논문에서는 라즈베리파이 3B+에내장된 BLE4.2를 사용하여, 블루투스 SmartReady 를 구성한다.세부적으로 Advertise를 위한 비콘 제작과 데이터를 송·수신을 위해 시리얼 포트 지원을 위한 실험을 통하여 AdvertiseMode와 Connection Mode를 동시 구현하였고, 블루투스 RSSI오차 보정을 위해 3-카운트 점진 알고리즘과 4각 측위 알고리즘을 개발 및 구현한다.구현된 시스템을 실험한 결과, 평균 오차는 1.68%로 1차 보정보다 약 3배 정도 향상되었고, 보정 전보다 오차율이 약 6배 이상 향상되어, 위치 측정에 대한 오차율을 대폭 향상시켰음을확인할 수 있었다.
본 논문의 구성은 다음과 같다.2장에서 본 논문의 구현 기본이 되는 블루투스 SmartReady에 대하여 살펴본 다음, 3장에서 본 논문에서 구현하는 시스템 및 실험 결과를 설명한다.여기에서는 라즈베리파이 3B+를 이용한 RSSI구현과 3-카운트 점진 보정 알고리즘과 4각 측위 알고리즘을 기반으로 한 RSSI오차 알고리즘 구현을 서술한 후에 실험 결과를 살펴본다. 마지막으로 5장에서 결론을 맺는다.
2. 블루투스 Smart Ready
블루투스는 BluetoothClassic, BluetoothSmart, BluetoothSmartReady로 구분된다.BluetoothSmart Ready는 BT와 BLE를 모두 지원하는 듀얼모드 장치로, 4.1버전은 간섭 현상과 재연결 기능과 속도 개선 및 사물인터넷을 위한 기능이 추가되었다.블루투스 Classic과 Smart의 비교 및 특징은 Table1과 같다.
Table 1. Comparison of Bluetooth Classic and Smart.
본 논문에서 사물인터넷 시스템 구축을 위해 실험에 사용한 통신은 블루투스 BLE 4.2버전이다.블루투스는 2013년 12월에 발표한 4.1버전부터 IP(Inter- netProtocol)기반의 연결을 지원한다[2].BLE의 통신은 AdvertiseMode와 ConnectionMode로 구성된다. 라즈베리파이3 보드의 블루투스를 Advertise Mode로 전환하기 위해서는 비콘 형식으로 변환할 필요가 있다.그러나 비콘 형식으로 변환되면, 신호를 주기적으로 보낼 수는 있으나 데이터 송수신이 불가능하나 블루투스 BLE4.1버전 이상부터는 블루투스 SmartReady를 지원하게 되어 AdvertiseMode 와 Connection Mode를 모두 사용이 가능하다.
Bluez는 블루투스 통신을 담당하는 패키지로, 커널 모듈을 포함한 핵심적인 블루투스 계층과 프로토콜, 사용자 라이브러리, 설정 및 테스트 도구들을 제공한다. Fig.1은 블루즈의 전체적인 구조를 나타내고 있으며, DBUS는 동일한 컴퓨터의 프로그램 간통 신을 진행하는 프로세스 간 통신(Inter-Process Communication)방식 중 하나로, DBUS를 사용할 경우에는 프로세스들 사이에 메시지 공유 및 전달이 효율적이다.
Fig. 1. Bluez structure.
AdvertiseMode를 사용하려면 블루투스를 비콘으로 변경하여야 하며, iBeacon 프레임(frame)으로 사용되는 패킷은 총 31Bytes며 Advertising패킷 (packet)에서 Header와 MacAddress를 포함하면 39 Bytes의 패킷을 사용한다.RSSI는 사용자의 접근을 감지하는 기술이며, 2차원 평면상에서 무선전파를 송출하는 신호를 인식기가 수신하여 신호 세기를 측정 한 후, 신호 전달 거리를 계산한다[6].
ConnectionMode를 사용하려면 블루투스 시리얼 통신을 추가하여 해결할 수 있다.블루투스 시리얼 통신을 추가하기 위해서는 Bluez의 환경 변경이 필요하다. 세부적으로 Bluez의 프로파일 프로토콜 중 SPP를 활성화하고 통신 프로토콜을 RFCOMM을 이용하여 연동한다.Bluez의 전체적인 구조는 Fig. 1과같다[7].
3. RSSI 구현 및 실험 결과
3.1 RSSI 구현
현재 위치를 파악하기 위해서는 블루투스의 RSSI 기능이 필요하다.RSSI는 사용자의 접근을 감지하는 기술이며, AdvertiseMode를 사용하려면 블루투스를 비콘으로 변경하여야 한다.Fig.2의 Beacon 프레임으로 사용되는 패킷은 총 31Bytes며 Advertising 패킷에서 Header와 Mac Address를 포함하면 39 Bytes의 패킷을 사용한다.RSSI는 2차원 평면상에서 무선전파를 송출하는 신호를 인식기가 수신하여 신호 세기를 측정 한 후, 신호 전달 거리를 계산한다 [8].본 논문에서는 Fig.2의 패킷 구조[7]를 이용하여 총 4대의 비콘을 제작하였다.
Fig. 2. Advertising Packet structure.
RSSI는 2차원 평면상에서 무선전파를 송출하는 신호를 인식기가 수신하여 신호 세기를 측정 한 후에 신호 전달 거리를 계산한다.RSSI는 추가적인 하드웨어 구성없이 시스템 구현이 간단하며, RSSI기반의 거리측위 기술은 일반적으로 삼각법과 장면분석의 핑거프린팅 기법 및 근접(Proximity)방법으로 구분된다[9].
삼각법 방식은 거리측위에서 보편적으로 사용되는 알고리즘으로, 원의 방정식을 이용하여 원의 교점을 찾는 방식이다.3개 이상의 인식기(AP, Access Point)가 필요하지만, 매우 한정된 공간에서는 2개의 AP로도 위치를 추정할 수 있으나 기본적으로 3개 이상의 인식기를 요구한다.위치 추정의 방식은 Fig. 3과 같이 3개의 인식기를 기준으로 각 인식기의 기준점을 AP1, AP2, AP3로 지정하고, API의 좌표를 (x1,y1), AP2의 좌표를 (x2, y2), AP3의 좌표를 (x3, y3), 이동체를 Q(x, y)로 정의하면 Q와 AP1, AP2, AP3의 기준점까지의 거리를 각각 d1, d2, d3로 표시한다[10]. 위치 추적을 위한 d1, d2, d3의 값은 식 (1)의 피타고라 스 식을 이용하지만, 라즈베리파이3 B+의 블루투스 를 사용할 경우에는 식 (2)를 이용한 RSSI 값을 추출 할 수 있다[11].
Fig. 3. Triangulation Calculation Formula.
\(\begin{aligned} &d_{1}=\sqrt{\left(x-x_{1}\right)^{2}+\left(y-y_{1}\right)^{2}} \\ &d_{2}=\sqrt{\left(x-x_{2}\right)^{2}+\left(y-y_{2}\right)^{2}} \\ &d_{3}=\sqrt{\left(x-x_{3}\right)^{2}+\left(y-y_{3}\right)^{2}} \end{aligned}\) (1)
\(\begin{aligned} &X_{R S S I}=-10 n^{*} \log ^{*} D+L_{T X \text { power }} \\ &D=10^{\left(\left(L_{\text {TXpowr }}-X_{\text {RSSI }}\right) /\left(10^{*} n\right)\right)} \end{aligned}\) (2)
식 (2)에서 획득한 RSSI값을 자유 공간에서의 경로 손실을 구하는 식 (3)의 Friis공식을 이용하여 손실 값을 획득한다[12].여기서 TXPower는 신호 세기, D는 거리를 뜻하며, n은 전파 손실을 가정하는데, 장애물이 없을 경우 n =2로 계산한다.
\(L=20 \log _{10}\left(\frac{4 \pi d}{\lambda}\right)[d B]\) (3)
식 (3)에서 λ는 전파의 파장을 나타내며, d는 거리 나타내는데 λ와 d는 동일한 단위를 사용한다. 식 (3) 을 d의 식으로 다시 표현하면 식 (4)와 같다.
\(d=\left(\frac{\lambda}{4 \pi}\right) \cdot 10^{\frac{L}{20}}=\left(\frac{C}{4 \pi f}\right) \cdot 10^{\frac{L}{20}}\) (4)
ㄴ식 (4)에서 C는 전파의 속도, f는 주파수를 의미 한다. 2.4GHz 대역을 사용하고 신호 손실이 60dB이 고 전파 속도가 3×108[m/sec]일 경우에는, 식 (4)의 계산을 통한 두 지점 사이의 거리 d는 식 (5)를 통해 약 10m라는 거리 값을 구할 수 있다.
\(\begin{aligned} d=& \frac{3 \times 10^{8}}{4 \times 3.14 \times 2.4 \times 10^{9}} \cdot 10^{\frac{60}{20}} \\ & \cong 0.01 \times 1000=10[\mathrm{~m}] \end{aligned}\) (5)
3.2 RSSI 오차 알고리즘 구현
4개 비콘들의 RSSI의 신호를 받기 위해서는 RSSI 의 신호를 감지할 수 있는 스캐너의 설계가 필요하다. 스캐너는 모든 비콘 장치들을 탐색한 후에, 미리 정의된 맥 주소 값과 일치하는 값만을 RSSI로 받도록 설계하였으며, Fig.4는 비콘의 RSSI의 신호를 탐색하는 화면이다.수신된 RSSI의 오차율을 검사하기 위해서 RSSI값들을 천번씩 수집하였으며, 수집된 RSSI값에 대한 오차율과 최소 및 최대 차이는 Table 2와 같다.
Fig. 4. Check RSSI Signal.
Table 2. RSSI Error Rate Comparison.
RSSI오차율에서 평균 ±10%를 벗어날 경우 오차로 책정하였다.세부적으로 평균 오차율은 11.56%로 오차가 생각보다 높음을 알 수 있는데, 거리가 멀어질 경우 신호가 약해짐에 따라 오차가 더 커질 가능성이 발생할 수 있다.이러한 문제를 해결하기 위하여 Fig.5와 같은 3-카운트 점진 보정 알고리즘을 제안하였다.
Fig. 5. 3-count incremental correction algorithm.
3-카운트 점진 보정 알고리즘의 세부적인 내용은 다음과 같다.a는 이전에 들어온 값이고 b는 현재 받은 수신 값으로 가정하고, 오차 범위의 값을 ±10%로 지정한다.b의 값이 들어올 때 a와 비교해서 오차범위 이내일 경우 b의 값을 a에 넣어 준다.b의 값이 ±10%를 벗어날 경우에는 c에 카운트를 주고 b–a 값의 25%를 보정하여 a에 더한 후 b로 계산한다. 카운트가 1임에도 오차 값이 또 벌어질 경우 50% 보정 하여 재계산한다. c가 2임에도 오차값이 차이가 날 경우에는 b의 값을 a에 넣어 주고 카운트를 초기화한다. 최종적으로 상기 알고리즘으로 재 오차율을 검사한 결과 오차율이 평균 4.805%로 대폭 감소함을 확인할 수 있었다.
3-카운트 점진 보정 알고리즘을 수행한 후에, 4개의 센서들을 연동한 4각 측위 알고리즘을 진행한다. Fig. 6은 4각 측위 알고리즘을 나타내고 있다.
직사각형의 경우 O의 위치에 연결되는 선분은 어디에 있든 직각삼각형의 타입을 만들 수 있는 성질을 이용하면, x와 y의 값을 미리 알고 있을 때 a, b, c, d의 값을 계산할 수 있게 된다.(a+b+c+d)의 값과 (a’+b’+c’+d’)의 값 역시 동일하며, 식 (6)에 의해 a의 값이 잘못 들어오더라도 b, c, d의 값을 계산하면 잘못된 a의 값을 더 쉽게 추론할 수 있고, O의 좌표점을 더 상세하게 파악할 수 있다.
Fig. 6. Quadrature Calculation Algorithm.
\(\begin{aligned} &a+b=\sqrt{x^{2}+y^{2}} \\ &a+b+c+d=2 \sqrt{x^{2}+y^{2}} \end{aligned}\) (6)
3.3 실험 결과
4개의 비콘들의 RSSI의 신호를 받기 위해 RSSI의신호를 감지할 수 있는 스캐너를 설계하였다. 그리고모든 비콘 장치들을 탐색한 후에 미리 지정된 맥 주소 값과 일치하는 값만 RSSI로 받도록 구동하고, 동기화된 블루투스를 검색한 후 블루투스 장비를 검색하고 시리얼 포트 통신을 위해 RFCOMM의 소켓을 제작한 후 서로 연결하였다.연결이 확인되면 비콘스캔을 진행하여 비콘들의 맥 주소를 비교하여 동일한 주소인 경우 RSSI값을 받아온 후 거리를 측정하였다.
RSSI를 이용한 위치 추적 시스템의 오차율은 총 1, 000회(보정 전과 1차 보정은 100회)진행하였으며 RSSI비교 결과는 Table3과 같다.이 테이블의 내용을 살펴보면 3-카운트 점진 보정 알고리즘과 4방향 측위 알고리즘을 사용할 경우, 평균 오차는 1.68%로 보정 전보다 오차율이 약 6.8배 이상 향상되었으며, 1차 보정보다 약 2.8배 이상 향상되었음을 확인할 수 있다.
Table 3. RSSI error rate comparison result.
Fig.7은 AdvertiseMode와 Connection Mode 가동 시에 구현되고 RSSI를 이용한 실내측위가 진행되고 있는 화면이다.지속적으로 센서들의 RSSI값을받아서 거리를 측정하면서, 데이터 송·수신이 진행되는 화면을 확인할 수 있고, 데이터를 주고 받는 알람 체크를 통해 블루투스 SmartReady를 이용한 RSSI 구현 및 오차 보정이 성공적으로 진행되었음을 확인하였다.
Fig. 7. Experiment result screen.
4. 결 론
본 논문에서는 라즈베리파이3B+모델의 블루투스를 이용하여 RSSI의 위치 측위 및 오차율 수정 알고리즘과 데이터 송·수신 시스템을 구현하였다. 블루투스 SmartReady시스템을 통해 사물인터넷을 위한 무선 네트워크 시스템이 안정적으로 동작하며, 3카운트 점진 알고리즘과 4각 측위 알고리즘을 통해, 위치 측정에 대한 오차를 6배 이상 향상 시킨 것이 확인되었다.이는 향후 정확한 위치 측정 데이터를 전송할 수 있게 되어, 향후 스마트 그리드 시스템에서 앵커의 역할과 신뢰 높은 데이터 수집 및 활용에 효율적으로 사용될 수 있고, 스마트폰의 다양한 요소를 제어하는 앱 개발을 통해, 가정에서 보다 정확한 미터링, 전기 소비 제어가 가능하다.블루투스 스마트 액세서리 태그를 이용하면, 아이들이나 애완동물의 동선 관리, 지갑이나 수하물 도난 관리 등에서도 활용할 것으로 기대된다.
참고문헌
- F. Longo. L. Nicolettie, and A. Padovano, "Smart Operations in Industry 4.0: A Human-centered Approach to Enhance Operations' Capabilities and Competencies within the New Smart Factory Context," Computers and Industrial Engineering, Vol. 113, pp. 144-159, 2017. https://doi.org/10.1016/j.cie.2017.09.016
- S.J. Lee, J.H. Choi, C.S. Seo, B.K. Park, and B.Y. Choi, "Implementation of Smart Shoes for Dementia Patients using Embeded Board and Low Power Wide Area Technology," Journal of the Korea Institute of Information and Communication Engineering, Vol. 23, No. 1, pp. 399-406, 2019.
- D.S. Yu and W.S. Kim, "Implementation of UWB Indoor Positioning and Real-time Remote Control System for Disaster Monitoring based on Digital Twin," Journal of Korea Multimedia Society, Vol. 24, No. 12, pp. 1682-1692, 2021. https://doi.org/10.9717/KMMS.2021.24.12.1682
- Y.S. Jang and S.Y. Shin, "Implementation Wirels Internet Security Connection System Using Bluetooth Beacon iSmart Factory," Journal of the Korea Institute of Information and Communication Engineering, Vol. 22, No. 12, pp. 1705-1713, 2018. https://doi.org/10.6109/JKIICE.2018.22.12.1705
- What is a Raspberry Pi(2012), https://www.raspberrypi.org/about/ (accessed January 03, 2022).
- D.Y. Kim, S.H. Kim, and E.H. Jin, "The Research on iBeacon Technology Trend and Issue," Korea Computer Congress, Vol. 2014, No. 6, pp. 390-392, 2014.
- Understanding the different types of BLE Beacons(2015), https://www.raspberrypi.org/about/ (accessed January 03, 2022).
- S.J. Kim, A Study on Low Power Multi-Channel Wireless Communication System P ossible to Estimate Location using RSSI, Department of Electronics Engineering Graduate School Chonnam National University, 2012.
- J. Hightower and G. Borriello, "Location Sensing Techniques," IEEE Computer, Vol. 34, No. 8, pp. 57-66, Arg, 2001.
- B.Y. Kim and D.S. Ko, "Implementation of RSSI-based RTLS for Improvement of Location Awareness Performance in Underground Space," Korean Institute Of Information Technology, Vol. 17, No. 8, pp. 85-91, 2019.
- D. Macagnano, Giuseppe Destino and Giuseppe Abreu, "Indoor Positioning: a Key Enabling Technology for IoT Applications," Proceeding of IEEE World Forum on Internet of Things (WF-IoT), pp. 117-118. 2014.
- B. Ge, K. Wang, J. Han, and B. Zhao, "Improved RSSI Positioning Algorithm for Coal Mine Underground Locomotive," Journal of Electrical and Computer Enginering, Vol. 2015, No. 3. pp. 1-8, 2015.