Espressif 시작하기 ESP32-WROOM-32SE - 무료RTOS

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

Espressif 시작하기 ESP32-WROOM-32SE

중요

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

참고
  • 자체 Espressif IDF 프로젝트 내에서 무료RTOS 모듈식 라이브러리와 데모를 통합하는 방법을 알아보려면 ESP32-C3 플랫폼용 주요 참조 통합을 참조하세요.

  • 현재 ESP32-WROOM-32SE용 프리RTOS 포트는 대칭 멀티프로세싱(SMP) 기능을 지원하지 않습니다.

이 자습서에서는 Espressif ESP32-WROOM-32SE 를 시작하는 방법을 보여줍니다. AWS 파트너 디바이스 카탈로그에서 파트너로부터 하나를 구매하려면 ESP32-WROOM-32SE를 참조하세요.

개요

이 자습서에서는 다음과 같은 단계를 안내합니다.

  1. 보드를 호스트 시스템에 연결합니다.

  2. 마이크로 컨트롤러 보드용 내장형 애플리케이션을 개발 및 디버깅하기 위한 소프트웨어를 호스트 머신에 설치합니다.

  3. 무료RTOS 데모 애플리케이션을 바이너리 이미지로 교차 컴파일합니다.

  4. 애플리케이션 이진 이미지를 보드에 로드한 다음 애플리케이션을 실행합니다.

  5. 직렬 연결을 사용하여 실행 중인 애플리케이션을 모니터링 및 디버깅합니다.

사전 조건

Espressif 보드에서 FreeRTOS를 시작하기 전에 AWS 계정과 권한을 설정해야 합니다.

에 가입 AWS 계정

가 없는 경우 다음 단계를 AWS 계정완료하여 를 생성합니다.

에 가입하려면 AWS 계정
  1. https://portal.aws.amazon.com/billing/가입 을 엽니다.

  2. 온라인 지시 사항을 따릅니다.

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

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

AWS 는 가입 프로세스가 완료된 후 확인 이메일을 보냅니다. 언제든지 https://aws.amazon.com/로 이동하여 내 계정 을 선택하여 현재 계정 활동을 보고 계정을 관리할 수 있습니다.

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

에 가입한 후 일상적인 작업에 루트 사용자를 사용하지 않도록 AWS 계정 루트 사용자를 AWS 계정보호하고, 를 활성화하고 AWS IAM Identity Center, 관리 사용자를 생성합니다.

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

    루트 사용자를 사용하여 로그인하는 데 도움이 필요하면 AWS 로그인 User Guide루트 사용자로 로그인을 참조하십시오.

  2. 루트 사용자에 대해 다중 인증(MFA)을 켭니다.

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

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

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

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

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

관리 액세스 권한이 있는 사용자로 로그인
  • IAM Identity Center 사용자로 로그인하려면 IAM Identity Center 사용자를 생성할 때 이메일 주소로 전송URL된 로그인을 사용합니다.

    IAM Identity Center 사용자를 사용하여 로그인하는 방법에 대한 자세한 내용은 AWS 로그인 사용 설명서의 AWS 액세스 포털에 로그인을 참조하세요.

추가 사용자에게 액세스 권한 할당
  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 사용 설명서권한 세트 생성의 지침을 따릅니다.

  • 자격 증명 공급자를 IAM 통해 에서 관리되는 사용자:

    ID 페더레이션을 위한 역할을 생성합니다. IAM 사용 설명서타사 자격 증명 공급자(연맹)에 대한 역할 생성의 지침을 따릅니다.

  • IAM 사용자:

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

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

시작

참고

이 자습서의 Linux 명령을 사용하려면 Bash 쉘을 사용해야 합니다.

  1. Espressif 하드웨어 설정.

    ESP32--WROOM-32SE 개발 보드 하드웨어 설정에 대한 자세한 내용은 ESP32-DevKitC V4 시작 안내서를 참조하세요.

    중요

    안내서의 단계별 설치 섹션에 도달하면 4단계(환경 변수 설정)를 완료할 때까지 계속 진행합니다. 4단계를 완료하면 그만 멈추고 여기에서 나머지 단계를 수행합니다.

  2. 에서 Amazon FreeRTOS를 다운로드합니다GitHub. (지침은 README.md 파일을 참조하세요.)

  3. 개발 환경 설정.

    보드와 통신하려면 도구 체인을 설치해야 합니다. Espressif는 보드용 소프트웨어를 개발할 수 있는 ESP-IDF를 제공합니다. ESP-IDF에는 구성 요소로 통합된 프리RTOS 커널의 자체 버전이 있으므로 Amazon FreeRTOS에는 프리RTOS 커널이 제거된 ESP-IDF v4.2의 사용자 지정 버전이 포함되어 있습니다. 그러므로 컴파일할 때 파일이 중복되는 문제가 해결됩니다. Amazon Free 에 포함된 ESP-IDF v4.2의 사용자 지정 버전을 사용하려면 호스트 시스템의 운영 체제에 대한 아래 지침을 RTOS따르세요.

    Windows

    1. ESPIDF의 Windows용 범용 온라인 설치 관리자를 다운로드합니다.

    2. 범용 온라인 설치 관리자를 실행합니다.

    3. 다운로드 또는 ESP- 사용IDF 단계에 도달하면 기존 ESP-IDF 디렉터리 사용을 선택하고 기존 ESP-IDF 디렉터리 선택을 로 설정합니다freertos/vendors/espressif/esp-idf.

    4. 설치를 완료합니다.

    macOS

    1. macOS용 도구 체인 사전 조건의 표준 설정(ESP-IDF v4.2)의 지침을 따릅니다.

      중요

      다음 단계 아래의 '가져오기 ESP-IDF' 지침에 도달하면 중지한 다음 이 페이지의 지침으로 돌아갑니다.

    2. 명령줄 창을 엽니다.

    3. 무료RTOS 다운로드 디렉터리로 이동한 다음 다음 스크립트를 실행하여 플랫폼용 espressif 도구 체인을 다운로드하고 설치합니다.

      vendors/espressif/esp-idf/install.sh
    4. 다음 명령을 사용하여 ESP-IDF 도구 체인 도구를 터미널의 경로에 추가합니다.

      source vendors/espressif/esp-idf/export.sh

    Linux

    1. Linux용 도구 체인 사전 조건의 표준 설정(ESP-IDF v4.2)의 지침을 따릅니다.

      중요

      다음 단계 아래의 '가져오기 ESP-IDF' 지침에 도달하면 중지한 다음 이 페이지의 지침으로 돌아갑니다.

    2. 명령줄 창을 엽니다.

    3. 무료RTOS 다운로드 디렉터리로 이동한 다음 다음 스크립트를 실행하여 플랫폼용 Espressif 도구 체인을 다운로드하고 설치합니다.

      vendors/espressif/esp-idf/install.sh
    4. 다음 명령을 사용하여 ESP-IDF 도구 체인 도구를 터미널의 경로에 추가합니다.

      source vendors/espressif/esp-idf/export.sh
  4. 직렬 연결 설정.

    1. 호스트 시스템과 ESP32-WROOM-32SE 간에 직렬 연결을 설정하려면 CP210x to UART Bridge VCP 드라이버USB를 설치합니다. Silicon Labs에서 이러한 드라이버를 다운로드할 수 있습니다.

    2. 단계에 따라 를 사용하여 직렬 연결을 설정합니다ESP32.

    3. 직렬 연결을 설정한 후 보드의 연결을 위한 직렬 포트를 기록해 두십시오. 데모를 플래시하는 데 필요합니다.

무료RTOS 데모 애플리케이션 구성

이 자습서의 경우 무료RTOS 구성 파일은 에 있습니다freertos/vendors/espressif/boards/board-name/aws_demos/config_files/FreeRTOSConfig.h. (예를 들어, AFR_BOARD espressif.esp32_devkitc를 선택하면 구성 파일은 freertos/vendors/espressif/boards/esp32/aws_demos/config_files/FreeRTOSConfig.h에 있습니다.)

중요

ATECC608A 디바이스에는 프로젝트가 처음 실행될 때(에 대한 호출 중) 디바이스에 잠기는 일회성 초기화가 있습니다C_InitToken. 하지만 무료RTOS 데모 프로젝트와 테스트 프로젝트는 구성이 다릅니다. 데모 프로젝트 구성 중에 디바이스가 잠겨 있으면 테스트 프로젝트에서 성공하지 못하는 테스트가 발생합니다.

  1. 의 단계에 따라 무료RTOS 데모 프로젝트를 구성합니다무료RTOS 데모 구성. 마지막 단계에 도달하면 AWS IoT 보안 인증 정보를 포맷하려면 를 중지하고 다음 단계를 수행합니다.

  2. Microchip은 ATECC608A 부품 설정에 도움이 되는 몇 가지 스크립팅 도구를 제공했습니다. freertos/vendors/microchip/example_trust_chain_tool 디렉터리로 이동하여 README.md 파일을 엽니다.

  3. 디바이스를 프로비저닝하려면 README.md 파일의 지침을 따릅니다. 이 단계에는 다음 사항이 포함됩니다.

    1. 에 인증서 기관을 생성하고 등록합니다 AWS.

    2. ATECC608A에서 키를 생성하고 퍼블릭 키와 디바이스 일련 번호를 내보냅니다.

    3. 디바이스에 대한 인증서를 생성하고 해당 인증서를 에 등록합니다 AWS.

  4. 개발자 모드 키 프로비저닝의 지침에 따라 CA 인증서 및 디바이스 인증서를 디바이스에 로드합니다.

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

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

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

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

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

idf.py 스크립트를 사용하여 무료RTOS 데모 프로젝트를 빌드, 플래시 및 실행합니다.

Espressif의 IDF 유틸리티(idf.py)를 사용하여 빌드 파일을 생성하고, 애플리케이션 바이너리를 빌드하고, 바이너리를 디바이스에 플래시할 수 있습니다.

참고

다음 예제와 같이 일부 설정에서는 idf.py에서 포트 옵션 '-p port-name'을 사용하여 올바른 포트를 지정해야 할 수도 있습니다.

idf.py -p /dev/cu.usbserial-00101301B flash
Windows, Linux 및 macOS에서 빌드 및 플래시 무료RTOS(ESP-IDF v4.2)
  1. 무료RTOS 다운로드 디렉터리의 루트로 이동합니다.

  2. 명령줄 창에서 다음 명령을 입력하여 ESP-IDF 도구를 터미널의 에 추가합니다. PATH

    Windows('Command' 앱)
    vendors\espressif\esp-idf\export.bat
    Windows(“ESP-IDF 4.xCMD” 앱)

    (앱을 열었을 때 이미 완료되었습니다.)

    Linux/macOS
    source vendors/espressif/esp-idf/export.sh
  3. build 디렉터리에서 cmake를 구성하고 다음 명령을 사용하여 펌웨어 이미지를 빌드합니다.

    idf.py -DVENDOR=espressif -DBOARD=esp32_ecc608a_devkitc -DCOMPILER=xtensa-esp32 build

    다음 예제와 같은 출력이 표시됩니다.

    Running cmake in directory /path/to/hello_world/build Executing "cmake -G Ninja --warn-uninitialized /path/to/hello_world"... Warn about uninitialized values. -- Found Git: /usr/bin/git (found version "2.17.0") -- Building empty aws_iot component due to configuration -- Component names: ... -- Component paths: ... ... (more lines of build system output) [527/527] Generating hello-world.bin esptool.py v2.3.1 Project build complete. To flash, run this command: ../../../components/esptool_py/esptool/esptool.py -p (PORT) -b 921600 write_flash --flash_mode dio --flash_size detect --flash_freq 40m 0x10000 build/hello-world.bin build 0x1000 build/bootloader/bootloader.bin 0x8000 build/partition_table/partition-table.bin or run 'idf.py -p PORT flash'

    오류가 없는 경우 빌드는 펌웨어 바이너리 .bin 파일을 생성합니다.

  4. 다음 명령을 사용하여 개발 보드의 플래시 메모리를 지웁니다.

    idf.py erase_flash
  5. idf.py 스크립트를 사용하여 애플리케이션 바이너리를 보드에 플래시합니다.

    idf.py flash
  6. 다음 명령을 사용하여 보드의 직렬 포트 출력을 모니터링합니다.

    idf.py monitor
    참고
    • 다음 예제와 같이 이들 명령을 결합할 수 있습니다.

      idf.py erase_flash flash monitor
    • 특정 호스트 시스템 설정의 경우 다음 예제와 같이 보드를 플래시할 때 포트를 지정해야 합니다.

      idf.py erase_flash flash monitor -p /dev/ttyUSB1

를 사용하여 빌드 및 플래시 프리RTOS CMake

에서 제공하는 idf.py 스크립트IDFSDK를 사용하여 코드를 빌드하고 실행하는 것 외에도 를 사용하여 프로젝트를 빌드할 수도 있습니다CMake. 현재는 Unix Makefile 및 Ninja 빌드 시스템을 지원합니다.

프로젝트를 빌드하고 플래시하려면
  1. 명령줄 창에서 무료RTOS 다운로드 디렉터리의 루트로 이동합니다.

  2. 다음 스크립트를 실행하여 쉘의 에 ESP-IDF 도구를 추가합니다PATH.

    Windows
    vendors\espressif\esp-idf\export.bat
    Linux/macOS
    source vendors/espressif/esp-idf/export.sh
  3. 다음 명령을 입력하여 빌드 파일을 생성합니다.

    Unix Makefile 사용
    cmake -DVENDOR=espressif -DBOARD=esp32_plus_ecc608a_devkitc -DCOMPILER=xtensa-esp32 -S . -B ./YOUR_BUILD_DIRECTORY -DAFR_ENABLE_ALL_MODULES=1 -DAFR_ENABLE_TESTS=0
    Ninja 사용
    cmake -DVENDOR=espressif -DBOARD=esp32_plus_ecc608a_devkitc -DCOMPILER=xtensa-esp32 -S . -B ./YOUR_BUILD_DIRECTORY -DAFR_ENABLE_ALL_MODULES=1 -DAFR_ENABLE_TESTS=0 -GNinja
  4. 플래시를 지운 다음 보드를 플래시합니다.

    Unix Makefile 사용
    make -C ./YOUR_BUILD_DIRECTORY erase_flash
    make -C ./YOUR_BUILD_DIRECTORY flash
    Ninja 사용
    ninja -C ./YOUR_BUILD_DIRECTORY erase_flash
    ninja -C ./YOUR_BUILD_DIRECTORY flash

추가 정보

Espressif ESP32 보드 사용 및 문제 해결에 대한 자세한 내용은 다음 주제를 참조하세요.