Con un po' di dispiacere, qualche giorno fa si è concluso il corso "Laboratorio di Robotica", organizzato dal mio vecchio Liceo (il Liceo Stampacchia di Tricase) a cui io ho partecipato come docente!

Il corso è stato organizzato dal Liceo Stampacchia di Tricase in collaborazione con il CINI (Consorzio Interuniversitario Nazionale di Informatica). Durante il corso, gli studenti hanno potuto imparare ad utilizzare tecnologie innovative come Stampa 3D e programmazione Arduino per costruire (partendo da zero) un robot in grado di disegnare.

Continua a leggere...

Al via il corso Laboratorio di Robotica, organizzato dal Liceo G. Stampacchia di Tricase in collaborazione con il CINI (Consorzio Interuniversitario Nazionale di Informatica).

L’11 Agosto 2017, inizierà la prima lezione del corso “Laboratorio di Robotica”, fortemente voluto dal Liceo G. Stampacchia di Tricase e tenuto dal Dott. Ing. Ludovico Russo, ex studente dell’Istituto che ha recentemente ottenuto un dottorato di Ricerca (con Lode) presso il Politecnico di Torino, e si occupa di tecnologie assistive e robotica educativa presso il laboratorio AsTech (Assistive Technologies) del CINI, nodo di Torino.

Il corso, realizzato grazie ai fondi della presidenza del Consiglio dei Ministri – Dipartimento Pari Opportunità – sul bando “In estate si imparano le STEM”, di cui il Liceo Stampacchia è risultato vincitore, coinvolgerà 21 studenti (di cui 13 ragazze e 8 ragazzi) di età compresa tra i 13 e i 15 anni, che avranno la possibilità di avvicinarsi al mondo della robotica.

Il corso si articolerà in 40 ore, distribuite su 10 lezioni, che termineranno il 25 Agosto 2017. Durante il corso, i ragazzi impareranno le basi di tecnologie altamente innovative, come Progettazione e Stampa 3D, linguaggi di programmazione (C/C++ e Python) e schede di prototipazione rapida (Arduino e Raspberry Pi).

Il corso si svolgerà con metodologia laboratoriale, in modo cooperativo in aula, e l’intero processo di formazione sarà supportato da una piattaforma di formazione on-line. In questo modo sarà possibile sviluppare sperimentazioni didattiche, nonché fornire indicazioni di articoli di approfondimento e svolgimento di attività pratiche sull’uso di tecnologie che saranno illustrate nei momenti in presenza.

Continua a leggere...

Sono felice di informarvi che è stato finalmente attivato un corso di robotica presso il Liceo G. Stampacchia di Tricase (Lecce) per due settimane di Agosto.

STEM Stampacchia

Il corso, introdurrà i partecipanti alle tecnologie di making, fabbricazione digitale e robotica.

Di seguito l'avviso ufficiale.

Sono aperte le iscrizioni al corso Laboratorio di Robotica autorizzato dalla Presidenza del Consiglio dei Ministri – Dipartimento per le Pari Opportunità.

Continua a leggere...

Ecco qui la seconda parte del mio tutorial sull'utilizzo di Electron per sviluppare un'applicazione Desktop in grado di interfacciarsi con Arduino.

Arduinoscope

Mentre nella prima parte abbiamo visto come creare la nostra applicazione ed impostare la grafica, in questo parte entremo nel dettaglio su come utilizzare arduino-firmata per far comunicare la nostra applicazione con Arduino.

Ma prima di tutto, cerchiamo di capire cosa è Firmata.

Il protocollo Firmata

Firmata è un protocollo pensato per permettere la comunicazione tra un microcontrollore ed un software su un computer. Il protocollo è abbastanza generico da poter essere implementato sul firmware di qualsiasi microcontrollore e sul software di un qualsiasi computer. Firmata è già implemetato in Arduino ed è talmente popolare che nelle ultime versioni dell'IDE lo troviamo già disponibile all'installazione. Inoltre, firmata è disponibile su tantissimi linguaggi di programmazione, come Python o javascript in Node.

Continua a leggere...

In un mio precedente post vi ho parlato di come creare una semplicissima applicazione sfruttando Electron e il nuovo linguaggio di programmazione TypeScript. In questo periodo, ho approfondito un po' queste tecnologie, ed oggi vi propongo qui un tutorial completo su come sviluppare un'applicazione in Electron per il controllo di una scheda Arduino connessa via USB al computer su cui gira l'applicazione.

app grafica def

Il tutorial sarà diviso in due parti:

  • Nella prima parte (questa), imposteremo ed entreremo nel dettaglio dell'utilizzo di Electron. Questa parte può quindi essere considerata una versione riveduta e corretta del mio precedente post.
  • Nella seconda parte, ci interfacceremo ad Arduino da TypeScript, e svilupperemo una semplice (ma efficace ed estendibile) interfaccia di controllo per Arduino.

Questo tutorial si basa sul protocollo Firmata e sulla libreria arduino-firmata in Node.js. Vedremo nel dettaglio in seguito di cosa parliamo.

Continua a leggere...

Recentemente mi sto spostando sempre di più verso lo sviluppo di applicazioni Web single-page. A differenza del metodo classico che ho molto esplorato in questo blog, in questo tipo di architettura l'intera applicazione web viene scaricata la prima volta, quando si accede all'url principale del sito internet. In questo modo, il nostro server principale può scambiare solo i dati da visualizzare all'interno dell'applicazione, invece che dover mandare l'intera pagina da renderizzare ogni volta.

Questo, come è possibile immaginare, semplifica e alleggerisce notevolmente il lavoro del server, rendendo di fatto le applicazioni più scalabili e più semplici da gestire. Inoltre, gestendo lo scambio dati con API basate su standard come JSON, è anche possibile poi sviluppare applicazioni Desktop/Mobile native che comunicano con le stesse API della webapp.

Uno dei problemi principali da gestire, con questa nuova architettura, è la protezione dei dati (e quindi l'autenticazione dell'utente). Vediamo in seguito come fare sfruttando una tecnologia chiamata JSON Web Token (JWT).

JWT: JSON Web Token

JWT è uno standard Open per creare chiavi (token) di accesso tra un server e un client.

Continua a leggere...

Mi sono avvicinato alle tecnologie Web per caso qualche anno fa, e mi si è aperto un mondo che molto spesso non sono riuscito ad approfondire, un po' per questioni di tempo, un po' perchè il linguaggio Javascript (il principale linguaggio per la programmazione di WebApp) non mi ha mai appassionato tanto.

Typescript + Electron

Recentemente ho iniziato ad approfondire invece un linguaggio di programma ideato da Mycrosoft chiamato TypeScript. Da definizione, TypeScript è un "superset" di JavaScript, cioè un'estensione di JavaScript, ed include una serie di caratteristiche dei linguaggi di programmazione moderni, quali classi, interfacce, ecc., rendendolo un linguaggio di programmazione degno di questo nome.

Con TypeScript, mi sto riavvicinando ad un progetto che conosco già da tempo ma che non ho mai approfondito: Electron. Electron è un sistema che sfrutta tecnologie web (quindi HTML, CSS e JS) per creare applicazioni native desktop. L'idea di base è molto semplice: le tecnologie web sono arrivate ad una maturità tale da permettere di scrivere applicazioni complesse che girano su qualsiasi browser e su qualsiasi piattaforma, quindi perchè non sfruttarle per sviluppare anche per applicazioni native? In pratica, con electron possiamo prendere una WebApp, impacchetarla e distribuirla come applicazione nativa su Windows, macOS e Linux.

Vediamo in seguito come fare!

Continua a leggere...

Scrivo questo post come introduzione all'utilizzo di Python per per l'algebra lineare. Nella robotica, ed in particolare nella robotica industriale, l'algebra lineare è uno strumento basilare per descrivere e controllare il movimento del robot.

Scopo di questo tutorial è sia fornire una base teorica sull'algebra lineare, sia mostrare come è possibile utilizzare python per svolgere calcoli matematici.

La libreria numpy

Numpy è una libreria molto potente implementata in python per la gestione dei numeri.

Per utilizzare la libreria, dobbiamo installarla utilizzando pip, eseguendo il comando

Continua a leggere...

Il mio tutorial in Flask sta crescendo sempre di più. Nella settimana parte, inizieremo a giocare con CSS e JavaScript per migliorare la grafica del blog.

Settima Parte Flask

Trovate il tutorial qui.

Continua a leggere...

Rieccomi con la sesta parte del mio tutorial. Questa volta vedremo come creare una pagina con l'anteprima dei post più recenti, e faremo alcune aggiustatine alla nostra applicazione.

Parte 6 Tutorial Flask

Trovate il tutorial qui.

Continua a leggere...