

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Memulai dengan Espressif ESP32-S2
<a name="getting_started_esp32-s2"></a>

**penting**  <a name="deprecation-message"></a>
Integrasi referensi ini di-host di Amazon-FreeRTOS repositori yang tidak digunakan lagi. Kami menyarankan Anda [mulai di sini](freertos-getting-started-modular.md) ketika Anda membuat proyek baru. Jika Anda sudah memiliki proyek FreeRTOS yang ada berdasarkan repositori yang sekarang tidak digunakan lagi, Amazon-FreeRTOS lihat. [Amazon-FreeRTOS Panduan Migrasi Repositori Github](github-repo-migration.md)

**catatan**  
[Untuk mengeksplorasi cara mengintegrasikan pustaka dan demo modular FreeRTOS dalam proyek Espressif IDF Anda sendiri, lihat integrasi referensi unggulan kami untuk platform. ESP32-C3 ](https://www.freertos.org/featured-freertos-iot-integration-targeting-an-espressif-esp32-c3-risc-v-mcu/) 

Tutorial ini menunjukkan kepada Anda bagaimana memulai dengan Espressif ESP32-S2 SoC dan [ESP32-S2-Saola-1](https://devices.amazonaws.com/detail/a3G0h00000AkFngEAF/ESP32-S2-Saola-1)papan pengembangan.

## Ikhtisar
<a name="getting_started_esp32-s2-overview"></a>

Tutorial ini memandu Anda melalui langkah-langkah berikut:

1. Hubungkan papan Anda ke mesin host.

1. Instal perangkat lunak pada mesin host Anda untuk mengembangkan dan men-debug aplikasi tertanam untuk papan mikrokontroler Anda.

1. Cross-compile aplikasi demo FreeRTOS ke gambar biner.

1. Muat gambar biner aplikasi ke papan Anda, lalu jalankan aplikasi.

1. Pantau dan debug aplikasi yang sedang berjalan menggunakan koneksi serial.

## Prasyarat
<a name="setup-esp32-s2-prereqs"></a>

Sebelum Anda memulai dengan FreeRTOS di papan Espressif Anda, Anda harus mengatur akun dan izin Anda. AWS 

### Mendaftar untuk Akun AWS
<a name="sign-up-for-aws"></a>

Untuk memulai AWS, Anda membutuhkan Akun AWS. Untuk informasi tentang membuat Akun AWS, lihat [Memulai dengan Akun AWS](https://docs.aws.amazon.com//accounts/latest/reference/getting-started.html) di *Panduan AWS Account Management Referensi*.

Untuk memberikan akses dan menambahkan izin bagi pengguna, grup, atau peran Anda:
+ Pengguna dan grup di AWS IAM Identity Center:

  Buat rangkaian izin. Ikuti instruksi di [Buat rangkaian izin](https://docs.aws.amazon.com//singlesignon/latest/userguide/howtocreatepermissionset.html) dalam *Panduan Pengguna AWS IAM Identity Center *.
+ Pengguna yang dikelola di IAM melalui penyedia identitas:

  Buat peran untuk federasi identitas. Ikuti instruksi dalam [Buat peran untuk penyedia identitas pihak ketiga (federasi)](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-idp.html) dalam *Panduan Pengguna IAM*.
+ Pengguna IAM:
  + Buat peran yang dapat diambil pengguna Anda. Ikuti instruksi dalam [Buat peran untuk pengguna IAM](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-user.html) dalam *Panduan Pengguna IAM*.
  + (Tidak disarankan) Lampirkan kebijakan langsung ke pengguna atau tambahkan pengguna ke grup pengguna. Ikuti petunjuk dalam [Menambahkan izin ke pengguna (konsol)](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_users_change-permissions.html#users_change_permissions-add-console) dalam *Panduan Pengguna IAM*.

## Memulai
<a name="setup-esp32-s2-idf42"></a>

**catatan**  
Perintah Linux dalam tutorial ini mengharuskan Anda menggunakan shell Bash.

1. **Siapkan perangkat keras Espressif.**

   Untuk informasi tentang menyiapkan perangkat keras papan ESP32-S2 pengembangan, lihat [Panduan ESP32-S2-Saola-1 Memulai](https://docs.espressif.com/projects/esp-idf/en/release-v4.2/esp32s2/hw-reference/esp32s2/user-guide-saola-1-v1.2.html).
**penting**  
Ketika Anda mencapai bagian **Memulai** dari panduan Espressif, berhenti, dan kemudian kembali ke instruksi di halaman ini.

1. Unduh Amazon [GitHub](https://github.com/aws/amazon-freertos)FreeRTOS dari. (Untuk instruksi, lihat [README.md](https://github.com/aws/amazon-freertos/blob/main/README.md)file.)

1. **Siapkan lingkungan pengembangan Anda**.

   Untuk berkomunikasi dengan papan Anda, Anda harus menginstal rantai alat. Espressif menyediakan ESP-IDF untuk mengembangkan perangkat lunak untuk papan mereka. Karena ESP-IDF memiliki versi FreeRTOS Kernel sendiri yang terintegrasi sebagai komponen, Amazon FreerTOS menyertakan versi kustom dari ESP-IDF v4.2 yang memiliki FreeRTOS Kernel dihapus. Ini memperbaiki masalah dengan file duplikat saat Anda mengkompilasi. Untuk menggunakan versi kustom ESP-IDF v4.2 yang disertakan dengan Amazon FreeRTOS, ikuti petunjuk di bawah ini untuk sistem operasi mesin host Anda.

   **Windows**

   1. Unduh ESP-IDF [Universal Online Installer](https://dl.espressif.com/dl/esp-idf/?idf=4.2) untuk Windows.

   1. Jalankan **Pemasang Online Universal**.

   1. Ketika Anda sampai ke langkah **Unduh atau gunakan ESP-IDF**, pilih **Gunakan ESP-IDF direktori yang ada** dan atur **Pilih ESP-IDF direktori yang ada**`{{freertos}}/vendors/espressif/esp-idf`.

   1. Selesaikan instalasi.

   **macOS**

   1. Ikuti petunjuk dalam [Pengaturan Standar prasyarat Toolchain (ESP-IDF v4.2](https://docs.espressif.com/projects/esp-idf/en/release-v4.2/esp32s2/get-started/macos-setup.html)) untuk macOS.
**penting**  
Ketika Anda mencapai instruksi “Dapatkan ESP-IDF” di bawah **Langkah Berikutnya**, berhenti, dan kemudian kembali ke instruksi di halaman ini.

   1. Buka jendela baris perintah.

   1. Arahkan ke direktori unduhan FreeRTOS, lalu jalankan skrip berikut untuk mengunduh dan menginstal rantai alat espressif untuk platform Anda.

      ```
      vendors/espressif/esp-idf/install.sh
      ```

   1. Tambahkan alat ESP-IDF toolchain ke jalur terminal Anda dengan perintah berikut.

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

   **Linux**

   1. Ikuti petunjuk dalam [Pengaturan Standar prasyarat Toolchain (ESP-IDF ](https://docs.espressif.com/projects/esp-idf/en/release-v4.2/esp32s2/get-started/linux-setup.html)v4.2) untuk Linux.
**penting**  
Ketika Anda mencapai instruksi “Dapatkan ESP-IDF” di bawah **Langkah Berikutnya**, berhenti, dan kemudian kembali ke instruksi di halaman ini.

   1. Buka jendela baris perintah.

   1. Arahkan ke direktori unduhan FreeRTOS, lalu jalankan skrip berikut untuk mengunduh dan menginstal rantai alat Espressif untuk platform Anda.

      ```
      vendors/espressif/esp-idf/install.sh
      ```

   1. Tambahkan alat ESP-IDF toolchain ke jalur terminal Anda dengan perintah berikut.

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

1. **Buat koneksi serial.**

   1. Untuk membuat koneksi serial antara mesin host Anda dan ESP32-DevKitC, instal driver CP210x USB ke UART Bridge VCP. Anda dapat mengunduh driver ini dari [Silicon Labs](https://www.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers).

   1. Ikuti langkah-langkah untuk Membuat [Koneksi Serial dengan ESP32](https://docs.espressif.com/projects/esp-idf/en/release-v4.2/esp32/get-started/establish-serial-connection.html). 

   1. Setelah Anda membuat koneksi serial, catat port serial untuk koneksi papan Anda. Anda membutuhkannya untuk mem-flash demo.

### Konfigurasikan aplikasi demo FreeRTOS
<a name="configure-demos-esp32-s2-idf42"></a>

Untuk tutorial ini, file konfigurasi FreeRTOS terletak di. `{{freertos}}/vendors/espressif/boards/{{board-name}}/aws_demos/config_files/FreeRTOSConfig.h` (Misalnya, jika `AFR_BOARD espressif.esp32_devkitc` dipilih, file konfigurasi terletak di`{{freertos}}/vendors/espressif/boards/esp32/aws_demos/config_files/FreeRTOSConfig.h`.) 

1. Jika Anda menjalankan macOS atau Linux, buka prompt terminal. Jika Anda menjalankan Windows, buka aplikasi "ESP-IDF 4.x CMD” (jika Anda menyertakan opsi ini saat Anda menginstal ESP-IDF rantai alat), atau aplikasi “Command Prompt” sebaliknya. 

1. Untuk memverifikasi bahwa Anda telah menginstal Python3, jalankan yang berikut ini:

   ```
   python --version
   ```

   Versi yang diinstal ditampilkan. [Jika Anda tidak menginstal Python 3.0.1 atau yang lebih baru, Anda dapat menginstalnya dari situs web Python.](https://www.python.org/downloads/)

1. Anda memerlukan AWS Command Line Interface (CLI) untuk menjalankan AWS IoT perintah. Jika Anda menjalankan Windows, gunakan `easy_install awscli` perintah untuk menginstal AWS CLI di aplikasi “Command” atau “ESP-IDF 4.x CMD”. 

   Jika Anda menjalankan macOS atau Linux, lihat [Menginstal CLI AWS](https://docs.aws.amazon.com/cli/latest/userguide/installing.html).

1. Jalankan .

   ```
   aws configure
   ```

   dan konfigurasikan AWS CLI dengan ID kunci AWS akses Anda, kunci akses rahasia, dan Wilayah default AWS . Untuk informasi selengkapnya, lihat [Mengonfigurasi AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html).

1. Gunakan perintah berikut untuk menginstal AWS SDK untuk Python (boto3):
   + Di Windows, di aplikasi “Command” atau "ESP-IDF 4.x CMD”, jalankan

     ```
     easy_install boto3
     ```
   + Di macOS atau Linux, jalankan

     ```
     pip install tornado nose --user
     ```

     dan kemudian lari

     ```
     pip install boto3 --user
     ```

FreeRTOS menyertakan `SetupAWS.py` skrip untuk membuatnya lebih mudah untuk mengatur papan Espressif Anda untuk terhubung. AWS IoT

**Untuk menjalankan skrip konfigurasi**

1. Untuk mengkonfigurasi skrip, buka `{{freertos}}/tools/aws_config_quick_start/configure.json` dan atur atribut berikut:   
**`afr_source_dir`**  
Jalur lengkap ke `{{freertos}}` direktori di komputer Anda. Pastikan Anda menggunakan garis miring maju untuk menentukan jalur ini.  
**`thing_name`**  
Nama yang ingin Anda tetapkan untuk AWS IoT hal yang mewakili papan Anda.  
**`wifi_ssid`**  
SSID Wi-Fi jaringan Anda.  
**`wifi_password`**  
Kata sandi untuk Wi-Fi jaringan Anda.  
**`wifi_security`**  
Jenis keamanan untuk Wi-Fi jaringan Anda. Berikut ini adalah jenis keamanan yang valid:  
   + `eWiFiSecurityOpen`(Terbuka, tidak ada keamanan)
   + `eWiFiSecurityWEP`(Keamanan WEP)
   + `eWiFiSecurityWPA`(Keamanan WPA)
   + `eWiFiSecurityWPA2`(Keamanan WPA2)

1. Jika Anda menjalankan macOS atau Linux, buka prompt terminal. Jika Anda menjalankan Windows, buka aplikasi “ESP-IDF 4.x CMD” atau “Command”. 

1. Arahkan ke `{{freertos}}/tools/aws_config_quick_start` direktori dan jalankan

   ```
   python SetupAWS.py setup
   ```

   Script melakukan hal berikut:
   + Membuat AWS IoT sesuatu, sertifikat, dan kebijakan.
   + Melampirkan AWS IoT kebijakan ke sertifikat dan sertifikat untuk AWS IoT benda itu.
   + Mengisi `aws_clientcredential.h` file dengan AWS IoT endpoint, Wi-Fi SSID, dan kredensialnya.
   + Memformat sertifikat dan kunci pribadi Anda dan menuliskannya ke file `aws_clientcredential_keys.h` header.
**catatan**  
Sertifikat di-hardcode hanya untuk tujuan demonstrasi. Production-level aplikasi harus menyimpan file-file ini di lokasi yang aman.

   Untuk informasi selengkapnya`SetupAWS.py`, lihat `README.md` di `{{freertos}}/tools/aws_config_quick_start` direktori.

### Memantau pesan MQTT di AWS Cloud
<a name="gsg-esp32-s2-monitor-mqtt"></a>

Sebelum menjalankan proyek demo FreeRTOS, Anda dapat mengatur klien MQTT di konsol untuk memantau pesan AWS IoT yang dikirim perangkat Anda ke Cloud. AWS 

**Untuk berlangganan topik MQTT dengan AWS IoT Klien MQTT**

1. Masuk ke [konsol AWS IoT](https://console.aws.amazon.com/iotv2/) tersebut.

1. Di panel navigasi, pilih **Uji**, lalu pilih **MQTT Test** Client.

1. Dalam **Subscription topic**, masukkan`{{your-thing-name}}/example/topic`, lalu pilih **Subscribe to topic**.

Ketika proyek demo berhasil berjalan di perangkat Anda, Anda melihat “Hello World\!” dikirim beberapa kali ke topik yang Anda berlangganan.

### Bangun, flash, dan jalankan proyek demo FreeRTOS menggunakan skrip idf.py
<a name="build-and-run-example-esp32-s2-idf42"></a>

Anda dapat menggunakan utilitas IDF Espressif untuk menghasilkan file build, membangun biner aplikasi, dan mem-flash papan Anda.

#### Membangun dan mem-flash FreeRTOS di Windows, Linux, dan macOS (v4.2) ESP-IDF
<a name="build-esp32-s2-idf42"></a>

Gunakan `idf.py` skrip untuk membangun proyek dan mem-flash binari ke perangkat Anda.

**catatan**  
Beberapa pengaturan mungkin mengharuskan Anda menggunakan opsi `-p port-name` port `idf.py` untuk menentukan port yang benar, seperti pada contoh berikut.  

```
idf.py -p /dev/cu.usbserial-00101301B flash
```

**Untuk membangun dan mem-flash proyek**

1. Arahkan ke root direktori unduhan FreeRTOS Anda.

1. Di jendela baris perintah, masukkan perintah berikut untuk menambahkan ESP-IDF alat ke PATH terminal Anda:   
**Windows (aplikasi “Perintah”)**  

   ```
   vendors\espressif\esp-idf\export.bat
   ```  
**Windows (aplikasi “ESP-IDF 4.x CMD”)**  
(Ini sudah dilakukan saat Anda membuka aplikasi.)  
**Linux/macOS**  

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

1. Konfigurasikan cmake di `build` direktori dan buat gambar firmware dengan perintah berikut.

   ```
   idf.py -DVENDOR=espressif -DBOARD=esp32s2_saola_1 -DCOMPILER=xtensa-esp32s2 build
   ```

   Anda akan melihat output seperti contoh berikut ini.

   ```
   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'
   ```

   Jika tidak ada kesalahan, build menghasilkan file biner firmware .bin.

1. Hapus memori flash papan pengembangan Anda dengan perintah berikut.

   ```
   idf.py erase_flash
   ```

1. Gunakan `idf.py` skrip untuk mem-flash biner aplikasi ke papan Anda.

   ```
   idf.py flash
   ```

1. Pantau output dari port serial papan Anda dengan perintah berikut.

   ```
   idf.py monitor
   ```
**catatan**  
Anda dapat menggabungkan perintah ini seperti pada contoh berikut.  

     ```
     idf.py erase_flash flash monitor
     ```
Untuk pengaturan mesin host tertentu, Anda harus menentukan port saat Anda mem-flash papan seperti pada contoh berikut.  

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

### Bangun dan Flash FreeRTOS dengan CMake
<a name="flash-esp32-s2-cmake-idf42"></a>

Selain menggunakan `idf.py` skrip yang disediakan oleh SDK IDF untuk membangun dan menjalankan kode Anda, Anda juga dapat membangun proyek dengan CMake. Saat ini mendukung Unix Makefile dan sistem build Ninja.

**Untuk membangun dan mem-flash proyek**

1. Di jendela baris perintah, arahkan ke root direktori unduhan FreeRTOS Anda.

1. Jalankan skrip berikut untuk menambahkan ESP-IDF alat ke PATH shell Anda.
   + Windows

     ```
     vendors\espressif\esp-idf\export.bat
     ```
   + Linux/macOS 

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

1. Masukkan perintah berikut untuk menghasilkan file build.
   + Dengan Unix Makefiles

     ```
     cmake -DVENDOR=espressif -DBOARD=esp32s2_saola_1 -DCOMPILER=xtensa-esp32s2 -S . -B ./{{YOUR_BUILD_DIRECTORY}} -DAFR_ENABLE_ALL_MODULES=1 -DAFR_ENABLE_TESTS=0
     ```
   + Dengan 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
     ```

1. Bangun proyek.
   + Dengan Unix Makefiles

     ```
     make -C ./{{YOUR_BUILD_DIRECTORY}} -j8
     ```
   + Dengan Ninja

     ```
     ninja -C ./{{YOUR_BUILD_DIRECTORY}} -j8
     ```

1. Hapus flash dan kemudian flash papan.
   + Dengan Unix Makefiles

     ```
     make -C ./{{YOUR_BUILD_DIRECTORY}} erase_flash
     ```

     ```
     make -C ./{{YOUR_BUILD_DIRECTORY}} flash
     ```
   + Dengan Ninja

     ```
     ninja -C ./{{YOUR_BUILD_DIRECTORY}} erase_flash
     ```

     ```
     ninja -C ./{{YOUR_BUILD_DIRECTORY}} flash
     ```

## Informasi tambahan
<a name="getting_started_esp32-s2-additional"></a>

Untuk informasi selengkapnya tentang penggunaan dan pemecahan masalah papan Espressif ESP32, lihat topik berikut:
+ [Menggunakan FreeRTOS dalam proyek CMake Anda sendiri untuk ESP32](getting_started_espressif.md#getting_started_espressif_cmake_project)
+ [Pemecahan masalah](getting_started_espressif.md#getting_started_espressif_troubleshooting)
+ [Debugging](getting_started_espressif.md#getting_started_espressif_debugging)