Archivi tag: esp32

ESP32 – IDF Sdk con IDE Eclipse

Dopo aver configurato l’ambiente di sviluppo IDF nell’articolo precedente

ESP32 – IDF Sdk

vediamo ora come utilizzare Eclipe come IDE per lo sviluppo del codice. Le istruzioni sono disponibili al link

Configurazione Eclipse

Scaricare Eclipse per C/C++ per Linux

Download Eclipse

Scompattare il file e spostarlo su /opt/

Eseguire ecplise

Impostare il workspace per eclipse

eclipse-workspaceUna volta aperto l’IDE selezionare File–>Import–>C/C++- -> Existing Code as Makefile Project

eclipse-importPremere Next; alla schermata successiva selezionare la cartella contenente il Makefile di un progetto di esempio ne campo “Existing Code Location” e scegliere come “Toolchain for indexer settings” CrossGcc come ad esempio indicato di seguito

eclipse-import2Una volta caricato il progetto con il tasto destro sul nome del progetto si sceglie l’opzione properties

eclipse-project-propertiesSotto C/C++ Build–>Envinronment aggiungere la variabile

eclipse-batchAggiungere sempre nella medesima sezione la variabile IDF_PATH che punta all’SDK IDF scaricato

eclipse-idf-pathEditare la variabile PATH ed aggiungere il path ai bin del cross compilatore /home/sviluppo/Esp32/espressif/esp/xtensa-esp32-elf/bin

eclipse-pathAccedere sempre in “C/C++ General”–> “Preprocessor Include Paths”; scelgliere il tab Providers e cliccare su “CDT Cross GCC Built-in Compiler Settings”

eclipse-cross-cdtSostituire ${COMMAND}

eclipse-cross-cdt1con xtensa-esp32-elf-gcc

eclipse-cross-cdt2Accedere ora nei providers e scegliere “CDT GCC Build Output Parser”

eclipse-cross-cdt3ed inserire all’inizio del Compiler command pattern xtensa-esp32-elf-

eclipse-cross-cdt4Salvare le configurazioni.

Le impostazioni del progetto vanno fatte sempre da make menuconfig nella shell unix. Accedere nella shell ed impostare come GPIO del led da spegnere ed accendere il valore 2; questo perché nel nostro caso la scheda è una doit il cui design è illustrato nel presente documento

SchematicsforESP32

Accedere a Example configuration

blink-configurationed impostare il valore del gpio a 2

blink-gpioSalvare la configurazione. Riandare su Eclipse e procedere alla pulizia con

eclipse-clean-blinke successiva compilazione con Project–> Build

eclipse-build-blinkPer eseguire il flash del firmware da eclipse, selezionare il progetto e con il tasto destro scegliere Build Targets -> Create…

eclipse-create-targetInserire nel campo target il valore flash, lasciando di default tutto il resto

eclipse-create-target-flashA questo punto si procede al caricamento dell’immagine cliccando due volte sulla nuova voce flash all’interno dei target del progetto

eclipse-run-flash Le impostazioni per eseguire il flash devono essere impostate con make menuconfig, come visto nell’articolo precedente

ESP32 – Idf Sdk

 

ESP32 – IDF Sdk

In questo articolo si descrive come impostare l’ambiente di sviluppo per ESP32 della Espressif.

Dal link alle risorse per il soc

https://www.espressif.com/en/products/hardware/esp32/resources

si accede alla guida per la compilazione del firmware sulle piattaforme Windows, OSX e Linux

http://esp-idf.readthedocs.io/en/latest/get-started/index.html

Le operazioni elencate di seguito sono eseguite sempre su Linux Debian 9, configurato come già descritto in precedenza

MicroPython – Python su dispositivi embedded

Si utilizza l’IDF del github.  Su Debian 9 con l’utenza utilizzata per collegarsi sul sistema si crea sotto la Home dell’utente la cartella Esp32 ed all’interno la cartella espressif

Installare i prerequisiti

Scaricare il cross compilatore

Creare la cartella esp e dall’interno scompattare il toolchain

Aggiungere al PATH la cartella bin del cross compilatore

Aggiungere al gruppo dialout, l’utenza utilizzata per le operazioni

Clonare il repository IDF dal $HOME/Esp32/espressif

Aggiungere la variabile di ambiente IDF_PATH

Creare la cartella dei progetti sotto $HOME/Esp32/espressif e copiare un esempio dalla cartella dell’IDF

Eseguire la configurazione

Accedere a Serial flasher config–> ed impostare i parametri della connessione; nel nostro caso lasciamo il default

idf-serial_flasher

Salvare la configurazione e compilare il firmware

Per caricare il firmware sulla scheda eseguire

Per caricare solo la applicazione eseguire

mentre per compilare solo la applicazione eseguire

Per eseguire il monitor del programma eseguire

hello_world

Gli altri esempi disponibili con sdk

https://github.com/espressif/esp-idf/tree/f586f5e/examples

Al seguente link invece sono presenti i riferimenti delle API dell’IDF

http://esp-idf.readthedocs.io/en/latest/api-reference/index.html

Si può anche generare la documentazione dai sorgenti del github. Posizionarsi in ~/Esp32/espressif/esp-idf/docs/en

Installare i prerequisiti

Generare i documenti in formato html

make-htmlLa documentazione è generata in _build/html.

Nel prossimo articolo imposteremo come IDE per la compilazione dei programmi Eclipe

ESP32 – IDF SDK con IDE Eclipse

ESP32 – Compilazione firmware nodemcu

Dopo aver visto nell’articolo precedente la compilazione del firmware MicroPython per ESP32

ESP32 – Compilazione MicroPython per ESP32

In questo articolo viene mostrato come generare l’immagine Nodemcu  per la scheda ESP32.

Il firmware non è ancora completo come quello esistente per ESP8266.

Le istruzioni sono reperibili sul github al link

https://github.com/nodemcu/nodemcu-firmware/tree/dev-esp32

La documentazione sulla compilazione sono elencate al link

https://nodemcu.readthedocs.io/en/dev-esp32/en/build/

Il sistema operativo è Debian 9 già incontrato in precedenza per le utility esptool ed Adafruit-ampy

MicroPython – Python su dispositivi embedded

 Collegarsi con l’utenza scelta su Debian 9, sviluppo nel nostro caso; sotto la home creare la cartella Esp32  e successivamente la cartella nodemcu

Clonare il repository

Per aggiornare il repository già clonato seguire quanto descritto al link sulla compilazione

Accedere alla cartella nodemcu-firmware-esp32 ed eseguire la configurazione

nodemcu-settingsAbilitare il bluetooth e dei moduli accedendo in

Component config–>Bluetooth ed abilitarlo

nodemcu-bluetoothComponent config–>Nodemcu modules ed abiltare i moduli che potrebbero servire

nodemcu-modulesNella configurazione per il flash  lasciamo i valori di default per la nostra scheda esp32,  Serial flasher config->

nodemcu-flashSalvare la configurazione ed uscire. Per compilare l’immagine eseguire

Alla fine della compilazione viene mostrato il comando da eseguire per flashare il dispositivo; la stessa operazione viene facilitata eseguendo semplicemente

 Per informazioni sulle partizioni delle varie versioni di ESP32 fare riferimento alla documentazione

http://api-guides/partition-tables.html

Nel prossimo articolo si mostra come compilare una applicazione utilizzando sdk di Espressif

ESP32 – IDF Sdk

ESP32 – Compilazione MicroPython per ESP32

Iniziamo una serie di articoli che trattano la scheda Espressif ESP32

Modulo WiFi-Bluetooth ESP32

Dopo aver analizzato negli articoli precedenti MicroPython per ESP8266, in questo incominciamo a trattare MicroPython su ESP32.

Di seguito viene mostrato come generare l’immagine MicroPython partendo dal codice sorgente per la scheda ESP32.

Il sistema operativo è Debian 9, già incontrato in precedenza per le utility esptool ed Adafruit-ampy

MicroPython – Python su dispositivi embedded

 Collegarsi con l’utenza scelta su Debian 9, sviluppo nel nostro caso; sotto la home creare la cartella Micropython e successivamente la cartella esp32

 Il github di MicroPython è presente al link

Github Micropython

Le istruzioni per l’ ESP32 sono presenti al link

MicroPython esp32

Clonare il repository

Accedere in micropython/ports/esp32

Eseguire

Il comando rilascia l’hash del github dell’ espidf supportato.

Al momento della nostra compilazione il risultato è il seguente

Ritornare nella cartella /home/sviluppo/Micropython/esp32 e clonare ESPIDF

Eseguire il checkout con l’hash ricavato sopra

Eseguire

Installare il cross compilatore come indicato al link

Cross compilatore

Seguendo le indicazioni del link sopra riportato, si procede quindi ad installare i prerequisiti

Scaricare il cross compilatore

Creare la cartella esp sotto /home/sviluppo/Micropython/esp32

Scompattare il cross compilatore in esp

Esportare nel PATH la cartella dei binari del cross compilatore

Accedere in

Creare il file makefile con all’interno

Accedere alla cartella micropython presente in /home/sviluppo/Micropython/esp32

Eseguire

per aggiungere le dipendenze esterne.

Si compila il cross compilatore MicroPython

Si compila infine l’immagine per l’esp32 con il comando

Il firmware è generato nella cartella ports/esp32/build con il nome firmware.bin.

Procedere al caricamento del firmware con i comandi

Nel nostro caso il deploy ha avuto esito positivo con il comando

E’ possible caricare l’immagine firmware.bin con i  comandi

dove in /dev/ttyXXX va inserito il riferimento alla porta seriale cui è connesso l’ESP32.

Nel prossimo articolo compileremo il firmware nodemcu per ESP32

ESP32 – Compilazione firmware nodemcu

Modulo WiFi-Bluetooth ESP32

In questo articolo descriviamo brevemente il microcontroller ESP32 della Espressif

ESP32

E’ uns soc a basso consumo, composto da un microcontroller a 32 bit ed  integra già al suo interno un sistema wifi e buetooth. Al link delle risorse di Espressif si trovano le infomazioni dettagliate sul soc

Risorse ESP32

Le specifiche del dispotivo sono presenti nel seguente documento pdf

Specifiche ESP32

Il chip è disponibile in vari moduli o in schede di sviluppo, che facilita notevolmente l’uso dal momento che ha già al suo interno le corrette impostazioni hardware per il caricamento del firmware e la sua esecuzione.

Su internet si trovano vari siti che descrivono diversi progetti di Home Automation o IOT utilizzanti tale soc. Un sito di riferimento è sicuramente il seguente

esp32

All’interno del sito si trovano i riferimenti ai metodi/piattaforme  maggiormente utilizzati per lo sviluppo su tale soc, tra i quali si segnalano

  • Arduino Ide

ESP32 Arduino

  • ESP-IDF

ESP32 IDF

  • Micropython

MicroPython

  • PlatformIO

PlatformIO

  • Firmware Lua

LuaNode

Lua-RTOS-ESP32

Nodemcu Development

L’ESP32 è acquistabile sui vari siti, ad esempio ebay, sia in forma di modulo o piattaforma di sviluppo

ESP32 su ebay

Esistono  moduli del soc esp32 di diversi fornitori

Espressif esp-wroom-32

AI-Thinker esp32s

Al link

http://esp32.net/

sono elencate le diverse configurazioni hardware disponibili. Tra i kit di sviluppo segnaliamo

AI-Thinker NodeMCU-32S

DoIT ESP32 Dev Kit

Esitono dei kit di sviluppo basati su esp32 che integrano anche un modulo wireless LORA

Lora

al proprio interno.

Si segnalano ad esempio

Heltec Wifi LoRa 32

TTGO LoRa32

Nei prossimi articoli descriveremo come compilare ed usare vari firmware su schede di sviluppo con soc esp32.