Curs pràctic de programació IoT amb Intel·ligència Artificial. Online en Directe. Edició 7 i 8 de febrer de 2024
Curs pràctic de programació IoT amb Intel·ligència Artificial. Online en Directe a la pàgina del Centre de Formació i Ocupació del Col·legi d'Enginyers Industrials de Catalunya. Edició 7 i 8 de febrer de 2024
Contingut
- 1 IoT i els sistemes encastats (embedded systems)
- 1.1 Llenguatges low-code de blocs (Snap!). Repàs de les nocions de variable, bucle, rutina (bloc)
- 1.2 Llenguatges low-code de fluxos (Node-RED)
- 1.3 Arquitectures client-servidor i orientades a esdeveniments (PubSub)
- 1.4 Tipus d'embedded systems: Escala petita (Arduino). Escala mitjana (ESP32). Escala sofisticada (Raspberry Pi)
- 1.5 Arquitectura superloop setup() - loop(). Introducció bàsica al Llenguatge C
- 1.6 Entrades i sortides analògiques i digitals
- 1.7 Noció de xarxa neuronal. TensorFlow
- 2 Exemples bàsics d'actuadors. Circuits i programació
- 3 Exemples bàsics de sensòrica. Circuits i programació
- 3.1 Detecció de finals de carrera i de llindars i nivells de lluminositat
- 3.2 Mesura de distàncies, d'inclinacions i acceleracions i d'humitat i temperatura
- 3.3 Classificació de gestos, imatges i sons emprant xarxes neuronals
- 3.4 MQTT
- 3.5 HTTP
- 3.6 Bots de Telegram (xarxes socials)
- 3.7 Cloud computing vs Edge Computing
- 3.8 Introducció a la visualització de dades amb Grafana. Sensors i actuadors en entorns industrials
- 3.9 Entrades/sortides analògiques (+-10V) i digitals (12V i 24V)
- 4 Ciberseguretat
IoT i els sistemes encastats (embedded systems)
Llenguatges low-code de blocs (Snap!). Repàs de les nocions de variable, bucle, rutina (bloc)
Llenguatges low-code de fluxos (Node-RED)
Arquitectures client-servidor i orientades a esdeveniments (PubSub)
Tipus d'embedded systems: Escala petita (Arduino). Escala mitjana (ESP32). Escala sofisticada (Raspberry Pi)
Microcontroladors d'escala petita
Microcontroladors d'escala mitjana
Distribució de pins a l'ESP32-VROOM
Introducció a la placa IoT-02 (Formes de programar la placa IoT-02)
Arquitectura superloop setup() - loop(). Introducció bàsica al Llenguatge C
Entrades i sortides analògiques i digitals
Entrades analògiques i digitals a 12V i 24V
Esquema per a llegir entrades de 12 i 24 volts convertint-les a nivells de 3,3 volts
Control de dispositius 0-10V. Circuit. Conversió digital-analògica
Esquema per a llegir entrades de -10 a +10 volts convertint-ho a un ventall entre 0 i 3,3 volts
Noció de xarxa neuronal. TensorFlow
Exemples bàsics d'actuadors. Circuits i programació
Control d'un led (blink), d'un relé i d'un servomotor
Control de 4 leds amb ESP32
Control de quatre leds al Wokwi IoT-02_01_leds.ino al GitHub
Control d'un relé
Set / Reset amb un parell de relés sense microcontrolador simulat a Wokwi
Circuit d'enclavament al TinkerCad
Arduino Uno
Control d'un relé a Wokwi emprant Arduino Uno
ESP32
Control d'un relé a Wokwi emprant ESP32
Servomotors
Arduino Uno
Potenciòmetre controlant la posició d'un servo emprant Arduino Uno
Escombrat de posicions d'un servo emprant Arduino Uno
Arduino Mega
Exemple de control de 31 servos
ESP32
Biblioteca de control de servomotors per a ESP32 a l'IDE d'Arduino
Simulació a Wokwi d'un servo amb ESP32 tenint permisos per a pujar biblioteques
Simulació a Wokwi d'un servo amb ESP32 sense tenir permisos per a pujar biblioteques
Exemples bàsics de sensòrica. Circuits i programació
Detecció de finals de carrera i de llindars i nivells de lluminositat
Detecció de final de carrera
Control de leds amb botons al Wokwi IoT-02_03_inputs.ino al GitHub
Nivell de lluminositat
Lectura de l'LDR al Wokwi IoT-02_05_ldr.ino al GitHub
Mesura de distàncies, d'inclinacions i acceleracions i d'humitat i temperatura
Mesura de distància per ultrasons
Mesura de distància per ultrasons amb ESP32 al Wokwi
Mesura d'inclinacions i acceleracions
Mesura d'inclinacions i acceleracions. ESP32 + MPU6050 al Wokwi
Mesura d'inclinacions i acceleracions. Arduino Uno + MPU6050 al Wokwi
Visualització gràfica d'inclinacions i acceleracions. Arduino Uno + MPU6050 al Wokwi
Classificació de gestos, imatges i sons emprant xarxes neuronals
Classificació de gestos emprant la placa IoT-02
MQTT
Introducció al protocol MQTT, el protocol més emprat a Internet de les Coses.
Demostració d'us d'MQTT emprant Snap! v8
codi amb Snap! v8 funcionant amb un exemple Qt amb WebAssembly
codi amb Snap! v7 funcionant amb un exemple Qt amb WebAssembly
ESP32 amb MicroPython emprant MQTT funcionant amb un exemple Qt amb WebAssembly
Microprogramari emprant MQTT a la placa IoT-02
HTTP
Tauler de control (dashboard) amb Node-RED
Pont (bridge) HTTP --> MQTT (Codi del flux Node-RED del pont)
Bots de Telegram (xarxes socials)
Cloud computing vs Edge Computing
Introducció a la visualització de dades amb Grafana. Sensors i actuadors en entorns industrials
Visualització amb Grafana
Captures de configuració emprant NodeRed, InfluxDB i Grafana
Exemple d'ús amb Grafana (usuari/contrasenya: convidat/convidat)
Entrades/sortides analògiques (+-10V) i digitals (12V i 24V)
Ciberseguretat
Certificats digitals
What Is a Digital Certificate? (by fortinet.com)
A certificate for every connected thing (by digicert.com)
Comunicacions segures amb MQTTS
Codi per a ESP32 emprant certificat digital per a MQTTS
Creating and Using Client Certificates with MQTT and Mosquitto
Comunicacions segures amb HTTPS
Demostració d'ús d'MQTT sobre sòcols web no segurs i pàgina HTTP no segura
Demostració d'ús d'MQTTS sobre sòcols web segurs i pàgina HTTPS segura