View a markdown version of this page

Guida introduttiva a Espressif ESP32-S2 - FreeRTOS

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Guida introduttiva a Espressif ESP32-S2

Importante

Questa integrazione di riferimento è ospitata nel Amazon-FreeRTOS repository che è obsoleto. Ti consigliamo di iniziare da qui quando crei un nuovo progetto. Se hai già un progetto FreeRTOS esistente basato sul Amazon-FreeRTOS repository ora obsoleto, consulta il. Amazon-FreeRTOS Guida alla migrazione del repository Github

Nota

Per scoprire come integrare le librerie e le demo modulari FreeRTOS all'interno del tuo progetto Espressif IDF, consulta la nostra integrazione di riferimento in primo piano per la piattaforma. ESP32-C3

Questo tutorial mostra come iniziare a usare il SoC Espressif e le schede di sviluppo. ESP32-S2 ESP32-S2-Saola-1

Panoramica di

Questo tutorial descrive le seguenti procedure:

  1. Connessione della scheda a un computer host.

  2. Installazione del software sul computer host per lo sviluppo e il debug di applicazioni integrate per la scheda con microcontrollore.

  3. Cross-compile un'applicazione demo FreeRTOS per un'immagine binaria.

  4. Caricamento dell'immagine binaria dell'applicazione sulla scheda in uso e successiva esecuzione dell'applicazione.

  5. Monitoraggio ed esecuzione del debug dell'applicazione in esecuzione utilizzando una connessione seriale.

Prerequisiti

Prima di iniziare a usare FreeRTOS sulla tua scheda Espressif, devi configurare il tuo account e le tue autorizzazioni. AWS

Registrati per un Account AWS

Per iniziare AWS, hai bisogno di un Account AWS. Per informazioni sulla creazione di un Account AWS, vedere Guida introduttiva a Account AWS nella Guida Gestione dell'account AWS di riferimento.

Per fornire l’accesso, aggiungi autorizzazioni agli utenti, gruppi o ruoli:

  • Utenti e gruppi in Centro identità AWS IAM:

    Crea un set di autorizzazioni. Segui le istruzioni riportate nella pagina Create a permission set (Creazione di un set di autorizzazioni) nella Guida per l’utente di Centro identità AWS IAM .

  • Utenti gestiti in IAM tramite un provider di identità:

    Crea un ruolo per la federazione delle identità. Segui le istruzioni riportate nella pagina Create a role for a third-party identity provider (federation) della Guida per l’utente IAM.

  • Utenti IAM:

Nozioni di base

Nota

I comandi Linux in questo tutorial richiedono l'uso della shell Bash.

  1. Configura l'hardware Espressif.

    Per informazioni sulla configurazione dell'hardware della scheda di ESP32-S2 sviluppo, consulta la Guida ESP32-S2-Saola-1 introduttiva.

    Importante

    Quando arrivi alla sezione Guida introduttiva delle guide Espressif, fermati e torna alle istruzioni in questa pagina.

  2. Scarica Amazon FreeRTOS da. GitHub (Per istruzioni, consulta il README.md file.)

  3. Configura il tuo ambiente di sviluppo.

    Per comunicare con la tua scheda, devi installare una toolchain. Espressif fornisce il software ESP-IDF per sviluppare software per le proprie schede. Poiché ESP-IDF ha una propria versione del kernel FreeRTOS integrata come componente, Amazon FreeRTOS include una versione personalizzata della versione 4.2 in cui è stato rimosso il ESP-IDF kernel FreeRTOS. Questo risolve i problemi relativi ai file duplicati durante la compilazione. Per utilizzare la versione personalizzata della versione ESP-IDF 4.2 inclusa in Amazon FreeRTOS, segui le istruzioni riportate di seguito per il sistema operativo della tua macchina host.

    Windows

    1. Scarica l' ESP-IDFUniversal Online Installer per Windows.

    2. Esegui l'Universal Online Installer.

    3. Quando arrivi alla fase Scarica o usa ESP-IDF, seleziona Usa una ESP-IDF directory esistente e imposta Scegli una ESP-IDF directory esistente su. freertos/vendors/espressif/esp-idf

    4. Completa l'installazione.

    macOS

    1. Segui le istruzioni nella configurazione standard dei prerequisiti di Toolchain (ESP-IDF v4.2) per macOS.

      Importante

      Quando trovi le istruzioni «Ottieni ESP-IDF» nella sezione Passaggi successivi, interrompi e torna alle istruzioni in questa pagina.

    2. Aprire una finestra a riga di comando.

    3. Accedi alla directory di download di FreeRTOS, quindi esegui il seguente script per scaricare e installare la toolchain espressif per la tua piattaforma.

      vendors/espressif/esp-idf/install.sh
    4. Aggiungi gli ESP-IDF strumenti della toolchain al percorso del tuo terminale con il seguente comando.

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

    Linux

    1. Segui le istruzioni nella configurazione standard dei prerequisiti di Toolchain (ESP-IDF v4.2) per Linux.

      Importante

      Una volta visualizzate le istruzioni «Ottieni ESP-IDF» nella sezione Procedure successive, interrompi e torna alle istruzioni in questa pagina.

    2. Aprire una finestra a riga di comando.

    3. Accedi alla directory di download di FreeRTOS, quindi esegui il seguente script per scaricare e installare la toolchain Espressif per la tua piattaforma.

      vendors/espressif/esp-idf/install.sh
    4. Aggiungi gli ESP-IDF strumenti della toolchain al percorso del tuo terminale con il seguente comando.

      source vendors/espressif/esp-idf/export.sh
  4. Stabilisci una connessione seriale.

    1. Per stabilire una connessione seriale tra il computer host e il ESP32-DevKitC, installare i driver VCP da USB a UART Bridge CP210x. È possibile scaricare i driver da Silicon Labs.

    2. Segui i passaggi per stabilire una connessione seriale con ESP32.

    3. Dopo aver stabilito una connessione seriale, annotare la porta seriale per la connessione della scheda. Ne hai bisogno per flashare la demo.

Configura le applicazioni demo di FreeRTOS

Per questo tutorial, il file di configurazione di FreeRTOS si trova in. freertos/vendors/espressif/boards/board-name/aws_demos/config_files/FreeRTOSConfig.h (Ad esempio, se AFR_BOARD espressif.esp32_devkitc viene selezionato, il file di configurazione si trova infreertos/vendors/espressif/boards/esp32/aws_demos/config_files/FreeRTOSConfig.h.)

  1. Se utilizzi macOS o Linux, apri un prompt del terminale. Se utilizzi Windows, apri l'app "ESP-IDF 4.x CMD» (se hai incluso questa opzione durante l'installazione della ESP-IDF toolchain), altrimenti l'app «Command Prompt».

  2. Per verificare che Python3 sia installato, esegui quanto segue:

    python --version

    Viene visualizzata la versione installata. Se non hai installato Python 3.0.1 o versioni successive, puoi installarlo dal sito Web di Python. https://www.python.org/downloads/

  3. È necessaria l'interfaccia a riga di AWS comando (CLI) per eseguire i comandi. AWS IoT Se utilizzi Windows, usa il easy_install awscli comando per installare la AWS CLI nell'app «Command» o "ESP-IDF 4.x CMD».

    Se utilizzi macOS o Linux, vedi Installazione della CLI. AWS

  4. Esecuzione

    aws configure

    e configura la AWS CLI con l'ID della chiave di AWS accesso, la chiave di accesso segreta e la regione predefinita. AWS Per ulteriori informazioni, consulta Configurazione di AWS CLI.

  5. Usa il seguente comando per installare l' AWS SDK per Python (boto3):

    • Su Windows, nell'app «Command» o "ESP-IDF 4.x CMD», esegui

      easy_install boto3
    • Su macOS o Linux, esegui

      pip install tornado nose --user

      e poi corri

      pip install boto3 --user

FreeRTOS include lo SetupAWS.py script per semplificare la configurazione della scheda Espressif a cui connettersi. AWS IoT

Per eseguire lo script di configurazione
  1. Per configurare lo script, apri freertos/tools/aws_config_quick_start/configure.json e imposta i seguenti attributi:

    afr_source_dir

    Il percorso completo della directory freertos sul computer. Assicurarsi di utilizzare le barre per specificare questo percorso.

    thing_name

    Il nome che vuoi assegnare all' AWS IoT elemento che rappresenta la tua scheda.

    wifi_ssid

    L'SSID della tua Wi-Fi rete.

    wifi_password

    La password per la tua rete. Wi-Fi

    wifi_security

    Il tipo di sicurezza per la tua Wi-Fi rete. Di seguito sono riportati i tipi di sicurezza validi:

    • eWiFiSecurityOpen (Aperto, nessuna protezione)

    • eWiFiSecurityWEP (Sicurezza WEP)

    • eWiFiSecurityWPA (Sicurezza WPA)

    • eWiFiSecurityWPA2 (Sicurezza WPA2)

  2. Se utilizzi macOS o Linux, apri un prompt del terminale. Se utilizzi Windows, apri l'app "ESP-IDF 4.x CMD» o «Command».

  3. Vai alla freertos/tools/aws_config_quick_start directory ed esegui

    python SetupAWS.py setup

    Lo script svolge le seguenti funzioni:

    • Crea un AWS IoT oggetto, un certificato e una policy.

    • Allega la AWS IoT policy al certificato e il certificato all' AWS IoT oggetto.

    • Compila il aws_clientcredential.h file con l' AWS IoT endpoint, l' Wi-Fi SSID e le credenziali.

    • Formatta il certificato e la chiave privata e li scrive nel file di intestazione. aws_clientcredential_keys.h

    Nota

    Il certificato è codificato solo a scopo dimostrativo. Production-level le applicazioni devono archiviare questi file in un luogo sicuro.

    Per ulteriori informazioni suSetupAWS.py, README.md consulta la freertos/tools/aws_config_quick_start cartella.

Monitoraggio dei messaggi MQTT su AWS Cloud

Prima di eseguire il progetto demo di FreeRTOS, puoi configurare il client MQTT nella AWS IoT console per monitorare i messaggi che il tuo dispositivo invia al Cloud. AWS

Per iscriverti all'argomento MQTT con AWS IoT Client MQTT
  1. Accedere alla AWS IoT console.

  2. Nel pannello di navigazione, scegli Test, quindi scegli MQTT Test Client.

  3. In Argomento sottoscrizione, digitare your-thing-name/example/topic, quindi scegliere Effettua sottoscrizione all'argomento.

Quando il progetto demo viene eseguito correttamente sul tuo dispositivo, viene visualizzato «Hello World!» inviato più volte all'argomento a cui ti sei iscritto.

Crea, esegui il flashing ed esegui il progetto demo di FreeRTOS usando lo script idf.py

Puoi usare l'utilità IDF di Espressif per generare i file di compilazione, compilare il binario dell'applicazione e flashare la tua scheda.

Crea e esegui il flashing di FreeRTOS su Windows, Linux e macOS (v4.2) ESP-IDF

Usa lo idf.py script per creare il progetto e installare i file binari sul tuo dispositivo.

Nota

Alcune configurazioni potrebbero richiedere l'utilizzo dell'opzione port -p port-name with idf.py per specificare la porta corretta, come nell'esempio seguente.

idf.py -p /dev/cu.usbserial-00101301B flash
Per creare e aggiornare il progetto
  1. Vai alla radice della tua directory di download di FreeRTOS.

  2. In una finestra a riga di comando, inserisci il seguente comando per aggiungere ESP-IDF gli strumenti al PATH del tuo terminale:

    Windows (app «Command»)
    vendors\espressif\esp-idf\export.bat
    Windows (app «ESP-IDF 4.x CMD»)

    (Questa operazione è già stata eseguita quando hai aperto l'app.)

    Linux/macOS
    source vendors/espressif/esp-idf/export.sh
  3. Configura cmake nella build directory e crea l'immagine del firmware con il seguente comando.

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

    Dovresti vedere un output come questo nell'esempio seguente.

    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'

    Se non ci sono errori, la build genera i file binari .bin del firmware.

  4. Cancellate la memoria flash della scheda di sviluppo con il seguente comando.

    idf.py erase_flash
  5. Usa lo idf.py script per caricare il file binario dell'applicazione sulla tua scheda.

    idf.py flash
  6. Monitora l'uscita dalla porta seriale della tua scheda con il seguente comando.

    idf.py monitor
    Nota
    • È possibile combinare questi comandi come nell'esempio seguente.

      idf.py erase_flash flash monitor
    • Per alcune configurazioni del computer host, è necessario specificare la porta quando si esegue il flashing della scheda, come nell'esempio seguente.

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

Crea e installa FreeRTOS con CMake

Oltre a utilizzare lo idf.py script fornito dall'IDF SDK per creare ed eseguire il codice, puoi anche creare il progetto con CMake. Attualmente supporta Unix Makefile e il sistema di compilazione Ninja.

Per creare e aggiornare il progetto
  1. In una finestra a riga di comando, vai alla radice della tua directory di download di FreeRTOS.

  2. Esegui il seguente script per aggiungere ESP-IDF gli strumenti al PATH della tua shell.

    • Windows

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

      source vendors/espressif/esp-idf/export.sh
  3. Immetti il seguente comando per generare i file di build.

    • Con 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
    • Con 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. Compilare il progetto.

    • Con Unix Makefiles

      make -C ./YOUR_BUILD_DIRECTORY -j8
    • Con Ninja

      ninja -C ./YOUR_BUILD_DIRECTORY -j8
  5. Cancella il flash e poi fai lampeggiare la lavagna.

    • Con Unix Makefiles

      make -C ./YOUR_BUILD_DIRECTORY erase_flash
      make -C ./YOUR_BUILD_DIRECTORY flash
    • Con Ninja

      ninja -C ./YOUR_BUILD_DIRECTORY erase_flash
      ninja -C ./YOUR_BUILD_DIRECTORY flash

Informazioni aggiuntive

Per ulteriori informazioni sull'utilizzo e la risoluzione dei problemi delle schede Espressif ESP32, consulta i seguenti argomenti: