Competenze

Competenze dello Smart Cities Living Lab

 

 

Sviluppo Software

Il laboratorio sviluppa soluzioni complete su piattaforme diverse, utilizzando varie tecnologie e coprendo tutto lo stack dai dati al front end.

  • Front End

Sviluppo front end di applicazioni cross-platform web-based e native, mediante tecnologie web di ultima generazione, quali framework JavaScript (AngularJs, ReactJs, Redux) per la parte logica e framework JS/CSS per quanto riguarda il layout responsive (Bootstrap 3, Material-UI, Angular-Material).

  • Back End

Sviluppo back end di servizi RESTful API per l’accesso ai dati, di tipo asincrono event-driven (Express, NodeJs) e utilizzo di Java con Spring e Spring Data come framework e di Python accoppiato con Flask (micro-framework web). Utilizzo di DB relazionali (PostgreSQL, MySQL) e non relazionali (MongoDB, Elasticsearch).

 

Cloud management

Il laboratorio amministra un sistema complesso composto da risorse di calcolo e storage distribuite su una rete in fibra ottica e rame (IBM Blade Center, IBM Storwize, router Cisco). Le risorse sono virtualizzate utilizzando XenServer. Il laboratorio gestisce anche un’infrastruttura cloud di tipo Platform as a Service (PaaS) basata su OpenShift.

 

IoT

Sviluppo script Python 3 in ambito IoT e design di architetture hardware con integrazione di sensori e intelligenza su diverse piattaforme embedded (Arduino, Raspberry, BeagleBone, Intel Edison, Nvidia Jetson TX1). Utilizzo di protocolli di comunicazione (AMQP, MQTT) in ambito IoT. Installazione, amministrazione remota e manutenzione di reti di sensori IoT con hardware eterogenei.

 

Analisi dati

  • Analisi dati tradizionale

Calibrazione di sensori tramite regressioni lineari semplici e multivariate. Filtraggio e analisi dei segnali provenienti da sensori analogici e digitali. Modellazione matematica di sistemi fisici complessi. Utilizzo di Python, C, Matlab/Octave, Mathematica e di R.

  • Machine Learning e Deep Learning

Reti Neurali per machine e deep learning per la soluzione di problemi di classificazione e regressione (Reti Feed Forward e Reti di Convoluzione). Utilizzo di TensorFlow e di piattaforme hardware eterogenee (schede NVidia K80 su server e schede Jetson TX1, con più di 20K CUDA core). Utilizzo di algoritmi per l’analisi video (es: face recognition, license plate recognition).

 

Project management

Sviluppo software con processo “agile” e uso dei strumenti di project management (YouTrack). Utilizzo di sistemi di controllo di versione (GitLab self-hosted). Utilizzo di strumenti di continuous integration (Jenkins).

 

Comunicazione

Utilizzo di strumentazione professionale per la ripresa video di diversi modelli e di sistemi di stabilizzazione d’immagine. Utilizzo di programmi di post-produzione video. Utilizzo di software di produzione grafica ed editing fotografico.

Gestione di totem interattivi tramite la piattaforma XuniPlay per il digital signage.