Skip to content

Codice in MicroPython per ESP32 per il corso tenuto dalla nostra scuola rivolto ai docenti sulla creazione di una stazione di monitoraggio ambientale che copre gli argomenti di Python, IoT ed Intelligenza Artificiale.

Notifications You must be signed in to change notification settings

marconicivitavecchia/stazione-monitoraggio-ambientale

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Corso docenti Python-IoT-AI per il monitoraggio ambientale

In questo repository trovate il codice in MicroPython per ESP32 per il corso tenuto dalla nostra scuola (a.s. 2022/23) rivolto ai docenti per la creazione di una stazione di monitoraggio ambientale che copre gli argomenti di Python, IoT ed Intelligenza Artificiale.

Riferimenti:

Il progetto

Il progetto attualmente prevede la lettura dei dati da un sensore SDS011 per il rilevamento delle polveri sottili PM 2.5 e PM 10. La scheda invia anche il timestamp di lettura del dato, ottenendo l'orario da Internet con la libreria ntptime.

I dati vengono inviati tramite il protocollo MQTT ad un broker online e successivamente trattati attraverso Python con la libreria Scikit-learn di intelligenza artificiale, per analizzare le correlazioni tra i dati (attualmente solo PM e orario).

Strumenti

Per il progetto abbiamo usato:

  • Thonny IDE come editor e per caricare il firmware di MicroPython sulle schede ESP32.
  • per gestire la scheda in modo wireless si consiglia anche WebREPL

Connessione alla scheda

Di seguito le immagini per il corretto collegamento della scheda al sensore.

Connessione-1 Connessione-2 Connessione-3

Impostazioni WiFi

Per configurare il wifi, creare il file src/esp32/config.py e mettere all'interno le seguenti righe:

WIFI_SSID = "<ssid>"
WIFI_PASSWORD = "<password>"

sostitutendo <ssid> e <password> con il nome e la password della vostra rete WiFi.

Controllo dei dati inviati ad MQTT

  1. Andare su http://www.hivemq.com/demos/websocket-client/
  2. Cliccare "Connect"
  3. Su Subscriptions, cliccare "Add New Topic Subscription"
  4. Nel campo Topic, digitare "pm-sds011" quindi cliccare su "Subscribe"

Nodered

Per collegare MQTT con il database NoSQL (nel nostro caso, MongoDB Atlas), abbiamo usato Node-RED installato localmente sul server della scoula.

Il flusso nodered è estremamente semplice.

Nodered

I nodi necessari sono:

Trovate il flusso da importare tra i file sorgente. È necessario configurare correttamente il broker MQTT e le credenziali di accesso al server MongoDB.

Dashboard

Qui potete vedere un esempio di dahsboard per l'analisi dei dati.

About

Codice in MicroPython per ESP32 per il corso tenuto dalla nostra scuola rivolto ai docenti sulla creazione di una stazione di monitoraggio ambientale che copre gli argomenti di Python, IoT ed Intelligenza Artificiale.

Topics

Resources

Stars

Watchers

Forks

Languages