Windows Device Simulator 시작하기 - 무료RTOS

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

Windows Device Simulator 시작하기

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

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

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

참고

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

개발 환경 설정

  1. 최신 버전의 Npcap을 설치합니다. 설치 중에 ‘WinPcap API 호환 모드’를 선택합니다.

  2. Microsoft Visual Studio를 설치합니다.

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

    IDE 외에도 Desktop development with C++ 구성 요소를 설치합니다.

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

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

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

클라우드에서 MQTT 메시지 모니터링

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

AWS IoT MQTT 클라이언트를 사용하여 MQTT 주제를 구독하려면
  1. AWS IoT 콘솔에 로그인합니다.

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

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

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

FreeRTOS 데모 프로젝트 빌드 및 실행

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

Visual Studio IDE를 사용하여 FreeRTOS 데모 프로젝트 빌드 및 실행

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

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

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

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

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

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

CMake로 FreeRTOS 데모 프로젝트 빌드 및 실행

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

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

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

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

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

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

    CMake GUI에서 항목 추가를 선택하고 Add Cache Entry(캐시 항목 추가) 창에서 다음 값을 설정합니다.

    이름

    AFR_BOARD

    유형

    STRING

    pc.windows

    설명

    (선택 사항)

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

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

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

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

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

FreeRTOS에서 CMake를 사용하는 방법에 대한 자세한 내용은 FreeRTOS에서 CMake 사용 섹션을 참조하세요.

네트워크 인터페이스 구성

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

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는 지원되지 않습니다.

문제 해결

Windows의 일반적인 문제 해결

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

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

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

FreeRTOS 시작하기에 대한 일반 문제 해결 정보는 시작하기 문제 해결 섹션을 참조하세요.