Community Days 2014 : “Internet of Things : la mia lavatrice collegata ad Internet ?” 

Posted by Paolo Patierno Monday, September 08, 2014 12:54:50 PM
Rate this Content 0 Votes

logo_small

Dopo esserci stato più volte dalla parte del pubblico, questa volta con grande onore sarò tra gli speaker dei Community Days 2014 di Roma che si terranno dal 23 al 25 Settembre.

L’onore sarà doppio, in quanto avrò al mio fianco un caro amico come Valter Minute che ho riconosciuto come il “Maradona” dei sistemi embedded.

La nostra sessione, intitolata “Internet of Things : la mia lavatrice collegata ad Internet ?”, sarà completamente dedicata all’IoT partendo dai possibili sistemi embedded (targati Microsoft) fino alle possibili soluzioni nel Cloud, tra cui il futuro progetto “Reykjavik” basato su Azure presentato a Build 2014; il titolo dice la verità, tra le altre cose, avremo come protagonista una lavatrice (giocattolo) !

Potete trovare tutte le informazioni relativa all’agenda delle sessioni ed alla logistica sul sito ufficiale oltre al modulo per la registrazione.

Vi aspettiamo numerosi per questo evento che come ogni anno non deluderà le aspettative di coloro che vi parteciperanno !

M2Mqtt e GnatMQ … adesso anche su Windows 8.1 e Windows Phone 8.1 !! 

Posted by Paolo Patierno Wednesday, September 03, 2014 5:35:19 PM
Rate this Content 0 Votes
Windows_logo_-_2012 m2mqttpng
gnat

Sembra che io sia stato in vacanza (vista la mancanza di post sul mio blog) ed è la verità !

Nonostante la vacanza, ho proseguito lo sviluppo del progetto M2Mqtt ed oggi ho il piacere di rilasciare la nuova versione 3.6.0.0 con il supporto per WinRT !!

Ho dovuto intervenire soprattutto nei punti di gestione del networking (in WinRT non ci sono le Socket ma gli StreamSocket), dei thread (passaggio da Thread a Task) e della sicurezza ma finalmente il primo client MQTT per tutte le piattaforme .Net, da oggi funziona anche sui tablet dotati di Windows 8.1 e sugli smartphone con Windows Phone 8.1.

Il nuovo progetto, aggiunto in una solution per Visual Studio 2013, è una “portable class library” che ho utilizzato e testato in una Universal App.

La stessa sorte è toccata al “fratello” GnatMQ, giunto alla versione (Beta) 0.9.2.0, grazie al quale abbiamo a disposizione un broker MQTT da eseguire su tablet e smartphone della famiglia Windows 8.1.

Ovviamente ho provveduto ad aggiornare anche il package Nuget aggiungendo gli assemblies per WinRT.

Spero di aver fatto cosa gradita per moltissimi utilizzatori di M2Mqtt che in passato mi hanno richiesto fortemente questo porting !

Sorriso

NETMFBLE : Una libreria .NET Micro Framework per Bluetooth 4.0 

Posted by Lorenzo Maiorfi Tuesday, August 19, 2014 8:24:00 AM
Rate this Content 0 Votes

A distanza di quasi sei mesi dalle prime righe di codice scritte, ho pubblicato in questi giorni una prima "beta" del progetto "BLE for NETMF" su Codeplex, all'indirizzo netmfble.codeplex.com.

L'obiettivo del progetto è quello di fornire ad applicazioni embedded sviluppate con .NET Micro Framework una libreria "driver" in grado di astrarre la complessità del protocollo Bluetooth Low Energy (il documento di specifiche, di cui potete scaricare un PDF all'indirizzo http://1drv.ms/1rQS6oH, è lungo circa 2700 pagine e questo spiega perché già in questa prima beta il progetto contenga più di 100 file .cs, test e sample esclusi!) esponendo delle API di alto livello (quale quella nota come GATT, nelle "declinazioni" sia server che client) pur senza impedire, grazie ad un modello a "layer", un accesso più a basso livello, fino ad arrivare al layer più basso sul quale la libreria si appoggia, ossia quello delle API HCI (Hardware Controller Interface).

Con NETMFBLE potrete dotare le vostre applicazioni embedded per .NET Micro Framework delle funzionalità che gli consentiranno, con il profilo "central", di collegarsi (anche con più sessioni aperte contemporaneamente) a periferiche BLE quali iBeacon, sensori (quali quelli dei kit KeyFob e SensorTag della Texas Instruments, tanto per fare un esempio), attuatori (come le lampade RGB Yeelight Blue), smartphone (è stato da poco annunciato il supporto "peripheral" nello stack BLE di Android L) e più in generale a tutti quei dispositivi censiti nel database della bluetooth.org, mentre tramite il profilo "peripheral" potrete realizzare dei firmware in grado di rendere "visibile" il vostro dispositivo embedded come GATT server, in grado ossia di esporre servizi e "caratteristiche" (proprietà leggibili, scrivibili e notificabili arricchite da metadati) compatibili con lo standard GATT (e quindi ad esempio a Smartphone BLE-compliant quali tutti quelli basati sulle versioni più recenti di iOS o quelli basati su Android 4.3+ che includano un controller BLE, come quelli della famiglia Samsung Galaxy), o anche soltanto come dispositivo che "espone" dati utili tramite "advertising", esattamente come fa un iBeacon (magari pubblicando dati più interessanti e meno statici di un semplice identificativo Wink).

Sebbene il modello di API HCI sia di fatto reperibile per tutti i controller BLE disponibili sul mercato, ciascun vendor fornisce una implementazione in parte proprietaria e questo di conseguenza limita la portabilità del progetto ai soli chip BLE per i quali è stata fornita un'implementazione: in questo momento l'unica implementazione disponibile in NETMFBLE è quella per il chip della Texas Instruments CC2540/CC2541, probabilmente il più diffuso ed economico nel suo genere. Tale chip è di fatto un microcontrollore  a 8 bit (programmabile tramite una qualsiasi toolchain per core 8051 e apposito SDK fornito dal produttore) che integra al suo interno un modulo radio dedicato alle funzioni BLE. L'interfaccia HCI è implementata da un apposito firmware i cui sorgenti sono parte del Bluetooth SDK 1.4 della Texas Instruments. Date le "modeste" capacità (in termini di flash e ram) del chip CC254x tale firmware deve essere compilato con differenti configurazioni a seconda del profilo BLE desiderato (central o peripheral, ossia quelli che nel "vecchio" Bluetooth venivano chiamati rispettivamente master e slave) e del pinout imposto dalla scheda sottostante.

Per semplificare l'utilizzo di NETMFBLE ho disegnato uno specifico modulo hardware, attualmente in fase di produzione, a breve disponibile gratuitamente per chi ne farà richiesta (tramite il Forum), al solo costo di una "recensione", fino all'esaurimento del primo lotto di 20 pezzi. Poiché la programmazione del chip CC254x richiede un apposito debugger hardware (il TI CC debugger), il modulo per NETMFBLE sarà disponibile pre-programmato nelle due versioni con profilo "central" e "peripheral", sebbene non escludo che in futuro si possa prevedere l'utilizzo di un bootloader per lo switch a runtime delle due funzioni.

Allora, avete già in mente una killer-application per NETMFBLE?

Better Embedded 2014 : la mia sessione sull’Internet of Things 

Posted by Paolo Patierno Tuesday, August 12, 2014 4:58:24 PM
Rate this Content 0 Votes

Il 4 e 5 Luglio sono stato a Firenze per l’evento Better Embedded 2014, la prima conferenza italiana dedicata al mondo embedded.

Ho avuto la fortuna e l’onore di essere speaker con una sessione sull’Internet of Things, intitolata “Internet of Things : protocols war !”. L’evento è stato seguito da molte persone come ogni anno ed ha mantenuto le sue aspettative e spero di poter rivivere questa esperienza anche l’anno prossimo.

10502174_10202541224956011_7172979389273929892_n

10488180_10202543474652252_1308244259809629282_n

Per quanto riguarda la mia sessione, potete trovare le slide disponibili su SlideShare.

Windows for IoT : “cannot open include file arduino.h” ? Verifica la connessione ad Internet, hai bisogno del package Galileo C++ SDK su Nuget ! 

Posted by Paolo Patierno Wednesday, July 23, 2014 1:25:35 PM
Rate this Content 0 Votes

Ieri ho ricevuto il mio kit con la board Intel Galileo con la versione di “Windows for IoT” ed ovviamente, come un bambino che ha tra le mani il suo nuovo giocattolo, ho iniziato a giocare !

La cosa più semplice è quella di seguire la documentazione online, raggiungibile dal sito ufficiale Windows On Devices, che descrive passo passo come essere “up and running” in pochi minuti. La mia voglia di fare mi ha portato a commettere un “errore” che non mi ha permesso di concludere la procedura nel modo corretto. Cosa è successo ?

Dopo aver acceso la Galileo, averla collegata al PC e navigato tra le cartelle (sia con una sessione telnet che come “network shared”), ho deciso di sviluppare il primo esempio relativo al blinking del led. Apro Visual Studio 2013 e seleziono il template di progetto C++ relativo a Windows for IoT, avvio la compilazione ed …. ecco l’errore !!

arduino_header_error

Non trova il file arduino.h ? Come mai ? Non viene installato insieme all’SDK che dobbiamo scaricare dal sito Microsoft Connect ? La risposta è no !

Tutti gli headers file con relativa implementazione sono nel Galileo C++ SDK che trovate su Nuget. Per questo motivo, ho dovuto manualmente scaricare tale package e referenziarlo nel mio progetto. A quel punto, tutto ha funzionato correttamente !

A quanto pare, però, sono stato l’unico ad avere questo problema e mi sono chiesto come mai ! Tutte le altre persone che hanno il kit hanno compilato il progetto di esempio senza alcun problema ma soprattutto senza dover scaricare manualmente il package Galileo C++ SDK da Nuget.

Ebbene non è proprio così ! Quel package è necessario ma il wizard lo scarica automaticamente al momento della generazione del progetto ed a quanto pare, in quel momento, il mio PC non era connesso ad Internet !!!

Se il PC non è connesso ad Internet, il wizard crea il file package.config vuoto :

   1: <?xml version=”1.0encoding=”utf-8”?>
   2: <packages>
   3: </packages>

Viceversa, esso contiene un riferimento al Galileo C++ SDK (Microsoft.IoT.Galileo.Arduino 1.0.0.0) nel momento in cui c’è connessione.

   1: <?xml version=”1.0encoding=”utf-8”?>
   2: <packages>
   3:     <package id="Microsoft.IoT.Galileo.Arduino" version="1.0.0.0" targetFramework="Native" />
   4: </packages>

E’ ovvio che tale package è necessario se avete intenzione di sviluppare applicazioni Arduino-like (infatti il wizard specifica “Galileo Wiring app”) ma non nel caso di applicazioni Win32 standard.

Insomma … prima di partire con il Windows Developer Program for IoT assicuratevi di avere il PC connesso alla grande rete !

Page 1 of 43 1 2 3 4 5 6 7 8 9 10 20 40 > >>