«

»

Apr 07

Stampa Articolo

Arduino cloud

Nel corso della passata edizione dell’ArduinoD17 abbiamo parlato dell’arduino cloud oltre all’IDE Web

arduino create cloud

Si tratta di una funzionalità di trasmissione dei dati dai tuoi progetti arduino al cloud orientato all’IoT.

Ecco una prima panoramica quando accedi alla tua pagina create con login e password, se non ne possiedi una ti consiglio di registrarti perché accederai a tanti servizi e funzionalità nuove.

Noterai che lo stile Arduino votato alla semplicità è pienamente rispettato anche in questa occasione e creare app cloud è estremamente semplice e guidato passo passo.

Arduino Cloud

la prima schermata presenta nel box in basso a destra l’accesso al cloud:

arduino create cloud

clicca e sarai rediretto alla prima pagina del wizard introduttivo all’arduino cloud:

arduino cloud first page

in cui, oltre al benvenuto, leggi a cosa serve il cloud ed in generale puoi approfondire i concetti di IoT.

Clicca su Next:

arduino cloud second page

in cui puoi scegliere la scheda che desideri utilizzare per il tuo progetto con l’arduino cloud, io ho selezionato la MKR1000:

arduino cloud third page

ti troverai nella pagina che ti spiega come procedere per caricare la libreria cloud che ti permette di interfacciarti facilmente al servizio.

Se preferisci puoi installarla scaricandola dal gitHub ufficiale il cui link è nell’ultima frase della pagina.

Su gitHub trovi:

arduino cloud gitHub

e la procedura di installazione, dopo il download, puoi leggerla in altri articoli dedicati alle librerie.

la successiva pagina ti chiede di definire il nome della tua app cloud:

arduino cloud fourth page

e successivamente ti indica che cliccando su “NEXT” creerai la tua prima app thing:

arduino cloud fifth page

procedi ed otterrai le credenziali che puoi utilizzare nello sketch del progetto:

arduino cloud credential app

cliccando su “NEXT” dovrai definire le “property” della tua prima app cloud:arduino cloud add new property

clicca su “ADD A NEW PROPERTY” e definisci le caratteristiche ed i parametri della nuova property:

arduino cloud property data

nell’esempio non ho cambiato il nome di default ma solo il tipo e la policy.

L’operazione di definizione delle proprietà o widget dell’arduino cloud permette al sistema di generare il codice:

arduino cloud code download

che puoi scaricare cliccando su “DOWNLOAD” e nella schermata successiva ti indica di eseguire l’upload sulla mkr1000:

arduino cloud upload the sketch

nota che quella riportata nella schermata è una immagine per cui le credenziali sono state oscurate, solo nel codice avrai le credenziali in chiaro.

Alla fine del widzard arriverai nella tua dashboard dell’arduino cloud con già la prima property definita:

arduino cloud dashboard

e potrai richiedere nuovamente il codice da uplodare nel tuo progetto se non lo hai salvato.

Lo sketch arduino cloud

Ecco lo sketch che mi ha rilasciato il widzard dell’Arduino Cloud:

#include <WiFi101.h>
#include <ArduinoCloud.h>

/////// Wifi Settings ///////
char ssid[] = "";
char pass[] = "";


// Arduino Cloud settings and credentials
const char userName[]   = "mauroalfieri";
const char thingName[] = "MKR1000Cloud";
const char thingId[]   = "xxxxxxxx-yyyy-zzzz-wwwwwwwwwwwwwwwww";
const char thingPsw[]  = "xxxxxxxx-yyyy-zzzz-wwwwwwwwwwwwwwwww";

WiFiSSLClient sslClient;


// build a new object "MKR1000Cloud"
ArduinoCloudThing MKR1000Cloud;


void setup() {
  Serial.begin (9600);

  // attempt to connect to WiFi network:
  Serial.print("Attempting to connect to WPA SSID: ");
  Serial.println(ssid);

  while (WiFi.begin(ssid, pass) != WL_CONNECTED) {
    // unsuccessful, retry in 4 seconds
    Serial.print("failed ... ");
    delay(4000);
    Serial.print("retrying ... ");
  }


  MKR1000Cloud.begin(thingName, userName, thingId, thingPsw, sslClient);
  MKR1000Cloud.enableDebug();
  // define the properties
  MKR1000Cloud.addProperty("cloudLedStatus", TEMPERATURE_C, R);
  
}

void loop() {
  MKR1000Cloud.poll();

  MKR1000Cloud.writeProperty("cloudLedStatus", "oh...");
  
  delay(1000);
  MKR1000Cloud.writeProperty("cloudLedStatus", "yeah!");
  
  delay(1000);
}

leggendolo linea per linea ti accorgi che il codice è semplice:

linee 01-02: includi la libreria WiFi e la nuova libreria Cloud;

linee 05-60: definisci i due parametri di connessione SSID e Password alla tua rete;

linee 10-13: imposti i parametri per accedere all’app cloud ed alla property definita;

linea 15: crea l’istanza WiFi SSL che utilizzerà per la connessione;

linea 19: crea ua istanza della classe ArduinoCloudThing che chiami, in questo caso, come l’app MKR1000Cloud;

linee 23-34: esegui la connessione al WiFi come descritto in altri progetti dedicati alla MKR1000 o alla WiFI;

linea 37: inizializza l’istanza MKR1000Cloud con il metodo begin passandole i parametri per l’autenticazione e, come ultimo parametro, l’istanza client per la connessione ssl wifi;

linea 38: abilita la modalità di debug;

linea 40: definisci la prima property come già fatto sul cloud. Cercando nella documentazione della libreria ArduinoCloudThing puoi trovare i parametri da passare al metodo addProperty:

arduino cloud property method

in cui puoi leggere:

  • name: nome della property;
  • datatype: il tipo definito sul cloud;
  • permission: la modalità in cui puoi accedere alla property;

il dubbio che potrebbe venirti è quali siano le permission che puoi impostare, cercando nella documentazione ho trovato:

arduino cloud property variables

in cui puoi leggere il significato della “R” nella posizione permission ed anche altre variabili che puoi impostare;

linea 45: usa il metodo “poll()” su cui non ho trovato documentazione, ma mi informerò meglio sulla sua funzione nei prossimi tutorial;

linea 47: usa il metodo writeProperty() per scrivere sulla property “cloudLedStatus”, quella che hai creato, il valore “oh…”

linee 49-52: attendi un secondo, scrivi un nuovo valore sulla tua property e attendi nuovamnete un secondo;

Nei prossimi tutorial sostituirai i valori fittizi con delle sonde di temperatura e umidità per tracciare i dati sull’arduino cloud.

Permalink link a questo articolo: http://www.mauroalfieri.it/elettronica/arduino-cloud.html

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Puoi usare i seguenti tag ed attributi HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>