Gestire la flotta IOT in modo semplice con UpSwift


Informatica / giovedì, Febbraio 13th, 2020

Perché UpSwift

Nelle aziende moderne e con l’avvento dell’industria 4.0, ci si sta mobilitando sempre di più verso l’automazione IOT.

Si connettono alla rete sempre più dispositivi di controllo, si gestiscono intere linee di produzione fin nei minimi dettagli, aggiungendo dispositivi in grado di rilevare sempre più informazioni sul singolo processo produttivo, basti pensare al controllo nei settori come agricoltura, logistica, smart city, consumer, salute, telecomunicazioni, automotive , vendite e molto altro.

Decine, se non centinaia di dispositivi IOT e server, diventano dispendiosi e complessi da controllare e gestire. Immagina di dover aggiornare il tuo software su cento server, prevendendo una procedura di roll-back in caso di errore. Oppure ricevere allert personalizzati in base a qualsiasi stato della macchina.

In queste situazioni, ci viene incontro un azienda, con tutte le carte in regola per ottimizzare il parco dispositivi delle aziende, UpSwift.io.

Le aziende risparmiano oltre il 75% dei costi di manutenzione utilizzando la piattaforma IoT  UPSWIFT

Features

UpSwift possiede molte caratteristiche interessanti e vantaggiose per le aziende che devono gestire molti server.

  • La sicurezza: non necessità di aprire porte firewall, evitando cosi di esporre inutilmente gli apparati. Tutti i dati dei dispositivi sono crittografati su disco con AES-256. Le chiavi di decrittazione sono memorizzate su macchine separate
  • Supporto ad una grande varietà di sistemi ed architetture
  • Semplicità assoluta, cosi da perdere meno tempo prezioso. UpSwift possiede una chiara documentazione con tanto di video
  • Micro Aggiornamenti e comandi software programmabili anche per singole linee di produzione, con possibilità di rollback in caso di errori, il tutto analizzabile con alert e dashboard
  • Accesso alla shell della singola macchina, in modo sicuro, senza vpn o port forwarding, semplicemente da pagina web cifrata
  • Geolocalizzazione costante dei singoli dispositivi IOT

Installazione

Veniamo alla pratica, installando un sistema di prova su un RaspberryPi 3B con Raspbian Lite Buster.

Partiamo dalla registrazione di un account nel sito UpSwift, come per tutti i servizi troviamo varie fasce di prezzo, cosi da poter scegliere quella adeguata alla nostra azienda. I prezzi sono vari, ma per fare un test, partiamo dall’account gratuito, che ci offre la gestione di 3 apparati, ed un limite sui micro aggiornamenti software mensili.

Dopo la registrazione e la verifica dell’email, veniamo informati della creazione di una macchina test chiamata “example”, una istanza virtuale con la quale iniziare a dare un occhiata ai vari pannelli.

Sinceramente preferisco provare sempre con mezzi reali, quindi partiamo in questo caso con un RaspberryPi 3B, con installato Raspbian Buster lite.

Prima di partire con i comandi, creiamo il nostro “Progetto” dal menù “Create Project” ,dandogli un nome e la frequenza con cui aggiornare i server UpSwift tramite l’agent installato nei client.

L’aggiunta dell’agent UpSwift si esegue agendo sul pulsante “Register device”, che ci propone un solo comando customizzato per il singolo dispositivo, di una semplicità incredibile.

su -c 'wget -O - "https://dashboard.upswift.io/install_upswift" | bash -s ervVErvJGJdmcc-V-6n0regergpupMW-w MoreWare'

Una volta eseguito il comando come utente root (metodo 1) o come utente standard (metodo 2), l’agent sarà operativo e il device presente nella dashboard in pochi istanti.

Nel tab Device, avremmo subito lo stato del sistema iot o server linux, impostiamolo in un gruppo specifico, in questo caso “Production”. Un punto principale di UpSwift è il sistema di micro aggiornamenti del nostro software o di qualsiasi comando linux necessario. In questa schermata, avremo subito sott’occhio lo stato di questi aggiornamenti e in caso di problemi, tramite il pulsante “remote control” accederemo in modo sicuro e senza aprire porte, alla shell del sistema.

Cliccando Open Remote Control, ci verrà richiesta la chiave segreta, copiabile semplicemente con l’apposito pulsante, ed avremo accesso in 1 minuto a qualsiasi nostro dispositivo sparso nel mondo.

Panoramica degli apparati

Ora che abbiamo un dispositivo reale collegato, nel tab “Overview” troveremo i dettagli principali della nostra flotta IOT.

Nella prima riga, il numero di device registati, quanti micro aggiornamenti abbiamo eseguito e quanti server sono online.

Nelle righe restanti saranno posizionati i vari grafici temporali.

Dispositivi

Il tab devices contiene il cuore delle informazioni di ogni singolo client connesso a UpSwift.

General details permette di visualizzare nome gruppo, id, posizione geografica e data dell’ultima volta che l’agent ha inviato dati.

Nella casella Technical details troveremo ip pubblici, mac address, ed utilizzo di ram, cpu e disco successivamente collegabili a determinati alert nel tab diagnostics.

Logs permette di avere a disposizione e scaricare i log della singola macchina, utile in caso di malfunzionamenti.

Diagnostics Alerts è suddiviso in Ongoing System Alerts e Ongoing Application Alerts, così da intervenire prontamente in caso di problemi.

Application Monitor è la parte completamente personalizzabile di messaggi inviabili semplicemente modificando il file json  

/lib/upswift/config.json

Control Commands presenta i comandi personalizzati che creeremo nel tab Control Center. Si può fare ogni cosa, qualsiasi comando compreso il riavvio del dispositivo IOT.

Micro Updates

Il tab micro update è il cuore dell’organizzazione dei vari aggiornamenti dei nostri software, dove è possibile creare singoli task con comandi pre e post aggiornamento, nonchè la procedura di rollbak e riavvio automatico.

Selezionamo “create new micro update“, poi il gruppo a cui applicare l’aggiornamento, nel caso di questa guida “production”. Compiliamo i campi in General details, passando per Before update , dove per esempio potremmo fermare il servizio del nostro gestionale da aggiornare.

In Upload files/directories , selezioneremo che file o cartella caricare, qui si capisce il tempo che si risparmia nel caso avessimo decine di server magari operativi in orari diversi, la sezione Install dependencies è fondamentale per preparare i requisiti di dipendenze software per il nostro aggiornamento.

Per finire la sezione RollBack è pronta a salvarci in caso di problemi con l’aggiornamento

Per sicurezza abilitiamo l’invio di un email in caso di errore, tramite l’apposita casella di selezione.

Geolocalizzazione

Nel tab Map possiamo ricercare tutti i nostri dispositivi, magari dotati di gps, semplicemente iniziando a scriverne il nome nella barra di ricerca.

Diagnostica

Abbiamo preparato i nostri dispositivi, ore bisogna monitorarne lo stato tramite il tab “Diagnostics” suddiviso in System ed Application.

https://www.youtube.com/YdxSi7q2Gv

I video messi a disposizione da UpSwift sono molto chiari sull’uso dei menu diagnostici. Possiamo ricevere messaggi precisi sullo stato dei sistemi ed applicare delle azioni in caso di anomalie.

App monitor

App monitor è interessante, perché ci permette di comunicare dati a nostra scelta tramite la semplice modifica del file json 

<strong>/lib/upswift/config.json</strong>

Potremmo inserire all’interno dati come temperatura, messaggi di stato, in pratica quello che vogliamo perché sono semplici stringhe personalizzabili.

Questo è un esempio del suo contenuto dove viene spiegato più in dettaglio nella documentazione ufficiale

{"update_status": "done", "alert_message": "", "app_1": "1", "alert_detected": false, "app_3": "", "app_2": "", "app_5": "", "app_4": "", "ready_to_update": true}

Si nota subito l’estrema facilità con cui si può inviare dati, ogni app ha la sua stringa con il dato e la gestione del messaggio di allerta.

I metodi per editare un file Json sono cosi tanti che lascio a voi, sperimentare il metodo che più si adatta alle vostre esigenze.

Control center

Siamo giunti al pannello di controllo dove potremmo creare tutti i nostri comandi preferiti, avviabili con un semplice click anche dal pannello devices.

Troviamo gia preconfigurati quelli di base, come riavvio del dispositivo, del wifi, del bluetooth, dell’applicazione o del gps.

Conclusione e riferimenti utili

Abbiamo visto come, con estrema semplicità, possiamo amministrare tutti i nostri server e dispositivi, tramite una interfaccia web responsive, ora non ci resta che scegliere il profilo adeguato alla nostra azienda.