기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Espressif ESP32-S2 시작하기
중요
이 참조 통합은 더 이상 사용되지 않는 Amazon-FreeRTOS 리포지토리에서 호스팅됩니다. 새 프로젝트를 생성할 때는 여기서 시작하는 것이 좋습니다. 현재 더 이상 사용되지 않는 Amazon-FreeRTOS 리포지토리를 기반으로 하는 기존 FreeRTOS 프로젝트가 이미 있는 경우 섹션을 참조하세요Amazon-FreeRTOS Github 리포지토리 마이그레이션 가이드.
참고
자체 Espressif IDF 프로젝트 내에서 무료RTOS 모듈식 라이브러리와 데모를 통합하는 방법을 알아보려면 ESP32-C3 플랫폼용 주요 참조 통합을
이 자습서에서는 Espressif ESP32-S2 SoC 및 ESP32-S2-Saola-1
개요
이 자습서에서는 다음과 같은 단계를 안내합니다.
-
보드를 호스트 시스템에 연결합니다.
-
마이크로 컨트롤러 보드용 내장형 애플리케이션을 개발 및 디버깅하기 위한 소프트웨어를 호스트 머신에 설치합니다.
-
무료RTOS 데모 애플리케이션을 바이너리 이미지에 교차 컴파일합니다.
-
애플리케이션 이진 이미지를 보드에 로드한 다음 애플리케이션을 실행합니다.
-
직렬 연결을 사용하여 실행 중인 애플리케이션을 모니터링 및 디버깅합니다.
사전 조건
Espressif 보드에서 FreeRTOS를 시작하기 전에 AWS 계정과 권한을 설정해야 합니다.
에 가입 AWS 계정
가 없는 경우 다음 단계를 AWS 계정완료하여 를 생성합니다.
에 가입하려면 AWS 계정
https://portal.aws.amazon.com/billing/가입
을 엽니다. 온라인 지시 사항을 따릅니다.
등록 절차 중 전화를 받고 전화 키패드로 확인 코드를 입력하는 과정이 있습니다.
에 가입하면 AWS 계정AWS 계정 루트 사용자가 생성됩니다. 루트 사용자에게는 계정의 모든 AWS 서비스 및 리소스에 액세스할 권한이 있습니다. 보안 모범 사례는 사용자에게 관리 액세스 권한을 할당하고, 루트 사용자만 사용하여 루트 사용자 액세스 권한이 필요한 작업을 수행하는 것입니다.
AWS 는 가입 프로세스가 완료된 후 확인 이메일을 보냅니다. 언제든지 https://aws.amazon.com/
관리자 액세스 권한이 있는 사용자 생성
에 가입한 후 일상적인 작업에 루트 사용자를 사용하지 않도록 를 AWS 계정보호하고, 를 AWS 계정 루트 사용자활성화하고 AWS IAM Identity Center, 관리 사용자를 생성합니다.
보안 AWS 계정 루트 사용자
-
루트 사용자를 선택하고 AWS 계정 이메일 주소를 입력하여 계정 소유자AWS Management Console
로 에 로그인합니다. 다음 페이지에서 비밀번호를 입력합니다. 루트 사용자를 사용하여 로그인하는 데 도움이 필요하면 AWS 로그인 User Guide의 루트 사용자로 로그인을 참조하십시오.
-
루트 사용자에 대해 다중 인증(MFA)을 켭니다.
지침은 IAM 사용 설명서의 AWS 계정 루트 사용자(콘솔)에 대한 가상 MFA 디바이스 활성화를 참조하세요.
관리자 액세스 권한이 있는 사용자 생성
-
IAM Identity Center를 활성화합니다.
지침은 AWS IAM Identity Center 사용 설명서의 AWS IAM Identity Center설정을 참조하세요.
-
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 액세스 포털에 로그인을 참조하세요.
추가 사용자에게 액세스 권한 할당
-
IAM Identity Center에서 최소 권한 적용 모범 사례를 따르는 권한 세트를 생성합니다.
지침은AWS IAM Identity Center 사용 설명서의 Create a permission set를 참조하세요.
-
사용자를 그룹에 할당하고, 그룹에 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 쉘을 사용해야 합니다.
-
Espressif 하드웨어 설정.
ESP32-S2 개발 보드 하드웨어 설정에 대한 자세한 내용은 ESP32-S2-Saola-1 시작 안내서를 참조하세요
. 중요
Espressif 안내서의 다음 단계 섹션에 도달하면 여기서 멈추고 이 페이지의 지침으로 돌아갑니다.
-
에서 Amazon FreeRTOS를 다운로드합니다GitHub
. (지침은 README.md 파일을 참조하세요.) -
개발 환경 설정.
보드와 통신하려면 도구 체인을 설치해야 합니다. Espressif는 보드용 소프트웨어를 개발할 수 있는 ESP-IDF를 제공합니다. ESP-IDF에는 구성 요소로 통합된 프리RTOS 커널의 자체 버전이 있으므로 Amazon FreeRTOS에는 프리RTOS 커널이 제거된 ESP-IDF v4.2의 사용자 지정 버전이 포함되어 있습니다. 그러므로 컴파일할 때 파일이 중복되는 문제가 해결됩니다. Amazon Free 에 포함된 ESP-IDF v4.2의 사용자 지정 버전을 사용하려면 호스트 시스템의 운영 체제에 대한 아래 지침을 RTOS따르세요.
Windows
-
ESPIDF의 Windows용 범용 온라인 설치 관리자를
다운로드합니다. -
범용 온라인 설치 관리자를 실행합니다.
-
다운로드 또는 ESP- 사용IDF 단계로 이동하면 기존 ESP-IDF 디렉터리 사용을 선택하고 기존 ESP-IDF 디렉터리 선택을 로 설정합니다
.freertos
/vendors/espressif/esp-idf -
설치를 완료합니다.
macOS
-
macOS용 도구 체인 사전 조건의 표준 설정(ESP-IDF v4.2)의
지침을 따릅니다. 중요
다음 단계 아래의 '가져오기 ESP-IDF' 지침에 도달하면 중지한 다음 이 페이지의 지침으로 돌아갑니다.
-
명령줄 창을 엽니다.
-
무료RTOS 다운로드 디렉터리로 이동한 다음 다음 스크립트를 실행하여 플랫폼용 espressif 도구 체인을 다운로드하고 설치합니다.
vendors/espressif/esp-idf/install.sh
-
다음 명령을 사용하여 ESP-IDF 도구 체인 도구를 터미널의 경로에 추가합니다.
source vendors/espressif/esp-idf/export.sh
Linux
-
Linux용 도구 체인 사전 조건의 표준 설정(ESP-IDF v4.2)
의 지침을 따릅니다. 중요
다음 단계 아래의 '가져오기 ESP-IDF' 지침에 도달하면 중지한 다음 이 페이지의 지침으로 돌아갑니다.
-
명령줄 창을 엽니다.
-
무료RTOS 다운로드 디렉터리로 이동한 다음 다음 스크립트를 실행하여 플랫폼용 Espressif 도구 체인을 다운로드하고 설치합니다.
vendors/espressif/esp-idf/install.sh
-
다음 명령을 사용하여 ESP-IDF 도구 체인 도구를 터미널의 경로에 추가합니다.
source vendors/espressif/esp-idf/export.sh
-
-
직렬 연결 설정.
-
호스트 시스템과 ESP32-DevKitC 간에 직렬 연결을 설정하려면 CP210x USB to UART Bridge VCP 드라이버를 설치합니다. Silicon Labs
에서 이러한 드라이버를 다운로드할 수 있습니다. -
단계에 따라 를 사용하여 직렬 연결을 설정합니다ESP32
. -
직렬 연결을 설정한 후 보드의 연결을 위한 직렬 포트를 기록해 두십시오. 데모를 플래시하는 데 필요합니다.
-
무료RTOS 데모 애플리케이션 구성
이 자습서의 경우 무료RTOS 구성 파일은 에 있습니다
. (예를 들어, freertos
/vendors/espressif/boards/board-name
/aws_demos/config_files/FreeRTOSConfig.hAFR_BOARD espressif.esp32_devkitc
를 선택하면 구성 파일은
에 있습니다.) freertos
/vendors/espressif/boards/esp32/aws_demos/config_files/FreeRTOSConfig.h
-
macOS 또는 Linux를 실행하는 경우 터미널 프롬프트를 엽니다. Windows를 실행하는 경우 “ESP-IDF 4.xCMD” 앱(ESP-IDF 도구 체인을 설치할 때 이 옵션을 포함시킨 경우)을 열거나 “명령 프롬프트” 앱을 엽니다.
-
Python3이 설치되어 있는지 확인하려면 다음 명령을 실행합니다.
python --version
설치된 버전이 표시됩니다. Python 3.0.1 이상이 설치되어 있지 않으면 Python
웹 사이트에서 설치할 수 있습니다. -
AWS IoT 명령을 실행하려면 AWS 명령줄 인터페이스(CLI)가 필요합니다. Windows를 실행하는 경우
easy_install awscli
명령을 사용하여 “명령” 또는 “ESP-IDF 4.xCMD” 앱에 를 설치합니다 AWS CLI.macOS 또는 Linux를 실행하는 경우 설치를 AWS CLI 참조하세요.
-
Run
aws configure
액세스 키 ID, 보안 AWS 액세스 키 및 기본 AWS 리전을 AWS CLI 사용하여 를 구성합니다. 자세한 내용은 구성을 참조하세요 AWS CLI.
-
다음 명령을 사용하여 for Python(boto3)을 AWS SDK 설치합니다.
-
Windows의 “명령” 또는 “ESP-IDF 4.xCMD” 앱에서 를 실행합니다.
easy_install boto3
-
macOS 또는 Linux에서는 다음을 실행합니다.
pip install tornado nose --user
계속해서 다음을 실행합니다.
pip install boto3 --user
-
무료RTOS에는 Espressif 보드를 에 연결하도록 더 쉽게 설정할 수 있는 SetupAWS.py
스크립트가 포함되어 있습니다 AWS IoT.
구성 스크립트를 실행하려면
-
스크립트를 구성하려면
을 열고 다음 속성을 설정합니다.freertos
/tools/aws_config_quick_start/configure.jsonafr_source_dir
-
컴퓨터에서
디렉터리의 전체 경로입니다. 이 경로를 지정하기 위해 슬래시를 사용하고 있는지 확인합니다.freertos
thing_name
-
보드를 나타내는 AWS IoT 사물에 할당하려는 이름입니다.
wifi_ssid
-
SSID Wi-Fi 네트워크의 .
wifi_password
-
Wi-Fi 네트워크의 암호입니다.
wifi_security
-
Wi-Fi 네트워크의 보안 유형입니다. 유효한 보안 유형은 다음과 같습니다.
-
eWiFiSecurityOpen
(열림, 보안 없음) -
eWiFiSecurityWEP
(WEP 보안) -
eWiFiSecurityWPA
(WPA 보안) -
eWiFiSecurityWPA2
(WPA2 보안)
-
-
macOS 또는 Linux를 실행하는 경우 터미널 프롬프트를 엽니다. Windows를 실행하는 경우 “ESP-IDF 4.xCMD” 또는 “명령” 앱을 엽니다.
-
디렉터리로 이동하여 다음을 실행합니다.freertos
/tools/aws_config_quick_startpython SetupAWS.py setup
스크립트는 다음 작업을 수행합니다.
-
AWS IoT 사물, 인증서 및 정책을 생성합니다.
-
AWS IoT 정책을 인증서에 연결하고 인증서를 AWS IoT 사물에 연결합니다.
-
엔드포인트, Wi-Fi SSID및 보안 인증 정보로
aws_clientcredential.h
AWS IoT 파일을 채웁니다. -
인증서와 프라이빗 키에 형식을 지정하고
aws_clientcredential_keys.h
헤더 파일에 기록합니다.
참고
인증서는 데모 용도로만 하드 코딩됩니다. 프로덕션 수준 애플리케이션은 이러한 파일을 보안 위치에 저장해야 합니다.
SetupAWS.py
에 대한 자세한 내용은
디렉터리의freertos
/tools/aws_config_quick_startREADME.md
파일을 참조하세요. -
AWS 클라우드에서 MQTT 메시지 모니터링
무료RTOS 데모 프로젝트를 실행하기 전에 AWS IoT 콘솔에서 MQTT 클라이언트를 설정하여 디바이스가 AWS 클라우드로 보내는 메시지를 모니터링할 수 있습니다.
클라이언트를 사용하여 MQTT AWS IoT MQTT 주제를 구독하려면
-
AWS IoT 콘솔
에 로그인합니다. -
탐색 창에서 테스트를 선택한 다음 MQTT 클라이언트 테스트 를 선택합니다.
-
구독 주제에
을 입력한 다음 주제 구독을 선택합니다.your-thing-name
/example/topic
데모 프로젝트가 디바이스에서 성공적으로 실행되면 ‘Hello World!’가 구독한 주제로 여러 번 전송된 것을 볼 수 있습니다.
idf.py 스크립트를 사용하여 무료RTOS 데모 프로젝트를 빌드, 플래시 및 실행합니다.
Espressif의 IDF 유틸리티를 사용하여 빌드 파일을 생성하고, 애플리케이션 바이너리를 빌드하고, 보드를 플래시할 수 있습니다.
Windows, Linux 및 macOS에서 빌드 및 플래시 무료RTOS(ESP-IDF v4.2)
idf.py
스크립트를 사용하여 프로젝트를 빌드하고 바이너리를 디바이스에 플래시합니다.
참고
다음 예제와 같이 일부 설정에서는 idf.py
에서 포트 옵션 -p port-name
을 사용하여 올바른 포트를 지정해야 할 수도 있습니다.
idf.py -p /dev/cu.usbserial-00101301B flash
프로젝트를 빌드하고 플래시하려면
-
무료RTOS 다운로드 디렉터리의 루트로 이동합니다.
-
명령줄 창에서 다음 명령을 입력하여 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
-
build
디렉터리에서 cmake를 구성하고 다음 명령을 사용하여 펌웨어 이미지를 빌드합니다.idf.py -DVENDOR=espressif -DBOARD=esp32s2_saola_1 -DCOMPILER=xtensa-esp32s2 build
다음 예제와 같은 출력이 표시됩니다.
Executing action: all (aliases: build) Running cmake in directory /path/to/hello_world/build Executing "cmake -G Ninja -DPYTHON_DEPS_CHECKED=1 -DESP_PLATFORM=1 -DVENDOR=espressif -DBOARD=esp32s2_saola_1 -DCOMPILER=xtensa-esp32s2 -DCCACHE_ENABLE=0 /path/to/hello_world"... -- The C compiler identification is GNU 8.4.0 -- The CXX compiler identification is GNU 8.4.0 -- The ASM compiler identification is GNU ... (more lines of build system output) [1628/1628] Generating binary image from built executable esptool.py v3.0 Generated /path/to/hello_world/build/aws_demos.bin Project build complete. To flash, run this command: esptool.py -p (PORT) -b 460800 --before default_reset --after hard_reset --chip esp32s2 write_flash --flash_mode dio --flash_size detect --flash_freq 80m 0x1000 build/bootloader/bootloader.bin 0x8000 build/partition_table/partition-table.bin 0x16000 build/ota_data_initial.bin 0x20000 build/aws_demos.bin or run 'idf.py -p (PORT) flash'
오류가 없는 경우 빌드는 펌웨어 바이너리 .bin 파일을 생성합니다.
-
다음 명령을 사용하여 개발 보드의 플래시 메모리를 지웁니다.
idf.py erase_flash
-
idf.py
스크립트를 사용하여 애플리케이션 바이너리를 보드에 플래시합니다.idf.py flash
-
다음 명령을 사용하여 보드의 직렬 포트 출력을 모니터링합니다.
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 빌드 시스템을 지원합니다.
프로젝트를 빌드하고 플래시하려면
-
명령줄 창에서 무료RTOS 다운로드 디렉터리의 루트로 이동합니다.
-
다음 스크립트를 실행하여 쉘의 에 ESP-IDF 도구를 추가합니다PATH.
-
Windows
vendors\espressif\esp-idf\export.bat
-
Linux/macOS
source vendors/espressif/esp-idf/export.sh
-
-
다음 명령을 입력하여 빌드 파일을 생성합니다.
-
Unix Makefile 사용
cmake -DVENDOR=espressif -DBOARD=esp32s2_saola_1 -DCOMPILER=xtensa-esp32s2 -S . -B ./
YOUR_BUILD_DIRECTORY
-DAFR_ENABLE_ALL_MODULES=1 -DAFR_ENABLE_TESTS=0 -
Ninja 사용
cmake -DVENDOR=espressif -DBOARD=esp32s2_saola_1 -DCOMPILER=xtensa-esp32s2 -S . -B ./
YOUR_BUILD_DIRECTORY
-DAFR_ENABLE_ALL_MODULES=1 -DAFR_ENABLE_TESTS=0 -GNinja
-
-
프로젝트를 빌드합니다.
-
Unix Makefile 사용
make -C ./
YOUR_BUILD_DIRECTORY
-j8 -
Ninja 사용
ninja -C ./
YOUR_BUILD_DIRECTORY
-j8
-
-
플래시를 지운 다음 보드를 플래시합니다.
-
Unix Makefile 사용
make -C ./
YOUR_BUILD_DIRECTORY
erase_flashmake -C ./
YOUR_BUILD_DIRECTORY
flash -
Ninja 사용
ninja -C ./
YOUR_BUILD_DIRECTORY
erase_flashninja -C ./
YOUR_BUILD_DIRECTORY
flash
-
추가 정보
Espressif ESP32 보드 사용 및 문제 해결에 대한 자세한 내용은 다음 주제를 참조하세요.