• RSS
  • Add To My MSN
  • Add To Windows Live
  • Add To My Yahoo
  • Add To Google

Hai una Raspberry Pi ? Ti serve assolutamente questo libro ! 

Post di Paolo Patierno giovedì 5 dicembre 2013 16:59:41
Valuta questo articolo 1 Voti

raspberrypi

Questo post è ben diverso da quelli che generalmente scrivo sul mio blog, soprattutto in relazione al fatto che si tratta di una mini recensione al primo libro (spero di una lunga serie) appena pubblicato da un mio carissimo amico, quale è Valter Minute (MVP Microsoft per Windows Embedded).

Qualche mese fa, il caro Valter mi propone di fare da “cavia” per un suo progetto in corso d’opera; io ovviamente accetto senza pensarci su due volte, ritrovandomi a leggere in anteprima i capitoli del libro “Raspberry Pi – Guida all’uso” (Edizioni FAG Milano), per poter proporre ulteriori spunti e carpire eventuali errori (di testo, non di certo di contenuto ben conoscendo l’autore).

I libro è per i neofiti che si avvicinano al mondo dei makers o che vogliono realizzare in casa un proprio centro multimediale ma anche per utenti più avanzati che vogliono ottenere il massimo dalla loro Raspberry Pi. Sono affrontati tutti gli argomenti necessari per poter prendere a pieno il controllo dell’oggetto, dall’installazione del sistema operativo alla relativa configurazione, dalla programmazione in Python alla connessione del dispositivo al Cloud per assaggiare l’Internet Of Things.

Voglio solo aggiungere che per la Raspberry Pi sono disponibili anche una BSP Windows CE in versione alpha ed in corso di sviluppo da parte di Douglas Boling, così come un supporto per il .Net Micro Framework, che purtroppo non ho avuto ancora modo di sperimentare.

L’autore è sicuramente una garanzia, considerando la sua enorme esperienza nel mondo embedded sotto tutti i punti di vista e relativamente a tutti i prodotti da Windows CE a Linux ed Android.

Ieri ho ricevuto ne ho ricevuto una copia in omaggio (che rileggerò ovviamente), scoprendo anche che Valter ha riservato qualche preziosa parola nei miei confronti per l’aiuto dato; ovviamente ho fatto tutto con estremo piacere per un professionista che ho sempre considerato un punto di riferimento nel mondo dello sviluppo embedded. Dai forum su MSDN al corso su Windows CE 6.0 che ho seguito (di cui lui era ovviamente il “docente”), ne ho apprezzato l’elevatissimo livello di compentene … bisogna farne di strada per essere come lui !

Per me è quasi un idolo !! Sorriso 

Ovviamente, non mi resta che dire … accattatevillo !!! (parafrasando una famosa pubblicità)

Tradotto dal mio dialetto … correte subito ad acquistarlo oppure fatelo comodamente da casa, eccovi il link al sito ufficiale !!

Il rilascio del .Net Micro Framework 4.3 QFE1 è alle porte !! 

Post di Paolo Patierno mercoledì 4 dicembre 2013 12:43:02
Valuta questo articolo 0 Voti

All’orizzonte ci sono delle belle notizie per il futuro del .Net Micro Framework !

E’ ormai passato un anno (esattamente il 4 Dicembre 2012) da quando è stata rilasciata la versione 4.3 in RTM e da allora nessun aggiornamento….sino agli ultimi giorni !

Sul forum ufficiale di Netduino, proprio Chris Walker (padrone di casa, Secret Labs) ha risposto in merito al mancato aggiornamento della piattaforma con le seguenti testuali parole :

I sat down with the program manager for NETMF in Seattle two weeks ago, to discuss progress on NETMF 4.3 QFE1.
QFE1 is getting closer; we're all pretty excited to move over the NETMF 4.3 core.
Speaking of 4.3...we have a few surprises in store, once NETMF 4.3 QFE1 ships. We've been busy this year, especially in the software department. Quite a few community members have been contributing behind the scenes too. We should have lots of love and kudos to share in the near future.

Chris ha ovviamente partecipato all’MVP Summit 2013 di Novembre, insieme a tutti gli altri MVP ed al team di sviluppo sul .Net Micro Framework. A quanto pare si avvicina (entro la fine dell’anno ?) il rilascio ufficiale della versione 4.3 QFE1 !!

Io sono in trepida attesa, in quanto considero il .Net Micro Framework un ottimo prodotto sul quale la Microsoft dovrebbe maggiormente puntare per il mondo dell’Internet of Things !!

Internet of Things : MQTT con la piattaforma 2lemetry 

Post di Paolo Patierno venerdì 15 novembre 2013 16:11:19
Valuta questo articolo 0 Voti

Oramai online è possibile trovare numerose piattaforme che offrono il servizio di “device to cloud”, per poter acquisire dati provenienti da dispositivi remoti, storicizzarli ed eventualmente esporli verso altri device : uno di queste è 2lemetry.

Quest’ultima, oltre a fornire l’interfacciamento RESTful tramite HTTP, mette a disposizione anche il protocollo MQTT che andremo ad utilizzare facendo uso della libreria client M2Mqtt.

In primo luogo è necessario effettuare la registrazione online (operazione banalissima)

01_register

Al termine della registrazione, si esegue l’accesso e la pagina relativa all’account ci mostra una serie di informazioni, tra le quali quella più importante è il “domain”, che rappresenterà la radice di tutti i topic sui quali andremo a pubblicare o ricevere messaggi via MQTT.

A questo punto possiamo passare immediatamente allo sviluppo di una semplice applicazione scegliendo tra tutte le piattaforme supportate dalla libreria M2Mqtt (.Net Framework, .Net Compact Framework oppure .Net Micro Framework). Volendo realizzare un caso reale, utilizziamo la board Netduino Plus con un sensore di temperatura (il solito TMP102 già ampiamente usato in post precedenti ed il cui driver potete trovare nella uPLibrary) per inviare online i dati rilevati.

In primo luogo definiamo tutti i parametri necessari a 2lemetry per caricare i dati :

   1: const string M2MIO_DOMAIN = "<domain>";
   2: const string M2MIO_CLIENTID = "device1";
   3: const string M2MIO_STUFF = "temp";
   4: const string M2MIO_BROKER = "q.m2m.io";
   5: const string M2MIO_USERNAME = "<username>";
   6: const string M2MIO_PASSWORD = "<MD5password>";

E’ ovviamente necessario l’indirizzo del broker (che usa la porta standard 1883), il client ID, ciò che viene chiamato “stuff” che nel nostro caso sarà la temperatura, il dominio ed infine lo username e l’MD5 della password della nostra iscrizione online.

L’applicativo è banalmente il seguente :

   1: TMP102 tmp102 = new TMP102(A0AddressSelect.GND, 100);
   2:  
   3: MqttClient client = new MqttClient(M2MIO_BROKER);
   4: client.Connect(M2MIO_CLIENTID, M2MIO_USERNAME, M2MIO_PASSWORD);
   5: string topic = M2MIO_DOMAIN + "/" + M2MIO_STUFF + "/" + M2MIO_CLIENTID;
   6:  
   7: while (true)
   8: {
   9:     float value = tmp102.Temperature();
  10:     client.Publish(topic, Encoding.UTF8.GetBytes("{ \"value\" : " + value + " }"));
  11:     Thread.Sleep(5000);
  12: }

In questo modo, ogni 5 sec verrà pubblicato il valore della temperatura sul topic <domain>/temp/device1.

Per avere un riscontro immediato, possiamo sfruttare la piattaforma online messa a disposizione da 2lemetry all’indirizzo http://mqtt.io/. In primo luogo vanno impostate le opzioni di sessione, cioè username e password del nostro account.

02_options

Subito dopo è necessario specificare l’indirizzo del broker, la porta ed un client Id per poterci connettere. Una volta connessi, utilizzando la sezione di subscriber, possiamo sottoscrivere al topic sul quale la nostra board pubblica i dati.

03_subscriber

In poco meno di 10 minuti abbiamo messo in piedi una stazione di rilevamento della temperatura che pubblica dati online su una piattaforma che li storicizza per noi e che con i suoi strumenti permette di analizzarli e ripubblicarli magari via HTTP !

M2Mqtt MQTT Client : nuova 2.3 con eventi asincroni ! 

Post di Paolo Patierno sabato 9 novembre 2013 07:25:07
Valuta questo articolo 0 Voti

Lo sviluppo di questo progetto è iniziato ad Aprile di quest’anno con l’obiettivo di colmare l’assenza di un buon client MQTT per tutte le piattaforme .Net. A distanza di 6 mesi non mi sarei aspettato un interesse così forte nei suoi confronti, probabilmente dovuto all’onda d’urto dell’Internet Of Things che sta arrivando (o è già tra noi ?).

Molte persone stanno utilizzando la libreria per progetti più o meno complessi, mi mandano mail (con segnalazioni ma anche con complimenti) ed aprono degli “issue” sul sito CodePlex, che io prontamente risolvo.

Questo non può far altro che spingermi a migliorare sempre di più il livello qualitativo del progetto, oggi arrivato alla versione 2.3.0 con alcuni bug fix ma soprattutto con un’interessante novità : tutti gli eventi sollevati dalla classe MqttClient (messaggio pubblicato, messaggio ricevuto, …) sono eseguiti in un thread separato, per cui l’utilizzatore del client non deve più preoccuparsi di lanciare un’elaborazione “lunga” nell’event handler attraverso un nuovo thread.

Con questo, spero di aver apportato un’ulteriore miglioria di estremo interesse per chi la sta usando e per chi vorrà usarla !

Come sempre, l’aggiornamento è disponibile su CodePlex e su Nuget per tutte le versioni del .Net Framework (Desktop, Compact e Micro) oltre che per Mono Project su Linux !

M2Mqtt : intervento sul Keep Alive previsto dal protocollo MQTT 

Post di Paolo Patierno mercoledì 30 ottobre 2013 08:56:01
Valuta questo articolo 0 Voti

A seguito di una segnalazione del mio amico Lorenzo Maiorfi, nonché MVP Microsoft, ho apportato un bug fix alla mia libreria M2Mqtt (MQTT client) che permette di gestire al meglio il caso in cui il client non trasmette nulla per un tempo pari al “keep alive period” ed il keep alive thread, il cui compito è quello di pingare il broker per tenere attiva la connessione, non riceve nulla entro il timeout (es. broker non online, disconnessione dalla rete, …).

L’aggiornamento è già disponibile su CodePlex e su Nuget !

Pagina 20 di 49 << < 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 > >>