1. Home
  2. Docs
  3. Software
  4. Esempi applicativi
  5. Weather Click con Arancino Mignon

Weather Click con Arancino Mignon

Nella guida seguente utilizzeremo la scheda elettronica Arancino.cc Mignon Board (v.1.3) sul cui Arancino Connector è montato un weather click, allo scopo di rilevare valori ambientali di temperatura, umidità e pressione e rappresentarli in una dashboard (come mostrato in figura) di un browser web utilizzando Node-Red.

fig.1: dashboard Node-red

Il weather click impiegato è il mikroe-1978, che incorpora il sensore ambientale BME280 di Bosh e permette di rilevare umidità, pressione e temperatura. E’ progettato specificamente per un basso consumo di corrente e stabilità a lungo termine. Il clic è alimentato da una tensione continua di 3,3 V., e comunica con il microcontrollore di destinazione tramite l’interfaccia SPI o I2C.

fig.2: mikroe click 1978

Configurazione Hardware

Il sensore ambientale deve essere montato sull’ arancino connector presente sulla scheda (non alimentata), facendo attenzione ad inserirlo correttamente ( far coincidere i pin di GND 8 e 9 del sensore con i pin GND di arancino connector), come mostrato in figura.

fig.3: arancino mignon 1.3 con weather click

Successivamente mediante un cavetto microUSB si collega la scheda alla porta USB del proprio pc, con il duplice scopo di alimentarla e di scambiare dati con il pc.

Configurazione Software

Per programmare il microcontrollore della board arancino.cc mignon è possibile utilizzare l’ambiente di sviluppo Arduino IDE. La procedura di configurazione è disponibile alla pagina “installazione arancino.cc“.

Generalmente le board arancino sono fornite con il bootloader già flashato, in caso contrario è possibile seguire la procedura di flashing disponibile alla pagina “bootloader“.

Ultimata la configurazione basta avviare Arduino IDE, scrivere lo sketch ed inviarlo alla board:

fig.4: sketch arduino

Analizziamo in dettaglio lo sketch, disponibile di seguito:

/*  Weather Click mikroe 1978 (BME280) with arancino.cc mignon
 */
#include <SparkFunBME280.h>
#define BME280ADDR 0x76
#define Serial SerialUSB
BME280 bme280_sensor;
float umidita;
float temperatura;
float pressione;
String temp,umid,pres,uscita;
void setup() {
    Wire.begin();
    Serial.begin(9600);
    bme280_sensor.begin();
    bme280_sensor.setI2CAddress(BME280ADDR);
    if (bme280_sensor.beginI2C() == false) {Serial.println("Sensore non rilevato!");}
    delay(5000);
}
void loop() {
    temperatura = bme280_sensor.readTempC();
    umidita = bme280_sensor.readFloatHumidity();
    pressione = bme280_sensor.readFloatPressure() / 100;
    temp=String(temperatura);
    umid=String(umidita);
    pres=String(pressione);
    uscita="t"+temp+"u"+umid+"p"+pres+";";
    Serial.println(uscita);
    delay(5000);
}

Per utilizzare il sensore ambientale in Arduino IDE è necessario importare la libreria SparkFunBME280, che fornisce i metodi setI2CAddress(), necessario ad assegnare l’indirizzo di memoria I2C del weather click (secondo il suo datasheet è “0x76”), ed i metodi necessari a prelevare dal sensore i valori numerici di temperatura(readTempC() ), umidità(readFloatHumidity()) e pressione(readFloatPressure() ).

Le misure rilevate vengono convertite in stringhe e concatenate in un unica stringa (inserendo tra essi alcuni caratteri separatori) che sarà acquisita dal flusso Node-red.

Flusso Node-Red

Per installare l’editor di flussi Node-red in ambiente Windows fare riferimento alla pagina Node-Red. Ultimata l’installazione è necessario configurare Node-red in modo tale da potersi interfacciare con la board arancino mignon attraverso la porta COM alla quale è collegata: a tal proposito è necessario installare la libreria “node-red-node-serial-port” e configurare il nodo “serial in” inserendo il nome della porta ( nel nostro caso COM7), ed il baud rate (9600):

Oltre a visualizzare i valori del sensore nella dashboard di Node-red, il flusso realizzato permette di inviare una email ad un indirizzo di posta elettronica specifico in caso la temperatura superi un certo valore limite (controllandolo ogni 5 minuti). E’ necessario quindi installare anche la libreria “node-red-node-email“. E’ possibile specificare tale valore limite (nel nostro caso 50°C) in un Edit switch node come mostrato in figura.

Nel nodo Email è necessario inserire i dati relativi all’indirizzo email del mittente e della destinazione al quale inviare l’alert

La figura seguente mostra il flusso node-red completo di tutti i nodi:

Per default Node-red visualizza i gauge in verticale, uno sopra l’altro; per mostrare i gauge di temperatura, umidità e pressione in orizzontale (come in fig.1) è necessario configurare i nodi gauge come mostrato in figura, specificando il numero di gauge per pagina.

Node-red permette di importare i flussi già scritti (file in formato json) attraverso la funzione IMPORT: cliccando sul pulsante “Flow Weather Click” è possibile scaricare il flusso della nostra esperienza.


(author: ing. Giulio De Meo)

Was this article helpful to you? Yes No