WindowsCE

IoT@Work : evento “romano” dedicato all’Internet of Things !

3515.domusdotnet20262x60_thumb_130D09A3 1067.logotinyclrit_275x80_thumb_396EECEE

DomusDotNet, community romana orientata alle tecnologie Microsoft, e TinyCLR.it. community italiana dedicata al .Net Micro Framework e di cui faccio parte, hanno organizzato per Venerdì 6 Giugno 2014 a Roma (presso la sede Microsoft) un evento completamente gratuito e dedicato all’Internet of Things : IoT@Work !

Insieme ad altri due MVP su Windows Embedded, Mirco Vanini e Lorenzo Maiorfi, avrò l’onore di essere speaker, per la prima volta anche io nelle vesti di MVP, con una sessione dedicata al panorama dei principali protocolli per l’IoT ed M2M communication.

Dopo una mattinata dedicata allo studio dell’IoT ed alle tecnologie che lo caratterizzano, il pomeriggio vedrà protagonista un’interessantissima demo “corale” con tutti gli speaker con un approccio di realizzazione di un sistema di home ed industrial automation.

L’evento è assolutamente da non perdere !! Vi aspettiamo !!

Advertisements

M2Mqtt : release 3.3.0.0 per il client MQTT su piattaforma .Net

Lo sviluppo della libreria M2Mqtt continua …. ormai giunta alla versione 3.3.0.0 !

Questa volta le nuove funizionalità riguardano due richieste provenienti dalle persone che la stanno utilizzando.

In primo luogo, ho aggiunto più overload al metodo Connect(), poichè da quanto ho rimosso i parametri di default (per questioni di compatibilità con le versioni precedenti del .Net Framework) ho lasciato il costruttore più complesso che richiede tutti i parametri. Molte persone, non conoscendo bene il protocollo MQTT, si sono trovate in difficoltà nel decidere quali valori passare ai parametri meno noti (will message, clean session, …).

L’ulteriore nuova funzionalità riguarda l’evento di disconnessione del client dal broker MQTT che è stato richiesto sul sito ufficiale CodePlex. La classe MqttClient espone l’evento MqttMsgDisconnected che viene sollevato quando è rilevata una condizione di mancata connessione con il broker e tipicamente in due casi :

  • In caso di assenza di traffico dati, al messaggio di PINGREQ (relativo al keep alive) non si riceve la risposta PINGRESP dal broker;
  • La trasmissione o la ricezione dati verso/da il broker fallisce per un problema di connessione;

Anche questa volta la nuova versione è disponibile su CodePlex e su Nuget, oltre ad aver aggiornato il corrispondente componente M2Mqtt4CE per Windows Embedded Compact 2013 !

Breaking changes ….

Per quanto riguarda Nuget, gli assemblies M2Mqtt relativi al .Net Micro Framework 4.3 sono stati aggiornati all’ultima release QFE1; essi non funzionano con la versione RTM precedente, poichè gli assemblies del micro framework sono passati dalla versione 4.3.0.0 alla 4.3.1.0.

GnatMQ : un broker MQTT per il .Net Framework

Cattura

Con una settimana di ritardo rispetto l’uscita prevista, ho finalmente rilasciato in versione Beta un broker MQTT completamente sviluppato in C# e che può essere eseguito con il .Net Framework ed il .Net Compact Framework 3.9 (su sistemi con Windows Embedded Compact 2013) … il suo nome è GnatMQ !

Al suo interno pulsa il cuore della libreria M2Mqtt con la quale condivide il “core” del protocollo MQTT, per quanto riguarda la parte di connessione al client e la gestione dei messaggi.

Ovviamente, è completamente open source e disponibile su CodePlex ma è attualmente in versione Beta (aspetto numerose segnalazioni da parte vostra !).

Come riportato nella pagina di documentazione supporta le seguenti funzionalità :

  • Tutti i livelli di QoS del protocollo MQTT;
  • Flag Clean Session alla connessione di un client;
  • Flag di Retained Message;
  • Will Message con relativo QoS e topic;
  • Autorizzazione con username e password;
  • Sottoscrizione ai topic con wildcards;
  • Publish e subscribe mediante una “inflight queue”;

Tra le funzionalità non ancora supportate abbiamo :

  • Configurazione del broker da un file di configurazione;
  • Sicurezza basata su SSL/TLS;
  • Configurazione bridge (broker to broker);
  • Salvataggio permanente (es. database) delle sessioni, retained message e will message;

Il mio obiettivo è di supportare lo sviluppo di questo broker così come per la libreria M2Mqtt nella speranza che possa essere utilizzato e migliorato grazie alle vostre segnalazioni !

Per poterne seguire l’evoluzione è possibile utilizzare anche la relativa pagina Facebook ed account Twitter.

Microsoft MVP per Windows Embedded !!

Ieri, il mio lavoro pomeridiano è stato interrotto da una delle mail più belle che potessi ricevere : sono stato nominato Microsoft MVP per la categoria Windows Embedded !!

Cattura

Questo premio è il frutto della mia passione e della voglia di condividere le mie conoscenze che nasce nel 2011, anno in cui ho iniziato a seguire gli eventi della mia attuale community DotNetCampania, di cui sono successivamente diventato socio. Rapito dall’animo con cui erano tenuti gli eventi, ho deciso di diventarne parte attiva ed il mio primo grazie va a tutti coloro che ve ne fanno parte, perché è soprattutto grazie a loro che ho ricevuto questo riconoscimento che ovviamente è di tutti !

Grazie a colei che è diventata la mia MVP community lead , Cristina Gonzalez Herrero, con la quale da ieri è iniziato questo percorso e che mi seguirà nel corso di questo anno.

Grazie a tutti gli MVP italiani su Windows Embedded che hanno creduto in me. Nell’ordine con cui li ho conosciuti nel tempo, un grazie a Valter Minute, il primo guru e simbolo dell’embedded in Italia che seguivo e leggevo solo sui forum e che ho poi conosciuto personalmente ad un corso (tenuto da lui ovviamente!). Il guru oggi è ormai un grande amico !

Grazie a Lorenzo Maiorfi che ha avuto l’intuizione di fondare la community TinyCLR.it, chiedendomi di farne parte e coinvolgendo tante altre persone; abbiamo un’anima “nerd” che ci accomuna ! Grazie a lui ho anche conosciuto il mitico Mirco Vanini che ha sempre dispensato ottimi consigli di lavoro e di vita, credendo in ciò che faccio. Auguro a tutti di conoscere una persona come lui !

Grazie a Beppe Platania e Gianni Rosa Gallina che hanno accettato volentieri i miei inviti alle due edizioni della Microsoft Embedded Conference organizzata a Napoli dal DotNetCampania, rendendo l’evento ancora più speciale e ricco di contenuti di alto livello. Spero di poterli ricambiare magari con una conferenza a Torino, a casa loro !

Un grazie a Samuel Phung, mitico MVP americano da ormai 10 anni, che ha osservato interessato i miei articoli sul blog della sua community Embedded101 iniziando con me un rapporto non solo tecnico ma soprattutto di amicizia, rendendomi addirittura “board of director” member della community stessa insieme a David Jones, Thierry Joubert e Ron Kessler … una grande famiglia di guru dell’embedded !

L’ultimo ma sicuramente il più importante grazie va a mia moglie Sara ed al mio piccolo Christian, che quotidianamente si vedono privati della mia presenza (fisica e non … talvolta ci sono con il corpo ma la mia testa sta sviluppando) nel dedicare il mio tempo alle attività di community. Hanno accettato e capito che questo è il mio modo di vivere la mia passione ! Comunque sia mi supportano ogni giorno ! Vi amo da morire !

Questo rappresenta per me solo un punto di partenza per fare sempre meglio … e come diceva un vecchio film … “da grandi poteri derivano grandi responsabilità”.

Occhiolino

Welcome to the Internet of Your Things !!

6445.IoYT_thumb_4F254080

Oggi è “comparso” un nuovo sito web dedicato all’Internet of Things da parte della Microsoft che parla di Internet of Your Things per evidenziare che l’IoT può essere realizzato da ciascuno di noi con le proprie “cose” che possiamo interconnettere fra loro attraverso il Cloud.

Sul sito è possibile trovare tutte le informazioni su questo nuovo (o già maturo ?) progetto su cui la Microsoft sta orientando il proprio business utilizzando quanto già di buono ha per il mondo embedded (tutti i sistemi operativi della famiglia Windows Embedded ai quali aggiungerei il .Net Micro Framework) ed unendolo a quanto di potente ha con il Cloud (Microsoft Azure è noto a tutti).

E’ proprio vero che ciò che ha detto il nuovo CEO Satya Nadella nell’intenzione di volere “a cloud for everyone, on every device” per cui il #cloud4device può essere inteso nell’accezione più generale, non solo smartphone e tablet ma device e “cose” che si collegano alla grande rete !

Ci si può iscrivere ad una newsletter che però inizierà il 1° Luglio … forse a partire da quella data … ne vedremo di “cose” belle !!

M2Mqtt : bug fix e nuova versione 3.2.0.0

Se utilizzando la versione 3.1.0.0 vi rendete conto che gli eventi di Connect e Disconnect non sono sollevati … è corretto … non sono gestiti nel client e dovete aggiornare la libreria oppure ignorarli !

Ho rilasciato un aggiornamento della libreria M2Mqtt (versione 3.2.0.0) che mette a posto questa dimenticanza.

A seguito della fusione del codice tra la libreria client M2Mqtt ed il futuro broker GnatMQ ho commesso l’errore di includere la gestione dei messaggi di SUBSCRIBE, UNSUBSCRIBE, CONNECT e DISCONNECT anche nel client (ovviamente senza alcun senso) con i corrispondenti eventi.

L’aggiornamento è disponibile come sempre anche su Nuget ed ho provveduto ad aggiornare anche il corrispondente componente M2Mqtt4CE per Windows Embedded Compact 2013.

M2Mqtt : MQTT per le piattaforme .Net con la nuova versione e sempre più social !

4503.m2mqttpng_thumb_4B412890

Ed anche questa volta arriva puntuale un aggiornamento per la mia libreria M2Mqtt ormai giunta alla versione 3.1.0.0 !

Le novità principali riguardano una migliore gestione del QoS Level 2, alcune proprietà del client esposte all’esterno ma soprattutto il fatto di aver valutato ed aggiunto alcune richieste che mi sono state fatte dagli utilizzatori che ovviamente ringrazio !

Inoltre, in alcune parti del codice sorgente potrete notare una direttiva di compilazione condizionata alla definizione del simbolo BROKER … perchè ? Ho uniformato il codice della libreria M2Mqtt al codice di un broker MQTT che sto sviluppando e che a breve sarà rilasciato in versione beta. Il suo nome è GnatMQ ed il progetto è già pubblicato online sempre su CodePlex e quindi open source. Attenzione che attualmente è ancora una versione in via di sviluppo e non completamente stabile ma il rilascio è imminente !

Oltre ad aggiornare il progetto su CodePlex, ho provveduto ad aggiornare il relativo package su Nuget (che ormai ha superato i 1000 download !), il codice nella Microsoft Gallery ed il progetto M2Mqtt4CE per includere il nuovo componente nelle proprie immagini di Windows Embedded Compact 2013.

L’ultima novità riguarda una libreria sempre più social ! Ho creato l’account twitter ufficiale @M2Mqtt e la pagina Facebook !

Non avete scuse per non poter seguire la sua evoluzione !