01/02/2024 in News di sergio rame4 minuti
Il programma “Blink” per far lampeggiare l’ESP32 è l’equivalente IoT del classico “Hello world” dei linguaggi di programmazione. In questo articolo vederemo come compilarlo sia con Arduino Ide che con PlatformIO.
Apri l’Arduino IDE.
https://dl.espressif.com/dl/package_esp32_index.json
Dopo aver installato il supporto per ESP32, seleziona la scheda giusta.
Ora puoi aprire l’esempio di “Blink” predefinito in Arduino IDE.
Vai su File > Esempi > ESP32 > Basics > Blink.
Se la compilazione ha successo, puoi caricare il programma sull’ESP32 facendo clic su Sketch -> Carica.
Se non hai ancora installato PlatformIO sul tuo PC puoi leggere questo post del nostro blog. Usando questo compilatore, gli strumenti a linea di comando e i files presi da Github.com puoi migliorare la tua produttività in modo importante.
Infatti quando svilupperai i tuoi progetti sarai “sempre” alle prese con complessi comandi “GIT” sulla linea di comando. E commutare su Arduino Ide o Visual Studio ti costa molto più tempo che scrivere “make” sulla tastiera!
Per compilare e testare il programma fai copia e incolla del testo sottostante e incollalo nel terminale di Linux o nel CMD di Windows:
git clone https://github.com/sebadima/corso-ESP32-blink.git
cd corso-ESP32-blink
make upload
platformio device monitor --baud 115200 --rts 0 --dtr 0
Con PlatformIO puoi “clonare” il programma da Github: come hai notato non serve scaricare il file (https://dl.espressif.com/dl/package_esp32_index.json) e non devi settare la “board” come sei costretto a fare con Arduino IDE.
Se sei agli inizi con ESP32 troverai interessante creare da zero i tuoi files e scoprire così qualche nuovo trucco di PlatformIO. Continua a leggere questa sezione per conoscere i dettagli.
Il codice è davvero breve e qui lo spieghiamo in dettaglio:
#define LED 2
void setup() {
// Setta la seriale a 115200 baud
Serial.begin(115200);
// Setta la porta 2 in modalità OUT
pinMode(LED,OUTPUT);
}
void loop() {
digitalWrite(LED,HIGH);
Serial.println("Led è HIGH");
delay(1000);
digitalWrite(LED,LOW);
Serial.println("Led è LOW");
delay(1000);
}
Carica il codice sopra in un file main.ino e inoltre usa il tuo editor preferito per creare un file platformio.ini con il seguente contenuto:
; PlatformIO Project Configuration File
;
; Build options: build flags, source filter
; Upload options: custom upload port, speed and extra flags
; Library options: dependencies, extra library storages
; Advanced options: extra scripting
;
; Please visit documentation for the other options and examples
; https://docs.platformio.org/page/projectconf.html
[env:esp32dev]
platform = espressif32
board = esp32dev
framework = arduino
lib_deps =
Per creare il Makefile puoi leggere questo post oppure fare copia e incolla del codice in basso in un file con lo stesso nome:
# Uncomment lines below if you have problems with $PATH
#SHELL := /bin/bash
#PATH := /usr/local/bin:$(PATH)
all:
pio -f -c vim run
upload:
pio -f -c vim run --target upload
clean:
pio -f -c vim run --target clean
program:
pio -f -c vim run --target program
uploadfs:
pio -f -c vim run --target uploadfs
update:
pio -f -c vim update
Dopo avere creato il file, lancia la compilazione con “make” oppure carica il programma sulla scheda scrivendo “make upload”.
Robotdazero.it - post - R.149.1.2.4