



며칠 전, REYAX Technology에서 다음이 들어 있는 소포를 받았습니다: RYUW122-Lite 모듈. 주로 장거리 데이터 전송에 사용되는 기존 LoRa 통신 모듈과 달리, 이 모듈은 단거리에서 소량의 데이터도 전송할 수 있습니다. 하지만 이 모듈의 주요 기능은 양방향 비행 시간(ToF) 방식을 사용해 두 노드 사이의 거리를 측정하는 것입니다.
이 기능 덕분에 이 모듈은 다음과 같은 애플리케이션에 매우 유용합니다:
• GPS 없는 위치 측정(실내 또는 지하 환경)
• 장치 간 거리 측정
• 로보틱스 및 자율 주행
• 자산 추적 시스템
• 무선 센싱 네트워크
이 글에서는 이 모듈의 작동 방식과 AT 명령을 사용해 구성하는 방법을 설명하고, 잘못된 거리 측정값이 나올 때 보정하는 방법도 알아봅니다. 또한 이 모듈을 ESP32와 같은 마이크로컨트롤러와 함께 사용하는 방법이나, USB-to-TTL 변환기 를 사용해 수동 AT 명령을 전송하고 두 노드 사이의 거리를 측정하는 방법도 보여 드리겠습니다.
마지막으로, 이 모듈들이 실제 거리 테스트에서 실제로 얼마나 먼 거리까지 작동할 수 있는지도 보여 드리겠습니다.
또한 하드웨어 설정, 구성, 모듈의 실제 작동 모습에 대한 실시간 시연 및 실제 환경에서의 거리 테스트를 포함해 전체 프로젝트를 자세한 YouTube 동영상으로 단계별 기록했습니다. 전체 동영상은 여기에서 시청할 수 있습니다. 👉 ( https://youtu.be/WTmuCWi43rc )
그럼 더 지체하지 말고 이 모듈을 살펴보겠습니다.

구성 및 코딩을 자세히 살펴보기에 앞서, 먼저 이 모듈이 실제로 어떻게 작동하는지설명하겠습니다.
RYUW122-Lite 초광대역(UWB) 모듈은 다음 방식을 사용해 거리를 측정합니다: 양방향 비행 시간 방식입니다. Anchor 는 먼저 매우 정밀한 UWB 펄스를 Tag로 전송합니다. Tag가 이 신호를 수신하면, 알려진 처리 지연 시간만큼 기다린 후 Anchor로 응답을 다시 전송합니다. 신호가 Tag까지 이동했다가 돌아오는 데 걸린 총 시간을 측정하고 알려진 지연 시간을 빼면 시스템은 신호의 이동 시간을 계산합니다. 전파는 빛의 속도로 이동하므로 모듈은 Anchor와 Tag 사이의 거리를 정확하게 계산할 수 있습니다. 이후 거리 정보는 UART 인터페이스 에서 AT 명령을 사용해 읽을 수 있습니다.
이 구성에서는 두 개의 모듈을 사용했습니다:
로 구성했습니다. 모듈이 통신하면 Anchor는 Tag까지의 거리를 지속적으로 측정하고, 그 값을 직렬 인터페이스를 통해 보고합니다.
이를 통해 마이크로컨트롤러가 측정된 거리를 읽고 추적, 내비게이션 또는 자동화와 같은 애플리케이션에 사용할 수 있습니다.


RYUW122-Lite 모듈은 모든 UART 인터페이스를 통해 AT 명령을 사용하여 구성할 수 있습니다. 모듈을 완전히 이해하고 고급 기능을 살펴보려면 제조업체에서 제공하는 전체 AT Command Guide를 읽는 것이 좋습니다.
이 글에서는 기본 구성에 필요한 몇 가지 필수 AT 명령만 보여 드리겠습니다.
직렬 터미널을 통해 특정 명령을 전송하면 다음을 구성할 수 있습니다:
• 모듈 역할(Anchor / Tag)
• 통신 매개변수
• 작동 모드
• 네트워크 구성
• RSSI 활성화/비활성화
• 출력 전력
• 기타 다양한 설정
AT 명령을 전송할 때는 다음을 사용할 수 있습니다:
• Arduino Serial Monitor
• USB-to-TTL 어댑터
• 마이크로컨트롤러 UART 인터페이스
이제 구성을 위해 USB-to-TTL 변환기와 RYUW122-Lite 모듈을 연결하는 방법을 살펴보겠습니다.
USB-to-TTL 변환기 RYUW122_Lite
3.3V VDD
TX RXD
RX TXD
GND GND
보시다시피 두 장치 사이의 표준 UART 연결일 뿐입니다.
배선을 완료한 후 USB-to-TTL 변환기를 PC에 연결하고 직렬 모니터를 엽니다.
이 모듈의 기본 UART 보드레이트는 115200이므로 직렬 터미널을 다음 설정으로 구성합니다:
• 보드레이트: 115200
• 줄바꿈: NL 및 CR 모두
이제 다음 명령을 입력합니다:
모듈이 다음과 같이 응답하면:
연결이 정상적으로 작동하고 있으며 AT 명령을 사용하여 모듈을 구성할 준비가 된 것입니다.
Anchor 및 Tag 모듈의 AT 명령 설정-
긴 형식의 YouTube 영상에서 전체 구성 과정을 자세한 설명과 함께 보여 드렸습니다. 설정과 명령을 더 잘 이해하려면 다음 링크에서 영상도 시청할 수 있습니다: 👉 ( https://youtu.be/WTmuCWi43rc )
다음 AT 명령을 사용하여 한 모듈을 Anchor로 구성합니다.
________________________________________
통신 테스트
이 명령은 모듈이 AT 명령에 응답하는지 확인합니다.
연결이 올바르면 모듈은 다음과 같이 응답합니다:
________________________________________
모듈을 Anchor로 설정
이 명령은 모듈을 Anchor 모드로 설정합니다.
모드를 확인하려면 다음을 전송합니다:
예상 응답:
________________________________________
모듈 주소 설정
이 명령은 모듈에 주소 ID를 할당합니다.
주소를 확인하려면 다음을 전송합니다:
참고:
각 모듈은 서로 다른 주소를 가져야 합니다. 그렇지 않으면 거리 측정 시스템이 제대로 작동하지 않습니다.
________________________________________
RSSI 보고 활성화
이 명령은 RSSI 보고를 활성화합니다.
설정을 확인하려면 다음을 전송합니다:
다음 AT 명령을 사용하여 다른 모듈을 Tag로 구성합니다.
________________________________________
통신 테스트
이 명령은 모듈이 AT 명령에 응답하는지 확인합니다.
연결이 올바르면 모듈은 다음과 같이 응답합니다:
________________________________________
모듈을 Tag로 설정
이 명령은 모듈을 TAG 모드로 설정합니다. 모듈의 기본 모드는 TAG(0)이지만, 항상 이를 확인하는 것이 좋습니다.
모드를 확인하려면 다음을 전송합니다:
예상 응답:
________________________________________
모듈 주소 설정
이 명령은 모듈에 주소 ID를 할당합니다.
주소를 확인하려면 다음을 전송합니다:
참고:
여기서는 Tag 모듈에 다른 주소를 설정했습니다. 그렇지 않으면 거리 측정 시스템이 제대로 작동하지 않습니다.
________________________________________
RSSI 보고 활성화
이 명령은 RSSI 보고를 활성화합니다.
설정을 확인하려면 다음을 전송합니다:
수동 AT 명령을 사용한 거리 측정 테스트
USB-to-TTL 컨버터와 수동 AT 명령을 사용하여 두 모듈 간의 거리 측정을 테스트할 수도 있습니다.
먼저, 앞서 설명한 것과 동일한 핀 연결 및 시리얼 모니터 설정을 사용하여 동일한 USB-to-TTL 컨버터로 Anchor 모듈을 PC에 연결합니다.
연결이 준비되면 시리얼 모니터에서 다음 명령을 전송합니다:
여기서:
• AKASH001 → Tag 모듈의 8바이트 ASCII 주소
• 주소가 올바르지 않으면 Anchor는 어떤 응답도 수신하지 못합니다.
통신에 성공하면 Anchor는 다음과 같은 응답을 수신합니다:
다음과 같습니다:
• 80 cm → 두 모듈 사이의 거리
• −70 → 수신 신호의 RSSI(dBm 단위)
이를 통해 두 모듈이 올바르게 통신하고 거리 측정이 제대로 작동하는지 빠르게 확인할 수 있습니다.

지금까지는 AT 명령을 수동으로 전송하고 반환된 응답에서 거리 및 RSSI 값을 직접 읽었습니다. 그러나 이 모듈을 실제 프로젝트에서 사용하려면 UART를 통해 모듈과 통신할 마이크로컨트롤러가 필요합니다. 마이크로컨트롤러는 AT 명령을 자동으로 전송하고, 응답을 읽고, 데이터를 처리한 다음 시리얼 모니터나 디스플레이와 같이 보다 사용자 친화적인 방식으로 결과를 표시할 수 있습니다.
제 구성에서는 마이크로컨트롤러를 사용하여 다음 작업을 수행했습니다:
• 모듈에 명령 전송
• 거리 측정 데이터 수신
• 수신 데이터 처리 및 표시
Tag 모듈에는 마이크로컨트롤러가 필요하지 않습니다. VDD 및 GND 핀을 통해 3.3V 전원 공급 장치로 전원을 공급하기만 하면 됩니다. 명령을 전송하고 응답을 읽는 Anchor 모듈에만 마이크로컨트롤러가 필요합니다.
여기서는 ESP32를 마이크로컨트롤러로 사용했습니다. 이 모듈은 UART 통신과 전원 공급만 필요하므로 회로는 매우 간단합니다. 또한 필요한 경우 모듈을 물리적으로 리셋할 수 있도록 마이크로컨트롤러의 추가 GPIO 핀 D5를 모듈의 NRST(리셋) 핀에 연결했습니다.
테스트 중 Arduino Nano와 함께 모듈을 사용했을 때는 리셋 핀을 사용하지 않아도 정상적으로 작동했습니다. 그러나 ESP32 또는 Raspberry Pi Pico와 함께 사용할 때는 setup 함수에서 Serial.begin() 이후 NRST 핀을 한 번 트리거해야 했습니다. 그렇지 않으면 모듈이 제대로 시작되지 않았습니다.
기억해야 할 중요 사항
1. 모듈은 3.3V 로직으로 작동합니다.
2. 5V 마이크로컨트롤러를 사용하는 경우 반드시 로직 레벨 시프터를 사용해야 합니다.
3. 안정적인 작동을 위해 깨끗하고 잡음이 없는 전원 공급 장치를 사용하는 것이 좋습니다.
이 코드를 복사하여 ESP32에 업로드합니다. 배선이 올바르면 Serial Monitor 및 OLED Display에서 수신 데이터를 확인할 수 있습니다.
코드의 이 줄에서는 AT 명령 페이로드를 준비합니다:
여기서 AKASH001은 Tag 모듈의 주소입니다. Tag 모듈의 주소가 다르면 이 명령의 주소를 그에 맞게 업데이트해야 합니다.

많은 거리 측정 시스템과 마찬가지로, 정확한 결과를 얻으려면 보정이 중요합니다 .
처음에는 두 모듈을 길이 30 cm인 자 의 양 끝에 배치하고 모듈이 보고하는 거리 값을 관찰했습니다. 측정된 거리가 약간 변동했지만, 여러 번 측정한 값의 평균을 사용했으며, 이 내용은 동영상에서도 보여 드렸습니다.
모듈이 보고한 평균 측정값은 26 cm였고, 실제 거리는 30 cm였습니다. 즉, 모듈이 실제 거리보다 약 4 cm 짧게 측정하고 있었다는 의미이므로, +4 cm 보정 오프셋 이 필요했습니다.
보정을 수행하려면 Anchor 모듈 을 USB-to-TTL 컨버터 에 다시 연결합니다. 설정 과정에서 했던 것과 동일합니다. 배선과 시리얼 모니터 설정은 정확히 동일하게 유지됩니다. 그런 다음 필요한 보정용 AT 명령을 전송합니다.
이 명령은 측정된 거리를 보정하기 위해 +4 cm 보정 오프셋 을 적용합니다.
보정값을 확인하려면 다음을 전송합니다:
보정을 적용한 후 모듈은 약 30 cm를 보고하기 시작했습니다. 다만 RF 기반 측정에서는 정상적인 현상인 작은 변동은 여전히 있었습니다.
보정을 추가로 확인하기 위해 모듈을 길이 190 cm인 테이블의 양 끝에 배치했습니다. Anchor 모듈은 약 189~190 cm의 거리를 보고했으며, 이는 실제 거리와 매우 가까운 값입니다.
이를 통해 보정이 성공적으로 완료되었고 모듈이 거리를 상당히 정확하게 측정하고 있음을 확인할 수 있었습니다.

실제 환경에서 모듈이 얼마나 멀리 작동할 수 있는지 확인하기 위해, 장애물 없이 서로를 직접 볼 수 있는 조건에서 두 모듈 사이의 거리 테스트를 수행했습니다. 이 모듈은 RF 통신을 사용하므로 장애물, 지형, 안테나 방향과 같은 요인이 성능에 큰 영향을 줄 수 있습니다.
이 실험에서는 Tag 모듈을 고정된 위치에 배치하고, 보고되는 거리와 RSSI 값을 지속적으로 측정하면서 Anchor 모듈을 멀리 이동시켰습니다.
테스트 결과
• 1000 cm 거리 — RSSI −90 dBm → 완벽하게 작동하며 문제 없음
• 3200 cm 거리 — RSSI −93 dBm → 잘 작동하지만 간헐적인 신호 손실 발생
• 4500 cm 거리 — RSSI −96 dBm → 안정적으로 작동하며 큰 문제 없음
• 6600 cm 거리 — RSSI −100 dBm → 작동하지만 신호 손실이 증가함. 여전히 사용 가능
• 7300 cm 거리 — 대부분의 시간 동안 신호가 끊김. 이 거리에서는 사용 불가
이 결과를 통해 가시거리 조건에서 모듈의 실제 작동 범위를 실용적으로 파악할 수 있습니다.
거리 범위 테스트 결과는 이 글에 제시되어 있지만, 실제 현장 실험과 실제 환경에서 모듈이 어떻게 작동했는지 확인하고 싶다면 전체 테스트 과정을 기록한 상세 동영상을 시청할 수 있습니다. 동영상 링크는 다음과 같습니다: 👉 ( https://youtu.be/WTmuCWi43rc )

제어된 환경과 실제 환경에서 RYUW122-Lite UWB 모듈을 테스트한 결과, 이 모듈은 성능이 뛰어나고 사용하기 쉬운 거리 측정 솔루션이라는 것을 확인했습니다. 간단한 UART AT 명령을 사용해 모듈을 빠르게 구성할 수 있으므로 ESP32, Arduino 또는 Raspberry Pi Pico와 같은 마이크로컨트롤러에 쉽게 통합할 수 있습니다.
첫 번째 테스트에서 모듈은 처음에 작은 오프셋을 보였습니다(측정값 26 cm, 실제 거리 30 cm). +4 cm 보정을 적용한 후 측정값은 매우 정확해졌습니다. 190 cm 거리에서 수행한 검증 테스트에서는 약 189~190 cm의 측정값이 나왔으며, 이는 적절한 보정 후 모듈이 우수한 정확도를 달성할 수 있음을 보여 줍니다.
실제 환경의 거리 범위 테스트에서 모듈은 약 45 m까지 안정적으로 작동했으며, 약 66 m에서도 여전히 사용할 수 있었지만 패킷 손실이 증가하기 시작했습니다. 약 73 m를 넘어서자 통신이 불안정해졌고 테스트 조건에서는 대부분 사용할 수 없었습니다. 이는 특수 안테나나 최적화된 환경 없이 간단한 구성으로 이 모듈을 사용할 때의 현실적인 실제 작동 범위를 보여 줍니다.
종합하면 RYUW122-Lite는 실내 측위, 로보틱스, 근접 감지, 장치 간 거리 측정과 같은 애플리케이션에 적합한 소형의 실용적인 솔루션입니다. 적절히 설정하고 보정하면 일반적인 마이크로컨트롤러와 쉽게 인터페이스하면서 신뢰할 수 있는 단거리 거리 측정을 제공할 수 있습니다.
전체 구성, 설정 과정 및 실제 거리 범위 테스트 실험을 확인하고 싶다면 이 글 앞부분에 포함된 YouTube 동영상에서 전체 시연을 볼 수 있습니다. 링크는 다음과 같습니다: https://youtu.be/WTmuCWi43rc

계속 진행하기 전에 먼저 감사의 말씀을 전하고 싶은 곳은 REYAX Technology 입니다. 테스트와 실험을 위해 이 모듈들을 보내 주셨습니다.
REYAX는 다음을 비롯해 다양한 유용한 무선 통신 모듈을 개발합니다:
이 모듈들은 다음 분야에서 널리 사용됩니다: IoT, 무선 통신 및 산업 분야.
REYAX의 더 많은 제품을 살펴보고 싶다면 공식 웹사이트를 확인해 보세요.
🏢 REYAX 공식 웹사이트:
📦 REYAX RYUW122_Lite 제품 페이지:
➡️ https://reyax.com/products/RYUW122_Lite
이 영상에 소개된 모든 실험, 테스트, 결과 및 의견은 100% 실제이며, 정직하고 실제 현장 테스트를 기반으로 합니다.
원문: https://www.instructables.com/Reyax-RYUW122-Lite-Distance-Measurement-Module-How/