Snap4City per Smart City e Industria 4.0 (ITA)

Snap4City Https://www.snap4city.org è la piattaforma di riferimento adottata per la sperimentazione e l'uso in molti progetti e aree: REPLICATE, RESOLUTE, Sii-Moobility, Snap4City, Trafair, SmartBed, Mosaic, etc. E' l’evoluzione della piattaforma Km4City https://www.km4city.org già diffusa in Toscana ed in altre aree.

Su Snap4city.org è disponibile un’ampia documentazione sia di sviluppo che operativa, svariati casi di test che sono dei veri e propri tutorial passo passo per comprendere come poter utilizzare le varie funzionalità della soluzione, sia in ambito smart city che per soluzioni Industria 4.0. Gran parte della documentazione e' in lingua inglese. 

La piattaforma Snap4City, come riportata in figura seguente, permette

  • l’acquisizione dati da sorgenti di qualsiasi natura (OpenData, GIS territoriali, dati proprietari e personali protetti/gestiti secondo GDPR, IOT e IOE internet  delle cose, sensori da impianti industriali, e social media) con vari protocolli (sia event driven real time che push/pull),
  • l'aggregazione dati con un modello semantico unificato Km4City, riconciliando in automatico dati complessi. L'aggregazione porta i dati su un modello reticolare Km4City e su storage NoSQL ad elevate prestazioni.
  • il data analytic anche in streaming (data driven, real time) per arrivare a produrre risultati diretti e inferiti, dedotti, derivati (utilizzando strumenti di machine learning, massive computing come MapReduce, Tensor Flow, GPU, etc.) 
  • la loro visualizzazione direttamente in Dashboard interattive o nelle mani degli utenti finali su mobile o altri device.

Oltre a questo, con un supporto al Living Lab, la piattaforma permette agli operatori come agli utenti finali di sviluppare i loro applicazioni IOT, le dashboard, il data analytic in cloud, o su IOT Edge sfruttando a pieno le tecnologie di comunicazione, sicurezza e cloud. Anche se la soluzione risulta essere capace di scalare verso grandi soluzioni ed impianti, è in grado, essendo modulare ed open source, di essere configurata per gestire piccole soluzioni e business in locale. Vi sono al momento installazioni in ambito industriale direttamente nelle aziende connesse o meno con altre soluzioni in cloud.

Snap4City permette di realizzare connessioni in ambito IOT/IOE End-to-End sicure ed encrypted come da figura seguente. La comunicazione sicura viene garantita tramite canali encrypted e connessioni autenticate con certificati. Questi devono essere acquisiti durate la registrazione dei dispositivi IOT Device e/o IOT Edge sulla piattaforma. Il Sistema sfrutta un sistema centralizzato di autenticazione e certificazione. La comunicazione sicura comprende anche le connessioni fra IOT Device/Edge e IOT Broker, e fra IOT Broker e IOT Application (sviluppare in Node-RED) on cloud, e fra queste ed il sistema di Dashboard per la visualizzazione di dati ed elaborazioni. Le componenti di Data Analytic possono essere direttamente sviluppare come processi Node-RED su IOT App on cloud o su IOT Edge device o su MicroServizi esterni purche questi siano accessibili da Nodi di Node-RED. Si ricorda che Node-RED e’ nativo su Raspberry PI, e che Snap4City e’ rilasciato come libreria ufficiale nella Library Node-RED della JS Foudation. Sono possibili ed accessibili versioni Snap4City per IOT Edge basati su: Raspberry PI, Android, Windows, Linux, etc., ed ovunque Node-RED puo’ essere eseguito.

 

Nel contesto delle Smart City, la soluzione proposta permette di raccogliere dati da qualsiasi tipologia di IOT Device, essendo la soluzione anche multiprotocollo, e permettendo anche la connessione con IOT broker multipli che possono supportare protocolli diversi come quelli elencati di seguito e non limitati a questi: Compliant with: AMQP, COAP, MQTT, OneM2M, HTTP, HTTPS, REST CALL, SMTP, TCP, UDP, NGSI, LoraWan, SigFOX, DATEX II, SOAP, WSDL, Twitter API, FaceBook API, Telegram API,  SMS, OLAP, MySQL API, Mongo API, HBASE, SOLR, SPARQL, EMAIL, FTP, FTPS, WebSocket, WebSocket Secure, ModBUS, WFS, WMS, ODBC, JDBC, Phoenix, JSON, XML, GeoJSON, WFS, OPC, RS485, RS232, etc.

La soluzione in ambito Smart City permette lo sfruttamento di dati che sono stati acquisiti nella precedente architettura Km4City che è già operativa ed accessibile sul territorio Toscano come in altre aree.

I processi IOT Edge Event Driven (come anche PUSH/PULL) possono essere realizzati tramite lo sviluppo di flussi Node-RED utilizzando la suite di nodi/block/microservice di Snap4City anche la folta library di Node-RED e dei contributi Open Source. Nella Figura seguente l’ambiente di sviluppo Snap4City mentre si ha in editing una IOT Application di un  IOT Edge. I flussi realizzati  in questo modo si leggono da sinistra a destra (ingresso à uscita) e possono presentare corrispondenti elementi virtuali o fisici, IOT device, come bottoni o elementi virtuali nella Dashboard. Le Dashboard di Snap4City sono direttamente integrate dentro la suite di nodi di Snap4city in Node-RED. Ogni flusso e’ un thread indipendente di processo e puo’ essere Event Driven. Il nodo aperto a sinistra puo’ essere un nodo registrato su un certo servizio di un IOT Broker, oppure essere in ascolto su un device/sensore o su un macchinario, o su un bottone di una Dashboard in interfaccia utente. Un nodo aperto (non connesso a destra) puo’ essere un attuatore, un visualizzatore, etc.

In ambito Industria 4.0, la soluzione si adatta perfettamente ai requisiti. I componenti IOT Edge possono integrate protocolli di tipo industriale, connettersi ad ogni apparato sul campo con protocolli PUSH, PULL e in EVENT DRIVEN real time per creare flussi continui di dati e controllori che possono comunicare fra di loro in modo molto semplice ed efficace, implementare Data Analytics ma anche inviare dati on Cloud e demandare al cloud lo storage a lungo termine come l’analitica pesante. A questo riguardo sono stati integrati verso gli apparati protocolli legacy come RS485, MODBUS, OPC, da IOT EDGE come anche letture dirette da questi IOT edge di sensori e connessione con attuatori. Sul campo possono pertanto essere installati anche IOT Gateway, IOT brokers, etc., che vanno a formare una rete completa di controllo. 

 

In ambito energetico sono stati analizzati i dati campione forniti per creare una sistema capace di gestire la mole di dati e poterne fare degli analytics in tempo reale. A questo fine è stato realizzato un prototipo che include un sistema di acquisizione dati, un sistema di generazione di carico, un sistema di immagazzinamento su storage noSQL Federato MONGO, ed un sistema di indicizzazione basato su Elastic Search. Questo ha inoltre permesso di produrre risultati di visual analytic in tempo reale tramite Kibana.

In Figura seguente sono riportati 2 esempi di Dashboard che sono state create utilizzando il Dashboard Builder di Snap4City, in ambito Smart City e Industry 4.0, rispettivamente.