- Francesco Mazzitelli (Github: FrancescoMazzitelli)
- Pio Antonio Perugini (Github: Pi0Ant0ni0)
- Ermanno Nicoletti (Github: ermanno00)
- Achille Melillo (Github: OptimusGold)
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)
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.
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.
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 |