Diferència entre revisions de la pàgina «Desenvolupament de prototipus per a la Internet de les Coses. Curs Online en Directe. Edició 14 i 15 de gener de 2026. Segon dia»
| (Hi ha 44 revisions intermèdies del mateix usuari que no es mostren) | |||
| Línia 20: | Línia 20: | ||
curl https://vps656540.ovh.net:2886/mqtt?"payload=0&topic=/94B5553685E0/ledW" | curl https://vps656540.ovh.net:2886/mqtt?"payload=0&topic=/94B5553685E0/ledW" | ||
* Control amb l'aplicació d'Android '''MQTT Dash'''. | * Control amb l'aplicació d'Android '''MQTT Dash'''. | ||
| + | * [https://vps656540.ovh.net/grafana/d/cfa6akm18h534a/eic-20260115?orgId=1&refresh=5s Grafana] (m2886 / m2886_) amb dades generades pel [https://vps656540.ovh.net:2886/ui/#!/0?socketid=Wbev9FkzUutmh3hHAAAB Node-RED] | ||
| + | = Disseny electrònic = | ||
| + | * [https://www.kicad.org/ KiCAD - A Cross Platform and Open Source PCB Design Suite] | ||
| + | * Fabricació: [https://www.edcodisseny.com/ Edco Disseny], [https://www.pcbway.com/ PCBWay], [https://jlcpcb.com JLCPCB], ... | ||
= IoT i els sistemes encastats (embedded systems) = | = IoT i els sistemes encastats (embedded systems) = | ||
| − | |||
| − | |||
| − | |||
== Tipus d'embedded systems: Escala petita (Arduino). Escala mitjana (ESP32). Escala sofisticada (Raspberry Pi) == | == Tipus d'embedded systems: Escala petita (Arduino). Escala mitjana (ESP32). Escala sofisticada (Raspberry Pi) == | ||
=== Microcontroladors d'escala petita === | === Microcontroladors d'escala petita === | ||
| − | [https://www.binefa.cat/training/ceic/20230223/s4a/20181031_ceic_02.pdf Una introducció a Arduino] | + | * [https://www.binefa.cat/training/ceic/20230223/s4a/20181031_ceic_02.pdf Una introducció a Arduino] |
=== Microcontroladors d'escala mitjana === | === Microcontroladors d'escala mitjana === | ||
| − | [https://raw.githubusercontent.com/AchimPieters/esp32-homekit-camera/master/Images/ESP32-30PIN-DEVBOARD.png Distribució de pins a l'ESP32-VROOM] | + | * [https://raw.githubusercontent.com/AchimPieters/esp32-homekit-camera/master/Images/ESP32-30PIN-DEVBOARD.png Distribució de pins a l'ESP32-VROOM] |
| + | * [https://www.binefa.cat/training/iot02/pdf/iot02_00_ca.pdf Introducció a la placa IoT-02] (Formes de programar la [[Placa IoT-02 | placa IoT-02]]) ([https://github.com/jordibinefa/IoT-02 Placa IoT-02 al GitHub]) | ||
| + | * [[IoT-Vertebrae]] | ||
| − | [https://www. | + | === Escala sofisticada === |
| + | * [https://www.raspberrypi.org/ Raspberry Pi] | ||
| + | * [https://www.beagleboard.org/ Beagle Board] | ||
| + | * [https://www.hardkernel.com/ HardKernel] | ||
== Arquitectura superloop setup() - loop(). Introducció bàsica al Llenguatge C == | == Arquitectura superloop setup() - loop(). Introducció bàsica al Llenguatge C == | ||
| + | * [https://docs.arduino.cc/built-in-examples/basics/Blink/ Blink], l'"Hola món" dels sistemes encastats. | ||
| + | * [https://www.tinkercad.com/things/5gKEMfq8rA0-pr03 Exemple de TinkerCAD] ('''e''': encén, '''a''': apaga) | ||
| + | |||
== Entrades i sortides analògiques i digitals == | == Entrades i sortides analògiques i digitals == | ||
=== Entrades analògiques i digitals a 12V i 24V === | === Entrades analògiques i digitals a 12V i 24V === | ||
| Línia 40: | Línia 49: | ||
=== Control de dispositius 0-10V. Circuit. Conversió digital-analògica === | === Control de dispositius 0-10V. Circuit. Conversió digital-analògica === | ||
[https://github.com/iotvertebrae/modules/blob/main/hardware/schematics/adcRib.pdf Esquema per a llegir entrades de -10 a +10 volts convertint-ho a un ventall entre 0 i 3,3 volts] | [https://github.com/iotvertebrae/modules/blob/main/hardware/schematics/adcRib.pdf Esquema per a llegir entrades de -10 a +10 volts convertint-ho a un ventall entre 0 i 3,3 volts] | ||
| − | + | == Elements vestibles (''Wearables'') == | |
| − | == | + | [[Wearables (2026)]] |
| − | [ | ||
= Exemples bàsics d'actuadors. Circuits i programació = | = Exemples bàsics d'actuadors. Circuits i programació = | ||
| Línia 48: | Línia 56: | ||
== Control d'un led (blink), d'un relé i d'un servomotor == | == Control d'un led (blink), d'un relé i d'un servomotor == | ||
=== Control de 4 leds amb ESP32 === | === Control de 4 leds amb ESP32 === | ||
| − | [https://wokwi.com/projects/329845964804194900 Control de quatre leds al Wokwi] [https://github.com/jordibinefa/IoT-02/blob/master/codes/IoT-02_01_leds/IoT-02_01_leds.ino IoT-02_01_leds.ino al GitHub] | + | [https://wokwi.com/projects/329845964804194900 Control de quatre leds al Wokwi] [https://github.com/jordibinefa/IoT-02/blob/master/codes/IoT-02_01_leds/IoT-02_01_leds.ino IoT-02_01_leds.ino al GitHub] ([https://binefa.com/eic/wokwi_IoT-02_01_leds.ino.elf wokwi_IoT-02_01_leds.ino.elf]) |
=== Control d'un relé === | === Control d'un relé === | ||
| Línia 57: | Línia 65: | ||
[https://www.tinkercad.com/things/1O4C6ZoLpdB Relé al TinkerCad] | [https://www.tinkercad.com/things/1O4C6ZoLpdB Relé al TinkerCad] | ||
| − | [https://www.tinkercad.com/things/8y6p1MUZXTT Circuit d'enclavament al TinkerCad] | + | [https://www.tinkercad.com/things/8y6p1MUZXTT Circuit d'enclavament al TinkerCad] (memòria d'un bit) |
==== Arduino Uno ==== | ==== Arduino Uno ==== | ||
| Línia 77: | Línia 85: | ||
==== ESP32 ==== | ==== ESP32 ==== | ||
| − | [https://www.arduino.cc/reference/en/libraries/esp32servo/ Biblioteca de control de servomotors per a ESP32 a l'IDE d'Arduino] | + | * [https://www.arduino.cc/reference/en/libraries/esp32servo/ Biblioteca de control de servomotors per a ESP32 a l'IDE d'Arduino] |
| − | + | * [https://wokwi.com/projects/323706614646309460 Simulació a Wokwi d'un servo amb ESP32 tenint permisos per a pujar biblioteques] ([https://binefa.com/eic/wokwi_esp32-servo-sweep.ino.elf wokwi_esp32-servo-sweep.ino.elf]) | |
| − | [https://wokwi.com/projects/323706614646309460 Simulació a Wokwi d'un servo amb ESP32 tenint permisos per a pujar biblioteques] | + | * [https://wokwi.com/projects/329900810993402450 Simulació a Wokwi d'un servo amb ESP32 sense tenir permisos per a pujar biblioteques] |
| − | |||
| − | [https://wokwi.com/projects/329900810993402450 Simulació a Wokwi d'un servo amb ESP32 sense tenir permisos per a pujar biblioteques] | ||
= Exemples bàsics de sensòrica. Circuits i programació = | = Exemples bàsics de sensòrica. Circuits i programació = | ||
== Detecció de finals de carrera i de llindars i nivells de lluminositat == | == Detecció de finals de carrera i de llindars i nivells de lluminositat == | ||
=== Detecció de final de carrera === | === Detecció de final de carrera === | ||
| − | [https://wokwi.com/projects/329840862091543122 Control de leds amb botons al Wokwi] [https://github.com/jordibinefa/IoT-02/blob/master/codes/IoT-02_03_inputs/IoT-02_03_inputs.ino IoT-02_03_inputs.ino al GitHub] | + | [https://wokwi.com/projects/329840862091543122 Control de leds amb botons al Wokwi] [https://github.com/jordibinefa/IoT-02/blob/master/codes/IoT-02_03_inputs/IoT-02_03_inputs.ino IoT-02_03_inputs.ino al GitHub] ([https://binefa.com/eic/wokwi_IoT-02_03_inputs.ino.elf wokwi_IoT-02_03_inputs.ino.elf]) |
=== Nivell de lluminositat === | === Nivell de lluminositat === | ||
| − | [https://wokwi.com/projects/329839893260796499 Lectura de l'LDR al Wokwi] [https://github.com/jordibinefa/IoT-02/blob/master/codes/IoT-02_05_ldr/IoT-02_05_ldr.ino IoT-02_05_ldr.ino al GitHub] | + | [https://wokwi.com/projects/329839893260796499 Lectura de l'LDR al Wokwi] [https://github.com/jordibinefa/IoT-02/blob/master/codes/IoT-02_05_ldr/IoT-02_05_ldr.ino IoT-02_05_ldr.ino al GitHub] ([https://binefa.com/eic/wokwi_IoT-02_05_ldr.ino.elf wokwi_IoT-02_05_ldr.ino.elf]) |
== Mesura de distàncies, d'inclinacions i acceleracions i d'humitat i temperatura == | == 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 === | ||
| − | [https://wokwi.com/projects/330033931816534611 Mesura de distància per ultrasons amb ESP32 al Wokwi] | + | [https://wokwi.com/projects/330033931816534611 Mesura de distància per ultrasons amb ESP32 al Wokwi] ([https://binefa.com/eic/wokwi_mesuraDistancia.ino.elf wokwi_mesuraDistancia.ino.elf]) |
=== Mesura d'inclinacions i acceleracions === | === Mesura d'inclinacions i acceleracions === | ||
[https://wokwi.com/projects/358387797665328129 Mesura d'inclinacions i acceleracions. ESP32 + MPU6050 al Wokwi] | [https://wokwi.com/projects/358387797665328129 Mesura d'inclinacions i acceleracions. ESP32 + MPU6050 al Wokwi] | ||
| − | [https://wokwi.com/projects/305936654686749250 Mesura d'inclinacions i acceleracions. Arduino Uno + MPU6050 al Wokwi] | + | [https://wokwi.com/projects/305936654686749250 Mesura d'inclinacions i acceleracions. Arduino Uno + MPU6050 al Wokwi] ([https://binefa.com/eic/wokwi_adafruit-mpu6050-example-ArduinoUno.ino.elf wokwi_adafruit-mpu6050-example-ArduinoUno.ino.elf]) |
| − | [https://wokwi.com/projects/305937156771152449 Visualització gràfica d'inclinacions i acceleracions. Arduino Uno + MPU6050 al Wokwi] | + | [https://wokwi.com/projects/305937156771152449 Visualització gràfica d'inclinacions i acceleracions. Arduino Uno + MPU6050 al Wokwi] ([https://binefa.com/eic/wokwi_adafruit-mpu6050-plotter_ArduinoUno.ino.elf wokwi_adafruit-mpu6050-plotter_ArduinoUno.ino.elf]) |
| + | === Mesura d'humitat i temperatura === | ||
| + | * [https://wokwi.com/projects/322410731508073042 Mesura d'humitat i temperatura amb ESP32 al Wokwi] | ||
| + | * [https://wokwi.com/projects/330040082126864980 Mesura de temperatura emprant un termistor de tipus NTC amb ESP32 al Wokwi] ([https://binefa.com/eic/wokwi_ntcEsp32.ino.elf wokwi_ntcEsp32.ino.elf]) | ||
| − | = | + | = Ús del protocol de comunicacions I2C = |
| − | + | * [https://www.binefa.cat/training/ceic/20220330/s4a/20181031_ceic_02.pdf BUs I2C - pàgines 11 i 57] | |
| − | [[ | + | * [https://wokwi.com/projects/329847579409908306 Escaneig d'adreces I2C] [https://github.com/jordibinefa/IoT-02/tree/master/codes/IoT-02_06_i2cScanner Codis IoT-02_06_i2cScanner al GitHub] |
| + | * [https://wokwi.com/projects/329848007382008404 Lectura de l'LDR a la pantalla OLED al Wokwi] [https://github.com/jordibinefa/IoT-02/tree/master/codes/IoT-02_07_SSD1306 Codis IoT-02_07_SSD1306 al GitHub] | ||
| − | + | = MQTT = | |
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
[https://www.binefa.cat/IoT/teoria/mqtt_00.pdf Introducció al protocol MQTT], el protocol més emprat a Internet de les Coses. | [https://www.binefa.cat/IoT/teoria/mqtt_00.pdf Introducció al protocol MQTT], el protocol més emprat a Internet de les Coses. | ||
* [[El protocol MQTT]]([https://www.binefa.cat/IoT/teoria/mqtt_00.pdf Introducció al protocol MQTT] en format pdf), el protocol més emprat a Internet de les Coses. | * [[El protocol MQTT]]([https://www.binefa.cat/IoT/teoria/mqtt_00.pdf Introducció al protocol MQTT] en format pdf), el protocol més emprat a Internet de les Coses. | ||
| Línia 123: | Línia 126: | ||
* [https://www.binefa.cat/training/ceic/20230223/iot02/IoT-02_mqtt_coeic_20221214_b.zip Microprogramari emprant MQTT a la placa IoT-02] | * [https://www.binefa.cat/training/ceic/20230223/iot02/IoT-02_mqtt_coeic_20221214_b.zip Microprogramari emprant MQTT a la placa IoT-02] | ||
| − | == | + | = Cloud computing vs Edge Computing = |
| − | + | * [https://www.geeksforgeeks.org/cloud-computing/difference-between-edge-computing-and-cloud-computing/ Difference between Edge Computing and Cloud Computing] | |
| − | * [ | ||
| − | |||
| − | |||
| − | + | = Introducció a la visualització de dades amb Grafana. Sensors i actuadors en entorns industrials = | |
| − | + | == Visualització amb Grafana == | |
| − | + | * [https://vps656540.ovh.net/grafana/d/cfa6akm18h534a/eic-20260115?orgId=1&refresh=5s Grafana] (m2886 / m2886_) amb dades generades pel [https://vps656540.ovh.net:2886/ui/#!/0?socketid=Wbev9FkzUutmh3hHAAAB Node-RED] | |
| − | + | * [https://grafana.com/ Pàgina oficial de Grafana] | |
| − | + | * [https://www.binefa.cat/training/ceic/20230223/grafanaInfluxDB/ Captures de configuració emprant NodeRed, InfluxDB i Grafana] | |
| − | + | = LoRa - Comunicacions LoRaWAN a Internet de les Coses = | |
| − | + | * [[Ús de les dades generades pels sensors LoRaWAN i arquitectura del sistema. Rubí 2020]] | |
| − | + | * [[LoRaWAN. Curs 2024-2025 | LoRaWAN]] | |
| − | [https:// | ||
| − | |||
| − | [https:// | ||
| − | |||
| − | [ | ||
| − | |||
| − | |||
| − | |||
| − | [https:// | ||
| − | |||
| − | = | ||
| − | [ | ||
| − | |||
| − | [[ | ||
= Ciberseguretat = | = Ciberseguretat = | ||
== Certificats digitals == | == Certificats digitals == | ||
| − | [https://www.fortinet.com/resources/cyberglossary/digital-certificates What Is a Digital Certificate?] (by fortinet.com) | + | * [https://www.fortinet.com/resources/cyberglossary/digital-certificates What Is a Digital Certificate?] (by fortinet.com) |
| − | + | * [https://www.digicert.com/tls-ssl/digital-certificates A certificate for every connected thing] (by digicert.com) | |
| − | [https://www.digicert.com/tls-ssl/digital-certificates A certificate for every connected thing] (by digicert.com) | ||
| − | |||
== Comunicacions segures amb MQTTS == | == Comunicacions segures amb MQTTS == | ||
| − | [https://github.com/jordibinefa/IoT-02/tree/master/codes/IoT-02_mqtts_freeRTOS_json_12 Codi per a ESP32 emprant certificat digital per a MQTTS] | + | * [https://github.com/jordibinefa/IoT-02/tree/master/codes/IoT-02_mqtts_freeRTOS_json_12 Codi per a ESP32 emprant certificat digital per a MQTTS] |
| − | + | * [http://www.steves-internet-guide.com/creating-and-using-client-certificates-with-mqtt-and-mosquitto/ Creating and Using Client Certificates with MQTT and Mosquitto] | |
| − | [http://www.steves-internet-guide.com/creating-and-using-client-certificates-with-mqtt-and-mosquitto/ Creating and Using Client Certificates with MQTT and Mosquitto] | ||
| − | |||
== Comunicacions segures amb HTTPS == | == Comunicacions segures amb HTTPS == | ||
| − | [http://extensions.snap.berkeley.edu/snap/snap.html#open:http://raw.githubusercontent.com/pixavier/mqtt4snap/master/examples/Demo.xml Demostració d'ús d'MQTT sobre sòcols web no segurs i pàgina HTTP no segura] | + | * [http://extensions.snap.berkeley.edu/snap/snap.html#open:http://raw.githubusercontent.com/pixavier/mqtt4snap/master/examples/Demo.xml Demostració d'ús d'MQTT sobre sòcols web no segurs i pàgina HTTP no segura] |
| + | * [https://snap.berkeley.edu/snap/snap.html#open:https://raw.githubusercontent.com/pixavier/mqtt4snap/master/examples/Demo.xml Demostració d'ús d'MQTTS sobre sòcols web segurs i pàgina HTTPS segura] | ||
| + | = Node-RED = | ||
| + | * [[Assignació de ports per al curs de desenvolupament de prototipus per a la Internet de les Coses del 15 de gener de 2026]] (master<port> / master<port>_) | ||
| + | * [[Introducció a l'ús del Node-RED]] | ||
| + | * [[Ús de la base de dades MariaDB des de NodeRED]] | ||
| + | == HTTP == | ||
| + | * [https://www.binefa.cat/training/ceic/20230223/pontHttpMqtt/pontHttpMqtt.png Pont (''bridge'') HTTP --> MQTT] ([https://www.binefa.cat/training/ceic/20230223/pontHttpMqtt/pontHttpMqtt.json Codi del flux Node-RED del pont]) | ||
| + | == Bots de Telegram (xarxes socials) == | ||
| + | * [https://wiki.binefa.cat/index.php?title=Bot_de_Telegram Bot de Telegram] | ||
| + | = Exercicis = | ||
| + | * Emprant el vostre bessó digital fet en Snap!, feu a un altre Snap! un bucle que faci un pampallugueig infinit fent 1 segon encès, 1 segon apagat. | ||
| + | * Mitjançant Snap! feu que a la pantalla aparegui, de manera infinita i amb una cadència de dos segons, el percentatge de llum llegida per la LDR i després la temperatura en graus centígrads. | ||
| + | * Emprant Node-RED, implementeu el vostre flux per a rebre l'estat dels tres botons (de manera asíncrona, quan hi ha un canvi) del vostre bessó digital. | ||
| − | [https:// | + | = Extres = |
| + | == Noció de xarxa neuronal. TensorFlow == | ||
| + | * [https://www.youtube.com/watch?v=tPYj3fFJGjk TensorFlow 2.0 Complete Course - Python Neural Networks for Beginners Tutorial] (Videotutorial de 7 hores) | ||
| + | == Classificació de gestos, imatges i sons emprant xarxes neuronals == | ||
| + | === Gestos === | ||
| + | * [[Classificació de gestos emprant la placa IoT-02]] | ||
| + | * [https://wokwi.com/projects/388251401392311297 Recol·lector de dades a Wokwi] | ||
| + | * [https://wokwi.com/projects/388254554291783681 Classificador de dades a Wokwi] | ||
| + | === Imatges === | ||
| + | * [https://www.instructables.com/ESP32-CAM-Person-Detection-Expreiment-With-TensorF/ ESP32-CAM Person Detection Experiment With TensorFlow Lite] | ||
| + | == Bases de dades en temps real per a Internet de les Cose == | ||
| + | [https://www.influxdata.com/ InfluxDB] | ||
Revisió de 22:24, 14 gen 2026
- Desenvolupament de prototipus per a la Internet de les Coses. Curs Online en Directe a la pàgina del Centre de Formació i Ocupació del Col·legi d'Enginyers Industrials de Catalunya. Edició 14 i 15 de gener de 2026
- Moodle del curs
- Classe en directe al Zoom
- Material de suport (arxius binaris i codis)
Contingut
- 1 Mostra de funcionament
- 2 Disseny electrònic
- 3 IoT i els sistemes encastats (embedded systems)
- 4 Exemples bàsics d'actuadors. Circuits i programació
- 5 Exemples bàsics de sensòrica. Circuits i programació
- 6 Ús del protocol de comunicacions I2C
- 7 MQTT
- 8 Cloud computing vs Edge Computing
- 9 Introducció a la visualització de dades amb Grafana. Sensors i actuadors en entorns industrials
- 10 LoRa - Comunicacions LoRaWAN a Internet de les Coses
- 11 Ciberseguretat
- 12 Node-RED
- 13 Exercicis
- 14 Extres
Mostra de funcionament
- Connexió MQTT des de dos navegadors diferents: botonera amb codi Snap! amb MQTT o codi Snap! amb MQTT i personatges
- Exemple implementat en Snap! de control bidireccional emprant MQTT (Seleccioneu Extensions de JavaScript al menú de l'engranatge -a l'esquerra del títol IoT-02_board_segur_EIC). esp32_mqtt_02 al Wokwi (Microprogramari wokwi_esp32_mqtt_02.ino.elf compilat)
- Bessó digital esp32Mqtt_01 controlat mitjançant IoT-02_board_segur_EIC (el mateix del punt anterior). Bessó digital i controlador mitjançant Snap!
- Node-RED de control bidireccional emprant MQTT. L'accés és rentringit per usuari i contrasenya. Després podreu fer servir una instància del Node-RED del vostre usuari amb la vostra contrasenya.
- Afegim membres al grup de Telegram grup_eic_20260115. Ordres de control /ledWon i /ledWoff. També rep notificacions quan es prem el botó I34.
- Pont HTTP a MQTT des d'un navegador:
- Encendre led: https://vps656540.ovh.net:2886/mqtt?payload=1&topic=/94B5553685E0/ledW
- Apagar led: https://vps656540.ovh.net:2886/mqtt?payload=0&topic=/94B5553685E0/ledW
- Pont HTTP a MQTT des d'un terminal (cal tenir curl instal·lat):
- Encendre led:
curl https://vps656540.ovh.net:2886/mqtt?"payload=1&topic=/94B5553685E0/ledW"
- Apagar led:
curl https://vps656540.ovh.net:2886/mqtt?"payload=0&topic=/94B5553685E0/ledW"
- Control amb l'aplicació d'Android MQTT Dash.
- Grafana (m2886 / m2886_) amb dades generades pel Node-RED
Disseny electrònic
- KiCAD - A Cross Platform and Open Source PCB Design Suite
- Fabricació: Edco Disseny, PCBWay, JLCPCB, ...
IoT i els sistemes encastats (embedded systems)
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) (Placa IoT-02 al GitHub)
- IoT-Vertebrae
Escala sofisticada
Arquitectura superloop setup() - loop(). Introducció bàsica al Llenguatge C
- Blink, l'"Hola món" dels sistemes encastats.
- Exemple de TinkerCAD (e: encén, a: apaga)
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
Elements vestibles (Wearables)
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 (wokwi_IoT-02_01_leds.ino.elf)
Control d'un relé
Set / Reset amb un parell de relés sense microcontrolador simulat a Wokwi
Circuit d'enclavament al TinkerCad (memòria d'un bit)
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 (wokwi_esp32-servo-sweep.ino.elf)
- 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 (wokwi_IoT-02_03_inputs.ino.elf)
Nivell de lluminositat
Lectura de l'LDR al Wokwi IoT-02_05_ldr.ino al GitHub (wokwi_IoT-02_05_ldr.ino.elf)
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 (wokwi_mesuraDistancia.ino.elf)
Mesura d'inclinacions i acceleracions
Mesura d'inclinacions i acceleracions. ESP32 + MPU6050 al Wokwi
Mesura d'inclinacions i acceleracions. Arduino Uno + MPU6050 al Wokwi (wokwi_adafruit-mpu6050-example-ArduinoUno.ino.elf)
Visualització gràfica d'inclinacions i acceleracions. Arduino Uno + MPU6050 al Wokwi (wokwi_adafruit-mpu6050-plotter_ArduinoUno.ino.elf)
Mesura d'humitat i temperatura
- Mesura d'humitat i temperatura amb ESP32 al Wokwi
- Mesura de temperatura emprant un termistor de tipus NTC amb ESP32 al Wokwi (wokwi_ntcEsp32.ino.elf)
Ús del protocol de comunicacions I2C
- BUs I2C - pàgines 11 i 57
- Escaneig d'adreces I2C Codis IoT-02_06_i2cScanner al GitHub
- Lectura de l'LDR a la pantalla OLED al Wokwi Codis IoT-02_07_SSD1306 al GitHub
MQTT
Introducció al protocol MQTT, el protocol més emprat a Internet de les Coses.
- El protocol MQTT(Introducció al protocol MQTT en format pdf), el protocol més emprat a Internet de les Coses.
- Exemple implementat en Snap! de control bidireccional emprant MQTT (Seleccioneu Extensions de JavaScript al menú de l'engranatge -a l'esquerra del títol IoT-02_board_segur_EIC). esp32_mqtt_02 al Wokwi (Microprogramari wokwi_esp32_mqtt_02.ino.elf compilat)
- Bessó digital esp32Mqtt_01 controlat mitjançant IoT-02_board_segur_EIC. Bessó digital i controlador mitjançant Snap!
- Aplicacions de mòbil: MQTT Dash (arxiu .apk de l'MQTT Dash) (Configuració de l'MQTT-Dash) i IoT MQTT Panel
Cloud computing vs Edge Computing
Introducció a la visualització de dades amb Grafana. Sensors i actuadors en entorns industrials
Visualització amb Grafana
- Grafana (m2886 / m2886_) amb dades generades pel Node-RED
- Pàgina oficial de Grafana
- Captures de configuració emprant NodeRed, InfluxDB i Grafana
LoRa - Comunicacions LoRaWAN a Internet de les Coses
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
Node-RED
- Assignació de ports per al curs de desenvolupament de prototipus per a la Internet de les Coses del 15 de gener de 2026 (master<port> / master<port>_)
- Introducció a l'ús del Node-RED
- Ús de la base de dades MariaDB des de NodeRED
HTTP
Bots de Telegram (xarxes socials)
Exercicis
- Emprant el vostre bessó digital fet en Snap!, feu a un altre Snap! un bucle que faci un pampallugueig infinit fent 1 segon encès, 1 segon apagat.
- Mitjançant Snap! feu que a la pantalla aparegui, de manera infinita i amb una cadència de dos segons, el percentatge de llum llegida per la LDR i després la temperatura en graus centígrads.
- Emprant Node-RED, implementeu el vostre flux per a rebre l'estat dels tres botons (de manera asíncrona, quan hi ha un canvi) del vostre bessó digital.
Extres
Noció de xarxa neuronal. TensorFlow
- TensorFlow 2.0 Complete Course - Python Neural Networks for Beginners Tutorial (Videotutorial de 7 hores)
Classificació de gestos, imatges i sons emprant xarxes neuronals
Gestos
- Classificació de gestos emprant la placa IoT-02
- Recol·lector de dades a Wokwi
- Classificador de dades a Wokwi