Corso Applicazioni IoT - 2021
Prerequisiti
- Concetti di base di fisica ed elettronica a livello scolastico (corrente elettrica, tensione, batterie, conduttori, isolanti, …) non sono necessarie competenze tecniche specialistiche di elettronica ed elettrotecnica per seguire questo corso.
- Competenze di elettronica sono invece necessarie per la piena comprensione del funzionamento dei circuiti elettronici realizzati e per realizzare progetti avanzati. Vedi sezione libri di elettronica
- Concetti di base di informatica e programmazione (variabili, funzioni, operatori logici, cicli), compilazione ed esecuzione di un programma.
Programma del corso (aggiornato al 23 dicembre 2021)
Parte 1 - IoT, Industrial IoT, Industry 4.0
- La rivoluzione industriale digitale
- Introduzione IoT, Industrial IoT, Factory 4.0
- Architettura di riferimento soluzioni IoT
- Casi di studio
- Un esempio di trasformazione da prodotto a servizio su larga scala: Sigma Air Utility: Air as a Service https://us.kaeser.com/services/compressed-air-as-utility-service/
- Una nuova lineea di prodotti per creare soluzioni IoT: Self powerd IoT sensors https://www.enocean.com/en/applications/internet-of-things/
- Health Monitoring System: dal prodotto al servizio grazie a tecnologia IoT/Industry4.0
- Iniziamo a costruire qualche cose anche noi: prima di cominciare abbiamo bisogno di:
- Creare un account GitHub (potrebbe andare bene qualsiasi altro repository di sorgenti tipo GitLab, Bitbucket o altri, ma per partecipare ai progetti condivisi dobbiamo essere tutti quanti sulla stessa piattaforma)
- Creare repository GitHub pubblico per i progetti realizzati durante il corso
- Creare un account su una piattaforme IoT cloud. Le opzioni disponibili sono tante e avendo tempo si potrebbe costruire una piattaforma cloud IoT da zero utilizzando software open source come fatto per Health Monitoring System. Adesso però per iniziare velocemente ci conviene creare tutti quanti un account gratuito su Arduino Cloud sulla stessa piattaforma. Più avanti ne utilizzeremo anche altre per i progetti.
- Configurare l’ambiente di sviluppo hardware e software
- Test ambiente di sviluppo: ESP8266 Blink
Parte 2 - Dalla Teoria Alla Pratica
- Laboratorio applicazioni IoT
- Hardware
- Materiale per allestire il laboratorio IoT del corso
- Panoramica su hardware utilizzato
- ESP8266
- Scheda di sviluppo NodeMCU
- Cavo programmazione/debug
- Alimentazione
- BreadBoard
- Cavi connessione. Ne esistono di molti tipi e con vari connettori. Quelli più comuni pe ri prototipi su bread board sono simili a questi Jumper wire cable 3 x 40 PCS. 20 cm each of M2M / F2M / F2F compatible – AZ-Delivery
- Sensori: qui la cosa inizia a diventare interessante! Esistono sensori in grado di rilevare o misurare ogni tipo di evento o fenomeno fisico. L’unico limite è la capacità di inventare soluzioni innovative.
- Nel poco tempo disponibile riusciremo ad utilizzare solo alcuni sensori. Moltissimo hardware è però ormai disponibile a pochi euro e può essere acquistato online. Se non sapete da dove cominciare cercate “Arduino sensor Kit”. “IoT sensors kit” sui motori di ricerca. Oppure date un occhiata nella sezione Libri consigliati.
- Software
- ESP8266 Arduino Core
- Ambiente di sviluppo (vedi Configurare l’ambiente di sviluppo )
- Hardware
- Sviluppare Applicazioni IoT con ESP8266
- Alimentare ESP8266 power-esp8266.md
- Connettere ESP8266 connecting-esp8266.md al mondo esterno
- Programmare ESP8266 programming-esp8266.md
- Progetto01: ESP8266 Blink
- Utlizzo porta seriale e led a bordo della scheda ESP8266-blink-serial.md
- Progetto02: Blink Without Delay
- Connettere ESP8266 ad una piattaforma cloud.
- Arduino IoT Cloud
- Progetto03: ESP8266/Arduino-cloud-ESP-Test
Parte 3 - Realizziamo una applicazione completa: sistema di monitoraggio e controllo ambientale
- Piattaforme IoT Cloud “chiavi in mano”
- Monitoraggio temperatura ed umidità con sensore DHT11(DHT22)
- Sensore digitale di temperatura ed umidità DHT11/DHT22
- Progetto04: DHTtester
- Progetto05: Arduinocloud/DHT11-Cloud
- Progetto06: Sinric/DHT11-Sinric
- Monitoraggio qualità dell’aria con sensori della serie MQ
- Utilizzo sensori serie MQ con ESP8266
- Progetto07: ESP8266-MQ
- Controllo remoto di dispositivi esterni tramite GPIO
- uscite digitali GPIO
- Progetto07: controllo remoto di un dispositivo elettronico di bassa potenza
Parte 4 - Utilizzo di sensori, attuatori e periferiche
- Programmazione sistemi embedded
- Sistemi di eleborazione dati real-time
- Interrupt
- Lettura ingressi digitali
- Stato interruttore (switch)
- Stato pulsante (button)
- Sensore presenza PIR (PIR sensor)
- Interfacciamento sensori digitali con protocollo di comunicazione specifico
- sensore umidità e temperatura DHT11
- Misuratore di distanza ad ultrasuoni HC-SR04
- Lettura ingressi analogici
- Sensore intensità luminosa LDR
- Sensore temperatura LM35
- Controllo di uscite digitali
- Accendere un led (blink)
- Controllare motori lampade ed altri dispositivi con dei rele
- Uscite digitali in modelaità PWM
- Leggere e scrivere dati
- Esp8266: Read and Write from/to EEPROM (Flash Memory) (hirnschall.net)
-
[ESP8266 Internal EEPROM Programming Circuits4you.com](https://circuits4you.com/2016/12/16/esp8266-internal-eeprom-arduino/) - Arduino - EEPROM
- Libraries — ESP8266 Arduino Core 3.0.2-29-g0761f6f6 documentation (arduino-esp8266.readthedocs.io)
- jwrw/ESP_EEPROM: An improved EEPROM emulation Arduino library for ESP8266 (github.com)
- SD Card Module With ESP8266 : 6 Steps - Instructables
- Connettività Wifi ed Internet
- connessione ad una rete Wifi
- Connessione ad Internet e client HTTP/HTTPS
- Server HTTP
- Connessione ad infrastruttura cloud