C#

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.

C# : tip per la risoluzione del “ambiguous reference”

Oggi mi si è riproposto un problema che da tempo non mi si presentava ed ho deciso di scrivere un “tip” per la risoluzione. Il problema in oggetto è l’errore di compilazione “ambiguous reference”.

Purtroppo, nel mio progetto uPLibrary su CodePlex ho una classe Utility nel nemespaceuPLibrary.Utilities ma ne esiste un’omonima nel namespace Microsoft.SPOT.Hardware del .Net Micro Framework. Ovviamente, questo comporta un errore di “ambiguous reference” al momento della compilazione.

2275.Immagine_thumb_58E4FDA2

La soluzione a questo problema prevede l’uso degli alias per i namespace o per le classi, per cui abbiamo due possibilità :

  • using uPUtility = uPLibrary.Utilities.Utility ossia dichiarare un alias per la classee quindi utilizzare uPUtility nel codice;
  • using uPUtilities = uPLibrary.Utilities ossia dichiarare un alias per il namespacee quindi utilizzare uPUtilities .Utility nel codice;

Un mio nuovo piccolo progetto su CodePlex : M2Mqtt

2783.m2mqttpng_58BFBD2D

Ho appena pubblicato su CodePlex un mio piccolo nuovo progetto : M2Mqtt.

Si tratta di un client MQTT (Message Queue Telemetry Transport) che può essere utilizzato su tutte le piattaforme .Net, ovviamente con un occhio particolare al .Net Micro Framework.

Per chi non lo sapesse MQTT è un protocollo per la comunicazione M2M (Machine to Machine) nell’ambito dell’Internet Of Things e per il quale ultimamente è stato avviato un processo di standardizzazione con OASIS. Basti pensare che grazie alla suo notevole “leggerezza”, è stato scelto come protocollo per lo scambio di messaggi attraverso ilFacebook Messanger.

Per maggiori informazioni vi rimando al sito ufficiale MQTT ma non mancherò di pubblicare al più presto una serie di articoli dedicati a questo protocollo ed all’utilizzo della libreria che ho appena rilasciato.

Mi raccomando….stay tuned !!

ioProgrammo : realizziamo un sistema di allarme temperatura con il Netduino Plus

8666.4-177g_468EB7EF

Anche questo mese nella rivista “ioProgrammo” (n. 177, Agosto 2012) c’è un mio articolo sul .Net Micro Framework e la sua applicazione con Netudino Plus.

Sfruttando la funzionalità Ethernet della scheda, viene realizzato un sistema di allarme temperatura configurabile via RESTful APIs che invia una mail quando la soglia impostata viene superata.

Anche questa volta…mi raccomando…non perdetevelo !

ioProgrammo : il mio articolo sul .Net Micro Framework

1884.4-176g_2CE5F352

Questo mese, nella nota rivista di programmazione “ioProgrammo” (n. 176, Luglio 2012), c’è un mio articolo sul .Net Micro Framework.

Si parte dalle basi, dall’architettura e dal modello di programmazione sino ad arrivare a realizzare, attraverso l’utilizzo del Netduino, un allarme fatto in casa che sfrutta un sensore di prossimità.

Mi raccomando non perdetevelo e correte in edicola ad acquistarlo !