View a markdown version of this page

첫 번째 단계 - FreeRTOS

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

첫 번째 단계

중요

이 페이지는 더 이상 사용되지 않는 Amazon-FreeRTOS 리포지토리를 참조합니다. 새 프로젝트를 생성할 때는 여기서 시작하는 것이 좋습니다. 현재 사용되지 않는 Amazon-FreeRTOS 리포지토리를 기반으로 하는 기존 FreeRTOS 프로젝트가 이미 있는 경우에는 Amazon-FreeRTOS Github 리포지토리 마이그레이션 가이드 섹션을 참조하세요.

에서 FreeRTOS 사용을 시작하려면 AWS IoT 및 FreeRTOS 클라우드 서비스에 액세스할 수 있는 권한이 있는 사용자인 AWS 계정이 있어야 AWS IoT합니다. 또한 FreeRTOS를 다운로드하고 보드의 FreeRTOS 데모 프로젝트가 함께 작동하도록 구성해야 합니다 AWS IoT. 다음 단원에서는 이러한 요구 사항을 소개합니다.

참고

AWS 계정 및 권한 설정

에 가입 AWS 계정

를 시작하려면이 AWS필요합니다 AWS 계정. 생성에 대한 자세한 AWS 계정내용은 AWS Account Management 참조 안내서시작하기 AWS 계정를 참조하세요.

액세스 권한을 제공하려면 사용자, 그룹 또는 역할에 권한을 추가하세요.

  • 의 사용자 및 그룹 AWS IAM Identity Center:

    권한 세트를 생성합니다. AWS IAM Identity Center 사용자 안내서에서 권한 세트 생성의 지침을 따릅니다.

  • ID 제공업체를 통해 IAM에서 관리되는 사용자:

    ID 페더레이션을 위한 역할을 생성합니다. IAM 사용자 설명서Create a role for a third-party identity provider (federation)의 지침을 따릅니다.

  • IAM 사용자:

    • 사용자가 맡을 수 있는 역할을 생성합니다. IAM 사용자 설명서에서 Create a role for an IAM user의 지침을 따릅니다.

    • (권장되지 않음) 정책을 사용자에게 직접 연결하거나 사용자를 사용자 그룹에 추가합니다. IAM 사용 설명서에서 사용자(콘솔)에 권한 추가의 지침을 따릅니다.

에 MCU 보드 등록 AWS IoT

AWS 클라우드와 통신 AWS IoT 하려면 보드를에 등록해야 합니다. 보드를에 등록하려면 다음이 AWS IoT필요합니다.

AWS IoT 정책

이 AWS IoT 정책은 디바이스에 AWS IoT 리소스에 액세스할 수 있는 권한을 부여합니다. 클라우드에 저장됩니다 AWS .

AWS IoT 사물

AWS IoT 사물을 사용하면에서 디바이스를 관리할 수 있습니다 AWS IoT. 클라우드에 저장됩니다 AWS .

프라이빗 키 및 X.509 인증서

프라이빗 키와 인증서를 사용하면 디바이스가 로 인증할 수 있습니다 AWS IoT.

보드를 등록하려면 아래 절차를 수행합니다.

AWS IoT 정책을 생성하려면
  1. IAM 정책을 생성하려면 AWS 리전 및 AWS 계정 번호를 알아야 합니다.

    AWS 계정 번호를 찾으려면 AWS 관리 콘솔을 열고 오른쪽 상단의 계정 이름 아래에 있는 메뉴를 찾아 확장한 다음 내 계정을 선택합니다. 계정 ID는 Account Settings(계정 설정) 아래에 표시됩니다.

    AWS 계정의 AWS 리전을 찾으려면를 사용합니다 AWS Command Line Interface. 를 설치하려면 AWS Command Line Interface 사용 설명서의 지침을 AWS CLI따릅니다. 를 설치한 후 명령 프롬프트 창을 AWS CLI열고 다음 명령을 입력합니다.

    aws iot describe-endpoint --endpoint-type=iot:Data-ATS

    출력은 다음과 같아야 합니다.

    { "endpointAddress": "xxxxxxxxxxxxxx-ats.iot.us-west-2.amazonaws.com" }

    이 예제에서 리전은 us-west-2입니다.

    참고

    예시와 같이 ATS 엔드포인트를 사용하는 것이 좋습니다.

  2. AWS IoT 콘솔로 이동합니다.

  3. 탐색 창에서 보안를 선택하고 정책를 선택한 다음 생성를 선택합니다.

  4. 정책을 식별할 이름을 입력합니다.

  5. 설명문 추가 섹션에서 고급 모드를 선택합니다. 다음 JSON을 복사하여 정책 편집기 창에 붙여 넣습니다. aws-region 및를 AWS 리전 및 계정 IDaws-account로 바꿉니다.

    JSON
    { "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iot:Connect", "Resource": "arn:aws:iot:us-east-1:123456789012:*" }, { "Effect": "Allow", "Action": "iot:Publish", "Resource": "arn:aws:iot:us-east-1:123456789012:*" }, { "Effect": "Allow", "Action": "iot:Subscribe", "Resource": "arn:aws:iot:us-east-1:123456789012:*" }, { "Effect": "Allow", "Action": "iot:Receive", "Resource": "arn:aws:iot:us-east-1:123456789012:*" } ] }

    이 정책은 다음 권한을 부여합니다.

    iot:Connect

    모든 클라이언트 ID로 AWS IoT 메시지 브로커에 연결할 수 있는 권한을 디바이스에 부여합니다.

    iot:Publish

    모든 MQTT 주제에 MQTT 메시지를 게시할 수 있는 권한을 디바이스에 부여합니다.

    iot:Subscribe

    모든 MQTT 주제 필터를 구독할 수 있는 권한을 디바이스에 부여합니다.

    iot:Receive

    모든 MQTT 주제에 대한 AWS IoT 메시지 브로커에서 메시지를 수신할 수 있는 권한을 디바이스에 부여합니다.

  6. 생성(Create)을 선택합니다.

디바이스에 대한 IoT 사물, 프라이빗 키 및 인증서를 생성하려면
  1. AWS IoT 콘솔로 이동합니다.

  2. 탐색 창에서 Manage(관리)를 선택한 다음 Things(사물)를 선택합니다.

  3. 계정에 등록된 IoT 사물이 없는 경우 You don't have any things yet(아직 사물이 없습니다) 페이지가 표시됩니다. 이 페이지가 나타나면 Register a thing(사물 등록)을 선택합니다. 그렇지 않은 경우, 생성을 선택합니다.

  4. AWS IoT 사물 생성 페이지에서 단일 사물 생성을 선택합니다.

  5. Add your device to the thing registry(디바이스를 사물 등록에 추가) 페이지에 사물의 이름을 입력하고 Next(다음)를 선택합니다.

  6. Add a certificate for your thing(사물에 대한 인증서 추가) 페이지의 One-click certificate creation(원클릭 인증서 생성)에서 Create certificate(인증서 생성)를 선택합니다.

  7. 각각에 대한 Download(다운로드) 링크를 선택하여 프라이빗 키와 인증서를 다운로드합니다.

  8. Activate(활성화)를 선택하여 인증서를 활성화합니다. 인증서는 사용 전에 활성화해야 합니다.

  9. 정책 연결을 선택하여 디바이스에 AWS IoT 작업에 대한 액세스 권한을 부여하는 정책을 인증서에 연결합니다.

  10. 방금 생성한 정책을 선택하고 Register thing(사물 등록)을 선택합니다.

보드가에 등록된 후 로 계속 AWS IoT진행할 수 있습니다FreeRTOS 다운로드.

FreeRTOS 다운로드

FreeRTOS는 FreeRTOS GitHub 리포지토리에서 다운로드할 수 있습니다.

FreeRTOS를 다운로드했으면 이어서 FreeRTOS 데모 구성을 진행합니다.

FreeRTOS 데모 구성

보드에서 데모를 컴파일하고 실행하려면 먼저 FreeRTOS 디렉터리에서 몇 가지 구성 파일을 편집해야 합니다.

AWS IoT 엔드포인트를 구성하려면

보드에서 실행되는 애플리케이션이 올바른 AWS IoT 엔드포인트로 요청을 보낼 수 있도록 FreeRTOS에 엔드포인트를 제공해야 합니다.

  1. AWS IoT 콘솔로 이동합니다.

  2. 왼쪽 탐색 창에서 설정을 선택합니다.

    AWS IoT 엔드포인트는 디바이스 데이터 엔드포인트에 표시됩니다. URL은 1234567890123-ats.iot.us-east-1.amazonaws.com와 같아야 합니다. 이 엔드포인트를 기록해 둡니다.

  3. 탐색 창에서 Manage(관리)를 선택한 다음 Things(사물)를 선택합니다.

    디바이스에는 AWS IoT 사물 이름이 있어야 합니다. 이 이름을 기록해 둡니다.

  4. demos/include/aws_clientcredential.h를 엽니다.

  5. 다음 상수의 값을 지정합니다.

    • #define clientcredentialMQTT_BROKER_ENDPOINT "Your AWS IoT endpoint";

    • #define clientcredentialIOT_THING_NAME "The AWS IoT thing name of your board"

Wi-Fi를 구성하려면

보드를 Wi-Fi 연결을 통해 인터넷에 연결하는 경우 FreeRTOS에 네트워크 연결에 필요한 Wi-Fi 보안 인증 정보를 제공해야 합니다. 보드가 Wi-Fi를 지원하지 않는 경우 이 단계를 건너뛰어도 됩니다.

  1. demos/include/aws_clientcredential.h.

  2. 다음 #define 상수의 값을 지정합니다.

    • #define clientcredentialWIFI_SSID "The SSID for your Wi-Fi network"

    • #define clientcredentialWIFI_PASSWORD "The password for your Wi-Fi network"

    • #define clientcredentialWIFI_SECURITY Wi-Fi 네트워크의 보안 유형

      유효한 보안 유형은 다음과 같습니다.

      • eWiFiSecurityOpen(열림, 보안 없음)

      • eWiFiSecurityWEP(WEP 보안)

      • eWiFiSecurityWPA(WPA 보안)

      • eWiFiSecurityWPA2(WPA2 보안)

AWS IoT 자격 증명의 형식을 지정하려면

디바이스를 AWS IoT 대신하여와 성공적으로 통신하려면 FreeRTOS에 등록된 사물과 연결된 AWS IoT 인증서 및 프라이빗 키와 권한 정책이 있어야 합니다.

참고

AWS IoT 자격 증명을 구성하려면 디바이스를 등록할 때 AWS IoT 콘솔에서 다운로드한 프라이빗 키와 인증서가 있어야 합니다. 디바이스를 AWS IoT 사물로 등록한 후에는 AWS IoT 콘솔에서 디바이스 인증서를 검색할 수 있지만 프라이빗 키는 검색할 수 없습니다.

FreeRTOS는 C 언어 프로젝트이며, 인증서와 프라이빗 키를 프로젝트에 추가하려면 특수한 형식을 지정해야 합니다.

  1. 브라우저 창에서 tools/certificate_configuration/CertificateConfigurator.html을 엽니다.

  2. Certificate PEM file(인증서 PEM 파일)에서는 AWS IoT 콘솔에서 다운로드한 ID-certificate.pem.crt를 선택합니다.

  3. Private Key PEM file(프라이빗 키 PEM 파일)에서는 AWS IoT 콘솔에서 다운로드한 ID-private.pem.key를 선택합니다.

  4. aws_clientcredential_keys.h 생성 및 저장을 선택한 다음 파일을 demos/include에 저장합니다. 이 파일은 디렉터리의 기존 파일을 덮어씁니다.

    참고

    인증서와 프라이빗 키는 데모 용도로만 하드 코딩됩니다. 프로덕션 수준 애플리케이션은 이러한 파일을 보안 위치에 저장해야 합니다.

FreeRTOS를 구성한 후에는 이어서 보드에 대한 시작하기 가이드를 진행하여 플랫폼의 하드웨어 및 소프트웨어 개발 환경을 설정한 후 보드에서 데모를 컴파일하고 실행할 수 있습니다. 보드별 지침은 보드별 시작 안내서 단원을 참조하십시오. 시작하기 자습서에서 사용하는 데모 애플리케이션은 coreMQTT 상호 인증 데모이며 demos/coreMQTT/mqtt_demo_mutual_auth.c에 있습니다.