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»

De binefa.com
Salta a la navegació Salta a la cerca
m
 
(Hi ha 59 revisions intermèdies del mateix usuari que no es mostren)
Línia 4: Línia 4:
 
* [https://binefa.com/eic/ Material de suport] (arxius binaris i codis)
 
* [https://binefa.com/eic/ Material de suport] (arxius binaris i codis)
 
<!-- Qui reemplaça na Marta Relats, i n'Abraham en obrir els cursos, és na Montse Pérez -->
 
<!-- Qui reemplaça na Marta Relats, i n'Abraham en obrir els cursos, és na Montse Pérez -->
 +
= Mostra de funcionament =
 +
* Connexió MQTT des de dos navegadors diferents: [https://binefa.com/clot/smx/telecontrol01/ botonera] amb  [https://snap.berkeley.edu/snap/snap.html#present:Username=jordibinefa&ProjectName=estelaMqtt02 codi Snap! amb MQTT] o [https://snap.berkeley.edu/snap/snap.html#present:Username=jordibinefa&ProjectName=estelaMqtt04 codi Snap! amb MQTT i personatges]
 +
* [https://snap.berkeley.edu/snap/snap.html#present:Username=jordibinefa&ProjectName=IoT-02_board_segur_EIC 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'''). [https://wokwi.com/projects/449249416101518337 esp32_mqtt_02 al Wokwi] ([https://binefa.com/eic/wokwi_esp32_mqtt_02.ino.elf Microprogramari wokwi_esp32_mqtt_02.ino.elf compilat])
 +
* [https://snap.berkeley.edu/snap/snap.html#present:Username=jordibinefa&ProjectName=esp32Mqtt_01 Bessó digital esp32Mqtt_01] controlat mitjançant [https://snap.berkeley.edu/snap/snap.html#present:Username=jordibinefa&ProjectName=IoT-02_board_segur_EIC IoT-02_board_segur_EIC] (el mateix del punt anterior). Bessó digital i controlador mitjançant Snap!
 +
* [https://vps656540.ovh.net:2886 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 [https://curl.se/windows/ 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'''.
 +
* [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) =
== 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) ==
 
== 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.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]])
+
=== 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 23: 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'') ==
== Noció de xarxa neuronal. TensorFlow ==
+
[[Wearables (2026)]]
[https://www.youtube.com/watch?v=tPYj3fFJGjk TensorFlow 2.0 Complete Course - Python Neural Networks for Beginners Tutorial] (Videotutorial de 7 hores)
 
  
 
= Exemples bàsics d'actuadors. Circuits i programació =
 
= Exemples bàsics d'actuadors. Circuits i programació =
Línia 31: 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 40: 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 60: 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])
  
== Classificació de gestos, imatges i sons emprant xarxes neuronals ==
+
= Ús del protocol de comunicacions I2C =
=== Gestos ===
+
* [https://www.binefa.cat/training/ceic/20220330/s4a/20181031_ceic_02.pdf BUs I2C - pàgines 11 i 57]
[[Classificació de gestos emprant la placa IoT-02]]
+
* [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]
[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]
 
  
== MQTT ==
+
= 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.
 
* [https://snap.berkeley.edu/snap/snap.html#present:Username=jordibinefa&ProjectName=IoT-02_board_segur_EIC 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'''). [https://wokwi.com/projects/449249416101518337 esp32_mqtt_02 al Wokwi] ([https://binefa.com/eic/wokwi_esp32_mqtt_02.ino.elf Microprogramari wokwi_esp32_mqtt_02.ino.elf compilat])
 
* [https://snap.berkeley.edu/snap/snap.html#present:Username=jordibinefa&ProjectName=IoT-02_board_segur_EIC 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'''). [https://wokwi.com/projects/449249416101518337 esp32_mqtt_02 al Wokwi] ([https://binefa.com/eic/wokwi_esp32_mqtt_02.ino.elf Microprogramari wokwi_esp32_mqtt_02.ino.elf compilat])
 +
* [https://snap.berkeley.edu/snap/snap.html#present:Username=jordibinefa&ProjectName=esp32Mqtt_01 Bessó digital esp32Mqtt_01] controlat mitjançant [https://snap.berkeley.edu/snap/snap.html#present:Username=jordibinefa&ProjectName=IoT-02_board_segur_EIC IoT-02_board_segur_EIC]. Bessó digital i controlador mitjançant Snap!
  
[http://formacio.things.cat/snap8/snap.html#open:http://formacio.things.cat/codisSnap/demoMqtt00.xml Demostració d'us d'MQTT emprant Snap! v8]
+
* Aplicacions de mòbil: [https://play.google.com/store/apps/details?id=net.routix.mqttdash&hl=ca MQTT Dash] ([https://binefa.com/eic/mqtt-dash/ arxiu .apk de l'MQTT Dash]) ([[Configuració de l'MQTT-Dash]]) i [https://play.google.com/store/apps/details?id=snr.lab.iotmqttpanel.prod&hl=ca IoT MQTT Panel]
 
 
[http://formacio.things.cat/snap8/snap.html#open:../codisSnap/esp32_DT_8.0.0.xml codi amb Snap! v8] funcionant amb [http://formacio.things.cat/xtra/wsMqtt02/ un exemple Qt amb WebAssembly]
 
 
 
[http://formacio.things.cat/snap7/snap.html#open:../codisSnap/esp32_DT.xml codi amb Snap! v7] funcionant amb [http://formacio.things.cat/xtra/wsMqtt02/ un exemple Qt amb WebAssembly]
 
 
 
[https://wokwi.com/projects/350955865540395602 ESP32 amb MicroPython emprant MQTT] funcionant amb [http://formacio.things.cat/xtra/wsMqtt02/ un exemple Qt amb WebAssembly]
 
 
 
[https://www.binefa.cat/training/ceic/20230223/iot02/IoT-02_mqtt_coeic_20221214_b.zip Microprogramari emprant MQTT a la placa IoT-02]
 
== 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]]
 
=== HTTP ===
 
[http://formacio.things.cat:2222/ui/ Tauler de control (''dashboard'') amb Node-RED]
 
 
 
[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]
 
  
== Cloud computing vs Edge Computing ==
+
* [https://www.binefa.cat/training/ceic/20230223/iot02/IoT-02_mqtt_coeic_20221214_b.zip Microprogramari emprant MQTT a la placa IoT-02]
== Introducció a la visualització de dades amb Grafana. Sensors i actuadors en entorns industrials ==
 
=== Visualització amb Grafana ===
 
[https://www.binefa.cat/training/ceic/20230223/grafanaInfluxDB/ Captures de configuració emprant NodeRed, InfluxDB i Grafana]
 
  
[https://grafana.com/ Pàgina de Grafana]
+
= 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]
  
[http://cleanhub.siarq.com:3000/ Exemple d'ús amb Grafana] (usuari/contrasenya: convidat/convidat)
+
= Introducció a la visualització de dades amb Grafana. Sensors i actuadors en entorns industrials =
 
+
== Visualització amb Grafana ==
== Entrades/sortides analògiques (+-10V) i digitals (12V i 24V) ==
+
* [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]
=== Entrades analògiques i digitals a 12V i 24V ===
+
* [https://grafana.com/ Pàgina oficial de Grafana]
[https://github.com/iotvertebrae/modules/blob/main/hardware/schematics/digitalInputRib.pdf Esquema per a llegir entrades de 12 i 24 volts convertint-les a nivells de 3,3 volts]
+
* [https://www.binefa.cat/training/ceic/20230223/grafanaInfluxDB/ Captures de configuració emprant NodeRed, InfluxDB i Grafana]
 
+
= LoRa - Comunicacions LoRaWAN a Internet de les Coses =
=== Control de dispositius 0-10V. Circuit. Conversió digital-analògica ===
+
* [[Ús de les dades generades pels sensors LoRaWAN i arquitectura del sistema. Rubí 2020]]
[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]
+
* [[LoRaWAN. Curs 2024-2025 | LoRaWAN]]
== Elements vestibles (''Wearables'') ==
 
[[Wearables (2026)]]
 
  
 
= 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://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]
+
= 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

Contingut

Mostra de funcionament

- 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

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

Escala sofisticada

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

Elements vestibles (Wearables)

Wearables (2026)

Exemples bàsics d'actuadors. Circuits i programació

Carpeta de projectes a Wokwi

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é

Pàgines 13, 17 i 18

Set / Reset amb un parell de relés sense microcontrolador simulat a Wokwi

Relé al TinkerCad

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

Pàgines 31 a 40

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

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

Ús del protocol de comunicacions I2C

MQTT

Introducció al protocol MQTT, el protocol més emprat a Internet de les Coses.

Cloud computing vs Edge Computing

Introducció a la visualització de dades amb Grafana. Sensors i actuadors en entorns industrials

Visualització amb Grafana

LoRa - Comunicacions LoRaWAN a Internet de les Coses

Ciberseguretat

Certificats digitals

Comunicacions segures amb MQTTS

Comunicacions segures amb HTTPS

Node-RED

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

Classificació de gestos, imatges i sons emprant xarxes neuronals

Gestos

Imatges

Bases de dades en temps real per a Internet de les Cose

InfluxDB