Skip to content

Configurazione dell'ambiente di sviluppo PlatformIO

vinconicola edited this page Sep 8, 2022 · 1 revision

L'ambiente di sviluppo PlatformIO

Per il progetto abbiamo cercato di utilizzare tecnologie efficienti e semplici da gestire.

Il firmware è stato scritto interamente in framework Arduino così da avere piena versatilità del sistema, ampio supporto dalla community e facilità nella scrittura del codice.

Siamo partiti inizialmente con l'IDE standard di Arduino, con cui la versione SOMMM 1.0 è stata interamente realizzata. Abbiamo però constatato che per un progetto di questa complessità l'IDE standard non offriva molto supporto a noi programmatori che ovviamente impiegavamo più tempo per scrivere nuove parti del sistema.

Abbiamo quindi migrato su un'estensione dell'IDE Visual Studio Code, rinomato programma free per lo sviluppo di codice ampiamente supportato dalla community.

PlatformIO è un IDE per lo sviluppo di sistemi embedded Integrato in VS code eccezionale che ha reso il lavoro molto meno stressante e più completo nell'utilizzo di tool necessari per l'analisi del nostro sistema.

Si può installare dal menù Estensioni nella barra laterale sinistra di VS Code.
Una volta completata l'installazione, apparirà una nuova icona a forma di alieno.

Se si sviluppa su Windows, prima di proseguire è necessario installare l'Arduino IDE in modo tale da far installare i driver necessari per riconoscere la scheda.

Configurazione

Per iniziare a lavorare sul nostro progetto è prima necessario valutare il tipo di board installata nel dispositivo. Sono presenti due tipologie: ESP8266 e ESP32; dalla versione 2.1.0.0 è possibile vedere l'archittetura direttamente dalla schermata di boot, altrimenti è necessario smontare la scocca e leggere direttamente sulla board il modello.

La prima è la board su cui ci siamo concentrati interamente lungo tutto il progetto, la seconda è una versione evoluta della prima altamente più efficiente ma purtroppo più complessa, ma non vi preoccupate, abbiamo già lottato noi con il porting e il compilatore.

Una volta clonata la repository, è necessario cambiare la branch attuale di lavoro in develop se si sviluppa per ESP8266 o in develop_esp32 per sviluppare la versione ESP32.

Ora é necessario installare il pacchetto pip per minimizzare i file dell'interfaccia web:

  1. Aprire una shell nell'ambiente di PlatformIO (PlatformIO > Miscellaneuous > PlatformIO Core CLI)
  2. Installare il pacchetto con il comando pip install css-html-js-minify

A questo punto, dovremmo essere già ad un ottimo punto. Nel file platformio.ini sono presenti le librerie che PlatformIO recupera prima della compilazione del progetto.

Gestione

Compilare il firmware

Cliccando sull'icona di PlatformIO e successivamente su Build, si avvierà il processo di compilazione dell'intero progetto. La prima volta dovrebbe recuperare le librerie mancanti, installarle e proseguire l'installazione. Da qui è possibile leggere eventuali warnings o errori di compilazione.

Caricare il firmware

Con la board collegata alla seriale, cliccando Upload and monitor verrà prima eseguita una build, e successivamente sarà caricata sul dispositivo. Questo è necessario ogni volta che si eseguono solo modifiche alla directory src.

Caricare l'immagine SPIFFS

Con l'opzione Upload File System Image è possibile caricare sulla board l'intera cartella data del progetto, ovvero i file necessari per la configurazione lato board e lato utente con l'interfaccia web.
Un consiglio che vi diciamo per esperienza è che prima di eseguire questa azione bisogna chiudere ogni sessione attiva sulla seriale chiudendo tutti i terminali aperti cliccando il tasto del cestino, altrimenti non riuscirà a connettersi.

Se fosse necessario cancellare l'intera memoria della scheda basterà cliccare Erase Flash.

Clone this wiki locally