Cos'è Arduino, sistemi embedded e IoT? Quali linguaggi di programmazione scegliere
In questo articolo parliamo di robotica e di automazione! Innanzitutto cerchiamo di chiarire tre concetti, ovvero cos'è Arduino, cosa vuol dire IoT e che cosa vuol dire sistemi embedded o sistemi integrati:
- Arduino, un prodotto creato in Italia, famosissimo e diffuso in tutto il mondo. Essenzialmente è una scheda a cui possiamo collegare i vari sensori per fargli fare delle attività diverse.
- IoT o Internet of Things (Internet delle Cose). Essenzialmente si intendono tutti quei dispositivi intelligenti o Smart collegati all’Internet di casa tua e che puoi comandare tramite uno smartphone. Solitamente questi oggetti / dispositivi vengono fatti proprio con delle schede.
- Sistemi embbedded. Essenzialmente sono tutti quegli oggetti che al loro interno hanno dei componenti elettronici, quindi un telecomando, una TV o una macchinetta del caffè. All’interno ci sono dei componenti elettronici e di conseguenza c’è una parte di programmazione. Questi oggetti sono dei sistemi considerati “sistemi embedded o sistemi integrati”.
Voglio subito dirti che per quanto mi riguarda questa parte relativa alla robotica e all’automazione non è il mio settore di riferimento. Tuttavia ho conosciuto delle persone che lavorano in questo ambito, quindi mi sento di poterti dare qualche piccolo consiglio.
Ora parliamo un po’ di lavori e che percorsi potresti fare per approcciare o per entrare nel mercato del lavoro. La prima cosa che ti voglio dire è che solitamente o meglio, per quanto riguarda i sistemi embedded, il linguaggio di programmazione C è molto richiesto nel mercato. Tuttavia oltre a conoscere il linguaggio di programmazione C le aziende richiedono anche un elevato standard di conoscenze e di basi accademiche, che possono essere di matematica, di elettronica e così via. Quindi di conseguenza solitamente chi lavora in questo ambito da un punto di vista professionale ha conseguito corsi di laurea che possono essere informatica o ingegneria elettronica.
Inoltre tutte le persone che conosco e con cui mi sono anche confrontato su questo settore, lavorano tutta in ambito di ricerca. Tutto ciò che riguarda l’automazione e la robotica, l’internet delle cose e così via è richiesto nel mercato ma in maniera molto limitata e sono molto legate a quello che è il settore della ricerca. Non pensare che questo tipo di lavori lo possa trovare in maniera semplice su LinkedIn. I lavori che trovi su LinkedIn sono principalmente ricolti ad altri settori, come lo sviluppo front-end e back-end oppure lo sviluppo mobile e così via.
Questo settore invece è più una nicchia legata ancora alla ricerca soprattutto in Italia. Magari all’estero è leggermente diverso.
Altra cosa che volevo dirti è che se vuoi fare degli esperimenti con Arduino, ti costa veramente poco. Puoi sperimentare in maniera totalmente libera, nel senso che ti può comprare lo Starter Kit. Puoi quindi creare semplicemente da solo, per sfizio personale. Poi magari dopo che hai accumulato esperienza in questo campo valuterai qual è la strada migliore per te. Quindi anche se non trovi delle aziende disposte ad assumere fin da subito, sappi che comunque puoi creare i tuoi prototipi sperimentali anche per conto tuo.
Quando parliamo di prototipi Arduino puoi utilizzare praticamente qualsiasi linguaggio. Puoi utilizzare Python, JavaScript o addirittura sento spesso un progetto che si chiama Johnny-Five. Come puoi vedere JavaScript si applica in tantissimi campi diversi.
Prima di concludere ti volevo dare ancora un altro consiglio. Se non hai mai visto nulla di programmazione, quindi praticamente non sei un programmare, non buttarti direttamente sul linguaggio ma cerca di fare un piccolo passo indietro e di andare ad apprendere prima quello che è un metodo di ragionamento. Nei nostri corsi ci concentriamo molto sull'aiutare gli studenti in questo aspetto fondamentale nella programmazione.
Quindi devi prima apprendere quello che sono le basi della programmazione, devi prima pensare come un programmatore. Dopo che avrai appreso le basi a quel punto ti sarà semplicissimo passare seriamente ai linguaggi di programmazione. Le basi sono universali e valgono tendenzialmente per tutti i linguaggi di programmazione moderni, quindi una volta che le hai apprese, puoi applicare quelle stesse basi ai vari linguaggi di programmazione senza troppi problemi.
L’unica cosa che cambierà sarà tendenzialmente la sintassi!