Memulai dengan ESP32 Espressif -WROOM-32SE - FreeRTOS

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

Ini adalah versi arsip dari Panduan Pengguna FreeRTOS untuk digunakan dengan rilis FreerTOS 202012.00. Untuk versi terbaru dari dokumen ini, lihat Panduan Pengguna FreeRTOS.

Ikuti tutorial ini untuk memulai dengan Espressif ESP32 -WROOM-32SE. Untuk membeli satu dari mitra kami di katalog Perangkat AWS Mitra, lihat ESP32-WROOM-32SE.

catatan

Saat ini, port FreeRTOS ESP32 untuk -WROOM-32SE tidak mendukung fitur multiprocessing simetris (SMP).

Gambaran Umum

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. Kompilasi silang 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

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.

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

AWS mengirimi Anda 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.comke/ 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 AWS Management Consolesebagai 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 di AWS Sign-In Panduan Pengguna.

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

    Untuk petunjuk, lihat Mengaktifkan perangkat MFA virtual untuk pengguna Akun AWS root (konsol) Anda di Panduan Pengguna IAM.

Buat pengguna dengan akses administratif
  1. Aktifkan Pusat Identitas IAM.

    Untuk mendapatkan petunjuk, silakan lihat Mengaktifkan AWS IAM Identity Center di Panduan Pengguna AWS IAM Identity Center .

  2. 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 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 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 di Panduan AWS IAM Identity Center Pengguna.

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

    Untuk petunjuk, lihat Menambahkan grup di Panduan AWS IAM Identity Center Pengguna.

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

catatan

Rilis FreeRTOS 202012.00 mendukung ESP-IDF v3.3. Jika Anda menggunakan revisi FreeRTOS selanjutnya, ikuti instruksi khusus untuk .2 at. IDFv4 Memulai dengan ESP-IDF v4.2

Memulai dengan ESP-IDF v3.3

Bagian ini menunjukkan cara menggunakan ESP-IDF v3.3 pada perangkat keras Espressif. Untuk menggunakan ESP-IDF v4.2, lihat. Memulai dengan ESP-IDF v4.2

Siapkan perangkat keras Espressif

Lihat Panduan Memulai ESP32 - DevKit C untuk informasi tentang pengaturan perangkat keras papan pengembangan ESP32 -WROOM-32SE.

penting

Ketika Anda mencapai bagian Memulai dari panduan Espressif, berhenti dan kemudian ikuti langkah-langkah di bawah ini.

Siapkan lingkungan pengembangan Anda

Untuk berkomunikasi dengan papan Anda, Anda harus mengunduh dan menginstal rantai alat.

Menyiapkan rantai alat

catatan

ESP-IDF v3.3 (versi yang digunakan FreeRTOS) tidak mendukung versi kompiler terbaru. ESP32 Anda harus menggunakan compiler yang kompatibel dengan versi 3.3 dari ESP-IDF. Lihat tautan sebelumnya. Untuk memeriksa versi kompiler Anda, jalankan perintah berikut.

xtensa-esp32-elf-gcc --version

Untuk mengatur rantai alat, ikuti petunjuk untuk sistem operasi mesin host Anda:

penting

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

Jika Anda mengikuti petunjuk “Dapatkan ESP-IDF” di bawah Langkah Berikutnya, sekarang atau pada kesempatan sebelumnya, Anda harus menghapus variabel IDF_PATH lingkungan dari sistem Anda sebelum melanjutkan. Variabel lingkungan ini secara otomatis diatur jika Anda mengikuti instruksi “Dapatkan ESP-IDF”.

Instal CMake

Sistem CMake build diperlukan untuk membangun demo FreeRTOS dan menguji aplikasi untuk perangkat ini. FreeRTOS mendukung versi 3.13 dan yang lebih baru.

Anda dapat mengunduh versi terbaru CMake dari CMakedari.org. Distribusi sumber dan biner tersedia.

Untuk detail lebih lanjut tentang menggunakan CMake dengan FreeRTOS, lihat. Menggunakan CMake dengan FreeRTOS

Buat koneksi serial

  1. Untuk membuat koneksi serial antara mesin host Anda dan ESP32 -WROOM-32SE, instal driver CP21 0x 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 ketika Anda membangun demo.

Unduh dan konfigurasikan FreeRTOS

Setelah Anda mengatur lingkungan Anda, Anda dapat mengunduh FreeRTOS dari. GitHub Untuk instruksi, lihat file README.md di situs web. GitHub

penting

Perangkat ATECC6 08A 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 Lewati langkah terakhir Untuk memformat AWS IoT kredensil Anda dan ikuti langkah-langkah di bawah ini.

  2. Microchip telah menyediakan beberapa alat skrip untuk membantu pengaturan bagian ATECC6 08A. Arahkan ke freertos/vendors/microchip/secure_elements/app/example_trust_chain_tool direktori, lalu buka README.md file.

  3. Ikuti petunjuk dalam README.md file untuk menyediakan perangkat Anda. Langkah-langkahnya meliputi:

    1. Membuat dan mendaftarkan otoritas sertifikat dengan AWS

    2. Hasilkan kunci Anda pada ATECC6 08A dan ekspor kunci publik dan nomor seri perangkat

    3. Buat sertifikat untuk perangkat dan daftarkan sertifikat itu AWS

  4. Muat sertifikat CA dan sertifikat perangkat ke perangkat dengan mengikuti petunjuk untukPenyediaan kunci mode pengembang.

Bangun, flash, dan jalankan proyek demo FreeRTOS

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

Membangun FreeRTOS di Linux atau macOS (ESP-IDF v3.3)

Jika Anda menggunakan Windows, Anda dapat melompat keMembangun FreeRTOS pada Windows (ESP-IDF v3.3).

Gunakan CMake untuk menghasilkan file build, lalu gunakan Make untuk membangun aplikasi.

Untuk menghasilkan file build aplikasi demo dengan CMake
  1. Arahkan ke root direktori unduhan FreeRTOS Anda.

  2. Di jendela baris perintah, masukkan perintah berikut untuk menghasilkan file build.

    cmake -DVENDOR=espressif -DBOARD=esp32_plus_ecc608a_devkitc -DCOMPILER=xtensa-esp32 -S . -B your-build-directory
    Catatan

    Untuk membangun aplikasi untuk debugging, tambahkan -DCMAKE_BUILD_TYPE=Debug bendera.

    Untuk menghasilkan file build aplikasi pengujian, tambahkan -DAFR_ENABLE_TESTS=1 bendera.

    Kode yang disediakan oleh Espressif menggunakan tumpukan IP ringan (LWiP) sebagai tumpukan jaringan default. Untuk menggunakan tumpukan jaringan FreerTos+TCP sebagai gantinya, tambahkan bendera ke perintah. –DAFR_ESP_FREERTOS_TCP CMake

    Untuk menambahkan dependensi LWiP untuk kode yang disediakan non-vendor, tambahkan baris berikut ke file dependensiCMakeLists.txt, untuk CMake komponen Wi-Fi kustom Anda.

    # Add a dependency on the bluetooth espressif component to the common component set(COMPONENT_REQUIRES lwip)
Untuk membangun aplikasi dengan Make
  1. Buka direktori build tersebut.

  2. Di jendela baris perintah, masukkan perintah berikut untuk membangun aplikasi dengan Make.

    make all -j4
    catatan

    Anda harus membuat file build dengan cmake perintah setiap kali Anda beralih antara aws_demos proyek dan aws_tests proyek.

Membangun FreeRTOS pada Windows (ESP-IDF v3.3)

Di Windows, Anda harus menentukan generator build untuk CMake. Jika tidak, CMake default ke Visual Studio. Espressif secara resmi merekomendasikan sistem build Ninja karena berfungsi di Windows, Linux, dan macOS. Anda harus menjalankan CMake perintah di lingkungan Windows asli seperti cmd atau PowerShell. Menjalankan CMake perintah di lingkungan Linux virtual, seperti MSYS2 atau WSL, tidak didukung.

Gunakan CMake untuk menghasilkan file build, lalu gunakan Make untuk membangun aplikasi.

Untuk menghasilkan file build aplikasi demo dengan CMake
  1. Arahkan ke root direktori unduhan FreeRTOS Anda.

  2. Di jendela baris perintah, masukkan perintah berikut untuk menghasilkan file build.

    cmake -DVENDOR=espressif -DBOARD=esp32_plus_ecc608a_devkitc -DCOMPILER=xtensa-esp32 -GNinja -S . -B your-build-directory
    catatan

    Untuk membangun aplikasi untuk debugging, tambahkan -DCMAKE_BUILD_TYPE=Debug bendera.

    Untuk menghasilkan file build aplikasi pengujian, tambahkan -DAFR_ENABLE_TESTS=1 bendera.

    Kode yang disediakan oleh Espressif menggunakan tumpukan IP ringan (LWiP) sebagai tumpukan jaringan default. Untuk menggunakan tumpukan jaringan FreerTos+TCP sebagai gantinya, tambahkan bendera ke perintah. –DAFR_ESP_FREERTOS_TCP CMake

    Untuk menambahkan dependensi LWiP untuk kode yang disediakan non-vendor, tambahkan baris berikut ke file dependensiCMakeLists.txt, untuk CMake komponen Wi-Fi kustom Anda.

    # Add a dependency on the bluetooth espressif component to the common component set(COMPONENT_REQUIRES lwip)
Untuk membangun aplikasi
  1. Buka direktori build tersebut.

  2. Di jendela baris perintah, masukkan perintah berikut untuk memanggil Ninja untuk membangun aplikasi.

    ninja

    Atau, gunakan CMake antarmuka generik untuk membangun aplikasi.

    cmake --build your-build-directory
    catatan

    Anda harus membuat file build dengan cmake perintah setiap kali Anda beralih antara aws_demos proyek dan aws_tests proyek.

Flash dan jalankan FreeRTOS (ESP-IDF v3.3)

Gunakan utilitas IDF Espressif (freertos/vendors/espressif/esp-idf/tools/idf.py) untuk mem-flash papan Anda, menjalankan aplikasi, dan melihat log.

Untuk menghapus flash papan, navigasikan ke freertos direktori dan masukkan perintah berikut.

./vendors/espressif/esp-idf/tools/idf.py erase_flash -B build-directory

Untuk mem-flash biner aplikasi ke papan Anda, gunakanmake.

make flash

Anda juga dapat menggunakan skrip IDF untuk mem-flash papan Anda.

./vendors/espressif/esp-idf/tools/idf.py flash -B build-directory

Gunakan perintah berikut untuk melihat log:

./vendors/espressif/esp-idf/tools/idf.py monitor -p /dev/ttyUSB1 -B build-directory
Tip

Anda juga dapat menggabungkan perintah ini.

./vendors/espressif/esp-idf/tools/idf.py erase_flash flash monitor -p /dev/ttyUSB1 -B build-directory

Memulai dengan ESP-IDF v4.2

Bagian ini menunjukkan cara menggunakan ESP-IDF v4.2 pada perangkat keras Espressif. Untuk menggunakan ESP-IDF v3.3, lihat. Memulai dengan ESP-IDF v3.3

catatan

Perintah Linux dalam tutorial ini mengharuskan Anda menggunakan shell Bash.

Siapkan perangkat keras Espressif

Untuk informasi tentang menyiapkan perangkat keras papan pengembangan ESP32 -WROOM-32SE, lihat Panduan Memulai ESP32- DevKit C V4.

penting

Saat Anda mencapai bagian Memulai panduan Espressif, hentikan, lalu ikuti langkah-langkah di bawah ini.

Siapkan lingkungan pengembangan Anda

Untuk berkomunikasi dengan papan Anda, Anda perlu mengunduh dan menginstal rantai alat.

Siapkan rantai alat

Untuk mengatur rantai alat, ikuti petunjuk untuk sistem operasi mesin host Anda:

penting

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

Selesaikan instalasi (Linux/Mac)

Installer Windows ESP-IDF menginstal semua alat yang diperlukan. Platform Linux dan MAC OSX memerlukan langkah tambahan untuk menyelesaikan instalasi.

Buka jendela baris perintah, 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

Selanjutnya, tambahkan alat toolchain ESP-IDF ke jalur terminal Anda dengan perintah berikut.

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

Buat koneksi serial

  1. Untuk membuat koneksi serial antara mesin host Anda dan ESP32 -WROOM-32SE, instal driver CP21 0x 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 ketika Anda membangun demo.

Unduh dan konfigurasikan FreeRTOS

Setelah Anda mengatur lingkungan Anda, Anda dapat mengunduh FreeRTOS dari. GitHub Untuk instruksi, lihat file README.md di situs web. GitHub

penting

Perangkat ATECC6 08A 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 Ketika Anda sampai ke langkah terakhir Untuk memformat AWS IoT kredensional Anda BERHENTI dan ikuti langkah-langkah di bawah ini sebagai gantinya.

  2. Microchip telah menyediakan beberapa alat skrip untuk membantu pengaturan bagian ATECC6 08A. Arahkan ke freertos/vendors/microchip/secure_elements/app/example_trust_chain_tool direktori, dan buka README.md file.

  3. Ikuti petunjuk dalam README.md file untuk menyediakan perangkat Anda. Langkah-langkahnya meliputi:

    1. Membuat dan mendaftarkan otoritas sertifikat dengan AWS

    2. Hasilkan kunci Anda pada ATECC6 08A dan ekspor kunci publik dan nomor seri perangkat

    3. Buat sertifikat untuk perangkat dan daftarkan sertifikat itu AWS

  4. Muat sertifikat CA dan sertifikat perangkat ke perangkat dengan mengikuti petunjuk untukPenyediaan kunci mode pengembang.

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 (ESP-IDF v4.2)

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 alat ESP-IDF ke PATH terminal Anda:

    Windows

    vendors\espressif\esp-idf\export.bat

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

  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
catatan

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 skrip idf.py 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 alat ESP-IDF 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=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
  4. 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

Memantau pesan MQTT di Cloud AWS

Anda dapat menggunakan klien MQTT di AWS IoT konsol untuk memantau pesan yang dikirim perangkat Anda ke Cloud. AWS

Untuk berlangganan topik MQTT dengan klien MQTT AWS IoT
  1. Masuk ke konsol AWS IoT tersebut.

  2. Di panel navigasi, pilih Uji untuk membuka klien MQTT.

  3. Dalam Subscription topic, masukkanyour-thing-name/example/topic, lalu pilih Subscribe to topic.

Informasi tambahan

Untuk informasi tambahan tentang penggunaan dan pemecahan masalah ESP32 papan Espressif, lihat topik berikut: