Skip to content
This repository has been archived by the owner on Mar 8, 2023. It is now read-only.

FrancescoMazzitelli/AutomaticIrrigationSystem

Repository files navigation

Automatic irrigation system BLE

Unisannio

Unisannio

Unisannio Unisannio Unisannio Unisannio Unisannio

Componenti del gruppo:

  • Francesco Mazzitelli (Github: FrancescoMazzitelli)
  • Pio Antonio Perugini (Github: Pi0Ant0ni0)
  • Ermanno Nicoletti (Github: ermanno00)
  • Achille Melillo (Github: OptimusGold)

Descrizione

Sviluppo di un'applicazione IOT per NUCLEO-STM32F401RE in grado di leggere le informazioni acquisite da un sensore BLE "Mi Flora" e di trasmetterle su un broker MQTT consultabile da un Hub Home Assistant. Le informazioni che vengono trasmesse fanno riferimento a:

  • Temperatura (°C)
  • Umidità (%)
  • Luce (lux)
  • Conduttività (µS/cm)

Configurazione

Per lo sviluppo del progetto è stato utilizzato il compilatore online KEIL Studio. Le librerie utilizzate sono:

  • mbed-os 5.13.1 (che comprende le librerie per interagire con la ESP8266 e X-NUCLEO IDB05A);
  • mbed-mqtt-paho: per interagire con l’istanza del broker in rete.

In particolare, è necessario definire dei parametri di configurazione aggiuntivi all’interno del file mbed-app.json.

Funzionamento

Per leggere i valori del sensore si è reso necessario cambiarne la modalità di funzionamento scrivendo 2 byte (0xa01f) nell'handle specifico di cambio modalità (0x33). Successivamente è possibile leggere i dati del sensore in tempo reale sfruttando l'handle dati (0x35). Al fine di testare il corretto funzionamento di MiFloraCare è possibile scrivere nell'handle specifico di cambio modalità (0x33) un pacchetto costituito da 2 byte (0xfdff) che fa lampeggiare il sensore. In aggiunta è possibile monitorare in tempo reale lo stato della batteria e la versione del firmware del dispositivo andando ad effettuare una lettura sull’handle 0x38.

Tabella caratteristiche

Service UIID

Characteristics UIID

Handle

R/W

Description

00001204- 0000-1000- 8000- 00805f9b34fb

00001a00-0000- 1000-8000- 00805f9b34fb

0x0033

W

Used for device discovery

-

00001a01-0000- 1000-8000- 00805f9b34fb

0x0035

R

Get realtime sensor values

-

00001a02-0000- 1000-8000- 00805f9b34fb

0x0038

R

Get firmware version and battery level

-

00001a11-0000- 1000-8000- 00805f9b34fb

0x003c

R

Get historical sensor values