

# AWS IoT Core for LoRaWAN에 게이트웨이 및 디바이스 연결
<a name="lorawan-getting-started"></a>

AWS IoT Core for LoRaWAN은 LoRaWAN(저전력 장거리 광역 네트워크) 디바이스를 연결하고 관리할 수 있도록 지원하며 LNS 개발 및 운영의 필요성을 대체합니다. 장거리 WAN(LoRaWAN) 디바이스 및 게이트웨이는 AWS IoT Core for LoRaWAN을 사용하여 AWS IoT Core에 연결할 수 있습니다.

## 디바이스, 게이트웨이, 프로파일 및 대상에 대한 명명 규칙
<a name="lorawan-naming-convention"></a>

AWS IoT Core for LoRaWAN을 시작하고 리소스를 생성하기 전에 디바이스, 게이트웨이 및 대상의 명명 규칙을 고려하세요.

AWS IoT Core for LoRaWAN은 무선 디바이스, 게이트웨이 및 프로파일에 대해 생성한 리소스에 고유 ID를 할당합니다. 그러나 리소스를 보다 쉽게 식별할 수 있도록 리소스에 보다 구체적인 이름을 지정할 수도 있습니다. 디바이스, 게이트웨이, 프로파일 및 대상을 AWS IoT Core for LoRaWAN에 추가하기 전에 더 쉽게 관리할 수 있도록 이름을 지정하는 방법을 고려해 보세요.

리소스를 만들 때 태그를 리소스에 추가할 수 있습니다. LoRaWAN 디바이스를 추가하기 전에 태그를 사용하여 AWS IoT Core for LoRaWAN 리소스를 식별하고 관리하는 방법을 고려하세요. 태그를 추가한 후 수정할 수 있습니다.

이름 및 태그 지정에 대한 자세한 내용은 [AWS IoT 무선 리소스 설명](iotwireless-describe-resources.md) 단원을 참조하세요.

## 디바이스 데이터를 서비스 데이터에 매핑
<a name="lorawan-service-device-data"></a>

LoRaWAN 무선 디바이스의 데이터는 대역폭을 최적화하기 위해 인코딩되는 경우가 많습니다. 이러한 인코딩된 메시지는 다른 AWS 서비스에 의해 쉽게 사용되지 않을 형식으로 AWS IoT Core for LoRaWAN에 도달합니다. AWS IoT Core for LoRaWAN은 AWS Lambda 함수를 사용할 수 있는 AWS IoT 규칙을 사용하여 다른 AWS 서비스가 사용할 수 있는 형식으로 디바이스 메시지를 처리 및 디코딩합니다.

디바이스 데이터를 변환하여 다른 AWS 서비스에 전송하려면 다음 사항을 알아야 합니다.
+ 무선 디바이스가 보내는 데이터의 형식 및 내용입니다.
+ 데이터를 전송하려는 서비스입니다.
+ 서비스에 필요한 형식입니다.

이 정보를 사용하여 변환을 수행하고 변환된 데이터를 사용할 AWS 서비스에 전송하는 AWS IoT 규칙을 사용할 수 있습니다.

## 콘솔을 사용하여 디바이스 및 게이트웨이를 AWS IoT Core for LoRaWAN에 온보딩
<a name="lorawan-console"></a>

콘솔 인터페이스 또는 API를 사용하여 LoraWAN 게이트웨이 및 디바이스를 추가할 수 있습니다. AWS IoT Core for LoRaWAN을 처음 사용하는 경우 콘솔을 사용하는 것이 좋습니다. 콘솔 인터페이스는 한 번에 몇 가지 AWS IoT Core for LoRaWAN 리소스를 관리할 때 가장 실용적입니다. 많은 수의 AWS IoT Core for LoRaWAN 리소스를 관리할 때 AWS IoT 무선 API를 사용하여 보다 자동화된 솔루션을 만드는 것이 좋습니다.

AWS IoT Core for LoRaWAN 리소스를 구성할 때 입력하는 대부분의 데이터는 디바이스 공급 업체에서 제공하며 지원하는 LoRaWAN 사양에 따라 다릅니다. 다음 주제에서는 AWS IoT Core for LoRaWAN 리소스를 설명하고 게이트웨이와 디바이스를 추가할 콘솔 또는 API를 사용하는 방법에 대해 설명합니다.

**참고**  
퍼블릭 네트워크를 사용하여 LoRaWAN 디바이스를 클라우드에 연결하는 경우 게이트웨이 온보딩을 건너뛸 수 있습니다. 자세한 내용은 [퍼블릭 LoRaWAN 디바이스 네트워크에서 LoRaWAN 트래픽 관리(Everynet)](iot-lorawan-roaming.md) 단원을 참조하십시오.

**Topics**
+ [디바이스, 게이트웨이, 프로파일 및 대상에 대한 명명 규칙](#lorawan-naming-convention)
+ [디바이스 데이터를 서비스 데이터에 매핑](#lorawan-service-device-data)
+ [콘솔을 사용하여 디바이스 및 게이트웨이를 AWS IoT Core for LoRaWAN에 온보딩](#lorawan-console)
+ [AWS IoT Core for LoRaWAN에 게이트웨이 온보딩](lorawan-onboard-gateways.md)
+ [AWS IoT Core for LoRaWAN에 디바이스 온보딩](lorawan-onboard-end-devices.md)

# AWS IoT Core for LoRaWAN에 게이트웨이 온보딩
<a name="lorawan-onboard-gateways"></a>

AWS IoT Core for LoRaWAN을 처음 사용하려는 경우 콘솔을 사용하여 첫 번째 LoRaWAN 게이트웨이 및 디바이스를 추가할 수 있습니다.

**참고**  
퍼블릭 네트워크를 사용하여 LoRaWAN 디바이스를 클라우드에 연결하는 경우 게이트웨이 온보딩을 건너뛸 수 있습니다. 자세한 내용은 [퍼블릭 LoRaWAN 디바이스 네트워크에서 LoRaWAN 트래픽 관리(Everynet)](iot-lorawan-roaming.md) 단원을 참조하십시오.

**게이트웨이를 온보딩하기 전에**  
AWS IoT Core for LoRaWAN에 게이트웨이를 온보딩하기 전에 다음을 수행할 것을 권장합니다.
+ AWS IoT Core for LoRaWAN에서 사용할 수 있는 게이트웨이를 사용합니다. 이러한 게이트웨이는 추가 구성 설정 없이 AWS IoT Core에 연결되며 [LoRa Basics Station](https://doc.sm.tc/station) 소프트웨어의 2.0.4 이상 버전을 실행합니다. 자세한 내용은 [AWS IoT 무선를 통한 게이트웨이 관리](lorawan-manage-gateways.md) 단원을 참조하십시오.
+ 리소스를 보다 쉽게 관리할 수 있도록 만드는 리소스의 명명 규칙을 고려하세요. 자세한 내용은 [AWS IoT 무선 리소스 설명](iotwireless-describe-resources.md) 단원을 참조하십시오.
+ 각 게이트웨이에 고유한 구성 파라미터를 미리 입력할 준비가 되어 있으므로 콘솔에 데이터를 보다 원활하게 입력할 수 있습니다. AWS IoT이(가) 게이트웨이와 통신하고 게이트웨이를 관리하는 데 필요한 무선 게이트웨이 구성 파라미터에는 게이트웨이의 EUI 및 LoRa 주파수 대역이 포함됩니다.

**Topics**
+ [주파수 대역 선택을 고려하고 필요한 IAM 역할 추가](lorawan-rfregion-permissions.md)
+ [AWS IoT Core for LoRaWAN에 게이트웨이 추가](lorawan-onboard-gateway-add.md)
+ [LoRaWAN 게이트웨이를 연결하고 연결 상태를 확인합니다.](lorawan-gateway-connection-status.md)

# 주파수 대역 선택을 고려하고 필요한 IAM 역할 추가
<a name="lorawan-rfregion-permissions"></a>

AWS IoT Core for LoRaWAN에 게이트웨이를 추가하기 전에 게이트웨이가 작동할 주파수 대역을 고려하고 게이트웨이를 AWS IoT Core for LoRaWAN에 연결하는 데 필요한 IAM 역할을 추가하는 것이 좋습니다.

**참고**  
콘솔을 사용하여 게이트웨이를 추가하는 경우 콘솔에서 **역할 생성**을 클릭하여 필요한 IAM 역할을 생성한 다음 이 단계를 건너뛸 수 있습니다. CLI를 사용하여 게이트웨이를 만드는 경우에만 이러한 단계를 수행해야 합니다.

## 게이트웨이 및 디바이스 연결을 위한 LoRa 주파수 대역 선택 고려
<a name="lorawan-frequency-bands"></a>

AWS IoT Core for LoRaWAN은 EU863-870, US902-928, AU915 및 AS923-1 주파수 대역을 지원하는데, 이 대역의 주파수 범위 및 특성을 지원하는 국가에 물리적으로 존재하는 게이트웨이 및 디바이스를 연결하는 데 사용할 수 있습니다. EU863-870 및 US902-928 대역은 일반적으로 유럽과 북미에서 각각 사용됩니다. AS923-1 대역은 일반적으로 호주, 뉴질랜드, 일본, 싱가포르에서 사용됩니다. AU915는 호주와 아르헨티나에서 사용됩니다. 해당 리전 또는 국가에서 사용할 주파수 대역에 대한 자세한 내용은 [ LoRaWAN® 리전 파라미터](https://lora-alliance.org/resource_hub/rp2-101-lorawan-regional-parameters-2/)를 참조하세요.

LoRa Alliance는 LoRa Alliance 웹사이트에서 다운로드할 수 있는 LoRaWAN 사양 및 리전 파라미터 문서를 게시합니다. LoRa Alliance 리전 파라미터는 회사가 해당 리전 또는 국가에서 사용할 주파수 대역을 결정하는 데 도움이 됩니다. AWS IoT Core for LoRaWAN 주파수 대역 구현은 리전 파라미터 사양 문서의 권장 사항을 따릅니다. 이러한 리전 파라미터는 산업, 과학 및 의료(ISM) 대역에 맞게 조정되는 주파수 할당과 함께 무선 파라미터 집합으로 그룹화됩니다. 규정 준수 팀과 협력하여 적용 가능한 규정 요구 사항을 충족하는지 확인하는 것이 좋습니다.

## CUPS(Configuration and Update Server)가 게이트웨이 자격 증명을 관리할 수 있도록 IAM 역할을 추가합니다.
<a name="lorawan-onboard-permissions"></a>

이 절차에서는 CUPS(Configuration and Update Server)가 게이트웨이 자격 증명을 관리할 수 있도록 IAM 역할을 추가하는 방법에 대해 설명합니다. LoRaWAN 게이트웨이가 AWS IoT Core for LoRaWAN과의 연결을 시도하기 전에 이 절차를 수행합니다. 그러나 이 작업은 한 번만 하면 됩니다.

**CUPS(Configuration and Update Server)가 게이트웨이 자격 증명을 관리할 수 있도록 IAM 역할을 추가합니다.**

1. [IAM 콘솔의 역할 허브](https://console.aws.amazon.com/iam/home#/roles)를 열고 **역할 생성**을 선택합니다.

1. **IoTWirelessGatewayCertManagerRole** 역할을 이미 추가했다고 생각되면 검색 창에 **IoTWirelessGatewayCertManagerRole**을 입력합니다.

   검색 결과에 **IoTWirelessGatewayCertManagerRole** 역할이 있으면 필요한 IAM 역할을 갖게 됩니다. 절차를 지금 종료할 수 있습니다.

   검색 결과가 비어 있으면 필요한 IAM 역할이 없는 것입니다. 절차를 계속하여 항목을 추가합니다.

1. **신뢰할 수 있는 엔터티 유형 선택(Select type of trusted entity)**에서 **다른 AWS 계정**을 선택합니다.

1. **계정 ID**에 AWS 계정 ID를 입력한 후 **다음: 권한**을 선택합니다.

1. 검색 상자에 **AWSIoTWirelessGatewayCertManager**을(를) 입력합니다.

1. 검색 결과 목록에서 **AWSIoTWirelessGatewayCertManager**라는 정책을 선택합니다.

1. **Next: Tags(다음: 태그)**를 선택한 후 **Next: Review(다음: 검토)**를 선택합니다.

1. **역할 이름**에 **IoTWirelessGatewayCertManagerRole**을 입력한 다음 **역할 생성**을 선택합니다.

1. 새 역할을 편집하려면 확인 메시지에서 **IoTWirelessGatewayCertManagerRole**을 선택합니다.

1. **요약(Summary)**에서 **신뢰 관계(Trust relationships)** 탭을 선택한 다음 **신뢰 관계 편집(Edit trust relationship)**을 선택합니다.

1. **정책 문서**에서 `Principal` 속성을 다음 예시처럼 변경합니다.

   ```
   "Principal": { 
       "Service": "iotwireless.amazonaws.com" 
   },
   ```

   `Principal` 속성을 변경한 후 전체 정책 문서가 다음 예시와 같은 형식이어야 합니다.

   ```
   {
     "Version": "2012-10-17",
     "Statement": [
       {
         "Effect": "Allow",
         "Principal": {
           "Service": "iotwireless.amazonaws.com"
         },
         "Action": "sts:AssumeRole",
         "Condition": {}
       }
     ]
   }
   ```

1. 변경 사항을 저장하고 종료하려면 **신뢰 정책 업데이트(Update Trust Policy)**를 선택합니다.

이제 **IoTWirelessGatewayCertManagerRole**이 생성됐습니다. 이 작업을 다시 수행할 필요가 없습니다.

게이트웨이를 추가하는 동안 이 절차를 수행한 경우 이 창과 IAM 콘솔을 닫고 AWS IoT 콘솔로 이동하여 게이트웨이 추가를 완료합니다.

# AWS IoT Core for LoRaWAN에 게이트웨이 추가
<a name="lorawan-onboard-gateway-add"></a>

콘솔 또는 CLI를 사용하여 AWS IoT Core for LoRaWAN에 게이트웨이를 추가할 수 있습니다.

게이트웨이를 추가하기 전에 [AWS IoT Core for LoRaWAN에 게이트웨이 온보딩](lorawan-onboard-gateways.md)의 **게이트웨이를 온보딩하기 전에** 단원에서 언급한 요소를 고려하는 것이 좋습니다.

게이트웨이를 처음 추가하는 경우 콘솔을 사용하는 것이 좋습니다. 대신 CLI를 사용하여 게이트웨이를 추가하려면 게이트웨이가 AWS IoT Core for LoRaWAN에 연결할 수 있도록 필요한 IAM 역할을 생성해야 합니다. 역할 생성 방법에 대한 자세한 내용은 [CUPS(Configuration and Update Server)가 게이트웨이 자격 증명을 관리할 수 있도록 IAM 역할을 추가합니다.](lorawan-rfregion-permissions.md#lorawan-onboard-permissions) 단원을 참조하세요.

## 콘솔을 사용하여 게이트웨이 추가
<a name="lorawan-onboard-gateway-console"></a>

AWS IoT 콘솔의 [AWS IoT Core for LoRaWAN](https://console.aws.amazon.com/iot/home#/wireless/landing) **소개(Intro)** 페이지로 이동하여 **시작하기(Get started)**를 선택한 다음 **게이트웨이 추가(Add gateway)**를 선택합니다. 게이트웨이를 이미 추가한 경우 **게이트웨이 보기(View gateway)**을 선택하여 추가한 게이트웨이를 봅니다. 게이트웨이를 더 추가하려면 **게이트웨이 추가(Add gateway)**를 선택합니다.

1. 

**게이트웨이 세부 정보 및 주파수 대역 정보 제공**  
**게이트웨이 세부 정보(Gateway details)** 단원을 참조하여 게이트웨이의 EUI 및 주파수 대역 구성과 같은 디바이스 구성 데이터에 대한 정보를 제공합니다.
   + 

**게이트웨이 EUI**  
개별 게이트웨이 디바이스의 EUI(확장 고유 식별자)입니다. EUI는 LoRaWAN 네트워크에서 게이트웨이를 고유하게 식별하는 `c0ee40ffff29df10`과 같은 16자리 영숫자 코드입니다. 이 정보는 게이트웨이 모델에 따라 다르며 게이트웨이 디바이스 또는 사용 설명서에서 찾을 수 있습니다.
**참고**  
게이트웨이의 EUI는 게이트웨이 디바이스에 인쇄되어 있을 수 있는 Wi-Fi MAC 주소와 다릅니다. EUI는 게이트웨이를 고유하게 식별하는 EUI-64 표준을 따르기 때문에 다른 AWS 계정 및 리전에서 사용할 수 없습니다.
   + 

**주파수 대역(RFRegion)**  
게이트웨이의 주파수 대역입니다. 게이트웨이가 지원하는 것과 게이트웨이가 물리적으로 연결하는 국가 또는 리전에 따라 `US915`, `EU868`, `AU915` 또는 `AS923-1`에서 선택할 수 있습니다. 대역에 대한 자세한 내용은 [게이트웨이 및 디바이스 연결을 위한 LoRa 주파수 대역 선택 고려](lorawan-rfregion-permissions.md#lorawan-frequency-bands) 단원을 참조하세요.

1. 

**무선 게이트웨이 구성 데이터 지정(선택 사항)**  
이러한 필드는 선택 사항이며 게이트웨이 및 해당 구성에 대한 추가 정보를 제공하는 데 사용할 수 있습니다.
   + 

**게이트웨이의 이름, 설명 및 태그**  
이러한 선택적 필드의 정보는 무선 시스템의 요소를 구성하고 설명하는 방법에 따라 제공됩니다. **이름**을 게이트웨이에 지정하고, **설명** 필드를 사용하여 게이트웨이에 대한 정보를 제공하고, **태그**를 사용하여 게이트웨이에 대한 메타데이터의 키-값 페어를 추가할 수 있습니다. 리소스 이름 지정 및 설명에 대한 자세한 내용은 [AWS IoT 무선 리소스 설명](iotwireless-describe-resources.md) 단원을 참조하세요.
   + 

**하위 밴드 및 필터를 사용한 LoRaWAN 구성**  
선택적으로, LoRaWAN 구성 데이터(예: 사용하려는 하위 밴드, 트래픽 흐름을 제어할 수 있는 필터)를 지정할 수도 있습니다. 이 자습서에서는 이 필드를 건너뛸 수 있습니다. 자세한 내용은 [게이트웨이의 하위 밴드 및 필터링 기능 구성](lorawan-subband-filter-configuration.md) 단원을 참조하십시오.

1. 

**AWS IoT 사물과 게이트웨이 연결**  
AWS IoT 사물의 생성 여부를 지정하고 이를 게이트웨이와 연결합니다. AWS IoT의 사물을 사용하면 디바이스를 더 쉽게 검색하고 관리할 수 있습니다. 게이트웨이와 사물을 연결하면 게이트웨이가 다른 AWS IoT Core 기능에 액세스할 수 있습니다.

1. 

**게이트웨이 인증서 만들기 및 다운로드**  
게이트웨이가 AWS IoT와 안전하게 통신할 수 있도록 게이트웨이를 인증하려면 LoRaWAN 게이트웨이가 프라이빗 키와 인증서를 AWS IoT Core for LoRaWAN에 제시해야 합니다. AWS IoT이(가) X.509 표준을 사용하여 게이트웨이의 자격 증명을 확인할 수 있도록 **게이트웨이 인증서**를 생성합니다.

   **인증서 생성(Create certificate)** 버튼을 클릭하고 인증서 파일을 다운로드합니다. 이것은 나중에 게이트웨이를 구성하는 데 사용합니다.

1. 

**CUPS 및 LNS 엔드포인트 복사 및 인증서 다운로드**  
AWS IoT Core for LoRaWAN에 연결을 설정할 때 LoraWAN 게이트웨이는 CUPS 또는 LNS 엔드포인트에 연결해야 합니다. CUPS 엔드포인트는 구성 관리도 제공하므로 CUPS 엔드포인트를 사용하는 것이 좋습니다. AWS IoT Core for LoRaWAN 엔드포인트의 신뢰성을 확인하기 위해 게이트웨이는 각 CUPS 및 LNS 엔드포인트에 대해 신뢰 인증서를 사용합니다.

   **복사** 버튼을 클릭하여 CUPS 및 LNS 엔드포인트를 복사해 둡니다. 나중에 게이트웨이를 구성할 때 이 정보가 필요합니다. **서버 신뢰 인증서 다운로드** 버튼을 클릭하여 CUPS 및 LNS 엔드포인트에 대한 신뢰 인증서를 다운로드합니다.

1. 

**게이트웨이 권한에 대한 IAM 역할 생성**  
CUPS(Configuration and Update Server)가 게이트웨이 자격 증명을 관리할 수 있도록 허용하는 IAM 역할을 추가해야 합니다.
**참고**  
이 단계에서는 **IoTWirelessGatewayCertManager** 역할을 생성합니다. 이 역할을 이미 생성했다면 이 단계를 건너뛸 수 있습니다. LoRaWAN 게이트웨이가 AWS IoT Core for LoRaWAN과 연결을 시도하기 전에 이 작업을 수행해야 하며, 한 번만 수행하면 됩니다.

   계정에 대한 **IoTWirelessGatewayCertManager** IAM 역할을 생성하려면 **역할 생성** 버튼을 클릭합니다. 역할이 이미 존재할 경우 드롭다운 목록에서 선택합니다.

   **제출**을 클릭하여 게이트웨이 생성을 완료합니다.

## API를 사용하여 게이트웨이 추가
<a name="lorawan-onboard-gateway-api"></a>

API 또는 CLI를 사용하여 처음으로 게이트웨이를 추가하는 경우 **IoTWirelessGatewayCertManager** IAM 역할을 추가해야 게이트웨이가 AWS IoT Core for LoRaWAN과 연결할 수 있습니다. 역할 생성 방법에 대한 자세한 내용은 [CUPS(Configuration and Update Server)가 게이트웨이 자격 증명을 관리할 수 있도록 IAM 역할을 추가합니다.](lorawan-rfregion-permissions.md#lorawan-onboard-permissions) 단원을 참조하세요.

다음 목록에서는 LoraWAN 게이트웨이 추가, 업데이트 또는 삭제와 관련된 작업을 수행하는 API 작업에 대해 설명합니다.

**AWS IoT 무선 게이트웨이에 대한 AWS IoT Core for LoRaWAN API 작업**
+ [CreateWirelessGateway](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_CreateWirelessGateway.html)
+ [GetWirelessGateway](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_GetWirelessGateway.html)
+ [ListWirelessGateways](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_ListWirelessGateways.html)
+ [ UpdateWirelessGateway ](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_UpdateWirelessGateway.html)
+ [DeleteWirelessGateway](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_DeleteWirelessGateway.html)

AWS IoT Core for LoRaWAN 리소스 생성 및 관리에 사용할 수 있는 작업 및 데이터 유형의 전체 목록은 [AWS IoT 무선 API 참조](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/welcome.html)를 참조하세요.

**AWS CLI를 사용하여 게이트웨이를 추가하는 방법**  
AWS CLI를 사용하여 [create-wireless-gateway](https://docs.aws.amazon.com/cli/latest/reference/iotwireless/create-wireless-gateway.html) 명령으로 무선 게이트웨이를 만들 수 있습니다. 다음 예제에서는 무선 LoRaWAN 디바이스 게이트웨이를 만듭니다. 게이트웨이 인증서 및 프로비저닝 자격 증명과 같은 추가 세부 정보가 포함된 `input.json` 파일을 제공할 수도 있습니다.

**참고**  
여기에 표시된 CLI 명령에 해당하는 AWS API의 메서드를 사용하여 API로 이 절차를 수행할 수도 있습니다.

```
aws iotwireless create-wireless-gateway \
    --lorawan GatewayEui="a1b2c3d4567890ab",RfRegion="US915" \
    --name "myFirstLoRaWANGateway" \
    --description "Using my first LoRaWAN gateway"
    --cli-input-json input.json
```

사용할 수 있는 CLI에 대한 자세한 내용은 [AWS CLI 참조](https://docs.aws.amazon.com/cli/latest/reference/iotwireless/index.html)를 참조하세요.

# LoRaWAN 게이트웨이를 연결하고 연결 상태를 확인합니다.
<a name="lorawan-gateway-connection-status"></a>

게이트웨이 연결 상태를 확인하려면 게이트웨이를 이미 추가하고 AWS IoT Core for LoRaWAN에 연결되어 있어야 합니다. 게이트웨이를 추가하는 방법에 대한 자세한 내용은 [AWS IoT Core for LoRaWAN에 게이트웨이 추가](lorawan-onboard-gateway-add.md) 단원을 참조하세요.

## AWS IoT Core for LoRaWAN에 게이트웨이 연결
<a name="lorawan-connect-gateway"></a>

게이트웨이를 추가한 후 게이트웨이의 구성 인터페이스에 연결하여 구성 정보 및 신뢰 인증서를 입력합니다.

AWS IoT Core for LoRaWAN에 게이트웨이 정보를 추가한 후 일부 AWS IoT Core for LoRaWAN 정보를 게이트웨이 디바이스에 추가합니다. 게이트웨이 공급 업체에서 제공하는 문서에는 인증서 파일을 게이트웨이에 업로드하고 게이트웨이 디바이스가 AWS IoT Core for LoRaWAN과 통신하도록 구성하는 프로세스가 설명되어 있어야 합니다.

**AWS IoT Core for LoRaWAN에서 사용할 수 있는 게이트웨이**  
LoraWAN 게이트웨이를 구성하는 방법에 대한 자세한 내용은 AWS IoT Core for LoRaWAN 워크숍의 [게이트웨이 디바이스 구성](https://iotwireless.workshop.aws/en/200_gateway/400_configuregateway.html) 단원을 참조하세요. 여기에서 AWS IoT Core for LoRaWAN에서 사용할 수 있는 게이트웨이를 연결하기 위한 지침에 대한 정보를 찾을 수 있습니다.

**CUPS 프로토콜을 지원하는 게이트웨이**  
다음 지침은 CUPS 프로토콜을 지원하는 게이트웨이를 연결하는 방법을 보여줍니다.

1. 게이트웨이를 추가할 때 얻은 다음 파일을 업로드합니다.
   + 게이트웨이 디바이스 인증서 및 프라이빗 키 파일.
   + CUPS 엔드포인트에 대한 신뢰 인증서 파일 `cups.trust`.

1. 이전에 얻은 CUPS 엔드포인트 URL을 지정합니다. 엔드포인트 형식은 `prefix.cups.lorawan.region.amazonaws.com:443`이(가) 될 것입니다.

이 정보를 얻는 방법에 대한 자세한 내용은 [AWS IoT Core for LoRaWAN에 게이트웨이 추가](lorawan-onboard-gateway-add.md) 단원을 참조하세요.

**LNS 프로토콜을 지원하는 게이트웨이**  
다음 지침은 LNS 프로토콜을 지원하는 게이트웨이를 연결하는 방법을 보여 줍니다.

1. 게이트웨이를 추가할 때 얻은 다음 파일을 업로드합니다.
   + 게이트웨이 디바이스 인증서 및 프라이빗 키 파일.
   + LNS 엔드포인트에 대한 신뢰 인증서 파일 `lns.trust`.

1. 이전에 가져온 LNS 엔드포인트 URL을 지정합니다. 엔드포인트 형식은 https://`prefix.lns.lorawan.region.amazonaws.com:443`입니다.

이 정보를 얻는 방법에 대한 자세한 내용은 [AWS IoT Core for LoRaWAN에 게이트웨이 추가](lorawan-onboard-gateway-add.md) 단원을 참조하세요.

게이트웨이를 AWS IoT Core for LoRaWAN에 연결한 후 연결 상태를 확인하고 콘솔이나 API를 사용하여 마지막 업링크를 받은 시기에 대한 정보를 얻을 수 있습니다.

## 콘솔을 사용하여 게이트웨이 연결 상태 확인
<a name="lorawan-connection-status-console"></a>

콘솔을 사용하여 연결 상태를 확인하려면 AWS IoT 콘솔의 [https://console.aws.amazon.com/iot/home#/wireless/gateways](https://console.aws.amazon.com/iot/home#/wireless/gateways) 페이지로 이동하여 추가한 게이트웨이를 선택합니다. 게이트웨이 세부 정보 페이지의 **LoRaWAN 세부 정보** 섹션에서 연결 상태와 마지막 업링크 수신 날짜 및 시간이 표시됩니다.

## API를 사용하여 게이트웨이 연결 상태 확인
<a name="lorawan-connection-status-api"></a>

API를 사용해 연결 상태를 확인하려면 `GetWirelessGatewayStatistics` API를 사용합니다. 이 API에는 요청 본문이 없으며 게이트웨이가 연결되었는지 여부와 마지막 업링크가 수신된 시점을 보여주는 응답 본문만 포함합니다.

```
HTTP/1.1 200
Content-type: application/json

{
  “ConnectionStatus”: “Connected”,
  “LastUplinkReceivedAt”: “2021-03-24T23:13:08.476015749Z”,
  “WirelessGatewayId”: “30cbdcf3-86de-4291-bfab-5bfa2b12bad5"
}
```

# AWS IoT Core for LoRaWAN에 디바이스 온보딩
<a name="lorawan-onboard-end-devices"></a>

게이트웨이를 AWS IoT Core for LoRaWAN에 온보딩하고 연결 상태를 확인한 후 무선 디바이스를 온보딩할 수 있습니다. 게이트웨이를 온보딩하는 방법에 대한 자세한 내용은 [AWS IoT Core for LoRaWAN에 게이트웨이 온보딩](lorawan-onboard-gateways.md) 단원을 참조하세요.

LoRaWAN 디바이스는 LoRaWAN 프로토콜을 사용하여 데이터를 클라우드 호스팅 애플리케이션과 교환합니다. AWS IoT Core for LoRaWAN은 LoRa Alliance에 의해 표준화된 1.0.x 또는 1.1 LoRaWAN 사양을 준수하는 디바이스를 지원합니다.

LoRaWAN 디바이스는 일반적으로 하나 이상의 센서 및 액터를 포함합니다. 디바이스는 LoRaWAN 게이트웨이를 통해 업링크 원격 분석 데이터를 AWS IoT Core for LoRaWAN에 전송합니다. 클라우드 호스팅 애플리케이션은 LoRaWAN 게이트웨이를 통해 LoRaWAN 디바이스로 다운링크 명령을 전송하여 센서를 제어할 수 있습니다.

**무선 디바이스를 온보딩하기 전에**  
무선 디바이스를 AWS IoT Core for LoRaWAN에 온보딩하는 경우 사전에 다음 정보를 준비해야 합니다.
+ 

**LoRaWAN 사양 및 무선 디바이스 구성**  
각 디바이스 고유의 구성 파라미터를 미리 입력할 준비가 되어 있으므로 콘솔에 데이터를 보다 원활하게 입력할 수 있습니다. 입력해야 하는 특정 파라미터는 디바이스에서 사용하는 LoRaWAN 사양에 따라 다릅니다. 사양 및 구성 파라미터의 전체 목록은 각 디바이스의 설명서를 참조하세요.
+ 

**디바이스 이름 및 설명(선택 사항)**  
이러한 선택적 필드의 정보는 무선 시스템의 요소를 구성하고 설명하는 방법에 따라 제공됩니다. 리소스 이름 지정 및 설명에 대한 자세한 내용은 [AWS IoT 무선 리소스 설명](iotwireless-describe-resources.md) 단원을 참조하세요.
+ 

**디바이스 및 서비스 프로파일**  
많은 디바이스에서 공유하고 AWS IoT Core for LoRaWAN에 디바이스 및 서비스 프로파일로서 저장될 수 있는 일부 무선 디바이스 구성 파라미터를 준비합니다. 구성 파라미터는 디바이스 설명서 또는 디바이스 자체에서 찾을 수 있습니다. 디바이스를 추가하기 전에 디바이스의 구성 파라미터와 일치하는 디바이스 프로파일을 식별하거나 필요한 경우 만들어야 합니다. 자세한 내용은 [AWS IoT Core for LoRaWAN에 프로파일 추가](lorawan-define-profiles.md) 단원을 참조하십시오.
+ 

**AWS IoT Core for LoRaWAN 대상**  
각 디바이스는 AWS IoT 및 기타 서비스에 보낼 메시지를 처리할 대상에 할당되어야 합니다. 디바이스 메시지를 처리하고 보내는 AWS IoT 규칙은 디바이스의 메시지 형식에 따라 다릅니다. 디바이스에서 메시지를 처리하고 올바른 서비스로 보내려면 디바이스의 메시지와 함께 사용할 대상을 식별하고 디바이스에 할당합니다.

**Topics**
+ [AWS IoT Core for LoRaWAN에 무선 디바이스 추가](lorawan-end-devices-add.md)
+ [AWS IoT Core for LoRaWAN에 프로파일 추가](lorawan-define-profiles.md)
+ [AWS IoT Core for LoRaWAN에 대상 추가](lorawan-create-destinations.md)
+ [LoRaWAN 디바이스 메시지를 처리하는 규칙 만들기](lorawan-destination-rules.md)
+ [LoRaWAN 디바이스를 연결하고 연결 상태를 확인합니다.](lorawan-device-connection-status.md)

# AWS IoT Core for LoRaWAN에 무선 디바이스 추가
<a name="lorawan-end-devices-add"></a>

무선 디바이스를 처음으로 추가하는 경우 콘솔을 사용하는 것이 좋습니다. AWS IoT 콘솔의 [AWS IoT Core for LoRaWAN](https://console.aws.amazon.com/iot/home#/wireless/landing) **소개(Intro)** 페이지로 이동하여 **시작하기(Get started)**를 선택한 다음 **디바이스 추가(Add device)**를 선택합니다. 디바이스를 이미 추가한 경우 **디바이스 보기**를 선택하여 추가한 게이트웨이를 봅니다. 디바이스를 더 추가하려면 **디바이스 추가**를 선택합니다.

또는 AWS IoT 콘솔의 [디바이스](https://console.aws.amazon.com/iot/home#/wireless/devices) 페이지에서 무선 디바이스를 추가할 수도 있습니다.

## 콘솔을 사용하여 AWS IoT Core for LoRaWAN에 무선 디바이스 사양 추가
<a name="lorawan-end-device-spec-console"></a>

활성화 방법과 LoRaWAN 버전을 기반으로 **무선 디바이스 사양**을 선택합니다. 선택한 데이터는 사용자를 위해 AWS가 소유하고 관리하는 키로 암호화됩니다.

**OTAA 및 ABP 활성화 모드**  
LoRaWAN 디바이스에서 업링크 데이터를 전송하기 전에 *활성화* 또는 *조인 프로시저*라는 프로세스를 완료해야 합니다. 디바이스를 활성화하려면 OTAA(무선 업데이트 활성화) 또는 ABP(개인 설정으로 활성화)를 사용할 수 있습니다.

ABP는 조인 프로시저를 필요로하지 않으며 정적 키를 사용합니다. OTAA를 사용하면 LoRaWAN 디바이스가 조인 요청을 전송하고 네트워크 서버에서 요청을 허용할 수 있습니다. 각 활성화에 대해 새 세션 키가 생성되므로 OTAA를 사용하여 디바이스를 활성화하는 것이 좋습니다.

**LoRaWAN 버전**  
OTAA를 사용하면 LoRaWAN 디바이스와 클라우드 호스팅 애플리케이션이 루트 키를 공유합니다. 이러한 루트 키는 버전 v1.0.x 또는 v1.1을 사용하는지 여부에 따라 다릅니다. v1.0.x에는 루트 키(**AppKey**(애플리케이션 키)가 하나만 있는 반면 v1.1에는 두 개의 루트 키(**AppKey**(애플리케이션 키) 및**NwkKey**(네트워크 키))가 있습니다. 세션 키는 각 활성화에 대한 루트 키를 기반으로 파생됩니다. **NwkKey** 및 **AppKey**는 모두 무선 공급 업체에서 제공한 32자리 16진수 값입니다.

**무선 디바이스 EUI**  
**무선 디바이스 사양**을 선택하면 콘솔에 표시되는 무선 디바이스의 EUI(확장 고유 식별자) 파라미터가 표시됩니다. 이 정보는 디바이스 또는 무선 공급 업체에 대한 설명서에서 찾을 수 있습니다.
+ **DevEUI**: 디바이스에 고유하며 디바이스 레이블 또는 해당 설명서에 있는 16자리 16진수 값입니다.
+ **AppEui**: 조인 서버에 고유하며 디바이스 설명서에서 찾을 수 있는 16자리 16진수 값입니다. LoRaWAN v1.1 버전에서 **AppEui**가 **JoinEui**로 호출됩니다.

고유 식별자, 세션 키 및 루트 키에 대한 자세한 내용은[ LoRa Alliance](https://lora-alliance.org/about-lorawan) 설명서를 참조하세요.

## API를 사용하여 AWS IoT Core for LoRaWAN에 무선 디바이스 사양 추가
<a name="lorawan-end-device-spec-api"></a>

API를 사용하여 무선 디바이스를 추가하는 경우 무선 디바이스를 만들기 전에 먼저 디바이스 프로파일과 서비스 프로파일을 만들어야 합니다. 무선 디바이스를 만들 때 디바이스 프로파일과 서비스 프로파일 ID를 사용합니다. API를 사용해 프로파일을 생성하는 방법에 대한 자세한 내용은 [API를 사용하여 디바이스 프로파일 추가](lorawan-define-profiles.md#lorawan-device-profile-api) 단원을 참조하세요.

다음 목록에서는 서비스 프로파일 추가, 업데이트 또는 삭제와 관련된 작업을 수행하는 API 작업에 대해 설명합니다.

**서비스 프로파일에 대한 AWS IoT 무선 API 작업**
+ [CreateWirelessDevice](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_CreateWirelessDevice.html)
+ [GetWirelessDevice](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_GetWirelessDevice.html)
+ [ListWirelessDevices](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_ListWirelessDevices.html)
+ [ UpdateWirelessDevice](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_UpdateWirelessDevice.html)
+ [DeleteWirelessDevice](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_DeleteWirelessDevice.html)

AWS IoT Core for LoRaWAN 리소스 생성 및 관리에 사용할 수 있는 작업 및 데이터 유형의 전체 목록은 [AWS IoT 무선 API 참조](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/welcome.html)를 참조하세요.

**AWS CLI를 사용하여 무선 디바이스를 생성하는 방법**  
AWS CLI를 사용하여 [create-wireless-device](https://docs.aws.amazon.com/cli/latest/reference/iotwireless/create-device-profile.html) 명령으로 무선 디바이스를 만들 수 있습니다. 다음 예제에서는 input.json 파일을 사용하여 파라미터를 입력하여 무선 디바이스를 만듭니다.

**참고**  
여기에 표시된 CLI 명령에 해당하는 AWS API의 메서드를 사용하여 API로 이 절차를 수행할 수도 있습니다.

**input.json 내용**

```
{
    "Description": "My LoRaWAN wireless device"
    "DestinationName": "IoTWirelessDestination"
    "LoRaWAN": {
        "DeviceProfileId": "ab0c23d3-b001-45ef-6a01-2bc3de4f5333",
        "ServiceProfileId": "fe98dc76-cd12-001e-2d34-5550432da100",
        "OtaaV1_1": {
            "AppKey": "3f4ca100e2fc675ea123f4eb12c4a012",
            "JoinEui": "b4c231a359bc2e3d",
            "NwkKey": "01c3f004a2d6efffe32c4eda14bcd2b4"
        },
        "DevEui": "ac12efc654d23fc2"
    },
    "Name": "SampleIoTWirelessThing"
    "Type": LoRaWAN
}
```

이 파일을 `create-wireless-device` 명령에 대한 입력으로 제공할 수 있습니다.

```
aws iotwireless create-wireless-device \
    --cli-input-json file://input.json
```

사용할 수 있는 CLI에 대한 자세한 내용은 [AWS CLI 참조](https://docs.aws.amazon.com/cli/latest/reference/iotwireless/index.html)를 참조하세요.

# AWS IoT Core for LoRaWAN에 프로파일 추가
<a name="lorawan-define-profiles"></a>

디바이스 및 서비스 프로파일을 정의하여 일반적인 디바이스 구성을 설명할 수 있습니다. 이러한 프로파일은 디바이스를 더 쉽게 추가할 수 있도록 디바이스에서 공유되는 구성 파라미터를 설명합니다. AWS IoT Core for LoRaWAN은 디바이스 프로파일 및 서비스 프로파일을 지원합니다.

 이러한 프로파일에 입력할 구성 파라미터 및 값은 디바이스 제조업체에서 제공합니다.

## 디바이스 프로파일 추가
<a name="lorawan-device-profiles"></a>

디바이스 프로파일은 네트워크 서버가 LoRaWAN 무선 액세스 서비스를 설정하는 데 사용하는 디바이스 기능과 부팅 파라미터를 정의합니다. 여기에는 LoRa 주파수 대역, LoRa 리전 파라미터 버전 및 디바이스의 MAC 버전과 같은 파라미터 선택이 포함됩니다. 다른 주파수 대역에 대한 자세한 내용은 [게이트웨이 및 디바이스 연결을 위한 LoRa 주파수 대역 선택 고려](lorawan-rfregion-permissions.md#lorawan-frequency-bands) 단원을 참조하세요.

### 콘솔을 사용하여 디바이스 프로파일 추가
<a name="lorawan-device-profile-console"></a>

[콘솔을 사용하여 AWS IoT Core for LoRaWAN에 무선 디바이스 사양 추가](lorawan-end-devices-add.md#lorawan-end-device-spec-console)에 설명된 대로 콘솔을 사용하여 무선 디바이스를 추가하는 경우, 무선 디바이스 사양을 추가한 후 디바이스 프로파일을 추가할 수 있습니다. 또는 AWS IoT 콘솔의 [프로파일](https://console.aws.amazon.com/iot/home#/wireless/profiles) 페이지에서 **LoRaWAN** 탭을 통해 무선 디바이스를 추가할 수도 있습니다.

기본 디바이스 프로파일 중에서 선택하거나 새 디바이스 프로파일을 만들 수 있습니다. 기본 디바이스 프로파일을 사용하는 것이 좋습니다. 애플리케이션에서 디바이스 프로파일을 만들어야 하는 경우 **디바이스 프로파일 이름**을 제공하고 디바이스 및 게이트웨이에 사용 중인 **주파수 대역(RFRegion)**를 선택하고 디바이스 설명서에 달리 지정되지 않는 한 다른 설정을 기본값으로 유지합니다.

### API를 사용하여 디바이스 프로파일 추가
<a name="lorawan-device-profile-api"></a>

API를 사용하여 무선 디바이스를 추가하는 경우 무선 디바이스를 만들기 전에 먼저 디바이스 프로파일을 만들어야 합니다.

다음 목록에서는 서비스 프로파일 추가, 업데이트 또는 삭제와 관련된 작업을 수행하는 API 작업에 대해 설명합니다.

**서비스 프로파일에 대한 AWS IoT 무선 API 작업**
+ [CreateDeviceProfile](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_CreateDeviceProfile.html)
+ [GetDeviceProfile](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_GetDeviceProfile.html)
+ [ListDeviceProfiles](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_ListDeviceProfiles.html)
+ [ UpdateDeviceProfile](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_UpdateDeviceProfile.html)
+ [DeleteDeviceProfile](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_DeleteDeviceProfile.html)

AWS IoT Core for LoRaWAN 리소스 생성 및 관리에 사용할 수 있는 작업 및 데이터 유형의 전체 목록은 [AWS IoT 무선 API 참조](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/welcome.html)를 참조하세요.

**AWS CLI를 사용하여 디바이스 프로파일을 생성하는 방법**  
AWS CLI를 사용하여 [create-device-profile](https://docs.aws.amazon.com/cli/latest/reference/iotwireless/create-device-profile.html) 명령으로 무선 프로파일을 만들 수 있습니다. 다음 예제에서는 디바이스 프로파일을 만듭니다.

```
aws iotwireless create-device-profile
```

이 명령을 실행하면 무선 디바이스를 만들 때 사용할 수 있는 ID로 디바이스 프로파일을 자동으로 생성합니다. 이제 다음 API를 사용하여 서비스 프로파일을 만든 다음 디바이스 및 서비스 프로파일을 사용하여 무선 디바이스를 만들 수 있습니다.

```
{
    "Arn": "arn:aws:iotwireless:us-east-1:123456789012:DeviceProfile/12345678-a1b2-3c45-67d8-e90fa1b2c34d",
    "Id": "12345678-a1b2-3c45-67d8-e90fa1b2c34d"
}
```

사용할 수 있는 CLI에 대한 자세한 내용은 [AWS CLI 참조](https://docs.aws.amazon.com/cli/latest/reference/iotwireless/index.html)를 참조하세요.

## 서비스 프로파일 추가
<a name="lorawan-service-profiles"></a>

서비스 프로파일은 디바이스가 애플리케이션 서버와 통신하는 데 필요한 통신 파라미터를 설명합니다.

### 콘솔을 사용하여 서비스 프로파일 추가
<a name="lorawan-service-profile-console"></a>

콘솔을 사용하여 [콘솔을 사용하여 AWS IoT Core for LoRaWAN에 무선 디바이스 사양 추가](lorawan-end-devices-add.md#lorawan-end-device-spec-console)에서 설명된 대로 무선 디바이스를 추가하는 경우 디바이스 프로파일을 추가한 후 서비스 프로파일을 추가할 수 있습니다. 또는 AWS IoT 콘솔의 [프로파일](https://console.aws.amazon.com/iot/home#/wireless/profiles) 페이지에서 **LoRaWAN** 탭을 통해 무선 디바이스를 추가할 수도 있습니다.

각 페이로드에 대한 추가 게이트웨이 메타데이터(예: 데이터 전송을 위한 RSSI 및 SNR)를 수신하도록 **AddGWMetaData** 설정을 활성화된 상태로 유지하는 것이 좋습니다.

### API를 사용하여 서비스 프로파일 추가
<a name="lorawan-service-profile-api"></a>

API를 사용하여 무선 디바이스를 추가하는 경우 무선 디바이스를 만들기 전에 먼저 서비스 프로파일을 만들어야 합니다.

다음 목록에서는 서비스 프로파일 추가, 업데이트 또는 삭제와 관련된 작업을 수행하는 API 작업에 대해 설명합니다.

**서비스 프로파일에 대한 AWS IoT 무선 API 작업**
+ [CreateServiceProfile](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_CreateServiceProfile.html)
+ [GetServiceProfile](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_GetServiceProfile.html)
+ [ListServiceProfiles](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_ListServiceProfiles.html)
+ [ UpdateServiceProfile](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_UpdateServiceProfile.html)
+ [DeleteServiceProfile](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_DeleteServiceProfile.html)

AWS IoT Core for LoRaWAN 리소스 생성 및 관리에 사용할 수 있는 작업 및 데이터 유형의 전체 목록은 [AWS IoT 무선 API 참조](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/welcome.html)를 참조하세요.

**AWS CLI를 사용하여 서비스 프로파일을 만드는 방법**  
AWS CLI를 사용하여 [create-service-profile](https://docs.aws.amazon.com/cli/latest/reference/iotwireless/create-service-profile.html) 명령으로 서비스를 생성할 수 있습니다. 다음 예제에서는 서비스 프로파일을 만듭니다.

```
aws iotwireless create-service-profile
```

이 명령을 실행하면 무선 디바이스를 만들 때 사용할 수 있는 ID로 서비스 프로파일이 자동으로 만들어집니다. 이제 디바이스 및 서비스 프로파일을 사용하여 무선 디바이스를 만들 수 있습니다.

```
{
    "Arn": "arn:aws:iotwireless:us-east-1:123456789012:ServiceProfile/12345678-a1b2-3c45-67d8-e90fa1b2c34d",
    "Id": "12345678-a1b2-3c45-67d8-e90fa1b2c34d"
}
```

# AWS IoT Core for LoRaWAN에 대상 추가
<a name="lorawan-create-destinations"></a>

AWS IoT Core for LoRaWAN 대상은 AWS 서비스에서 사용할 디바이스의 데이터를 처리하는 AWS IoT 규칙을 설명합니다.

대부분의 LoRaWAN 디바이스는 데이터를 AWS 서비스에서 사용되는 형식으로 AWS IoT Core for LoRaWAN에 전송하지 않기 때문에 AWS IoT 규칙이 이를 먼저 처리해야 합니다. AWS IoT 규칙은 디바이스의 데이터를 해석하는 SQL 문과, SQL 문의 결과를 사용할 서비스로 보내는 주제 규칙 작업을 포함합니다.

대상을 처음으로 추가하는 경우 콘솔을 사용하는 것이 좋습니다.

## 콘솔을 사용하여 대상 추가
<a name="lorawan-create-destination-console"></a>

[콘솔을 사용하여 AWS IoT Core for LoRaWAN에 무선 디바이스 사양 추가](lorawan-end-devices-add.md#lorawan-end-device-spec-console)에 설명된 대로 콘솔을 사용하여 무선 디바이스를 추가하는 경우, 앞서 설명한 대로 무선 디바이스 사양 및 프로파일을 AWS IoT Core for LoRaWAN에 이미 추가했다면 다음 단계로 진행하여 대상을 추가할 수 있습니다.

또는 AWS IoT 콘솔의 [대상(Destinations)](https://console.aws.amazon.com/iot/home#/wireless/destinations) 페이지에서 AWS IoT Core for LoRaWAN 대상을 추가할 수도 있습니다.

디바이스의 데이터를 처리하려면, AWS IoT Core for LoRaWAN 대상을 생성할 때 다음 필드를 지정한 다음 **대상 추가**를 선택합니다.
+ 

**대상 세부 사항**  
**대상 이름**을 입력하고 대상의 설명(선택 사항)을 입력합니다.
+ 

**규칙 이름**  
디바이스에서 보낸 메시지를 평가하고 디바이스의 데이터를 처리하도록 구성된 AWS IoT 규칙입니다. 규칙 이름이 대상에 매핑됩니다. 대상은 수신하는 메시지를 처리하기 위한 규칙이 필요합니다. AWS IoT 규칙을 호출하거나 AWS IoT 메시지 브로커에 게시하여 메시지를 처리하도록 선택할 수 있습니다.
  + **규칙 이름 입력(Enter a rule name)**을 선택하는 경우 이름을 입력한 다음 **복사(Copy)**를 선택하여 규칙 이름(AWS IoT 규칙을 생성할 때 입력)을 복사합니다. **규칙 생성**을 선택하여 지금 규칙을 생성하거나, AWS IoT 콘솔의 [규칙](https://console.aws.amazon.com/iot/home#/create/rule) 허브로 이동하여 해당 이름으로 규칙을 생성할 수 있습니다.

    규칙을 입력하고 **고급(Advanced)** 설정을 사용하여 주제 이름을 지정할 수도 있습니다. 주제 이름은 규칙 호출 중에 제공되며 규칙 내에서 `topic` 표현식을 사용하여 액세스됩니다. AWS IoT 규칙에 대한 자세한 내용은 [https://docs.aws.amazon.com/iot/latest/developerguide/iot-rules.html](https://docs.aws.amazon.com/iot/latest/developerguide/iot-rules.html) 섹션을 참조하세요.
  + **AWS IoT 메시지 브로커에 게시**를 선택하는 경우 주제 이름을 입력합니다. 그런 다음 MQTT 주제 이름을 복사하면 여러 구독자가 이 주제를 구독하여 해당 주제에 게시된 메시지를 받을 수 있습니다. 자세한 내용은 [https://docs.aws.amazon.com/iot/latest/developerguide/topics.html](https://docs.aws.amazon.com/iot/latest/developerguide/topics.html) 단원을 참조하십시오.

  대상의 AWS IoT 규칙에 대한 자세한 내용은 [LoRaWAN 디바이스 메시지를 처리하는 규칙 만들기](lorawan-destination-rules.md) 단원을 참조하세요.
+ 

**역할 이름**  
**규칙 이름(Rule name)**에서 명명된 규칙에 액세스할 수 있는 디바이스의 데이터 권한을 부여하는 IAM 역할입니다. 콘솔에서 새 서비스 역할을 생성하거나 기존 서비스 역할을 선택합니다. 새 서비스 역할을 생성하는 경우 역할 이름(예: **IoTWirelessDestinationRole**)을 입력하거나 AWS IoT Core for LoRaWAN이 새 역할 이름을 생성할 수 있도록 비워 둘 수 있습니다. 그러면 AWS IoT Core for LoRaWAN이 사용자를 대신하여 적절한 권한이 있는 IAM 역할을 자동으로 생성합니다.

  IAM 역할에 대한 자세한 내용은 [IAM 역할 사용](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html)을 참조하세요.

## API를 사용하여 대상 추가
<a name="lorawan-create-destination-api"></a>

대신 CLI를 사용하여 대상을 추가하려면 이미 대상에 대한 규칙 및 IAM 역할을 생성했어야 합니다. 역할에서 대상에 필요한 세부 정보에 대한 자세한 내용은 [대상에 대한 IAM 역할 생성](#lorawan-create-destinations-roles) 섹션을 참조하세요.

다음 목록에는 대상 추가, 업데이트 또는 삭제와 관련된 작업을 수행하는 API 작업이 포함되어 있습니다.

**대상에 대한 AWS IoT 무선 API 작업**
+ [CreateDestination](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_CreateDestination.html)
+ [GetDestination](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_GetDestination.html)
+ [ListDestinations](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_ListDestinations.html)
+ [ UpdateDestination](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_UpdateDestination.html)
+ [DeleteDestination](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_DeleteDestination.html)

AWS IoT Core for LoRaWAN 리소스 생성 및 관리에 사용할 수 있는 작업 및 데이터 유형의 전체 목록은 [AWS IoT 무선 API 참조](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/welcome.html)를 참조하세요.

**AWS CLI를 사용하여 대상을 추가하는 방법**  
AWS CLI를 사용하여 [create-destination](https://docs.aws.amazon.com/cli/latest/reference/iotwireless/create-destination.html) 명령으로 대상을 추가할 수 있습니다. 다음 예에서는 `RuleName`을 `expression-type` 파라미터 값으로 사용하여 규칙 이름을 입력하여 대상을 생성하는 방법을 보여줍니다. 메시지 브로커에 게시하거나 구독하기 위한 주제 이름을 지정하려면 `expression-type` 파라미터의 값을 `MqttTopic`으로 변경합니다.

```
aws iotwireless create-destination \
    --name IoTWirelessDestination \
    --expression-type RuleName \
    --expression IoTWirelessRule \
    --role-arn arn:aws:iam::123456789012:role/IoTWirelessDestinationRole
```

이 명령을 실행하면 지정된 대상 이름, 규칙 이름 및 역할 이름을 가진 대상이 만들어집니다. 대상의 규칙 및 역할 이름에 대한 자세한 내용은 [LoRaWAN 디바이스 메시지를 처리하는 규칙 만들기](lorawan-destination-rules.md) 및 [대상에 대한 IAM 역할 생성](#lorawan-create-destinations-roles) 단원을 참조하세요.

사용할 수 있는 CLI에 대한 자세한 내용은 [AWS CLI참조](https://docs.aws.amazon.com/cli/latest/reference/iotwireless/index.html)를 참조하세요.

## 대상에 대한 IAM 역할 생성
<a name="lorawan-create-destinations-roles"></a>

AWS IoT Core for LoRaWAN 대상은 AWS IoT 규칙으로 데이터를 전송하는 데 필요한 권한을 AWS IoT Core for LoRaWAN에 부여하는 IAM 역할이 필요합니다. 이러한 역할이 아직 정의되지 않은 경우 역할 목록에 표시되도록 정의해야 합니다.

콘솔을 사용하여 대상을 추가하면 이 주제의 앞부분에서 설명한 대로 AWS IoT Core for LoRaWAN에서 자동으로 IAM 역할을 생성합니다. API 또는 CLI를 사용하여 대상을 추가하는 경우 대상에 대한 IAM 역할을 생성해야 합니다.

**AWS IoT Core for LoRaWAN 대상 역할에 대한 IAM 정책을 생성하는 방법**

1. [IAM 콘솔의 정책 허브](https://console.aws.amazon.com/iam/home#/policies)를 엽니다.

1. **정책 생성**을 선택한 후 **JSON** 탭을 선택합니다.

1. 편집기에서 편집기의 모든 내용을 삭제하고 이 정책 문서를 붙여 넣습니다.

   ```
   {
       "Version": "2012-10-17",
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "iot:DescribeEndpoint",
                   "iot:Publish"
               ],
               "Resource": "*"
           }
       ]
   }
   ```

1. **정책 검토**를 선택하고 **이름**에 이 정책의 이름을 입력합니다. 다음 절차에서 이 이름을 사용해야 합니다.

   또한 이 정책을 **설명**에 기술할 수도 있습니다(원하는 경우).

1. **정책 생성**을 선택합니다.

**AWS IoT Core for LoRaWAN 대상에 대한 IAM 역할을 생성하는 방법**

1. [IAM 콘솔의 역할 허브](https://console.aws.amazon.com/iam/home#/roles)를 열고 **역할 생성**을 선택합니다.

1. **신뢰할 수 있는 엔터티 유형 선택(Select type of trusted entity)**에서 **다른 AWS 계정**을 선택합니다.

1. **계정 ID**에 AWS 계정 ID를 입력한 후 **다음: 권한**을 선택합니다.

1. 검색 상자에 이전 절차에서 생성한 IAM 정책의 이름을 입력합니다.

1. 검색 결과에서 이전 절차에서 생성한 IAM 정책의 이름을 선택합니다.

1. **Next: Tags(다음: 태그)**를 선택한 후 **Next: Review(다음: 검토)**를 선택합니다.

1. **역할 이름**에 이 역할의 이름을 입력한 후 **역할 생성**을 선택합니다.

1. 확인 메시지에서 생성한 역할의 이름을 선택하여 새 역할을 편집합니다.

1. **요약(Summary)**에서 **신뢰 관계(Trust relationships)** 탭을 선택한 다음 **신뢰 관계 편집(Edit trust relationship)**을 선택합니다.

1. **정책 문서**에서 `Principal` 속성을 다음 예시처럼 변경합니다.

   ```
   "Principal": { 
       "Service": "iotwireless.amazonaws.com" 
   },
   ```

   `Principal` 속성을 변경한 후 전체 정책 문서가 다음 예시와 같은 형식이어야 합니다.

   ```
   {
     "Version": "2012-10-17",
     "Statement": [
       {
         "Effect": "Allow",
         "Principal": {
           "Service": "iotwireless.amazonaws.com"
         },
         "Action": "sts:AssumeRole",
         "Condition": {}
       }
     ]
   }
   ```

1. 변경 사항을 저장하고 종료하려면 **신뢰 정책 업데이트(Update Trust Policy)**를 선택합니다.

이 역할이 정의되어 있으면 AWS IoT Core for LoRaWAN 대상을 구성할 때 역할 목록에서 해당 역할을 찾을 수 있습니다.

# LoRaWAN 디바이스 메시지를 처리하는 규칙 만들기
<a name="lorawan-destination-rules"></a>

AWS IoT 규칙은 디바이스 메시지를 다른 서비스로 보냅니다. AWS IoT 규칙은 또한 LoRaWAN 디바이스에서 받은 이진 메시지를 처리하여 다른 서비스에서 보다 쉽게 사용할 수 있도록 다른 형식으로 메시지를 변환할 수 있습니다.

[AWS IoT Core for LoRaWAN 대상](lorawan-create-destinations.md)은 무선 디바이스를 디바이스의 메시지 데이터를 처리하여 다른 서비스로 보내는 규칙과 연결합니다. 이 규칙은 AWS IoT Core for LoRaWAN이 수신하는 즉시 디바이스의 데이터에 적용됩니다. [AWS IoT Core for LoRaWAN 대상](lorawan-create-destinations.md)은 메시지가 동일한 데이터 형식을 가지며 데이터를 동일한 서비스로 보내는 모든 디바이스에서 공유할 수 있습니다.

## AWS IoT 규칙이 디바이스 메시지를 처리하는 방식
<a name="how-rules-process-message"></a>

AWS IoT 규칙은 데이터를 수신할 서비스, 디바이스의 메시지 데이터 형식 및 서비스에 필요한 데이터 형식에 따라 다릅니다. 일반적으로 이 규칙은 AWS Lambda 함수를 호출하여 디바이스의 메시지 데이터를 서비스에 필요한 형식으로 변환한 다음 결과를 서비스로 보냅니다.

다음 그림에서는 메시지 데이터가 무선 디바이스에서 AWS 서비스로 이동할 때 보호 및 처리되는 방식을 보여줍니다.

![\[AWS IoT Core for LoRaWAN 데이터가 무선 디바이스에서 AWS IoT 및 기타 서비스로 어떻게 전달되는지 보여주는 이미지입니다.\]](http://docs.aws.amazon.com/ko_kr/iot-wireless/latest/developerguide/images/iot-lorawan-data-flow.png)


1. LoRaWAN 무선 디바이스는 전송하기 전에 AES128 CTR 모드를 사용하여 이진 메시지를 암호화합니다.

1. AWS IoT Core for LoRaWAN은 이진 메시지를 복호화하고 복호화된 이진 메시지 페이로드를 base64 문자열로 인코딩합니다.

1. 이에 따라 base64로 인코딩된 메시지는 디바이스에 할당된 대상에 설명되어 있는 AWS IoT 규칙에 JSON 문서로 형식이 지정되지 않은 메시지 페이로드로 전송됩니다.

1. AWS IoT 규칙은 규칙 구성에 설명된 서비스에 메시지 데이터를 보냅니다.

무선 디바이스에서 받은 암호화된 이진 페이로드는 AWS IoT Core for LoRaWAN에 의해 변경 또는 해석되지 않습니다. 보호화된 이진 메시지 페이로드는 base64 문자열로만 인코딩됩니다. 서비스가 이진 메시지 페이로드의 데이터 요소에 액세스하려면 규칙에 의해 호출된 함수에서 페이로드로부터 데이터 요소를 구문 분석해야 합니다. base64로 인코딩된 메시지 페이로드는 ASCII 문자열이므로 나중에 구문 분석할 수 있습니다.

## LoRaWAN 디바이스 규칙 생성
<a name="create-lorawan-rules"></a>

AWS IoT Core for LoRaWAN은 메시지 브로커를 사용할 필요없이 AWS IoT 규칙을 사용하여 디바이스 메시지를 다른 AWS 서비스에 직접 안전하게 전송합니다. 수집 경로에서 메시지 브로커를 제거하면 비용이 절감되고 데이터 흐름이 최적화됩니다.

AWS IoT Core for LoRaWAN 규칙을 통해 디바이스 메시지를 다른 AWS 서비스에 전송하려면 AWS IoT Core for LoRaWAN 대상과, 해당 대상에 할당된 AWS IoT 규칙이 필요합니다. AWS IoT 규칙은 SQL 쿼리 문과 하나 이상의 규칙 작업을 포함해야 합니다.

일반적으로 AWS IoT 규칙 쿼리 문은 다음으로 구성됩니다.
+ 메시지 페이로드에서 데이터를 선택하고 형식을 지정하는 SQL SELECT 절
+ 사용할 메시지를 식별하는 항목 필터(규칙 쿼리 문의 FROM 객체)
+ 작동할 조건을 지정하는 선택적 조건문(SQL WHERE 절)

다음은 규칙 쿼리 문의 예입니다.

```
SELECT temperature FROM iot/topic' WHERE temperature > 50
```

LoRaWAN 디바이스의 페이로드를 처리하는 AWS IoT 규칙을 빌드할 때 규칙 쿼리 객체의 일부로 FROM 절을 지정할 필요가 없습니다. 규칙 쿼리 문에는 SQL SELECT 절이 있어야 하며 선택적으로 WHERE 절을 가질 수 있습니다. 쿼리 문에서 FROM 절을 사용하는 경우 해당 절은 무시됩니다.

다음은 LoraWAN 디바이스에서 페이로드를 처리할 수 있는 규칙 쿼리 문의 예입니다.

```
SELECT WirelessDeviceId, WirelessMetadata.LoRaWAN.FPort as FPort,
       WirelessMetadata.LoRaWAN.DevEui as DevEui, 
       PayloadData
```

이 예제에서 `PayloadData`는 LoRaWAN 디바이스에서 전송한 base64로 인코딩된 이진 페이로드입니다.

다음은 들어오는 페이로드의 이진 디코딩을 수행하여 JSON 등의 다른 형식으로 변환할 수 있는 규칙 쿼리 문 예제입니다.

```
SELECT WirelessDeviceId, WirelessMetadata.LoRaWAN.FPort as FPort,
       WirelessMetadata.LoRaWAN.DevEui as DevEui, 
       aws_lambda("arn:aws:lambda:<region>:<account>:function:<name>",                                       
                  {                                      
                   "PayloadData":PayloadData,                                       
                   "Fport": WirelessMetadata.LoRaWAN.FPort   
                  }) as decodingoutput
```

SELECT 및 WHERE 절을 사용하는 방법에 대한 자세한 내용은 [https://docs.aws.amazon.com/iot/latest/developerguide/iot-sql-reference.html](https://docs.aws.amazon.com/iot/latest/developerguide/iot-sql-reference.html) 단원을 참조하세요.

AWS IoT 규칙과, 이 규칙을 생성 및 사용하는 방법에 대한 자세한 내용은 [https://docs.aws.amazon.com/iot/latest/developerguide/iot-rules.html](https://docs.aws.amazon.com/iot/latest/developerguide/iot-rules.html) 및 [https://docs.aws.amazon.com/iot/latest/developerguide/iot-rules-tutorial.html](https://docs.aws.amazon.com/iot/latest/developerguide/iot-rules-tutorial.html) 단원을 참조하세요.

AWS IoT Core for LoRaWAN 대상의 생성 및 사용에 대한 자세한 내용은 [AWS IoT Core for LoRaWAN에 대상 추가](lorawan-create-destinations.md) 단원을 참조하세요.

규칙에서 이진 메시지 페이로드를 사용하는 방법에 대한 자세한 내용은 [https://docs.aws.amazon.com/iot/latest/developerguide/binary-payloads.html](https://docs.aws.amazon.com/iot/latest/developerguide/binary-payloads.html) 단원을 참조하세요.

메시지 페이로드를 보호하는 데 사용되는 데이터 보안 및 암호화에 대한 자세한 내용은 [AWS IoT Wireless의 데이터 보호](data-protection.md) 단원을 참조하세요.

IoT 규칙에 대한 이진 디코딩 및 구현 예제를 보여 주는 참조 아키텍처는 [GitHub의 AWS IoT Core for LoRaWAN 솔루션 샘플](https://github.com/aws-samples/aws-iot-core-lorawan/tree/main/transform_binary_payload)을 참조하세요.

# LoRaWAN 디바이스를 연결하고 연결 상태를 확인합니다.
<a name="lorawan-device-connection-status"></a>

디바이스 연결 상태를 확인하려면 디바이스를 이미 추가하고 AWS IoT Core for LoRaWAN에 연결되어 있어야 합니다. 디바이스 추가 방법에 대한 자세한 내용은 [AWS IoT Core for LoRaWAN에 무선 디바이스 추가](lorawan-end-devices-add.md) 단원을 참조하세요.

디바이스를 추가한 후 LoRaWAN 디바이스에서 업링크 메시지 전송을 시작하는 방법을 알아보려면 디바이스의 사용 설명서를 참조하세요.

## 콘솔을 사용하여 디바이스 연결 상태 확인
<a name="lorawan-device-connection-status-console"></a>

콘솔을 사용하여 연결 상태를 확인하려면 AWS IoT 콘솔의 [https://console.aws.amazon.com/iot/home#/wireless/devices](https://console.aws.amazon.com/iot/home#/wireless/devices) 페이지로 이동하여 추가한 디바이스를 선택합니다. 무선 디바이스 세부 정보 페이지의 **세부 정보** 섹션에서 마지막 업링크가 수신된 날짜와 시간이 표시됩니다.

## API를 사용하여 디바이스 연결 상태 확인
<a name="lorawan-device-connection-status-api"></a>

API를 사용해 연결 상태를 확인하려면 `GetWirelessDeviceStatistics` API를 사용합니다. 이 API는 요청 본문이 없으며 마지막 업링크가 수신된 시점을 표시하는 응답 본문만 포함합니다.

```
HTTP/1.1 200
Content-type: application/json

{  
  “LastUplinkReceivedAt”: “2021-03-24T23:13:08.476015749Z”,
  "LoRaWAN": {
        "DataRate": 5,
        "DevEui": "647fda0000006420",
        "Frequency": 868100000
        "Gateways": [ 
         { 
            "GatewayEui": "c0ee40ffff29df10",
            "Rssi": -67,
            "Snr": 9.75
         }
      ],
  “WirelessDeviceId”: “30cbdcf3-86de-4291-bfab-5bfa2b12bad5"
}
```

## 다음 단계
<a name="lorawan-device-connection-next-steps"></a>

이제 디바이스를 연결하고 연결 상태를 확인했으므로 AWS IoT 콘솔의 **테스트** 페이지에 있는 [MQTT 테스트 클라이언트](https://console.aws.amazon.com/iot/home#/test)를 사용하여 디바이스에서 수신한 업링크 메타데이터의 형식을 확인할 수 있습니다. 자세한 내용은 [LoRaWAN 디바이스에서 전송된 업링크 메시지 형식 보기](lorawan-uplink-metadata-format.md) 단원을 참조하십시오.