

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

# Memulai dengan ESP32 Espressif -WROOM-32SE


**penting**  <a name="deprecation-message"></a>
Integrasi referensi ini di-host di repositori Amazon-Freertos 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 sudah ada berdasarkan repositori Amazon-Freertos yang sekarang tidak digunakan lagi, lihat. [Panduan Migrasi Repositori Github Amazon-freertos](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 -C3. ESP32](https://www.freertos.org/featured-freertos-iot-integration-targeting-an-espressif-esp32-c3-risc-v-mcu/) 
Saat ini, port FreeRTOS ESP32 untuk -WROOM-32SE tidak mendukung fitur multiprocessing simetris (SMP).

Tutorial ini menunjukkan cara memulai dengan Espressif ESP32 -WROOM-32SE. Untuk membeli satu dari mitra kami di katalog Perangkat AWS Mitra, lihat [ESP32-WROOM-32SE.](https://devices.amazonaws.com/detail/a3G0h0000077nRtEAI/ESP32-WROOM-32SE)

## Ikhtisar


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. Kompilasi silang 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 dengan menggunakan koneksi serial.

## Prasyarat


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

### Mendaftar untuk Akun AWS


Jika Anda tidak memiliki Akun AWS, selesaikan langkah-langkah berikut untuk membuatnya.

**Untuk mendaftar untuk Akun AWS**

1. Buka [https://portal.aws.amazon.com/billing/pendaftaran.](https://portal.aws.amazon.com/billing/signup)

1. Ikuti petunjuk online.

   Bagian dari prosedur pendaftaran melibatkan menerima panggilan telepon atau pesan teks dan memasukkan kode verifikasi pada keypad telepon.

   Saat Anda mendaftar untuk sebuah Akun AWS, sebuah *Pengguna root akun AWS*dibuat. Pengguna root memiliki akses ke semua Layanan AWS dan sumber daya di akun. Sebagai praktik keamanan terbaik, tetapkan akses administratif ke pengguna, dan gunakan hanya pengguna root untuk melakukan [tugas yang memerlukan akses pengguna root](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html#root-user-tasks).

AWS mengirimkan email konfirmasi setelah proses pendaftaran selesai. Kapan saja, Anda dapat melihat aktivitas akun Anda saat ini dan mengelola akun Anda dengan masuk [https://aws.amazon.com.rproxy.govskope.cake/](https://aws.amazon.com/) dan memilih **Akun Saya**.

### Buat pengguna dengan akses administratif


Setelah Anda mendaftar Akun AWS, amankan Pengguna root akun AWS, aktifkan AWS IAM Identity Center, dan buat pengguna administratif sehingga Anda tidak menggunakan pengguna root untuk tugas sehari-hari.

**Amankan Anda Pengguna root akun AWS**

1.  Masuk ke [Konsol Manajemen AWS](https://console.aws.amazon.com/)sebagai pemilik akun dengan memilih **pengguna Root** dan memasukkan alamat Akun AWS email Anda. Di laman berikutnya, masukkan kata sandi.

   Untuk bantuan masuk dengan menggunakan pengguna root, lihat [Masuk sebagai pengguna root](https://docs.aws.amazon.com/signin/latest/userguide/console-sign-in-tutorials.html#introduction-to-root-user-sign-in-tutorial) di *AWS Sign-In Panduan Pengguna*.

1. Mengaktifkan autentikasi multi-faktor (MFA) untuk pengguna root Anda.

   Untuk petunjuk, lihat [Mengaktifkan perangkat MFA virtual untuk pengguna Akun AWS root (konsol) Anda](https://docs.aws.amazon.com/IAM/latest/UserGuide/enable-virt-mfa-for-root.html) di Panduan Pengguna *IAM*.

**Buat pengguna dengan akses administratif**

1. Aktifkan Pusat Identitas IAM.

   Untuk mendapatkan petunjuk, silakan lihat [Mengaktifkan AWS IAM Identity Center](https://docs.aws.amazon.com//singlesignon/latest/userguide/get-set-up-for-idc.html) di *Panduan Pengguna AWS IAM Identity Center *.

1. Di Pusat Identitas IAM, berikan akses administratif ke pengguna.

   Untuk tutorial tentang menggunakan Direktori Pusat Identitas IAM sebagai sumber identitas Anda, lihat [Mengkonfigurasi akses pengguna dengan default Direktori Pusat Identitas IAM](https://docs.aws.amazon.com//singlesignon/latest/userguide/quick-start-default-idc.html) di *Panduan AWS IAM Identity Center Pengguna*.

**Masuk sebagai pengguna dengan akses administratif**
+ Untuk masuk dengan pengguna Pusat Identitas IAM, gunakan URL masuk yang dikirim ke alamat email saat Anda membuat pengguna Pusat Identitas IAM.

  Untuk bantuan masuk menggunakan pengguna Pusat Identitas IAM, lihat [Masuk ke portal AWS akses](https://docs.aws.amazon.com/signin/latest/userguide/iam-id-center-sign-in-tutorial.html) di *Panduan AWS Sign-In Pengguna*.

**Tetapkan akses ke pengguna tambahan**

1. Di Pusat Identitas IAM, buat set izin yang mengikuti praktik terbaik menerapkan izin hak istimewa paling sedikit.

   Untuk petunjuknya, lihat [Membuat set izin](https://docs.aws.amazon.com//singlesignon/latest/userguide/get-started-create-a-permission-set.html) di *Panduan AWS IAM Identity Center Pengguna*.

1. Tetapkan pengguna ke grup, lalu tetapkan akses masuk tunggal ke grup.

   Untuk petunjuk, lihat [Menambahkan grup](https://docs.aws.amazon.com//singlesignon/latest/userguide/addgroups.html) di *Panduan AWS IAM Identity Center Pengguna*.

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


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

1. **Siapkan perangkat keras Espressif.**

   Untuk informasi tentang menyiapkan perangkat keras papan pengembangan ESP32 -WROOM-32SE, lihat Panduan Memulai [ ESP32- DevKit C](https://docs.espressif.com/projects/esp-idf/en/release-v4.2/esp32/get-started/index.html#installation-step-by-step) V4.
**penting**  
Ketika Anda mencapai bagian **Instalasi Langkah demi Langkah** dari panduan ini, ikuti sampai Anda menyelesaikan Langkah 4 (Siapkan variabel lingkungan). Berhenti setelah Anda menyelesaikan Langkah 4 dan ikuti langkah-langkah yang tersisa di sini.

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

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 sendiri dari FreeRTOS Kernel terintegrasi sebagai komponen, Amazon FreeRTOS menyertakan versi kustom 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 [Pemasang Online Universal](https://dl.espressif.com/dl/esp-idf/?idf=4.2) ESP-IDF untuk Windows.

   1. Jalankan **Pemasang Online Universal**.

   1. **Ketika Anda sampai ke langkah **Unduh atau gunakan ESP-IDF, pilih Gunakan direktori ESP-IDF** **yang ada dan atur Pilih direktori ESP-IDF** yang ada ke.** `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/esp32/get-started/macos-setup.html) untuk macOS.
**penting**  
Ketika Anda mencapai petunjuk “Dapatkan ESP-IDF” di bawah **Langkah Berikutnya**, berhenti, dan kemudian kembali ke petunjuk 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 toolchain ESP-IDF 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 v4.2)](https://docs.espressif.com/projects/esp-idf/en/release-v4.2/esp32/get-started/linux-setup.html) untuk Linux.
**penting**  
Ketika Anda mencapai petunjuk “Dapatkan ESP-IDF” di bawah **Langkah Berikutnya**, berhenti, dan kemudian kembali ke petunjuk 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 toolchain ESP-IDF 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 -WROOM-32SE, instal driver VCP CP210x USB ke UART Bridge. 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


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`.) 

**penting**  
Perangkat ATECC608 A memiliki inisialisasi satu kali yang dikunci ke perangkat saat pertama kali proyek dijalankan (selama panggilan ke`C_InitToken`). Namun, proyek demo FreeRTOS dan proyek pengujian memiliki konfigurasi yang berbeda. Jika perangkat terkunci selama konfigurasi proyek demo, tidak semua pengujian dalam proyek pengujian akan berhasil.

1. Konfigurasikan Proyek Demo FreeRTOS dengan mengikuti langkah-langkah di. [Mengkonfigurasi demo FreeRTOS](freertos-prereqs.md#freertos-configure) Saat Anda sampai ke langkah terakhir **Untuk memformat AWS IoT kredensil Anda**, hentikan, dan lakukan langkah-langkah berikut.

1. Microchip telah menyediakan beberapa alat skrip untuk membantu pengaturan bagian ATECC608 A. Arahkan ke `freertos/vendors/microchip/example_trust_chain_tool` direktori, dan buka `README.md` file.

1. Untuk menyediakan perangkat Anda, ikuti instruksi dalam `README.md` file. Langkah-langkahnya meliputi:

   1. Buat dan daftarkan otoritas sertifikat dengan AWS.

   1. Hasilkan kunci Anda di ATECC608 A dan ekspor kunci publik dan nomor seri perangkat.

   1. Buat sertifikat untuk perangkat dan daftarkan sertifikat itu AWS.

1. Muat sertifikat CA dan sertifikat perangkat ke perangkat dengan mengikuti petunjuk untuk[Penyediaan kunci mode pengembang](dev-mode-key-provisioning.md).

### Memantau pesan MQTT di Cloud AWS


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 klien MQTT AWS IoT**

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**.

### Bangun, flash, dan jalankan proyek demo FreeRTOS menggunakan skrip idf.py


Anda dapat menggunakan utilitas IDF Espressif (`idf.py`) untuk menghasilkan file build, membangun biner aplikasi, dan mem-flash binari ke perangkat Anda.

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

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

**Membangun dan mem-flash FreeRTOS di Windows, Linux, dan macOS (ESP-IDF v4.2)**

1. Arahkan ke root direktori unduhan FreeRTOS Anda.

1. Di jendela baris perintah, masukkan perintah berikut untuk menambahkan alat ESP-IDF 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=esp32_ecc608a_devkitc -DCOMPILER=xtensa-esp32 build
   ```

   Anda akan melihat output seperti contoh berikut ini.

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

   Jika tidak ada kesalahan, build akan 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
     ```

### Membangun dan Flash FreeRTOS dengan CMake


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 alat ESP-IDF 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=esp32_plus_ecc608a_devkitc -DCOMPILER=xtensa-esp32 -S . -B ./YOUR_BUILD_DIRECTORY -DAFR_ENABLE_ALL_MODULES=1 -DAFR_ENABLE_TESTS=0
   ```  
**Dengan 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
   ```

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


Untuk informasi selengkapnya tentang penggunaan dan pemecahan masalah ESP32 papan Espressif, lihat topik berikut:
+ [Menggunakan FreeRTOS dalam proyek Anda sendiri untuk CMake 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)