View a markdown version of this page

Memulai dengan Espressif ESP32-S2 - FreeRTOS

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

penting

Integrasi referensi ini di-host di Amazon-FreeRTOS repositori yang tidak digunakan lagi. Kami menyarankan Anda mulai di sini 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

Tutorial ini menunjukkan kepada Anda bagaimana memulai dengan Espressif ESP32-S2 SoC dan ESP32-S2-Saola-1papan pengembangan.

Ikhtisar

Tutorial ini memandu Anda melalui langkah-langkah berikut:

  1. Hubungkan papan Anda ke mesin host.

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

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

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

  5. Pantau dan debug aplikasi yang sedang berjalan 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

Untuk memulai AWS, Anda membutuhkan Akun AWS. Untuk informasi tentang membuat Akun AWS, lihat Memulai dengan Akun AWS di Panduan AWS Account Management Referensi.

Untuk memberikan akses dan menambahkan izin bagi pengguna, grup, atau peran Anda:

Memulai

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.

    penting

    Ketika Anda mencapai bagian Memulai dari panduan Espressif, berhenti, dan kemudian kembali ke instruksi di halaman ini.

  2. Unduh Amazon GitHubFreeRTOS dari. (Untuk instruksi, lihat README.mdfile.)

  3. 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 untuk Windows.

    2. Jalankan Pemasang Online Universal.

    3. Ketika Anda sampai ke langkah Unduh atau gunakan ESP-IDF, pilih Gunakan ESP-IDF direktori yang ada dan atur Pilih ESP-IDF direktori yang adafreertos/vendors/espressif/esp-idf.

    4. Selesaikan instalasi.

    macOS

    1. Ikuti petunjuk dalam Pengaturan Standar prasyarat Toolchain (ESP-IDF v4.2) untuk macOS.

      penting

      Ketika Anda mencapai instruksi “Dapatkan ESP-IDF” di bawah Langkah Berikutnya, berhenti, dan kemudian kembali ke instruksi di halaman ini.

    2. Buka jendela baris perintah.

    3. 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
    4. 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 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.

    2. Buka jendela baris perintah.

    3. 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
    4. Tambahkan alat ESP-IDF toolchain ke jalur terminal Anda dengan perintah berikut.

      source vendors/espressif/esp-idf/export.sh
  4. 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.

    2. Ikuti langkah-langkah untuk Membuat Koneksi Serial dengan ESP32.

    3. 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 difreertos/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.

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

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

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

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

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

  3. 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 selengkapnyaSetupAWS.py, lihat README.md di freertos/tools/aws_config_quick_start direktori.

Memantau pesan MQTT di AWS Cloud

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

  2. Di panel navigasi, pilih Uji, lalu pilih MQTT Test Client.

  3. Dalam Subscription topic, masukkanyour-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

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

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.

  2. 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
  3. 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.

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

    idf.py erase_flash
  5. Gunakan idf.py skrip untuk mem-flash biner aplikasi ke papan Anda.

    idf.py flash
  6. 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

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.

  2. 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
  3. 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
  4. Bangun proyek.

    • Dengan Unix Makefiles

      make -C ./YOUR_BUILD_DIRECTORY -j8
    • Dengan Ninja

      ninja -C ./YOUR_BUILD_DIRECTORY -j8
  5. 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 papan Espressif ESP32, lihat topik berikut: