- Cos'è PlatformIO?
- Configurazione di PlatformIO per Arduino Uno
- Programmazione di Arduino UNO utilizzando l'IDE di PlatformIO
- Programmazione della scheda STM32 utilizzando l'IDE PlatformIO
Lo sviluppo in Arduino e Arduino IDE è sempre stato facile e divertente con la loro semplice interfaccia utente. L'IDE di Arduino è open source e gratuito per l'ambiente di sviluppo con tutte le funzionalità come scrivere, compilare e caricare il codice su schede Arduino. È basato su Java e funziona sui principali sistemi operativi come Windows, OS X e Linux. Ma con tutta la sua semplicità e la grande comunità, non ha alcune funzionalità che uno sviluppatore esperto richiederà per uno sviluppo veloce che può ridurre il periodo di sviluppo. Sono disponibili molti ambienti di sviluppo per Arduino, ma tutti presentano alcuni vantaggi e svantaggi. Oggi inizieremo con l' ambiente di sviluppo PlatformIO che è facile da usare e ha funzionalità aggiunte rispetto all'ambiente Arduino.
Cos'è PlatformIO?
PlatformIO è un ecosistema open source basato su Python per lo sviluppo IoT e un IDE multipiattaforma con un debugger unificato funziona su Windows, Mac e Linux. PlatformIO viene fornito con il gestore di librerie per piattaforme come il supporto Arduino o MBED insieme a test di unità e aggiornamenti del firmware. PlatformIO supporta una serie di piattaforme, framework, schede come Arduino, ESP32, ESP8266 e viene fornito con un numero di esempi e librerie. È indipendente dalla piattaforma in cui è in esecuzione e richiede solo Python installato sul computer.
Vantaggi di PlatformIO
Il PlatformIO offre un rapido sviluppo con le sue caratteristiche come C / C ++ Code Completion e Smart Code Linter per un rapido sviluppo professionale che non è presente nell'IDE di Arduino. Oltre a questo, PlatformIO offre il supporto del tema con colori chiari e scuri per lo sviluppo in qualsiasi momento. Inoltre viene fornito con Navigazione codice intelligente e formattazione codice. Le caratteristiche principali includono il sistema di compilazione multipiattaforma, il gestore della libreria, il monitor della porta seriale ecc.
Il debugger unificato con un supporto per le molteplici architetture e piattaforme di sviluppo consente di eseguire il debug di più schede embedded con Zero-Configuration. PlatformIO Unified Debugger dispone di funzionalità come punti di interruzione condizionali, espressioni e punti di controllo, visualizzatore di memoria, riavvio a caldo di una sessione di debug attiva. Il PlatformIO Core è scritto in Python 2.7 e funziona su Windows, macOS, Linux, FreeBSD e persino su computer delle dimensioni di una carta di credito basati su ARM come Raspberry Pi, BeagleBone, CubieBoard, Samsung ARTIK, ecc. Oltre a questo, PlatformIO ha File Explorer che aiuta organizzare i file quando il progetto raggiunge un certo livello e l'organizzazione diventa necessaria.
Configurazione di PlatformIO per Arduino Uno
L'utilizzo di PlatformIO è molto semplice e richiede pochi passaggi per iniziare. PlatformIO richiede che Python sia installato sul computer poiché, come spiegato sopra, il core di PlatformIO è stato scritto in Python 2.7. Si noti che PlatformIO non supporta Python 3, quindi si consiglia di installare la versione 2 di Python e quindi procedere con la configurazione dell'IDE di PlatformIO. Il PlatformIO è un IDE e fornisce pacchetti ufficiali (plugin, estensioni) per gli IDE e gli editor di testo più popolari.
Oggi installeremo PlatformIO su tali editor di testo come Atom e Visual Studio Code. Nella documentazione ufficiale di Platform IDE si afferma che PlatformIO IDE per VS Code (Visual Studio Code) offre migliori prestazioni di sistema e gli utenti hanno trovato più facile iniziare. Quindi configureremo PlatformIO in Visual Studio Code. VS Code è un noto editor di testo con numerose estensioni che ci consentono di sviluppare in diversi linguaggi di programmazione.
Iniziamo a configurare PlatformIO per iniziare a sviluppare codice in Arduino UNO. Ci sono passaggi coinvolti che sono spiegati di seguito:
- Innanzitutto installa Visual Studio Code dal suo sito web ufficiale. I passaggi di installazione di Visual Studio Code non verranno spiegati qui, ma è possibile trovarli sul sito Web di VS Code. Ci sono passaggi generali coinvolti proprio come l'installazione di qualsiasi altro software sul sistema operativo Windows.
- Il codice di Visual Studio avrà l'aspetto seguente una volta installato correttamente.
- Il passaggio successivo include l'installazione di PlatformIO utilizzando le estensioni di codice VS. Per questo è necessario andare all'icona delle estensioni nell'angolo in alto a sinistra del codice VS. C'è un'icona quadrata che è la quinta icona nell'angolo in alto a sinistra. Basta fare clic su di esso e verrà visualizzata una casella di ricerca accanto a quella in cui è possibile trovare molte estensioni per diversi linguaggi di programmazione come C / C ++, C #, Python, PHP, Go, JavaScript, TypeScript e Node.js ecc.
- Cerca "PlatformIO" nella casella di ricerca dell'estensione e vedrai l'icona PlatformIO con nome e descrizione. Basta fare clic su di esso e installarlo. L'installazione di toolchain e altre dipendenze potrebbe richiedere del tempo. Le dipendenze includono l'ambiente C / C ++ poiché lo sviluppo di Arduino viene eseguito principalmente su C / C ++.
- Quando l'installazione è completata, vedrai la seguente interfaccia. L'interfaccia include tutta la navigazione necessaria come la creazione di un nuovo progetto, l'importazione di un progetto Arduino, un progetto aperto, esempi di progetti ecc.
Questo termina i passaggi di installazione di PlatformIO. Ora PlatformIO è installato e pronto per l'uso. Proprio come l'IDE di Arduino, inizieremo con il programma Blink e proveremo a caricare il programma Blink in Arduino UNO.
Programmazione di Arduino UNO utilizzando l'IDE di PlatformIO
L'interfaccia PlatformIO verrà spiegata contemporaneamente durante la programmazione di Arduino UNO. Qui stiamo programmando Arduino per il LED lampeggiante utilizzando PlatformIO. Lo stesso può essere fatto usando l'IDE di Arduino. Seguire i passaggi seguenti per creare un nuovo progetto per il LED lampeggiante.
- Seleziona la scheda "Nuovo progetto" dal menu di accesso rapido.
- Assegna un nome al progetto (qui è "Blink"). Cerca e seleziona la scheda Arduino UNO. Dato che stiamo lavorando nel framework Arduino, il framework selezionato sarà Arduino. Dopo aver inserito tutti i dettagli, fai clic su Fine.
- Il progetto inizierà a essere creato raccogliendo risorse e altre dipendenze.
- Quando il progetto è stato creato con successo, riceverai il messaggio di richiesta come "Il progetto è stato inizializzato con successo" con tutti i dettagli riempiti.
- Per aprire il progetto creato, basta scorrere verso il basso il Menu Home di PlatformIO e vedrai tutto l'elenco dei progetti creati dall'inizio. Nell'angolo destro del progetto creato, fare clic su "Apri" per aprire il progetto e avviare la modifica.
- Quando il progetto viene aperto, inizialmente sembrerà nascosto, ma non preoccuparti, PlatformIO ha la funzione di esplorazione dei file in cui verranno trovati tutti i file del progetto corrente. Vai nell'angolo in alto a sinistra e apri "Untitled (Workplace)". Quando si fa clic su di esso, tutti i file verranno visualizzati come menu a discesa. Per trovare l'editor di testo per modificare il "Codice", seleziona "src" e apri "main.cpp". La modalità editor di testo apparirà nella schermata principale con l'apertura di una nuova scheda. Qui puoi scrivere tutti i codici del progetto in corso.
- Scrivi semplicemente il codice lampeggiante per Arduino UNO. Nota che, PlatformIO non ha l'accesso predefinito alle librerie Arduino, quindi ogni volta che scrivi il codice per Arduino, includi sempre la libreria Arduino cioè "#include" all'inizio del programma.
- Il passaggio successivo sarà la compilazione e il caricamento del codice. Per fare ciò, diamo un'occhiata alle funzioni fornite da PlatformIO. Anche PlatformIO seleziona la porta COM per impostazione predefinita. Ma puoi anche cambiare la porta se non è la porta COM desiderata. La modifica della porta COM verrà spiegata più avanti in questo tutorial. PlatformIO ha funzioni come Build, Upload, Upload to Remote Device, Clean, Test, Run Task, Serial Monitor, New Terminal. Tutte le funzioni si trovano nell'angolo inferiore sinistro dell'Editor. Quando passi il mouse sulle icone, verranno mostrate le funzioni.
- Per costruire lo schizzo, fare clic su "Costruisci" e per caricare lo schizzo fare clic sull'icona "Carica". Quando il caricamento è terminato, sarai in grado di vedere il tempo impiegato per caricare con tutti gli altri dettagli e un messaggio che dice "Operazione riuscita". Il codice è stato caricato correttamente e sarai in grado di vedere il lampeggiamento del LED nella scheda Arduino.
Per selezionare o modificare una qualsiasi porta COM, basta andare nella schermata principale di PlatformIO e poi andare su Dispositivi, qui puoi vedere tutti i dispositivi disponibili collegati. Selezionare la porta COM appropriata e seguire la stessa procedura per caricare lo schizzo.
Programmazione della scheda STM32 utilizzando l'IDE PlatformIO
La programmazione della scheda STM32 avrà passaggi esattamente simili a Programming Arduino UNO spiegato sopra. La differenza sarà la selezione della scheda per STM32 quando si apre un nuovo progetto per STM32. La cosa buona di PlatformIO è che non ha bisogno di alcun pacchetto esterno per scaricare separatamente una scheda, scarica automaticamente tutti i pacchetti e ci rende facile selezionare una scheda e andare all'editor. Useremo JLink / JTAG / STLink / Serial Programmer esterno per caricare lo sketch su STM32. STM32 può anche essere programmato con Arduino IDE. Procedi con i seguenti passaggi per programmarlo con PlatformIO.
- Basta nominare il progetto (qui è "Blink STM32"). Quindi selezionare la scheda per STM32, ovvero " BluePill F103C8 (Generic) ". Quindi seleziona Framework come Arduino. Fare clic su Fine e attendere un po 'di tempo poiché inizialmente ci vorrà del tempo per scaricare i pacchetti e le dipendenze per la scheda STM32.
- Una volta impostato, il tempo di creazione del progetto successivo sarà inferiore rispetto al primo. Ora vai semplicemente su Untitled (Workspace) -> src -> main.cpp nel file explorer di sinistra.
- Ora i prossimi passi saranno importanti in quanto è necessario decidere quale programmatore utilizzare per programmare la scheda STM32. Sono disponibili molti programmatori come JTAG, STLink, JLink, Serial ecc. Tutti funzioneranno ma è necessario configurare la pagina o il file di configurazione "platformio.ini".
- In questo progetto, stiamo usando Serial Programmer CP210x USB to UART Bridge. Abbiamo già eseguito la programmazione della scheda STM32F103C8 utilizzando la porta USB, o la maggior parte dei passaggi verrà eseguita solo da lì. Puoi visitare il link e trovare ulteriori informazioni su questo.
- Innanzitutto, collega il programmatore seriale alla scheda STM32 con la seguente mappatura dei pin e collegalo al PC.
Programmatore da USB a seriale |
Scheda STM32 |
5V |
5V |
Gnd |
Gnd |
Rx |
A9 |
Tx |
A10 |
- Ora vai al project explorer e apri la pagina 'platformio.ini' e modifica la dichiarazione come mostrato nell'immagine. Il upload_protocol dirà quale programmatore dovrebbe usare (STLink, JLink, Serial ecc.). Il upload_port seleziona la porta COM. Puoi trovarlo andando su "Dispositivi" nella Home Page. Cambia la porta COM in base alla tua porta COM.
- Vai a 'main.cpp' e cambia il programma in programma Blink . Ora carica il programma e mostrerà il messaggio di successo e il tempo impiegato per il caricamento. Ora il LED inizierà a lampeggiare collegato al pin PC13 della scheda STM32.
Questo termina il tutorial completo sulla programmazione della scheda Arduino UNO e STM32 utilizzando PlatformIO. Se hai difficoltà a seguire i passaggi, scrivi al nostro forum o commenta di seguito.