첫 번째 단계 - 무료 RTOS

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

첫 번째 단계

중요

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

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

참고

계정 및 권한 설정 AWS

가입해 주세요. AWS 계정

계정이 없는 경우 다음 단계를 완료하여 계정을 만드세요. AWS 계정

가입하려면 AWS 계정
  1. https://portal.aws.amazon.com/billing/signup을 여세요.

  2. 온라인 지시 사항을 따르세요.

    등록 절차 중에는 전화를 받고 키패드로 인증 코드를 입력하는 과정이 있습니다.

    에 AWS 계정가입하면 AWS 계정 루트 사용자a가 생성됩니다. 루트 사용자에게는 계정의 모든 AWS 서비스 및 리소스 액세스 권한이 있습니다. 보안 모범 사례는 사용자에게 관리 액세스 권한을 할당하고, 루트 사용자만 사용하여 루트 사용자 액세스 권한이 필요한 작업을 수행하는 것입니다.

AWS 가입 절차가 완료된 후 확인 이메일을 보냅니다. 언제든지 https://aws.amazon.com/으로 가서 내 계정(My Account)을 선택하여 현재 계정 활동을 보고 계정을 관리할 수 있습니다.

관리자 액세스 권한이 있는 사용자 생성

등록한 AWS 계정후에는 일상적인 작업에 루트 사용자를 사용하지 않도록 관리 사용자를 보호하고 AWS IAM Identity Center활성화하고 생성하십시오 AWS 계정 루트 사용자.

보안을 유지하세요. AWS 계정 루트 사용자
  1. 루트 사용자를 선택하고 AWS 계정 이메일 주소를 입력하여 계정 AWS Management Console소유자로 로그인합니다. 다음 페이지에서 비밀번호를 입력합니다.

    루트 사용자를 사용하여 로그인하는 데 도움이 필요하면AWS 로그인 사용 설명서루트 사용자로 로그인을 참조하세요.

  2. 루트 사용자의 다중 인증(MFA)을 활성화합니다.

    지침은 IAM 사용 설명서의 AWS 계정 루트 사용자 (콘솔) 에 대한 가상 MFA 디바이스 활성화를 참조하십시오.

관리자 액세스 권한이 있는 사용자 생성
  1. IAM Identity Center를 활성화합니다.

    지침은 AWS IAM Identity Center 사용 설명서AWS IAM Identity Center설정을 참조하세요.

  2. IAM Identity Center에서 사용자에게 관리 액세스 권한을 부여합니다.

    를 ID 소스로 사용하는 방법에 대한 자습서는 사용 설명서의 기본값으로 IAM Identity Center 디렉터리사용자 액세스 구성을 참조하십시오. IAM Identity Center 디렉터리 AWS IAM Identity Center

관리 액세스 권한이 있는 사용자로 로그인
추가 사용자에게 액세스 권한 할당
  1. IAM Identity Center에서 최소 권한 적용 모범 사례를 따르는 권한 세트를 생성합니다.

    지침은AWS IAM Identity Center 사용 설명서의 Create a permission set를 참조하세요.

  2. 사용자를 그룹에 할당하고, 그룹에 Single Sign-On 액세스 권한을 할당합니다.

    지침은AWS IAM Identity Center 사용 설명서의 Add groups를 참조하세요.

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

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

    권한 세트를 생성합니다. AWS IAM Identity Center 사용 설명서의 권한 세트 생성의 지침을 따르세요.

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

    ID 페더레이션을 위한 역할을 생성합니다. IAM 사용 설명서의 서드 파티 자격 증명 공급자의 역할 만들기(연합)의 지침을 따르세요.

  • IAM 사용자:

    • 사용자가 맡을 수 있는 역할을 생성합니다. IAM 사용 설명서에서 IAM 사용자의 역할 생성의 지침을 따르세요.

    • (권장되지 않음)정책을 사용자에게 직접 연결하거나 사용자를 사용자 그룹에 추가합니다. 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 관리 콘솔을 열고 오른쪽 상단의 계정 이름 아래에 있는 메뉴를 찾아 확장한 다음 My Account를 선택합니다. 계정 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. 탐색 창에서 Secure(보안)를 선택하고 Policies(정책)를 선택한 다음 Create(생성)를 선택합니다.

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

  5. Add statements(설명문 추가) 섹션에서 Advanced mode(고급 모드)를 선택합니다. 다음 JSON을 복사하여 정책 편집기 창에 붙여 넣습니다. 를 AWS 지역 aws-region 및 계정 aws-account ID로 바꾸십시오.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iot:Connect", "Resource":"arn:aws:iot:aws-region:aws-account-id:*" }, { "Effect": "Allow", "Action": "iot:Publish", "Resource": "arn:aws:iot:aws-region:aws-account-id:*" }, { "Effect": "Allow", "Action": "iot:Subscribe", "Resource": "arn:aws:iot:aws-region:aws-account-id:*" }, { "Effect": "Allow", "Action": "iot:Receive", "Resource": "arn:aws:iot:aws-region:aws-account-id:*" } ] }

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

    iot:Connect

    모든 클라이언트 ID를 사용하여 AWS IoT 메시지 브로커에 연결할 수 있는 권한을 장치에 부여합니다.

    iot:Publish

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

    iot:Subscribe

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

    iot:Receive

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

  6. 생성을 선택합니다.

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

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

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

  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 자격 증명을 포맷하려면

FreeRTOS에는 장치를 대신하여 성공적으로 AWS IoT 통신하려면 등록된 사물과 관련된 인증서 및 개인 키 및 권한 정책이 있어야 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에 있습니다.