17 settembre 2020

Node-RED: realizzare gratis sistemi IoT altamente integrati e complessi!

Viviamo in un mondo sempre più connesso al punto che ormai anche oggetti della nostra vita quotidiana sono in grado di collegarsi ad Internet andando a costituire quella che viene definita Internet of Things.

Per avere degli esempi basti pensare al fatto che le nostre auto sono in grado di collegarsi ad Internet sia per accedere a servizi (es. Spotify per la musica) oppure per fornire telemetrie ai costruttori. Altro esempio sono gli Home Assistant che abbiamo in casa che sono in grado, oltre a collegarsi ad Internet, di interagire con sensori e oggetti domotici presenti ad esempio per accendere la caldaia oppure per regolare la luce nella nostra stanza.

Da questi esempi si evince che le applicazioni IoT sono dei sistemi altamente integrati e complessi (dipende dal contesto di applicazione). Ciò potrebbe portarci a pensare che se volessimo sviluppare noi una nostra applicazione IoT sarebbe un lavoro per professionsiti del settore e fuori dalla nostra portata.

In realtà ciò non è del tutto vero. Se volessimo dedicarci allo sviluppo di applicazioni IoT a titolo amatoriale oppure per progetti professionali esiste una soluzione Open Source che ci semplificherà notevolmente il lavoro: Node-RED.

Si tratta di un software di sviluppo/integrazione basato su NodeJS e JavaScript che permette di connettere in modo semplice e veloce dispositivi IoT, API e servizi online mettendo a disposizione un editor visual via web browser e sfruttando il paradigma basato su flussi.

All'atto pratico un'applicazione sviluppata con Node-RED consiste in una serie di blocchi che utilizzano una o più porte (sia in ingresso che in uscita) per poter essere collegati tra loro tramite delle connessioni e che andranno a costituire il flusso logico della nostra applicazione. Quindi a differenza del caso in cui si usa un linguaggio di programmazione come Java o Python l'applicazione non è più una sequenza di istruzioni ma è un insieme di flussi di dati che vengono scambiati tra i blocchi in maniera completamente asincrona.

Facciamo un esempio molto semplice per comprendere meglio la logica dietro Node-RED.

Supponiamo di avere dei sensori in grado di fornire delle telemetrie in tempo reale; potrebbero essere ad esempio dei sensori domotici di temperatura presenti nelle varie stanze di una casa oppure in vari punti di una città. Immaginiamo ora di voler, allo stesso tempo, salvare i dati inviati dai sensori su un database e di volerli inviare via email ad un indirizzo specifico.

Sfruttando Node-RED realizzare questa applicazione diventa molto semplice in quanto dobbiamo solo selezionare i nodi di nostro interesse, collegarli opportunamente tra loro e configurarli.

I nodi messi a disposizione sono veramente innumerevoli e se ce ne servisse uno non presente è disponibile un nodo "generale" in cui possiamo scrivere noi la logica di funzionamento tramite JavaScript. In alternativa possiamo sviluppare, come fanno tanti contributori della community, noi un nuovo nodo e metterlo poi a disposizione di tutti. Inoltre tenete presente che tramite Node-RED è possibile anche creare delle dashboard e gui, sempre tramite dei nodi. Quindi l'unico limite alle applicazioni che è possibile sviluppare è solo la nostra fantasia.

Grazie alla sua semplicità Node-RED può rendersi molto utile anche in fase di prototipazione di un progetto per individuare da subito funzionalità e potenzialità.

Le applicazioni sviluppate grazie a Node-RED possono essere eseguite, con lo stesso comportamento, non solo su un computer (desktop, server o Raspberry) ma anche in cloud dal momento che tutto poggia sul framework NodeJS.

Se volete vedere alcuni esempi di applicazioni sviluppate con Node-RED da usare anche come tutorial vi consiglio di visitare questo sito oltre quello ufficiale.

Se anche voi volete realizzare, per passione oppure per lavoro, delle applicazioni IoT (ma non solo) in tempi brevi ed in maniera intuitiva allora Node-RED fa al caso vostro.

Se ti è piaciuto l'articolo, segui il feed per tenerti sempre aggiornato sui nuovi contenuti del blog!

2 settembre 2020

Clockify: tracciare gratis il tempo dedicato alle attività!

Buona parte della nostra vita lavorativa, sia essa svolta da dipendenti o liberi professionisti, trascorre svolgendo una serie di attività che molto spesso devono essere completate entro tempi ben precisi. Ecco perché può essere necessario sapere quanto tempo si è speso per completarle.


A questo scopo sarebbe utile avere un software che non solo ci permetta di creare una lista delle attività da fare ma che ci dia anche la possibilità di tracciare il tempo ad esse dedicato. Applicazioni di questo genere vengono dette "time tracker".

Un'applicazione di questo tipo gratuita, semplice da usare e disponibile per varie piattaforme è Clockify.

Si tratta di un'applicazione web multilingua disponibile, oltre che via browser, per tutti i principali sistemi operativi e dispositivi mobili.

In pratica consente di creare delle schede attività così da permettere a soggetti singoli, team o imprese di tenere traccia del tempo impiegato per svolgere un’attività specifica, un progetto oppure il tempo dedicato ad un determinato cliente. Il tempo può essere registrato in automatico sfruttando il cronometro messo a disposizione oppure può essere inserito manualmente.

Nel video riportato qui di seguito è possibile vedere una demo di come funziona Clockify.

Grazie a Clockify è possibile avere una panoramica immediata e dettagliata di quanto sia il tempo impiegato per svolgere un’attività e, se previsto, quale sia il compenso da richiedere. E' possibile infatti generare dei report che possono essere i riepiloghi di un giorno, una settimana o anche di un progetto o di uno specifico cliente e via dicendo. I dati sono disponibili per essere scaricati in diversi formati, stampati direttamente quando vengono visualizzati a schermo o salvati dove meglio si crede per una visualizzazione successiva.

La versione gratuita può essere utilizzata da un numero illimitato di utenti ma esistono anche versioni a pagamento che mettono a disposizione delle funzionalità aggiuntive. Ad ogni modo la maggior parte delle funzioni offerte dalla versione gratuita sono in grado di soddisfare la quasi totalità delle esigenze che si possono avere quando si decide di utilizzare un'applicazione di time tracking.

Se volete comprendere come viene divisa la vostra giornata, riorganizzando gli orari e migliorando la vostra produttività allora Clockify è soluzione che fa al caso vostro.

Se ti è piaciuto l'articolo, segui il feed per tenerti sempre aggiornato sui nuovi contenuti del blog!