Creare dispositivi IoT con Arduino

Un dispositivo IoT, tipicamente, ha bisogno di avere un circuito elettronico in grado di acquisire ed elabora dati (provenienti da sensori o da comandi esterni), un mezzo di trasmissione (molto spesso basato su un segnale  a radio frequenza) e un sistema remoto capace di memorizzare, elaborare e gestire i dati.

schema dispositivo iot

Le caratteristiche del microcontrollore sono scelte in base alla potenza di calcolo e alla sua capacità di risparmiare energia. Molte applicazioni IoT sono spesso installate in luoghi remoti dove non è possibile avere una alimentazione stabile e duratura, quindi l’unica fonte di energia è demandata all’uso di una batteria.

I mezzi di comunicazione più diffusi che vengono utilizzati in ambito IoT sono, LoRa, Sigfox, NB e rete cellulare(2G/3G/4G). La scelta tra questi sistemi avviene principalmente in base alla copertura, alla posizione geografica del dispositivo IoT e ai costi di gestione.

Questo articolo si basa sull’utilizzo di una Arduino Sim e una scheda Arduino MKR GSM 1400.

La Arduino SIM può essere utilizzata solamente con Arduino Cloud.

Come attivare la Sim Arduino

Quando riceviamo la sim Arduino, prima di poterla utilizzare, dobbiamo procedere alla sua attivazione. Sulla custodia della sim viene riportato un link (https://store.arduino.cc/digital/sim/activation) che porta ad una pagina web in cui è possibile inserire il codice ICCID presente sulla sim:

Arduino Sim

Dopo aver inserito il codice clicchiamo sul pulsante NEXT. Nella pagina successiva, andremmo a leggere e accettare i termini di utilizzo (ARDUINO SIM TERMS AND CONDITIONS). Clicchiamo nuovamente sul pulsante NEXT per confermare.

Nella pagina successiva ci sarà un riepilogo sulle informazioni del nostro account e sul costo del servizio. Continuiamo cliccando sul pulsante NEXT. Nella pagina successiva dovremmo inserire i dati di pagamento per poi procedere cliccando sul pulsante Complete Payment.

La sim a questo punto è in fase di attivazione e prima di utilizzarla dovremmo attendere una mail di conferma.

Come gestire la Arduino SIM

Per verificare le impostazioni e il traffico dati della nostra Arduino SIM dobbiamo andare sul device manager (https://create.arduino.cc/devices/). Scorrendo e arrivando in fondo alla pagina, vedremmo la nostra sim e il suo stato.

Gestione arduino sim

Per i dettagli è sufficiente cliccare sull’icona della sim attiva:

Dettagli utilizzo sim card arduino

In questa pagina troviamo anche delle informazioni che dovranno essere inserite nel codice dello sketch che andremmo a scrivere:

APN prepay.pelion
Username arduino
Password arduino
Pin 0000

Aggiungere una scheda al Device Manager

Dopo aver attivato la Arduino SIM dobbiamo associare nel Device Manager (https://create.arduino.cc/devices/) una scheda Arduino che potrà interagire con il cloud Arduino. Le schede abilitate all’uso del cloud Arduino sono le seguenti:

  • MKR 1000
  • MKR WiFi 1010
  • MKR GSM 1400
  • MKR NB 1500
  • Nano 33 IoT
  • MKR WAN 1300
  • MKR WAN 1310

Nel mio caso utilizzerò una MKR GSM 1400.

Add new booard to cloud

Clicchiamo sull’icona ADD NEW BOARD. Verrà caricata una pagina con una procedura guidata che permetterà di associare la nostra scheda al Device Manager.

Nella prima pagina della procedura guidata, selezioniamo la scheda da utilizzare:

select board mkr gsm 1400

clicchiamo sull’icona Arduino MKT GSM 1400. Nella schermata successiva, vengono indicate le fasi per configurare la MKR GSM 1400:

mkr gsm 1400

Clicchiamo sul pulsante START per andare avanti. La prima fase della procedura guidata indica che dobbiamo scaricare il plugin Arduino Create Agent, il cui compito è quello di mettere in comunicazione la scheda collegata al pc con la procedura di configurazione on line.

Clicchiamo sul pulsante DOWNLOAD:

download arduino create agent

Una volta cliccato sul pulsante, la procedura mostra che dopo aver terminato il download del file, dobbiamo eseguire un doppio click su di esso e seguire le istruzioni:

install arduino agent

Dopo l’installazione dell’Arduino Create Agent, la procedura guidata indicherà che la comunicazione con il plugin è avvenuta con successo:

install aca ok

Andiamo avanti cliccando sul pulsante NEXT. Nella schermata successiva viene richiesto di collegare la scheda al pc. Quindi procediamo collegando, tramite cavo usb, la scheda MKR GSM 1400 al nostro computer:

usb gsm 1400

Dopo qualche istante il plug Arduino Create Agent, aggiornerà la procedura guidata on line che la scheda MKR 1400 è stata collegata al computer.

A questo punto otterremo la seguente schermata dove assoceremmo un nome alla nostra scheda:

gsm 1400 board name

Inseriamo un nome identificativo, ad esempio gsm_1400 e andiamo avanti cliccando sul pulsante NEXT.

Ora la procedura indica se vogliamo configurare il Crypto Chip presente nella MKR GSM 1400. Questa procedura è importante perché aumenta il livello di sicurezza della comunicazione tra la scheda e l’Arduino Cloud.

Clicchiamo su CONFIGURE e attendiamo la fine della configurazione del Crypto Chip.

Nella schermata successiva ci viene chiesto di inserire la scheda SIM. Io in questa fase ho scollegato la scheda dalla porta usb, ho inserito la sim e ricollegato la scheda alla porta usb.

insert arduino sim

Quindi clicchiamo nuovamente sul pulsante NEXT.

Nella schermata successiva viene visualizzato uno sketch di esempio. Lasciamo questo codice invariato e clicchiamo sul pulsante ENTER GSM DATA:

arduino enter gsm data

Ora viene richiesta la compilazione dei campi relativi ai parametri della Arduino SIM. Questi parametri gli abbiamo già incontrati quando abbiamo configurato la Arduino SIM.

Inseriamoli nei relativi campi e clicchiamo sul pulsante UPLOAD

upload sketch

Terminato l’upload dello sketch sulla Arduino GSM 1400, la procedura guidata prova a stabilire una connessione con la scheda utilizzando la rete gsm:

iot connection to arduino cloud

Se tutto funziona correttamente otterremo la schermata del Network Monitor:

Network monitor

In questa schermata possiamo accendere o spegnere il led on board della MKR GSM 1400. Scrivendo sulla textbox la stringa ON e cliccando sul bottone SEND potremo osservare che sulla scheda il led viene effettivamente acceso.
Per spegnerlo sarà sufficiente inserire la stringa OFF e premere nuovamente sul bottone SEND.

Terminiamo la procedura guidata cliccando sul pulsante PLAY.

arduino cloud

Nel prossimo articolo andremmo a creare una THING utilizzando l’Arduino cloud e a scrivere del codice per spedire o ricevere dei dati.