giovedì 14 maggio 2015

Internet of Things (IoT) @ TTG

Quando: 14 maggio 2015, ore 18:00
Dove: Corso Castelfidardo 30 Torino - Sala Microsoft Innovation Center

In questo incontro avremo due sessioni sul tema Internet of Things (IoT):

Introduzione a Spark.io, l'IoT arduino-like semplice ed economico
Marco Bodoira e Roberto Nocera faranno una descrizione del prodotto, mostreranno alcune demo e condivideranno l'esperienza dell'evento tenuto al FabLab di marzo relativo a Spark.IO, una piattaforma semplice ed economica per realizzare i propri prototipi.

Internet Of Things: un esempio pratico
Beppe Platania e Gianni Rosa Gallina presentano l’applicazione dell’IoT a Macchine movimento terra, teodoliti ed altre macchine di cantiere. Con il crescere dei sensori e delle apparecchiature di bordo, le macchine utensili sono produttrici di informazioni non soltanto legate alla loro attività lavorativa, ma anche a livello ambientale e di sicurezza. Oltre alle normali funzionalità di aggiornamento remoto del sistema, delle applicazioni e delle configurazioni, l’IoT sui dispositivi industriali nell’ambito dell’edilizia, nel suo significato più ampio, suggerisce tutta una serie di nuove applicazioni non realizzabili fino ad oggi a causa della mancanza di comunicazione.

Sarà presentato un progetto reale, realizzato all’interno di un bando regionale con l’utilizzo di .NET MicroFramework e del Cloud Microsoft Azure.

Registrati qui all'evento gratuito
http://www.torinotechnologiesgroup.it/eventi/15-05-05/Incontro_community_14_maggio_2015.aspx

domenica 1 febbraio 2015

Spark Night Lab @ FabLab Torino



Sei uno smanettone, uno studente, un maker alle prime armi o un hacker?
Vieni a conoscere Spark Core, una scheda Arduino compatibile + modulo wifi + piattaforma
cloud.
Registrati qui, l'levento è gratuito ma i posti sono limitati. Puoi trovare i dettagli qui.
Sponsorizzato da Spark e Fablab.





mercoledì 3 dicembre 2014

Remote Spark per Windows Phone

Remote Spark per Windows Phone è un progetto per gestire in remoto lo Spark device descritto nel mio precedente post.
Questa app, di cui i sorgenti sono pubblicati su codeplex, permette di accendere e spegnere due led e leggere la temperatura dal tuo Spark device.




Come usarlo
1. Costruisci il seguente circuito, usando lo Spark maker kit. Questo circuito è la fusione degli esempi proposti sul sito, blink an led, control leds over the net e measuring temperature:


2. Esegui il flash del seguente firmware sul tuo Spark device da https://www.spark.io/build :

// Define the pins we're going to call pinMode on
int led1 = D0;  // You'll need to wire an LED to this one to see it blink.
int led2 = D1; // This one is the built-in tiny one to the right of the USB jack
int temperature = 0;
double voltage;
// This routine runs only once upon reset
void setup() 
{
  Spark.function("led", ledControl);
  Spark.variable("temperature", &temperature, INT);
  // Initialize D0 + D7 pin as output
  // It's important you do this here, inside the setup() function rather than outside it or in the loop function.
  pinMode(led1, OUTPUT);
  pinMode(led2, OUTPUT);
  digitalWrite(led1, LOW);
  digitalWrite(led2, LOW);
  // Connect the temperature sensor to A7 and configure it
  // to be an input
  pinMode(A7, INPUT);
}

void loop() 
{
  temperature = analogRead(A7);
  voltage = (temperature * 3.3)/4095;
  temperature = (voltage - 0.5) * 100;
}

int ledControl(String command)
{
    int state = 0;
    int pinNumber = (command.charAt(1) - '0') -1;
    if(pinNumber <0 || pinNumber >1)
      return pinNumber;
      
    if (command.substring(3,7) == "HIGH") 
      state = 1;
    else if(command.substring(3,6) == "LOW") 
      state = 0;
    else    
      return -1;
    digitalWrite(pinNumber, state);
    return 1;
}

3. Scarica il mio progetto da codeplex e imposta il tuo DeviceId e Token nella classe Spark.cs.
4. Esegui il deploy dell'applicazione sul tuo Windows Phone.

Cambiando lo stato dei toggle per accendere/spegnere i led, RemoteSpark invia una richiesta POST a spark cloud:

internal async static Task<LedResponse> Set(string p1, string p2)
        {
            LedResponse result = null;

            using (var request = new HttpClient())
            {
                string postData = string.Format("params={0},{1}", p1, p2);
                byte[] byteArray = Encoding.UTF8.GetBytes(postData);
                var stringContent = new StringContent(postData, Encoding.UTF8, "application/x-www-form-urlencoded");
                request.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", Token);
                var response = await request.PostAsync(string.Format("https://api.spark.io/v1/devices/{0}/led", DeviceId), stringContent);
                var json = await response.Content.ReadAsStringAsync();
                result = JsonConvert.DeserializeObject<LedResponse>(json);
                result.PlainJson = json;
                if (result.return_value == "1")
                    result.ok = true;
            }
            return result;
        }

Premendo il pulsante Get temperature, RemoteSpark invia questa richiesta GET:

 internal async static Task<TemperatureResponse> GetTemperature()
        {
            TemperatureResponse result = null;
            using (var request = new HttpClient())
            {
                request.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", Token);
                request.DefaultRequestHeaders.IfModifiedSince = DateTime.Now;
                var response = await request.GetAsync(string.Format("https://api.spark.io/v1/devices/{0}/temperature", DeviceId));
                var json = await response.Content.ReadAsStringAsync();
                result = JsonConvert.DeserializeObject<TemperatureResponse>(json);
            }
            return result;
        }
Il progetto è disponibile per il download e modifiche per i vostri progetti!

lunedì 4 agosto 2014

Spark.io e Internet of Things

Stavo cercando un dispositivo embedded piccolo, economico e dotato di Wifi quando ho scoperto Spark.io.
Il sito è ben fatto e dà subito l'idea delle sue potenzialità, quindi ho deciso di comprare il dev kit, al prezzo di 99$ (il core da solo costa 39$). Ho scelto il core con l'antenna già presente sul circuito, perchè sono pigro!
Oltre a contenere lo Spark Core, il dev kit contiene molti componenti hardware:
Per iniziare, non avendo uno smartphone android o iphone, ho dovuto collegare il core al pc e con putty seguire le istruzioni per impostare la rete WiFi e la password, ed infine ottenere l'id del core.
Una volta connesso alla rete, ho seguito il tutorial per far accendere e spegnere due led.
Prima ho realizzato il ciruito:
Poi sono passato alla programmazione. Il codice è compatibile con il linguaggio usato su Arduino e l'interfaccia è web: è sufficiente loggarsi e l'IDE propone dei progetti di esempio che si possono modificare e salvare automaticamente sul proprio spazio cloud.
L'incredibile comodità è la modalità di flash del firmware via OTA. Dalla pagina web si preme il pulsante fulmine: il progetto viene ricompilato e il core riceve l'aggiornamento via WiFi. Completata l'operazione, il dispositivo riprende a funzionare con il nuovo firmware.

Nel prossimo post comanderò l'accensione dei led e visualizzerò la temperatura tramite un'app Windows Phone.

martedì 6 maggio 2014

//publish/ @ Torino


Evento: 16 - 17 maggio
I3P, Incubatore Imprese Innovative Politecnico di Torino
Via Pier Carlo Boggio, 59 Torino, IT, 10138 Italy

Un evento gratuito unico e divertente, organizzato da Microsoft in collaborazione con I3P ed il MIC di Torino.
Porta la tua app o il tuo gioco all'hackathon Microsoft //Publish/ per scrivere codice in contemporanea ad altri sviluppatori di tutto il mondo. Ti aiuteremo su design, performance, testing e pubblicazione! 32 ore nonstop per avere la tua app pronta per Windows Phone, tablet e PC.

Ricevi supporto dagli esperti Microsoft e delle community per risolvere eventuali problemi e dare il tocco finale al tuo progetto. Testa la tua app in gruppo con gli altri partecipanti e provala sui diversi device a tua disposizione. ConnettiApp Showcase per una delle quattro categorie:
ti online con sviluppatori ed esperti dei prodotti Microsoft collegati dagli eventi in simultanea in tutto il mondo. Pubblica la tua app per partecipare all'
1. Best Windows Phone 8.1 App ;
2. Best Windows 8.1 App; 3. Best Cross-platform App; 4. Breakthrough in App Innovation and Design
I primi due classificati per ogni categoria riceveranno un device da Microsoft Corporation.

Infine, tutte le app pubblicate sul Windows o Windows Phone Store entro il 1 giugno 2014 potranno vincere premi ancora più fantastici partecipando al contest di Microsoft Corporation //publish/ contest

Agenda Day 1

10:00 – 11:00Keynote
11:00 – 13:00 Sviluppo con il supporto degli esperti
13:00 – 14:00Pranzo
14:00 – 19:30 Sviluppo con il supporto degli esperti
19:30 – 20:30 Cena
20:30 – 23:00Sviluppo con il supporto degli esperti
23:00 – 00:00 Spuntino notturno

Agenda Day 2

00:00 – 09:00Sessione notturna di sviluppo
09:00 – 10:00 Colazione
10:00 – 13:00 Sviluppo con il supporto degli esperti
13:00 – 14:00Pranzo
14:00 – 17:00Sviluppo con il supporto degli esperti
17:00 – 18:00 App Showcase

Maggiori informazioni sul sito //publish/

martedì 4 febbraio 2014

Installare Windows Embedded 8.1 Industry

In questo post spiegherò passo passo come installare Windows Embedded 8.1 Industry.

1. Installazione

Con Virtual Box, crea una macchina virtuale per windows 8: io ne ho creata una con 2 GB di RAM e 15 GB di hard disk. 
Potete scaricare gratuitamente l'immagine trial di Windows 8.1 Industry dal sito http://www.microsoft.com/windowsembedded/en-us/downloads.aspx
Da Virtual Box caricate direttamente l'ISO e seguite l'installazione: è praticamente identica a Windows 8.1.







2. Abilitare le funzionalità embedded

Ad installazione completata, digita Windows features nello start menu: la ricerca ritornerà l'app per abilitare/disabilitare le funzionalità di sistema. Scorrendo la lista, espandi Embedded Features e seleziona tutti i sottoelementi.


Dopo il riavvio sarà disponibile nella lista delle applicazioni l'Embedded Lockdown Manager




Nei prossimi post impareremo ad usarlo.


martedì 1 ottobre 2013

Microsoft MVP 2013

Sono lieto di annunciare che sono stato nominato Microsoft MVP (Most Valuable Professional)  per la terza volta!

Ringrazio tutte le persone che mi hanno supportato per raggiungere questo risultato, in particolare Beppe e Gianni (riconfermati anche loro embedded MVP), con i quali ho condiviso molti eventi in questi anni.


Il programma MVP (Most Valuable Professional) Award è un riconoscimento di Microsoft per i leader eccezionali delle community indipendenti che condividono la propria passione, esperienza tecnica e competenza effettiva dei prodotti Microsoft con altre persone. Fornire assistenza e arricchire le community tecniche è parte dell'impegno di Microsoft.
Microsoft riconosce il ruolo fondamentale che queste persone ricoprono nell'adozione e nello sviluppo della tecnologia, nonché nel fornire assistenza agli utenti con i prodotti Microsoft.

La mia pagina MVP http://mvp.microsoft.com/it-it/mvp/Marco%20Bodoira-4034914