미친해커

[Arduino] LoRa Step 6 - 전파법에 맞춰 로라 설정하기 본문

Arduino/LoRa

[Arduino] LoRa Step 6 - 전파법에 맞춰 로라 설정하기

미친해커 2022. 7. 30. 20:03
반응형

대한민국에서 로라를 사용하기 위해서 신경써야하는 조항은 2개가 있다. 주파수와 출력세기이다. 이 부분은 하드웨어 적으로 값을 세팅해주고 사용해야 한다. 잠깐 연습삼아 사용하는건 괜찮을지 몰라도 지속적으로 법에 어긋나는 주파수와 출력세기를 사용하다가는 문제가 발생할 수 있다.

주파수 (Channel)

대한민국에서 등록?하지 않고 사용할 수 있는 주파수 범위는 917.1 ~ 923.3 MHz 이다.

E32-900T30D 주파수 설정 공식

해당 모듈의 기본 주파수는 868MHz로 설정되어 있다.

이전에 첨부했었던 데이터 시트를 확인해보면 기본 862MHz + CHAN * 1MHz 공식으로 주파수를 설정한다. 채널을 60으로 설정하게되면 862MHz + 60 * 1MHz으로 922MHz 주파수를 사용할 수 있게된다.

E32-900T30D 주파수 설정 방법

#include <SoftwareSerial.h>
#include "EBYTE.h"

#define PIN_M0 4
#define PIN_M1 5
#define PIN_AX 6

SoftwareSerial LoRa(2, 3);
EBYTE Transceiver(&LoRa, PIN_M0, PIN_M1, PIN_AX);

void setup()
{
    Serial.begin(115200);
    LoRa.begin(9600);
    Transceiver.init();            // 초기화
    Transceiver.SetChannel(60);    // 채널(주파수) 설정
    Transceiver.SaveParameters();  // 설정 저장
}

void loop()
{
}

출력세기 (Transmission Power)

출력세기는 주파수 채널별로 다른데 자세한건 아래 포스트에서 확인할 수 있다.

 

[Arduino] LoRa Step 3 - 대한민국에서 LoRa를 사용하기 위한 법 조항

전파법 LoRa를 처음 접하는 사람이라면 갑자기 왜 법을 언급하는데 의아해 할 수도 있다. 하지만 전파는 공공재이기 때문에 국가의 관리하에 사용해야한다. 로라는 주파수를 사용해 통신하기 때

crazyhacker.tistory.com

E32-900T30D 출력세기 종류

해당 모듈의 출력세기는 데이터 시트에 나와 있듯이 총 4종류를 지원하는데 필자도 몰랐던 사실이지만 mW(밀리와트)와 dBm(데시벨 밀리와트)가 다르다는 것이었다. 위 포스팅에서는 단위가 mW로 표시되어 있지만 데이터 시트에는 dBm으로 표시되어 있다. 그래서 해당 단위를 변환해줄 필요가 있다. 아래 사이트에서 변환이 가능하다.

 

dBm to Watt Caluclator - everything RF

What is dBm to watts conversion calculator? dBm to Watts conversion calculator converts the power value in dBm to Watts value. Watt (W) is a SI unit for measuring the power and dBm is a decibel unit for measuring the power. How to calculate power (in watt)

www.everythingrf.com

실제로 사이트에서 변환하면 충격적인 결과를 알 수 있는데 바로 30dBm이 1W 였던 것이다...

E32-900T30D 출력세기 설정 방법

우리가 사용할 수 있는 최대 출력세기는 200mW 인데 1W면 규정치에 5배나 되는 세기이다. 이러한 출력 세기를 지속적으로 사용하면 무조건 문제가 발생할 수 밖에 없다.

 

제일 낮은 21dBm을 확인해보면 125mW 인것을 확인할 수 있다.

그렇다면 채널은 20 ~ 32 (920.9 ~ 923.3 MHz)를 사용하면 실외 고정용 점대점 무선기기에 한해서 200mW 이하의 출력세기를 사용할 수 있다. 그렇다는 건 밖에서 움직이며 사용할 수 없다는 것을 뜻한다...

 

어쩔 수 없지만 지금 있는 E32-900T30D 모듈을 사용하기 위해서는 이 방법 말고는 없다.

#include <SoftwareSerial.h>
#include "EBYTE.h"

#define PIN_M0 4
#define PIN_M1 5
#define PIN_AX 6

SoftwareSerial LoRa(2, 3);
EBYTE Transceiver(&LoRa, PIN_M0, PIN_M1, PIN_AX);

void setup()
{
    Serial.begin(115200);
    LoRa.begin(9600);
    Transceiver.init();                 // 초기화
    Transceiver.SetChannel(60);         // 채널(주파수) 설정
    Transceiver.SetTransmitPower(0b11); // 출력세기 설정
    Transceiver.SaveParameters();       // 설정 저장
}

void loop()
{
}

마무리

필자가 생각했을 때 가장 중요한 요소는 주파수와 출력세기라고 생각했기 때문에 이번 포스팅에서는 두가지만 소개했다. UART Baud Rate나 Air Data Rate는 어떻게 설정하더라고 법적으로 큰 문제가 없는 것같아서 다음 포스팅에서는 이 외에 설정들을 셋팅하는 것을 해보려고 한다

반응형
Comments