

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# Windows Device Simulator 시작하기
<a name="getting_started_windows"></a>

이 자습서에서는 FreeRTOS Windows Device Simulator를 시작하기 위한 지침을 제공합니다.

시작하려면 먼저 디바이스를 AWS 클라우드에 연결하도록 AWS IoT 및 FreeRTOS 다운로드를 구성해야 합니다. 자세한 내용은 [첫 번째 단계](freertos-prereqs.md) 섹션을 참조하세요. 이 자습서에서는 FreeRTOS 다운로드 디렉터리의 경로를 `freertos`라고 합니다.

FreeRTOS는 지정한 플랫폼용 FreeRTOS 라이브러리 및 샘플 애플리케이션이 포함된 zip 파일로 릴리스됩니다. Windows 머신에서 샘플을 실행하려면 Windows에서 실행하도록 이식된 라이브러리와 샘플을 다운로드합니다. 이 파일 세트를 Windows용 FreeRTOS 시뮬레이터라고 합니다.

**참고**  
Amazon EC2 Windows 인스턴스에서는 이 자습서를 성공적으로 실행할 수 없습니다.

## 개발 환경 설정
<a name="win-setup-env"></a>

1. 최신 버전의 [Npcap](https://npcap.com/)을 설치합니다. 설치 중에 ‘WinPcap API 호환 모드’를 선택합니다.

1. [Microsoft Visual Studio](https://www.visualstudio.com/downloads)를 설치합니다.

   Visual Studio 2017 및 2019 버전이 지원됩니다. 모든 Visual Studio 버전이 지원됩니다(Community, Professional 또는 Enterprise).

   IDE 외에도 **Desktop development with C\$1\$1** 구성 요소를 설치합니다.

   최신 Windows 10 SDK를 설치합니다. **C\$1\$1 구성 요소를 사용한 데스크톱 개발**의 **선택 사항** 섹션에서 이 옵션을 선택할 수 있습니다.

1. 활성 유선 이더넷 연결이 있는지 확인합니다.

1. (선택 사항) FreeRTOS 프로젝트를 빌드하기 위해 CMake 기반 빌드 시스템을 사용하려면 최신 버전의 [CMake](https://cmake.org/download/)를 설치하세요. FreeRTOS를 사용하려면 CMake 버전 3.13 이상이 필요합니다.

## 클라우드에서 MQTT 메시지 모니터링
<a name="getting_started_windows_monitor_mqtt"></a>

FreeRTOS 데모 프로젝트를 실행하기 전에 AWS IoT 콘솔에서 디바이스가 AWS 클라우드로 보내는 메시지를 모니터링하도록 MQTT 클라이언트를 설정할 수 있습니다.

**AWS IoT MQTT 클라이언트를 사용하여 MQTT 주제를 구독하려면**

1. [AWS IoT 콘솔](https://console.aws.amazon.com/iotv2/)에 로그인합니다.

1. 탐색 창에서 **테스트**를 선택한 다음 **MQTT 테스트 클라이언트**를 선택하여 MQTT 클라이언트를 엽니다.

1. **구독 주제**에 ***your-thing-name*/example/topic**을 입력한 다음 **주제 구독**을 선택합니다.

데모 프로젝트가 디바이스에서 성공적으로 실행되면 ‘Hello World\$1’가 구독한 주제로 여러 번 전송된 것을 볼 수 있습니다.

## FreeRTOS 데모 프로젝트 빌드 및 실행
<a name="win-build-and-run-example"></a>

Visual Studio 또는 CMake를 사용하여 FreeRTOS 프로젝트를 빌드할 수 있습니다.

### Visual Studio IDE를 사용하여 FreeRTOS 데모 프로젝트 빌드 및 실행
<a name="win-build-and-run-vs"></a>

1. Visual Studio에서 프로젝트를 로드합니다.

   Visual Studio의 **파일** 메뉴에서 **열기**를 선택합니다. **File/Solution(파일/솔루션)**을 선택하고 `projects/pc/windows/visual_studio/aws_demos/aws_demos.sln` 파일로 이동한 다음 **열기**를 선택합니다.

1. 데모 프로젝트의 목표를 재설정합니다.

   제공된 데모 프로젝트는 Windows SDK에 따라 달라지지만 Windows SDK 버전이 지정되어 있지 않습니다. 기본적으로 IDE에서 컴퓨터에 없는 SDK 버전으로 데모를 빌드하려고 시도할 수 있습니다. Windows SDK 버전을 설정하려면 `aws_demos`를 마우스 오른쪽 버튼으로 클릭하고 **Retarget Projects(프로젝트 대상 재지정)**를 선택합니다. **Review Solution Actions(솔루션 작업 검토)** 창이 열립니다. 컴퓨터에 있는 Windows SDK 버전(드롭다운의 초기 값)을 선택하고 **확인**을 선택합니다.

1. 프로젝트를 빌드 및 실행합니다.

   **구축** 메뉴에서 **솔루션 구축**을 선택하고 솔루션이 오류나 경고 없이 빌드되는지 확인합니다. **디버깅**, **Start Debugging(디버깅 시작)**을 선택하여 프로젝트를 실행합니다. 처음 실행하는 경우 [네트워크 인터페이스를 선택](#win-network-interface)해야 합니다.

### CMake로 FreeRTOS 데모 프로젝트 빌드 및 실행
<a name="win-build-and-run-cmake"></a>

CMake 명령줄 도구 대신 CMake GUI를 사용하여 Windows 시뮬레이터용 데모 프로젝트를 빌드하는 것이 좋습니다.

CMake를 설치한 후 CMake GUI를 엽니다. Windows에서는 시작 메뉴의 **CMake**, **CMake (cmake-gui)** 아래에서 찾을 수 있습니다.

1. FreeRTOS 소스 코드 디렉터리를 설정합니다.

   GUI의 **소스 코드 위치**에서 FreeRTOS 소스 코드 디렉터리(`freertos`)를 설정합니다.

   **바이너리를 빌드할 위치**에 `freertos/build`를 설정합니다.

1. CMake 프로젝트를 구성합니다.

   CMake GUI에서 **항목 추가**를 선택하고 **Add Cache Entry(캐시 항목 추가)** 창에서 다음 값을 설정합니다.  
**명칭**  
AFR\$1BOARD  
**유형**  
STRING  
**값**  
pc.windows  
**설명**  
(선택 사항)

1. **구성**을 선택합니다. CMake에서 빌드 디렉터리를 만들 것인지 묻는 메시지가 나타나면 **예**를 선택한 다음 **Specify the generator for this project(이 프로젝트의 생성기 지정)**에서 생성기를 선택합니다. Visual Studio를 생성기로 사용하는 것이 좋지만 Ninja도 지원됩니다. (Visual Studio 2019 사용 시에는 플랫폼을 기본 설정 대신 Win32로 설정해야 하는 것에 유의하십시오.) 다른 생성기 옵션은 그대로 두고 **마침**을 선택합니다.

1. CMake 프로젝트를 생성하여 엽니다.

   프로젝트를 구성한 후, CMake GUI는 생성된 프로젝트에 사용할 수 있는 모든 옵션을 표시합니다. 이 자습서에서는 옵션을 기본값으로 두어도 됩니다.

   **생성**을 선택하여 Visual Studio 솔루션을 만든 다음 **프로젝트 열기**를 선택하여 Visual Studio에서 프로젝트를 엽니다.

   Visual Studio에서 `aws_demos` 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 **Set as StartUp Project(시작 프로젝트로 설정)**를 선택합니다. 이를 통해 프로젝트를 빌드하고 실행할 수 있습니다. 처음 실행하는 경우 [네트워크 인터페이스를 선택](#win-network-interface)해야 합니다.

FreeRTOS에서 CMake를 사용하는 방법에 대한 자세한 내용은 [FreeRTOS에서 CMake 사용](getting-started-cmake.md) 섹션을 참조하세요.

### 네트워크 인터페이스 구성
<a name="win-network-interface"></a>

데모 프로젝트의 첫 번째 실행 시 사용할 네트워크 인터페이스를 선택해야 합니다. 프로그램이 네트워크 인터페이스 수를 계산합니다. 유선 이더넷 인터페이스의 번호를 찾습니다. 출력은 다음과 같아야 합니다.

```
0 0 [None] FreeRTOS_IPInit
1 0 [None] vTaskStartScheduler
1. rpcap://\Device\NPF_{AD01B877-A0C1-4F33-8256-EE1F4480B70D}
(Network adapter 'Intel(R) Ethernet Connection (4) I219-LM' on local host)

2. rpcap://\Device\NPF_{337F7AF9-2520-4667-8EFF-2B575A98B580}
(Network adapter 'Microsoft' on local host)

The interface that will be opened is set by "configNETWORK_INTERFACE_TO_USE", which
should be defined in FreeRTOSConfig.h

ERROR:  configNETWORK_INTERFACE_TO_USE is set to 0, which is an invalid value.
Please set configNETWORK_INTERFACE_TO_USE to one of the interface numbers listed above,
then re-compile and re-start the application.  Only Ethernet (as opposed to Wi-Fi)
interfaces are supported.
```

유선 이더넷 인터페이스의 번호를 식별한 후 애플리케이션 창을 닫습니다. 위의 예제에서 사용할 번호는 `1`입니다.

`FreeRTOSConfig.h`를 열고 `configNETWORK_INTERFACE_TO_USE`를 유선 네트워크 인터페이스에 해당하는 번호로 설정합니다.

**중요**  
이더넷 인터페이스만 지원됩니다. Wi-Fi는 지원되지 않습니다.

## 문제 해결
<a name="windows-troubleshooting"></a>

### Windows의 일반적인 문제 해결
<a name="windows-troubleshooting-common"></a>

Visual Studio로 데모 프로젝트를 빌드할 때 다음 오류가 발생할 수 있습니다.

```
Error "The Windows SDK version X.Y was not found" when building the provided Visual Studio solution.
```

프로젝트는 컴퓨터에 있는 Windows SDK 버전을 대상으로 해야 합니다.

FreeRTOS 시작하기에 대한 일반 문제 해결 정보는 [시작하기 문제 해결](gsg-troubleshooting.md) 섹션을 참조하세요.