Piattaforme libere e gratuite di sviluppo software per applicazioni embedded
Cominciano a fiorire le piattaforme di sviluppo hardware libere che, in coppia con i CAD, permettono di trasformare in nostro amato pinguino in uno strumento di creazione interattiva.
Ecco un elenco, sicuramente non esaustivo, delle piattaforme disponibili. Come vedrete, ce ne sono anche troppe!
È la piattaforma di sviluppo openhardware più famosa e diffusa del momento. È completamente libera, open source, gratuita, multipiattaforma e indipendente da siti o cloud. Naturalmente il collegamento a Internet è utile per visualizzare video tutorial, software di esempio e librerie ma non è indispensabile. Unico neo è che sembra sia basata su controllori Atmel e non è quindi così “agnostica” nel confronto di altre marche / tecnologie.
Tramite il sito è possibile sia consultare tutta la documentazione che comperare o trovare construttori e distributori globali e locali delle schede compatibili con questo sistema. Il costo iniziale è così basso che si è molto invogliati a fare qualche prova, solo per divertimento, che è assicurato!
Esistono innumerevoli pubblicazioni, anche in italiano, su questo sistema per cui personalmente lo considero un ottimo strumento didattico per le scuole e per i curiosi di ogni età.
È una piattaforma nuova ma molto interessante. Per capire quanto è nuova basti pensare che ST ha annunciato la sua partecipazione al progetto il 17 gennaio 2014. La sua caratteristica principale è che è una piattaforma per processori ARM, di qualsiasi marca, è persino possibile usare la scheda Arduino basata su ARM e convertirne il firmware per usarla con questa piattaforma. Il progetto è stato creato da due ingegneri di ARM Ltd sotto licenza Apache.
Il progetto è basato su un sito che permette lo sviluppo del software tramite un semplice browser web, con il quale è possibile compilare e condividere il codice, sia pubblicamente che in gruppi chiusi e quindi adatto anche per progetti commerciali. Gli utenti del sito possono collaborare tramite la piattaforma che permette di gestire in maniera semplice un repository condiviso (basato su git) in maniera simile a piattaforme come github. L’editor consente il cut & past di codice da librerie, la sua customizzazione, il syntax highlighting e la possibilità di debug del codice che gira direttamente sulle schede di sviluppo. Il codice compilato viene copiato semplicemente spostando il binario sulla scheda che si comporta come una semplice chiave USB. Il debug avviene tramite l’emulazione seriale della stessa connessione USB. Una bella presentazione la potete scaricare dal blog di Elettronica In.
In realtà, visto che è di moda la piattaforma di sviluppo OpenSource e visto che il sistema mbed ha come unica grosso caratteristica (difetto?) il fatto che è on-line, le aziende, desiderose di spingere le proprie piattaforme, sfornano IDE gratuiti e Open da tutte le parti. Chi usa per esempio il processori NXP può scaricarsi l’ide
che altri non è che Eclipse+Git+librerie mbed+Gcc specifico per il proprio processore e multipiattaforma.
Parallax è un produttore di un chip molto interessante e particolare. Il Parallax Propeller è un processore RISC a 32 (simile agli ARM) ma con addirittura 8 core ad alta performance al suo interno, mantenendo un basso costo. Per favorirne la diffusione Parallax fornisce un IDE gratuito e multipiattaforma. Tramite il sito di Parallax è possibile acquistare schede e processori oltre a componenti generici di tutti i tipi. Dal punto di vista didattico il progetto è molto interessante perché permette di “giocare” con tecnologie molto potenti spendendo poco. Una parte del sito è dedicata alla didattica mentre molto altro materiale didattico è presente soprattutto dedicato alla programmazione parallela.
Ecco un’altra iniziativa simpatica: un controller simil Arduino (come loro stessi lo definiscono) ma basato su ARM ST. Ambiente IDE multipiattaforma compleamente open con tanto di sorgenti su github. La ditta si chiama leaflab e vende la propria piattaforma openhardware tramite i soliti distributori (eccola per esempio su Sparkfun). Molto interessante!
Per chi si è affezionato ai chip della famosa azienda Microchip PIC ecco il prodotto di chipKIT che fornisce una piattaforma del tutto simile (e derivata da) Arduino con schede compatibili con gli shield Arduino per PIC32. L’IDE è naturalmente OpenSorce e multipiattaforma.
Ovvero: Javascript per microcontrollers. Interessantissima piattaforma che estremizza l’uso (e l’esperienza Web) per lo sviluppo HW. Tutto ciò che serve è: il browser Google Chrome e la schedina. Funziona in maniera multipiattaforma (Windows, Linux, Mac, addirittura Android!) è completamente Open Source e permette di lavorare in maniera realmente interattiva. Sulla scheda gira un interprete Javascript. Si scarica l’estensione per Chrome dell’IDE. Si attacca la scheda e via: la scheda risponde subito in maniera interattiva, e quindi i comandi (per es. per accendere un led) si possono dare “al volo”, si può programmare in maniera tradizionale e addirittura si può programmare in maniera grafica! Lo stesso ide si usa per aggiornare il firmware sulla scheda che funziona ad eventi (molto interessante per le applicazioni interattive) grazie alla libreria node.js. Il progetto è partito grazie alla famosa piattaforma di lancio progetti kickstarter: l’obiettivo iniziale era 20.000$ e hanno superato i 100.000$! Andatevi a vedere il video dimostrativo! E in ultimo le performance: la scheda è un ARM che funziona velocissimo, costa poco e consuma pochissimo, tanto che potete farla andare tranquillamente a batterie… inoltre funziona anche su schede non specificatamente nate per la piattaforma! Per un elenco delle piattaforme supportate consultate questa pagina.
Questo è un progetto molto interessante a causa della sua origine. Creato in seno allo IUAC, Inter-University Accelerator
Centrer a Nuova Delhi, è indiano e fa parte di un progetto più grande, il PHOENIX che in generale vuole portare l’apprendimento della tecnologia nel paesi asiatici senza grosse spese e autosostenibili. La piattaforma, openhardware e opensource, è completamente aperta e supportata dalla comunità. Con Ubuntu basta fare il classico comando:
sudo apt-get install microhope
per avere l’ambiente completo installato e funzionante. Dal punto di vista hardware e funzionale è molto simile ad arduino dato e usa Atmel ATmega32 e i suoi strumenti classici.
(Sottotitolo: Low Cost Science Experiments using Computers cioè esperimenti di scienza a basso costo usando i computer). Altro progetto in seno al PHOENIX (la sigla sta per PHysics with hOme-made EquipmeNt and Innovative eXperiments). Lo riporto qui perché:
- merita per la sua funzione didattica.
- è legato a doppio filo con il progetto MicroHOPE, vedi questo link presente sul sito
Non è una piattaforma di sviluppo per microcontrollori ma piuttosto una sua applicazione. La schedina è openhardware e si basa sull’ellettronica del progetto MicroHope per creare uno strumento di laboratorio multiuso (oscilloscopio digitale, tester, datalogger, generatore di segnali, sonda di luce, audio, temperatura, ph, ecc.) e con un costo irrisorio. Infatti costa circa 50 sterline ovvero 60 euro comprensivo di cavi, sonde e motorini vari ma si può spendere di meno facendoselo; è veramente open: sul sito trovate tutti gli schemi elettrici e i disegni del circuito stampato per rifarlo su http://expeyes.in/. Il software di controllo, grafico e basato su Python, è presente in Ubuntu e si installa con il classico comando:
sudo apt-get install expeyes
Ma può essere usato anche un CD live. Il sito presenta pure un manuale e esempi per effettuare più di 50 esperimenti di eletronica/chimica/fisica.
Perfetto per le scuole superiori!
Piattaforme simil Arduino, moltiplicatevi! Che dire, ecco un altro sito basato su software Open Source Wiring e Processing nonché GCC coniugato con processori, invece che Atmel, TI (il progeto hardware si chiama, non a caso, TI Launchpad…). Il compilatore si chiama MSPGCC, ma non lasciatevi ingannnare: è il solito vecchio buon GCC. Naturalmente è multipiattaforma e gira su Windows, MacOSX e Linux 32 e 64 bit. C’è da sbizzarrirsi…
Interessante piattaforma l’hardware italiana(!): fa quello che è dichiarato senza sorprese e la documentazione dei prodotti è estremamente accurata.
La Arietta è una ottima scheda se si ha bisogno di un embedded con dimensioni e consumi molto bassi e le potenzialità di un sistema Linux completo (l’immagine di rootfs fornita da AcmeSystems è una Debian Wheezy standard). La potenza di calcolo non è grandissima, ma più che adeguata per fare automazioni anche complesse o serverini per casa.
Brilla davvero per il supporto Linux: tutti i driver per le periferiche del SoC di Atmel sono integrati nel kernel mainline – quindi anche se Acme offre una configurazione di partenza per il 3.16, si può compilare versioni più recenti senza impazzire. Anche il bootloader che serve per avviare la scheda è opensource; rispetto ad u-boot è scarno, ma è semplice metterci mano se occorre. (PS: Grazie ad Antonio per la dritta…)
Se trovate altre piattaforme degne di nota, per favore segnalatelo nella lista del LinuxTrent!