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:
-
Connessione della scheda a un computer host.
-
Installazione del software sul computer host per lo sviluppo e il debug di applicazioni integrate per la scheda con microcontrollore.
-
Cross-compile un'applicazione demo FreeRTOS per un'immagine binaria.
-
Caricamento dell'immagine binaria dell'applicazione sulla scheda in uso e successiva esecuzione dell'applicazione.
-
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:
-
Crea un ruolo che l’utente possa assumere. Segui le istruzioni riportate nella pagina Create a role for an IAM user della Guida per l’utente IAM.
-
(Non consigliato) Collega una policy direttamente a un utente o aggiungi un utente a un gruppo di utenti. Segui le istruzioni riportate nella pagina Aggiunta di autorizzazioni a un utente (console) nella Guida per l’utente IAM.
-
Nozioni di base
Nota
I comandi Linux in questo tutorial richiedono l'uso della shell Bash.
-
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.
-
Scarica Amazon FreeRTOS da. GitHub
(Per istruzioni, consulta il README.md file.) -
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
-
Scarica l' ESP-IDFUniversal Online Installer
per Windows. -
Esegui l'Universal Online Installer.
-
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 -
Completa l'installazione.
macOS
-
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.
-
Aprire una finestra a riga di comando.
-
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 -
Aggiungi gli ESP-IDF strumenti della toolchain al percorso del tuo terminale con il seguente comando.
source vendors/espressif/esp-idf/export.sh
Linux
-
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.
-
Aprire una finestra a riga di comando.
-
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 -
Aggiungi gli ESP-IDF strumenti della toolchain al percorso del tuo terminale con il seguente comando.
source vendors/espressif/esp-idf/export.sh
-
-
Stabilisci una connessione seriale.
-
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
. -
Segui i passaggi per stabilire una connessione seriale con ESP32
. -
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. (Ad esempio, se freertos/vendors/espressif/boards/board-name/aws_demos/config_files/FreeRTOSConfig.hAFR_BOARD espressif.esp32_devkitc viene selezionato, il file di configurazione si trova in.) freertos/vendors/espressif/boards/esp32/aws_demos/config_files/FreeRTOSConfig.h
-
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».
-
Per verificare che Python3 sia installato, esegui quanto segue:
python --versionViene 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/
-
È necessaria l'interfaccia a riga di AWS comando (CLI) per eseguire i comandi. AWS IoT Se utilizzi Windows, usa il
easy_install awsclicomando per installare la AWS CLI nell'app «Command» o "ESP-IDF 4.x CMD».Se utilizzi macOS o Linux, vedi Installazione della CLI. AWS
-
Esecuzione
aws configuree 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.
-
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 --usere 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
-
Per configurare lo script, apri
e imposta i seguenti attributi:freertos/tools/aws_config_quick_start/configure.jsonafr_source_dir-
Il percorso completo della directory
sul computer. Assicurarsi di utilizzare le barre per specificare questo percorso.freertos 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)
-
-
Se utilizzi macOS o Linux, apri un prompt del terminale. Se utilizzi Windows, apri l'app "ESP-IDF 4.x CMD» o «Command».
-
Vai alla
directory ed eseguifreertos/tools/aws_config_quick_startpython SetupAWS.py setupLo 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.hfile 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 su
SetupAWS.py,README.mdconsulta lacartella.freertos/tools/aws_config_quick_start -
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
-
Accedere alla AWS IoT console
. -
Nel pannello di navigazione, scegli Test, quindi scegli MQTT Test Client.
-
In Argomento sottoscrizione, digitare
, quindi scegliere Effettua sottoscrizione all'argomento.your-thing-name/example/topic
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
-
Vai alla radice della tua directory di download di FreeRTOS.
-
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
-
Configura cmake nella
builddirectory e crea l'immagine del firmware con il seguente comando.idf.py -DVENDOR=espressif -DBOARD=esp32s2_saola_1 -DCOMPILER=xtensa-esp32s2 buildDovresti 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.
-
Cancellate la memoria flash della scheda di sviluppo con il seguente comando.
idf.py erase_flash -
Usa lo
idf.pyscript per caricare il file binario dell'applicazione sulla tua scheda.idf.py flash -
Monitora l'uscita dalla porta seriale della tua scheda con il seguente comando.
idf.py monitorNota
-
È 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
-
In una finestra a riga di comando, vai alla radice della tua directory di download di FreeRTOS.
-
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
-
-
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
-
-
Compilare il progetto.
-
Con Unix Makefiles
make -C ./YOUR_BUILD_DIRECTORY-j8 -
Con Ninja
ninja -C ./YOUR_BUILD_DIRECTORY-j8
-
-
Cancella il flash e poi fai lampeggiare la lavagna.
-
Con Unix Makefiles
make -C ./YOUR_BUILD_DIRECTORYerase_flashmake -C ./YOUR_BUILD_DIRECTORYflash -
Con Ninja
ninja -C ./YOUR_BUILD_DIRECTORYerase_flashninja -C ./YOUR_BUILD_DIRECTORYflash
-
Informazioni aggiuntive
Per ulteriori informazioni sull'utilizzo e la risoluzione dei problemi delle schede Espressif ESP32, consulta i seguenti argomenti: