Collegare i dispositivi di campo al cloud con Azure IoT Hub (Gestione Irrigazione IoT – Parte 3)

Introduzione

Utilizzando i servizi cloud Microsoft Azure e gli SDK open source è possibile realizzare una applicazione IoT completa in brevissimo tempo. Tutti i servizi cloud utilizzati per realizzare l’applicazione descritta sono disponibili gratuitamente selezionando il piano di servizio free.

L’applicazione che andremo a realizzare in questa serie di post è costituita da:

  1. Panoramica del progetto – Parte 1
  2. Dispositivi di campo (sensori e attuatori)
    • Sensore livello acqua dei serbatoi – Parte 2
  3. Collegare i dispositivi di campo al cloud – Parte 3
  4. Componente cloud per analisi ed elaborazione dati
  5. Dashboard PowerBI online per visualizzazione dati realtime
  6. App mobile PowerBI per monitoraggio dell’impianto

Collegare i dispositivi di campo al cloud

IoT Hub supporta nativamente i protocolli HTTP e AMQP per la connessione con i dispositivi ed espone anche un broker MQTT. Altri protocolli possono essere utilizzati attraverso dei gateway custom.

Per stabile una connessione  bidirezionale con dispositivi dotati di risorse di calcolo limitare MQTT è probabilmente la soluzione più semplice. Le librerie open source per gestire MQTT sono disponibili in molti linguaggi di programmazione e possono essere utilizzati praticamente su ogni piattaforma.

Su MQTT vedi anche Simple MQTT Client for Android

Device Explorer

Recentemente sul portale web di Azure è stato reso la sezione  “Device Explorer” che permette di censire i dispositivi ed assegnare le chiavi crittografiche per stabilire il canale di comunicazione sicuro verso il cloud.

azure_trial_003 new web device explorer
Create new device in Device Explorer web

Per la connessione al broker MQTT di Azure sarà necessario utilizzare il nome del dispositivo e la chiave scelta durante il censimento del dispositivo in device explorer.

username: <myhubname>.azure-devices.net/<deviceid>

password: SAS Token

Il token SAS deve essere costruito nel formato:

SharedAccessSignature sig={signature-string}&se={expiry}&sr={URL-encoded-resourceURI}.

Per maggiori dettagli vedi guida per sviluppatori di IoT Hub

Per la generazione del token nel formato corretto conviene utilizzare l’applicazione desktop “Device Explorer” per Windows oppure uno script come quello riportato qui sotto. (nella documentazione per sviluppatori si trovano diversi esempi in vari linguaggi)

 

azure_trial_005 script generazione token
Script NodeJS per la generazione del token SAS
Annunci

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...