Guida introduttiva all' ESP32Espressif -WROOM-32SE - 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 all' ESP32Espressif -WROOM-32SE

Importante

Questa è una versione archiviata della FreeRTOS User Guide da utilizzare con la versione FreeRTOS 202012.00. Per l'ultima versione di questo documento, consulta la FreerTOS User Guide.

Segui questo tutorial per iniziare con ESP32 Espressif -WROOM-32SE. Per acquistarne uno dal nostro partner nel catalogo Partner Device, vedi -WROOM-32SE. AWS ESP32

Nota

Attualmente, la porta FreerTOS ESP32 per -WROOM-32SE non supporta la funzionalità di multiprocessing simmetrico (SMP).

Panoramica

Questo tutorial descrive le seguenti procedure:

  1. Connect la scheda a una macchina host

  2. Installa il software sulla tua macchina host per sviluppare ed eseguire il debug di applicazioni integrate per la tua scheda microcontrollore

  3. Compilazione incrociata di un'applicazione demo FreerTOS su un'immagine binaria

  4. Carica l'immagine binaria dell'applicazione sulla tua scheda, quindi esegui l'applicazione

  5. Monitora ed esegui il 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 autorizzazioni. AWS

Iscriviti per un Account AWS

Se non ne hai uno Account AWS, completa i seguenti passaggi per crearne uno.

Per iscriverti a un Account AWS
  1. Apri la https://portal.aws.amazon.com/billing/registrazione.

  2. Segui le istruzioni online.

    Parte della procedura di registrazione prevede la ricezione di una telefonata o di un messaggio di testo e l'immissione di un codice di verifica sulla tastiera del telefono.

    Quando ti iscrivi a un Account AWS, Utente root dell'account AWSviene creato un. L'utente root dispone dell'accesso a tutte le risorse e tutti i Servizi AWS nell'account. Come best practice di sicurezza, assegna l'accesso amministrativo a un utente e utilizza solo l'utente root per eseguire attività che richiedono l'accesso di un utente root.

AWS ti invia un'email di conferma dopo il completamento della procedura di registrazione. In qualsiasi momento, puoi visualizzare l'attività corrente del tuo account e gestirlo accedendo a https://aws.amazon.com/e scegliendo Il mio account.

Crea un utente con accesso amministrativo

Dopo esserti registrato Account AWS, proteggi Utente root dell'account AWS AWS IAM Identity Center, abilita e crea un utente amministrativo in modo da non utilizzare l'utente root per le attività quotidiane.

Proteggi i tuoi Utente root dell'account AWS
  1. Accedi AWS Management Consolecome proprietario dell'account scegliendo Utente root e inserendo il tuo indirizzo Account AWS email. Nella pagina successiva, inserisci la password.

    Per informazioni sull'accesso utilizzando un utente root, consulta la pagina Signing in as the root user della Guida per l'utente di Accedi ad AWS .

  2. Abilita l'autenticazione a più fattori (MFA) per l'utente root.

    Per istruzioni, consulta Abilitare un dispositivo MFA virtuale per l'utente Account AWS root (console) nella Guida per l'utente IAM.

Crea un utente con accesso amministrativo
  1. Abilita Centro identità IAM.

    Per istruzioni, consulta Abilitazione di AWS IAM Identity Center nella Guida per l'utente di AWS IAM Identity Center .

  2. In IAM Identity Center, assegna l'accesso amministrativo a un utente.

    Per un tutorial sull'utilizzo di IAM Identity Center directory come fonte di identità, consulta Configurare l'accesso utente con l'impostazione predefinita IAM Identity Center directory nella Guida per l'AWS IAM Identity Center utente.

Accesso come utente amministratore
  • Per accedere con l'utente IAM Identity Center, utilizza l'URL di accesso che è stato inviato al tuo indirizzo e-mail quando hai creato l'utente IAM Identity Center.

    Per informazioni sull'accesso utilizzando un utente IAM Identity Center, consulta AWS Accedere al portale di accesso nella Guida per l'Accedi ad AWS utente.

Assegna l'accesso a ulteriori utenti
  1. In IAM Identity Center, crea un set di autorizzazioni conforme alla best practice dell'applicazione di autorizzazioni con il privilegio minimo.

    Segui le istruzioni riportate nella pagina Creazione di un set di autorizzazioni nella Guida per l'utente di AWS IAM Identity Center .

  2. Assegna al gruppo prima gli utenti e poi l'accesso con autenticazione unica (Single Sign-On).

    Per istruzioni, consulta Aggiungere gruppi nella Guida per l'utente di AWS IAM Identity Center .

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

  • Utenti e gruppi in AWS IAM Identity Center:

    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 AWS IAM Identity Center .

  • 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:

Nota

La versione FreerTOS 202012.00 supporta ESP-IDF v3.3. Se stai usando una versione successiva di FreerTOS, segui le istruzioni specifiche al punto .2 at. IDFv4 Inizia con ESP-IDF v4.2

Inizia con ESP-IDF v3.3

Questa sezione mostra come utilizzare ESP-IDF v3.3 sull'hardware Espressif. Per utilizzare ESP-IDF v4.2, vedere. Inizia a usare ESP-IDF v4.2

Configurazione dell'hardware di Espressif

Consulta la Guida introduttiva ESP32 - DevKit C per informazioni sulla configurazione dell'hardware della scheda di sviluppo ESP32 -WROOM-32SE.

Importante

Quando raggiungi la sezione Get Started della guida Espressif, fermati e segui i passaggi seguenti.

Configurazione dell'ambiente di sviluppo

Per comunicare con la tua scheda, devi scaricare e installare una toolchain.

Configurazione della toolchain

Nota

ESP-IDF v3.3 (la versione utilizzata da FreerTOS) non supporta l'ultima versione del compilatore. ESP32 È necessario utilizzare il compilatore compatibile con la versione 3.3 di ESP-IDF. Consulta i collegamenti precedenti. Per controllare la versione del compilatore, esegui il seguente comando.

xtensa-esp32-elf-gcc --version

Per configurare la toolchain, segui le istruzioni per il sistema operativo del computer host:

Importante

Quando arrivi alle istruzioni "Ottieni ESP-IDF" in Next Steps (Fasi successive), fermati e torna alle istruzioni riportate in questa pagina.

Se avete seguito le istruzioni «Scarica ESP-IDF» riportate nei passaggi successivi, proprio ora o in un'occasione precedente, è necessario cancellare la variabile di IDF_PATH ambiente dal sistema prima di continuare. Questa variabile di ambiente è stata impostata automaticamente se hai seguito le istruzioni «Get ESP-IDF».

Installa CMake

Il sistema di CMake build è necessario per creare la demo e le applicazioni di test di FreerTOS per questo dispositivo. FreerTOS supporta le versioni 3.13 e successive.

È possibile scaricare l'ultima versione di CMake da.org. CMake Sono disponibili il codice sorgente e la distribuzione binaria.

Per maggiori dettagli sull'utilizzo CMake con FreerTOS, consulta. Utilizzo CMake con FreerTOS

Stabilire una connessione seriale

  1. Per stabilire una connessione seriale tra la macchina host e ESP32 -WROOM-32SE, installa i driver VCP da USB a UART Bridge CP21 0x. È 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. Tale informazione sarà necessaria durante il processo di creazione della demo.

Scarica e configura FreerTOS

Dopo aver configurato il tuo ambiente, puoi scaricare FreerTOS da. GitHub Per istruzioni, consultate il file README.md sul sito Web. GitHub

Importante

Il dispositivo ATECC6 08A dispone di un'inizializzazione unica che viene bloccata sul dispositivo la prima volta che viene eseguito un progetto (durante la chiamata a). C_InitToken Tuttavia, il progetto demo FreerTOS e il progetto di test hanno configurazioni diverse. Se il dispositivo è bloccato durante le configurazioni del progetto demo, non tutti i test nel progetto di test avranno esito positivo.

  1. Configura il FreerTOS Demo Project seguendo i passaggi seguenti. Configurazione delle demo di FreerTOS Ignorare l'ultimo passaggio per formattare le credenziali AWS IoT e seguire invece i passaggi riportati di seguito.

  2. Microchip ha fornito diversi strumenti di scripting per facilitare la configurazione delle parti 08A. ATECC6 Accedere alla freertos/vendors/microchip/secure_elements/app/example_trust_chain_tool directory, quindi aprire il file. README.md

  3. Seguire le istruzioni contenute nel file README.md per effettuare il provisioning del dispositivo. Queste fasi includono quanto segue:

    1. Crea e registra un'autorità di certificazione con AWS

    2. Genera le tue chiavi sullo ATECC6 08A ed esporta la chiave pubblica e il numero di serie del dispositivo

    3. Genera un certificato per il dispositivo e registralo con AWS

  4. Caricare il certificato CA e il certificato del dispositivo sul dispositivo seguendo le istruzioni in Distribuzione delle chiavi in modalità sviluppatore.

Crea, esegui il flashing ed esegui il progetto demo FreerTOS

Puoi usare CMake per generare i file di build, Make per creare il file binario dell'applicazione e l'utilità IDF di Espressif per eseguire il flashing della scheda.

Crea FreerTOS su Linux o macOS (ESP-IDF v3.3)

Se usi Windows, puoi passare a Crea FreerTOS su Windows (ESP-IDF v3.3).

CMake Usalo per generare i file di build, quindi usa Make per creare l'applicazione.

Per generare i file di build dell'applicazione demo con CMake
  1. Vai alla directory principale della tua cartella di download di FreerTOS.

  2. In una finestra della riga di comando, immettere il seguente comando per generare i file di compilazione.

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

    Per creare l'applicazione per il debug, aggiungere il flag -DCMAKE_BUILD_TYPE=Debug.

    Per generare i file di compilazione dell'applicazione di test, aggiungere il flag -DAFR_ENABLE_TESTS=1.

    Il codice fornito da Espressif utilizza lo stack IP leggero (IwIP) come stack di rete predefinito. Per utilizzare invece lo stack di rete FreeRTOS+TCP, aggiungi il flag al comando. –DAFR_ESP_FREERTOS_TCP CMake

    Per aggiungere la dipendenza LWip per il codice fornito non dal fornitore, aggiungi le seguenti righe al file CMakeLists.txt delle dipendenze, per CMake il tuo componente Wi-Fi personalizzato.

    # Add a dependency on the bluetooth espressif component to the common component set(COMPONENT_REQUIRES lwip)
Per compilare l'applicazione con Make
  1. Passa alla directory build.

  2. In una finestra della riga di comando, immettere il seguente comando per compilare l'applicazione con Make.

    make all -j4
    Nota

    È necessario generare i file compilati con il comando cmake ogni volta che si passa dal progetto aws_demos al progetto aws_tests.

Crea FreerTOS su Windows (ESP-IDF v3.3)

Su Windows, è necessario specificare un generatore di build per. CMake Altrimenti, il CMake valore predefinito è Visual Studio. Espressif consiglia ufficialmente il sistema di compilazione Ninja perché funziona in Windows, Linux e MacOS. È necessario eseguire CMake i comandi in un ambiente Windows nativo come cmd o. PowerShell L'esecuzione di CMake comandi in un ambiente Linux virtuale, ad esempio MSYS2 o WSL, non è supportata.

CMake Utilizzatelo per generare i file di compilazione, quindi utilizzate Make per creare l'applicazione.

Per generare i file di build dell'applicazione demo con CMake
  1. Vai alla directory principale della tua cartella di download di FreerTOS.

  2. In una finestra della riga di comando, immettere il seguente comando per generare i file di compilazione.

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

    Per creare l'applicazione per il debug, aggiungere il flag -DCMAKE_BUILD_TYPE=Debug.

    Per generare i file di compilazione dell'applicazione di test, aggiungere il flag -DAFR_ENABLE_TESTS=1.

    Il codice fornito da Espressif utilizza lo stack IP leggero (IwIP) come stack di rete predefinito. Per utilizzare invece lo stack di rete FreeRTOS+TCP, aggiungi il flag al comando. –DAFR_ESP_FREERTOS_TCP CMake

    Per aggiungere la dipendenza LWip per il codice fornito non dal fornitore, aggiungi le seguenti righe al file CMakeLists.txt delle dipendenze, per CMake il tuo componente Wi-Fi personalizzato.

    # Add a dependency on the bluetooth espressif component to the common component set(COMPONENT_REQUIRES lwip)
Per compilare l'applicazione
  1. Passa alla directory build.

  2. In una finestra della riga di comando, immettere il seguente comando per richiamare Ninja per compilare l'applicazione.

    ninja

    Oppure, usa l'interfaccia generica CMake per creare l'applicazione.

    cmake --build your-build-directory
    Nota

    È necessario generare i file compilati con il comando cmake ogni volta che si passa dal progetto aws_demos al progetto aws_tests.

Esegui il flashing ed esegui FreerTOS (ESP-IDF v3.3)

Utilizza la utilità IDF di Espressif (freertos/vendors/espressif/esp-idf/tools/idf.py) per eseguire il flashing della scheda, eseguire l'applicazione e visualizzare i log.

Per cancellare il flashing della scheda, vai alla directory freertos e inserisci il seguente comando.

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

Per eseguire il flashing del file binario dell'applicazione sulla scheda, utilizza make.

make flash

È inoltre possibile utilizzare lo script IDF per eseguire il flashing della scheda.

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

Utilizzate il seguente comando per visualizzare i log:

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

È inoltre possibile combinare questi comandi.

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

Inizia a usare ESP-IDF v4.2

Questa sezione mostra come utilizzare ESP-IDF v4.2 sull'hardware Espressif. Per utilizzare ESP-IDF v3.3, vedere. Inizia con ESP-IDF v3.3

Nota

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

Configurazione dell'hardware di Espressif

Per informazioni sulla configurazione dell'hardware della scheda di sviluppo ESP32 -WROOM-32SE, consultate la ESP32- DevKit C V4 Getting Started Guide.

Importante

Quando raggiungi la sezione Get Started delle guide Espressif, fermati e segui i passaggi seguenti.

Configurazione dell'ambiente di sviluppo

Per comunicare con la scheda, è necessario scaricare e installare una toolchain.

Configurazione della toolchain

Per configurare la toolchain, segui le istruzioni per il sistema operativo del computer host:

Importante

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

Completa l'installazione (Linux/ Mac)

Il programma di installazione di ESP-IDF per Windows installa tutti gli strumenti necessari. Le piattaforme Linux e MAC OSX richiedono un passaggio aggiuntivo per completare l'installazione.

Apri una finestra della riga di comando, vai alla directory di download di FreerTOS, quindi esegui lo script seguente per scaricare e installare la toolchain espressif per la tua piattaforma.

vendors/espressif/esp-idf/install.sh

Successivamente, aggiungi gli strumenti della toolchain ESP-IDF al percorso del tuo terminale con il seguente comando.

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

Stabilire una connessione seriale

  1. Per stabilire una connessione seriale tra la macchina host e ESP32 -WROOM-32SE, installa i driver VCP da USB a UART Bridge 0x. CP21 È 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. Tale informazione sarà necessaria durante il processo di creazione della demo.

Scarica e configura FreerTOS

Dopo aver configurato il tuo ambiente, puoi scaricare FreerTOS da. GitHub Per istruzioni, consultate il file README.md sul sito Web. GitHub

Importante

Il dispositivo ATECC6 08A dispone di un'inizializzazione unica che viene bloccata sul dispositivo la prima volta che viene eseguito un progetto (durante la chiamata a). C_InitToken Tuttavia, il progetto demo FreerTOS e il progetto di test hanno configurazioni diverse. Se il dispositivo è bloccato durante le configurazioni del progetto demo, non tutti i test nel progetto di test avranno esito positivo.

  1. Configura il FreerTOS Demo Project seguendo i passaggi seguenti. Configurazione delle demo di FreerTOS Quando arrivi all'ultimo passaggio per formattare AWS IoT le tue credenziali, FERMATI e segui invece i passaggi seguenti.

  2. Microchip ha fornito diversi strumenti di scripting per facilitare la configurazione dei componenti 08A. ATECC6 Passare alla directory freertos/vendors/microchip/secure_elements/app/example_trust_chain_tool e aprire il file README.md.

  3. Seguire le istruzioni contenute nel file README.md per effettuare il provisioning del dispositivo. Queste fasi includono quanto segue:

    1. Crea e registra un'autorità di certificazione con AWS

    2. Genera le tue chiavi sullo ATECC6 08A ed esporta la chiave pubblica e il numero di serie del dispositivo

    3. Genera un certificato per il dispositivo e registralo con AWS

  4. Caricare il certificato CA e il certificato del dispositivo sul dispositivo seguendo le istruzioni in Distribuzione delle chiavi in modalità sviluppatore.

Compila, esegui il flashing ed esegui il progetto demo FreerTOS utilizzando lo script idf.py

Puoi usare l'utilità IDF di Espressif per generare i file di build, creare il binario dell'applicazione e aggiornare la tua scheda.

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

Usa idf.py lo script per creare il progetto ed esegui il flashing dei 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 directory principale della tua cartella di download di FreerTOS.

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

    Windows

    vendors\espressif\esp-idf\export.bat

    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=esp32_ecc608a_devkitc -DCOMPILER=xtensa-esp32 build

    Dovresti vedere un output come questo nell'esempio seguente.

    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'

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

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

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

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

    idf.py monitor
Nota

È possibile combinare questi comandi come nell'esempio seguente.

idf.py erase_flash flash monitor
Nota

Per alcune configurazioni della macchina 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 ed esegui il flashing di FreerTOS con CMake

Oltre a utilizzare lo script idf.py 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 build 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 lo script seguente per aggiungere gli strumenti ESP-IDF al PATH della tua shell.

    Windows

    vendors\espressif\esp-idf\export.bat

    Linux /macOS

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

    Con 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

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

Monitoraggio dei messaggi MQTT sul cloud AWS

Puoi utilizzare il client MQTT nella AWS IoT console per monitorare i messaggi che il tuo dispositivo invia al AWS Cloud.

Per abbonarsi all'argomento MQTT con il client MQTT AWS IoT
  1. Accedi alla AWS IoT console .

  2. Nel riquadro di navigazione scegliere Test per aprire il client MQTT.

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

Informazioni aggiuntive

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