Sv Pievani รจ una realtร bergamasca specializzata in lavorazioni per la preparazione superficiale di parti metalliche e plastiche. L’azienda ci ha contattato per realizzare un sistema di analisi e monitoraggio delle macchine in produzione usate per microfosfatazione, zincatura, lavaggio / sgrassaggio alcalino, sabbiatura ed applicazione adesivo per attacco G/M.
Sviluppo sistema di analisi e monitoraggio: le premesse
Il cliente aveva giร al suo interno conoscenze sulla lettura dei segnali che possono essere interpretati da ogni singola macchina; dopo una fase di analisi congiunta รจ stato scelto Automation HAT by Pimoroni, un dispositivo che riunisce in un solo modulo molte funzioni grazie ai suoi relรจ, alle uscite alimentate, ai canali analogici ed agli ingressi con buffer. Automation HAT รจ compatibile con tutte le schede Raspberry PI con 40 pin.
Ogni macchina doveva avere il suo Raspberry Pi + Automation HAT collegato; ogni installazione aveva quindi bisogno di ricevere dalla macchina dei segnali da elaborare, rendere persistenti su un buffer locale e ad intervalli regolari inviare ad un database SQL Server per la successiva analisi. Il cliente aveva pertanto la necessitร di essere autonomo nell’aggiungere e togliere macchine da monitorare, senza dover mettere mano a configurazioni e senza dover fare interventi manuali.
Abbiamo perciรฒ deciso di sviluppare la soluzione utilizzando un sistema a microservizi e seguendo la metodologia 12-factor app.
L’iter realizzativo
Lโapplicativo lavora con 2 container Docker:
- Il primo nominato โautomationhatโ si occupa del recupero e salvataggio locale dei segnali attraverso un microservizio Python che si appoggia sulle librerie fornite da Pimoroni;
- Il secondo nominato โrpiloaderโ si occupa dell’elaborazione ed invio al database Sql Server attraverso un microservizio Spring Boot.
Il sistema utilizzato per gestire le release del software e la loro distribuzione ai dispositivi Raspberry e monitoraggio dello stato di health รจ balenaCloud.
Grazie a balenaCloud, un nuovo dispositivo viene registrato ed attivato alla sue funzioni semplicemente scrivendo col Etcher lโimmagine base sulla microsd da inserire nel Raspberry prima della sua accensione. Una volta acceso il Raspberry, in pochissimi minuti, il sistema operativo di balena si registra al progetto nel cloud e scarica lโultima versione del software, avvia i 2 container ed inizia il suo lavoro.
Potrebbe interessarti: tutti i vantaggi di BalenaOS
Lโimmagine base inizialmente usata non contiene nessuna versione del nostro software, ma solo il sistema operativo ed i riferimenti al progetto cloud. L’installazione dellโultima release ed i successivi aggiornamenti vengono gestiti in automatico da balenaCloud.
Un nuovo aggiornamento del software seguirร il seguente workflow: al termine della modifica al codice sorgente verrร fatto un commit e push verso il repository GIT di balenaCloud, il quale farร da trigger al sistema di building automatico delle immagini Docker ed alla creazione di una nuova release. Al termine del processo tutti i Raspberry riceveranno lโaggiornamento automaticamente.
Sarร dunque possibile attraverso la dashboard web vedere tutti i Raspberry che compongono il progetto e per ognuno di essi avere informazioni dettagliate sul networking, stato delle risorse (cpu, ram, disco) e log dellโapplicativo.
Con grande soddisfazione da parte del team di SV Pievani, il sistema รจ studiato per essere resiliente e capace di far fronte a riavvi improvvisi, problemi di rete o altro ancora.
Hai bisogno di sviluppare un progetto ad hoc? Contattaci!