DAM 2024-2025

De binefa.com
Salta a la navegació Salta a la cerca

Quan tingueu les credencials d'accés a la NET heu de compartir una carpeta amb aquest nom: 2425-DAM-1rCognom2nCognomNom (Per exemple, si el vostre nom és Xavier López Pujol --> 2425-DAM-LopezPujolXavier). Heu de compartir-la amb el professor transversal dels projectes globals i amb mi. A aquest enllaç podreu veure si ja hi sou a la llista:

Carpetes compartides de 2n de DAM. Curs 2024-2025

Contingut

Enllaços ràpids

Compartició de pantalla

Recull de pràctiques de 2n de DAM. Curs 2024-2025

Recull de codis fets a classe. Curs 2024-2025

Llista de 2n de DAM

Totes les llistes

Algunes classes

20250324

  • Pràctiques noves: M04 (programa en Qt de control de la placa mitjançant ModBus) i M05 (programa en QML de control de la placa mitjançant ModBus)
  • Seguim fent els exercicis pendents del recull de pràctiques

20250321

20250318

20250317

  • Com treure senyals pel port sèrie de la placa IoT-02
  • Seguim fent els exercicis pendents del recull de pràctiques

20250314

- M00.1 (prova del terminal sèrie), M00.2 (instal·lació de QSerialPort), M00.3 (prova de Serial Terminal) i M00.4 (exemple minimalista d'ús de QSerialPort)

- M02 (ús de mb_IoT_00.py per a ModBus)

20250310

20250307

Obriu a un terminal:

python3 -m venv mqtt_env
source mqtt_env/bin/activate
pip install paho-mqtt
python subscript2.py

Obriu a un altre terminal:

source mqtt_env/bin/activate
python publicador2.py
  • subscript2.py:
import paho.mqtt.client as mqtt

# Configuració del broker MQTT
BROKER_ADDRESS = "broker.emqx.io"
PORT = 1883
TOPIC = "prova/mqtt"  # Substitueix amb el teu tema

def on_connect(client, userdata, flags, rc, properties=None):
   """Callback quan el client es connecta al broker."""
   if rc == 0:
       print("Connectat al broker MQTT!")
       client.subscribe(TOPIC, qos=0)  # Subscriu-te al tema
   else:
       print(f"Connexió fallida amb codi {rc}")

def on_message(client, userdata, msg):
   """Callback quan es rep un missatge."""
   print(f"Missatge rebut al tema '{msg.topic}': {msg.payload.decode()}")

def main():
   client = mqtt.Client(mqtt.CallbackAPIVersion.VERSION2)  # Utilitza la versió 2 de l'API de callbacks
   client.on_connect = on_connect
   client.on_message = on_message

   client.connect(BROKER_ADDRESS, PORT, 60)  # Connecta't al broker

   client.loop_forever()  # Manté el client en bucle per rebre missatges

if __name__ == "__main__":
   main()
  • publicador2.py:
import paho.mqtt.client as mqtt
import time

# Configuració del broker MQTT
BROKER_ADDRESS = "broker.emqx.io"
PORT = 1883
TOPIC = "prova/mqtt"  # El mateix tema que el subscriptor

def on_connect(client, userdata, flags, rc, properties=None):
   """Callback quan el client es connecta al broker."""
   if rc == 0:
       print("Connectat al broker MQTT!")
   else:
       print(f"Connexió fallida amb codi {rc}")

def main():
   client = mqtt.Client(mqtt.CallbackAPIVersion.VERSION2)
   client.on_connect = on_connect

   client.connect(BROKER_ADDRESS, PORT, 60)
   client.loop_start()  # Inicia el bucle en un fil separat

   try:
       while True:
           message = f"Missatge publicat a les {time.strftime('%H:%M:%S')}"
           client.publish(TOPIC, message, qos=0)
           print(f"Publicat: {message}")
           time.sleep(5)  # Publica un missatge cada 5 segons
   except KeyboardInterrupt:
       print("Publicació interrompuda.")
   finally:
       client.loop_stop()
       client.disconnect()

if __name__ == "__main__":
   main()

20250304

Desenvolupament d'una API en NodeRed. Pasarel·la HTTP a MQTT

Flux HTTP a MQTT

Flux httpMqtt.nodered.json

Apagant led blanc:

Apagant led blancto. HTTP a MQTT

Encenent led blanc:

Encenent led blanc. HTTP a MQTT
  • Funció bridge:
msg.topic = msg.req.query['topic'];
msg.payload = msg.req.query['payload'];
return msg;
  • Funció response:
msg.payload = "Tema: "+msg.req.query['topic']+", missatge: "+msg.req.query['payload'];
return msg;

Captura de la resposta web

curl "http://iot.electronics.cat:2222/mqtt2?topic=/7C9EBDEA5BA0/ledW&&payload=0"
Tema: /7C9EBDEA5BA0/ledW, missatge: 0

Es pot redireccionar la resposta a un arxiu:

curl "http://iot.electronics.cat:2222/mqtt2?topic=/7C9EBDEA5BA0/ledW&&payload=0" > resposta.txt

curl per Windows

paho-mqtt i Python

# pip install paho-mqtt

MQTT in Python with Paho Client: Beginner's Guide 2024

A una cel·la del jupyter-lab (si no el teniu, el podeu instal·lar seguint aquestes instruccions):

import random

import paho.mqtt.subscribe as subscribe
import paho.mqtt.client as mqtt
import paho.mqtt.properties as properties

mqttc = mqtt.Client('idClient-'+str(random.randrange(100000,999999)))
# mqttc.username_pw_set("usuari","contrasenya");
mqttc.connect("broker.emqx.io", 1883)

def on_message(clientId, userdata, message):
   msg = str(message.payload.decode("utf-8"))
   print('topic = ', message.topic)
   print('payload = ', msg)

mqttc.on_message = on_message
mqttc.subscribe('topicName')

A una altra cel·la del jupyter-lab:

mqttc.loop_start()

Usuari i contrasenya a MQTT emprant Paho

  • Publicació MQTT des de Paho:
mqttc.publish('topicName','Escola del clot')

20250228

20250225

Metacognició de síntesi

20250224

20250221

20250218

Metacognició de síntesi (A11) de la part d'IoT del 2n trimestre

20250217

  • Afegit l'exercici A13.03 que és l'examen de la part de Qt i QML dels curs passat.
  • Afegit l'exercici A13.04 que és el joc de pedra, paper i tisora.
  • Snap! de proves MQTT

20250214

- Intel·ligència Artificial:

- Afegit l'exercici A14.9 que tracta de desenvolupar un xat de Telegram que dialoga amb l'API de Gemini. Seguim fent els exercicis pendents del recull de pràctiques

20250211

20250210

20250204

20250203

Codis rps20af a rps30af

  • rps20af: Ús de SwipeView. Pàgines lliscables arrosegant-les
  • rps21af: Ús del repetidor a PaginaJoc.qml . Model numèric
  • rps22af: Ús del repetidor a PaginaJoc.qml . Model emprant cadenes
  • rps23af: Ús del repetidor a PaginaJoc.qml . Model emprant tipus múltiples
  • rps24af: Canvi de les lletres a imatges al control
  • rps25af: Nou component ControlButtons. Ús de senyals des de subcomponents
  • rps26af: Incorporació de l'aleatorietat i visualització del joc de l'usuari i de l'aplicació
  • rps27af: Nou component VistaJugada
  • rps28af: Transicions d'opacitat
  • rps29af: Transicions seqüencials
  • rps30af: Rotació de les imatges (rps30af.apk)

20250131

20250128

  • Si teniu problemes de visualització d'imatges emprant l'arxiu de recursos .qrc afegiu a CMakeLists.txt:
set(CMAKE_AUTORCC ON)

20250127

20250124

20250121

Doneu-vos d'alta a The Things Network

Doneu-vos d'alta a una instància de Mastodon que permet fer bots

20250120

Instal·lació de Grafana a Debian o Ubuntu

Instal·lació de Grafana a Windows

  • Feu els exercicis A17.05 i A17.06 del recull de pràctiques que us fan visualitzar a Grafana les dades emmagatzemades a MariaDB.

20250118

  • Dubtes

- Part Qt/QML:

  • Aquests dos trossos de codi els podeu trobar dins a rps06.zip.
       property int angleLletra: 0
       transform: Rotation {
           axis {
               x: 0
               y: 1
               z: 0
           }
           origin.x: rect00.width/2
           origin.y: rect00.height/2
           angle: rect00.angleLletra
       }
          Transition {
              from: "*"
              to: "usuariGuanya"
              //reversible: true
              ParallelAnimation{
                  ColorAnimation{
                      to: "lime"
                      duration: 500
                  }
                  NumberAnimation {
                      target: rect00
                      property: "angleLletra"
                      duration: 500
                      // loops: Animation.Infinite
                      easing.type: Easing.InOutQuad
                      // easing.type: Easing.InOutBounce
                  }
              }

- Part IoT:

Ús de MariaDB per emmagatzemar dades de la Internet de les Coses

Ús de la base de dades MariaDB des de NodeRED

20250114

  • Dubtes
  • Seguim amb la implementació del joc pedra, paper o tisora (RPS) en QML.

20250113

  • Dubtes
  • Implementació del joc pedra, paper o tisora (RPS) en QML.

20250110

  • Dubtes

Codis explicats el dia d'avui (Exemple de rerefons emprant Q_INVOKABLE)

20241220

  • Dubtes

20241217

  • Dubtes

20241216

  • Dubtes

20241213

  • Dubtes

20241210

  • Dubtes

20241209

  • Dubtes

20241202

  • Dubtes

20241129

  • Dubtes

Telegram

Bot de Telegram

  • Creació de bots amb BotFather
  • Instal·lació de nodes de Telegram a NodeRED (afegiu els nodes node-red-contrib-telegrambot)
  • Interacció amb un usuari de Telegram
  • Interacció amb un grup de Telegram

Material per a fer el bot i flux de prova per al bot de Telegram

20241126

  • Dubtes
  • Seguim la instal·lació per a fer servir PureQML

20241125 - QML

Introducció al QML. Curs 2023-2024

Activitats A08.01, A08.02 i A08.03 del recull de pràctiques de 2n de DAM. Curs 2024-2025

PureQML

Pàgina oficial de PureQML

Posada en marxa del PureQML

  • Instal·lació de l'eina python-future:
pip3 install future

A Windows:

pip install future
  • Primera aplicació
mkdir prjFolder
cd prjFolder
git clone https://github.com/pureqml/qmlcore.git
./qmlcore/build --boilerplate
./qmlcore/build

A Windows, les dues darreres passes:

python qmlcore/build --boilerplate
python qmlcore/build

Obriu amb un navegador l'arxiu prjFolder/build.web/index.html

  • Modificació de prjFolder/src/app.qml:
Text {
       anchors.fill: context;
        
       text: 'Primer exemple de pureQML';
       color: 'red';
       font.pixelSize: 32;
       verticalAlignment: Text.AlignVCenter;
       horizontalAlignment: Text.AlignHCenter;
}

Reconstruïu-ho:

./qmlcore/build 

A Windows:

python qmlcore/build


Torneu a obrir amb un navegador l'arxiu prjFolder/build.web/index.html per a observar els canvis

Activitats A08.00 del recull de pràctiques de 2n de DAM. Curs_2024-2025

20241125 - NodeRed

dynamicMqttTopic.json Temes dinàmics a MQTT

20241119 Examen 1r T

Examen 1r trimestre

20241118

  • Dubtes del darrer dia abans de l'examen.

20241115

  • Dubtes
  • Seguim fent pràctiques pendents

20241112

  • Dubtes
  • Seguim explicant els codis del dia anterior:

pyEsp32Mqtt_00

- Multitasca

MicroWorkers Tasques en MicroPython

FreeRTOS Tasques en C a sistemes encastats. (Pàgina oficial de FreeRTOS)

- Exemples de multitasca

uPython_uWorkers_00

fils00

esp32_freeRTOS_00

- Exercicis de multitasca

La setmana passada ja es van afegir A09.01 i A09.02 (FreeRTOS i MicroWorkers) al Recull de pràctiques de 2n de DAM. Curs 2024-2025

20241111

  • Dubtes
  • Part IoT

- Configuració de l'MQTT-Dash (MQTT-Dash a Google Play, apk baixada d'APKPure i apkcombo)

20241108

  • Dubtes

20241105

  • Dubtes

20241104

S'ha afegit l'enunciat A12.03 al Recull de pràctiques de 2n de DAM. Curs 2024-2025

Exercici A12.03. (Heu de desar a la carpeta compartida un document 2425-DAM-A12.03-1rCognom2nCognomNom.pdf amb les solucions explicades i un arxiu 2425-DAM-A12.03-1rCognom2nCognomNom.zip amb els codis comprimits, sense el .pro.user si ho feu amb qmake o el .txt.user si ho feu amb CMake).

  • Part IoT

uPython_00_blinky

uPython_01_servo

uPython_02_pull-up

uPython_03_ldr

uPython_04_ultrasonic

uPython_05_acceleration

uPython_06_temperature

uPython_mqtt_00

uPython_mqtt_01

pyEsp32Mqtt_00

- Multitasca

MicroWorkers Tasques en MicroPython

FreeRTOS Tasques en C a sistemes encastats. (Pàgina oficial de FreeRTOS)

- Exemples de multitasca

uPython_uWorkers_00

fils00

esp32_freeRTOS_00

-Exercicis de multitasca

S'ha afegit A09.01 i A09.02 (FreeRTOS i MicroWorkers) al Recull de pràctiques de 2n de DAM. Curs 2024-2025

20241029

Referència ràpida sobre MicroPython a l'ESP32)

20241028

20241025

20241022

20241021

  • Dubtes
  • Acabem A06.04

20241018

20241015

20241014

20241011

Seguim fent els exercicis pendents (A06.01, A07.01, A07.02, A14.1) de Recull de pràctiques de 2n de DAM. Curs 2024-2025

20241008

Seguim fent els exercicis pendents (A06.01, A07.01, A07.02, A14.1) de Recull de pràctiques de 2n de DAM. Curs 2024-2025

20241007

Seguim fent els exercicis pendents (A06.01, A07.01, A07.02, A14.1) de Recull de pràctiques de 2n de DAM. Curs 2024-2025

void Ex00::on_btAleat_clicked()
{
   ui->lbText->setText(tr("%1").arg(1+rand()%6));
}

20241004

Seguim fent els exercicis pendents (A06.01, A07.01, A07.02, A14.1) de Recull de pràctiques de 2n de DAM. Curs 2024-2025

20241001

Seguim fent els exercicis pendents (A06.01, A07.01, A07.02, A14.1) de Recull de pràctiques de 2n de DAM. Curs 2024-2025

20240930

Uso del NodeRED (2024)

Autenticació d'accés a NodeRED

Ús de la base de dades MariaDB des de NodeRED

Transmissió d'un número real de tipus IEEE-754 (4 bytes) i llur recuperació a NodeRED

20240927

Recull del dia 20240927 usuari: dam | contrasenya: dam2425

  • Per a fer servir el CMake cal editar l'arxiu CMakeLists.txt. En aquest exemple, prenent com a base el projecte pr20240927_00 fet amb qmake, s'ha fet un nou projecte anomenat pr20240927_00_cmake amb una classe base anomenada Matrioixca. Un cop fet es tanca el QtCreator i es copien els sis arxius .cpp, .h i .ui a la carpeta del nou projecte (els matrioixca.* seran sobreescrits) i editeu l'arxiu CMakeLists.txt afegint les línies en negreta:
set(PROJECT_SOURCES
       main.cpp
       matrioixca.cpp
       matrioixca.h
       matrioixca.ui
       giny01.cpp
       giny01.h
       giny01.ui
       ginylcd.cpp
       ginylcd.h
       ginylcd.ui
)

20240923

Connectem la placa IoT-02 mitjançant Snap! i NodeRed.

Microprogramari per a treballar dins l'Escola del Clot

Canvieu el broker1 pel broker2 a l'accés directe a 07_IoT-02_with_json_Broker1.xmlCodi en Snap! incorporant l'ús de JSON i microprogramari per a gestionar, també, l'ús de JSON a la placa IoT-02. Firmware IoT-02_mqtt_json_upcSchool_broker1 en GitHub

20240920

//#include "esp_wpa2.h" //wpa2 library for connections to Enterprise networks
#include "esp_eap_client.h" // v3

20240917

Heu de dur un cable microusb per a connectar a l'ordinador o una font d'alimentació microusb!

Placa IoT-02

20240916 (2h + 1h)

Recull del dia 20240916 usuari: dam | contrasenya: dam2425

Distribució de M07UF1 i M13 al curs 2024-2025

Distribució de M07UF1 i M13 al curs 2024-2025 de 2n de DAM

Qt

El Qt Creator serà l'IDE que farem servir per a desenvolupar el disseny d'aplicacions gràfiques d'usuari:

Aneu a la pàgina Qt for Open Source Development i cerqueu Download the Qt Online Installer. Baixeu-vos-ho i instal·leu-ho (us demana registrar-vos per a poder-ho instal·lar).

Activitat 6

Paquets que manquen per a fer funcionar les Qt a l'Ubuntu:

sudo apt install libx11-xcb-dev libglu1-mesa-dev libxcb-xinerama0

IoT

  • NodeRED

Instal·lació de Node.js Guia d'instal·lació de node i npm

Supported Node versions on NodeRed

Verificació:

node --version
npm --version

Instal·lació i funcionament del NodeRed autònom

ecat@iot-ecat:~$ mkdir bin
ecat@iot-ecat:~$ cd bin
ecat@iot-ecat:~/bin$ sudo apt install unzip
ecat@iot-ecat:~/bin$ mkdir nodered-ui
ecat@iot-ecat:~/bin$ cd nodered-ui
ecat@iot-ecat:~/bin/nodered-ui$ wget https://www.binefa.cat/IoT/nodeRed/node_red_ui.zip
ecat@iot-ecat:~/bin/nodered-ui$ unzip node_red_ui.zip
ecat@iot-ecat:~/bin/nodered-ui$ node node_modules/node-red/red.js --userDir node_modules/node-red/data --settings node_modules/node-red/settings.js -v --port 2222 --title elmeuTitol --safe flows_meuTitol.json

Si hi ha problemes de confiança amb el certificat al descarrega l'arxiu .zip, hi podeu afegir l'opció --no-check-certificate:

wget --no-check-certificate https://www.binefa.cat/IoT/nodeRed/node_red_ui.zip

Activitat 7

Credencials IoT

#define EAP_ANONYMOUS_IDENTITY "CL-Internet_de_les_coses"
#define EAP_IDENTITY "CL-Internet_de_les_coses"
#define EAP_PASSWORD "CLioT2022_"
#define EAP_USERNAME "CL-Internet_de_les_coses"

const char* ssid = "IOTJE";

20241119 Examen 1r T

Examen 1r trimestre

20241118

  • Dubtes del darrer dia abans de l'examen.

20241115

  • Dubtes
  • Seguim fent pràctiques pendents

20241112

  • Dubtes
  • Seguim explicant els codis del dia anterior:

pyEsp32Mqtt_00

- Multitasca

MicroWorkers Tasques en MicroPython

FreeRTOS Tasques en C a sistemes encastats. (Pàgina oficial de FreeRTOS)

- Exemples de multitasca

uPython_uWorkers_00

fils00

esp32_freeRTOS_00

- Exercicis de multitasca

La setmana passada ja es van afegir A09.01 i A09.02 (FreeRTOS i MicroWorkers) al Recull de pràctiques de 2n de DAM. Curs 2024-2025

20241111

  • Dubtes
  • Part IoT

- Configuració de l'MQTT-Dash (MQTT-Dash a Google Play, apk baixada d'APKPure i apkcombo)

20241108

  • Dubtes

20241105

  • Dubtes

20241104

S'ha afegit l'enunciat A12.03 al Recull de pràctiques de 2n de DAM. Curs 2024-2025

Exercici A12.03. (Heu de desar a la carpeta compartida un document 2425-DAM-A12.03-1rCognom2nCognomNom.pdf amb les solucions explicades i un arxiu 2425-DAM-A12.03-1rCognom2nCognomNom.zip amb els codis comprimits, sense el .pro.user si ho feu amb qmake o el .txt.user si ho feu amb CMake).

  • Part IoT

uPython_00_blinky

uPython_01_servo

uPython_02_pull-up

uPython_03_ldr

uPython_04_ultrasonic

uPython_05_acceleration

uPython_06_temperature

uPython_mqtt_00

uPython_mqtt_01

pyEsp32Mqtt_00

- Multitasca

MicroWorkers Tasques en MicroPython

FreeRTOS Tasques en C a sistemes encastats. (Pàgina oficial de FreeRTOS)

- Exemples de multitasca

uPython_uWorkers_00

fils00

esp32_freeRTOS_00

-Exercicis de multitasca

S'ha afegit A09.01 i A09.02 (FreeRTOS i MicroWorkers) al Recull de pràctiques de 2n de DAM. Curs 2024-2025

20241029

Referència ràpida sobre MicroPython a l'ESP32)

20241028

20241025

20241022

20241021

  • Dubtes
  • Acabem A06.04

20241018

20241015

20241014

20241011

Seguim fent els exercicis pendents (A06.01, A07.01, A07.02, A14.1) de Recull de pràctiques de 2n de DAM. Curs 2024-2025

20241008

Seguim fent els exercicis pendents (A06.01, A07.01, A07.02, A14.1) de Recull de pràctiques de 2n de DAM. Curs 2024-2025

20241007

Seguim fent els exercicis pendents (A06.01, A07.01, A07.02, A14.1) de Recull de pràctiques de 2n de DAM. Curs 2024-2025

void Ex00::on_btAleat_clicked()
{
   ui->lbText->setText(tr("%1").arg(1+rand()%6));
}

20241004

Seguim fent els exercicis pendents (A06.01, A07.01, A07.02, A14.1) de Recull de pràctiques de 2n de DAM. Curs 2024-2025

20241001

Seguim fent els exercicis pendents (A06.01, A07.01, A07.02, A14.1) de Recull de pràctiques de 2n de DAM. Curs 2024-2025

20240930

Uso del NodeRED (2024)

Autenticació d'accés a NodeRED

Ús de la base de dades MariaDB des de NodeRED

Transmissió d'un número real de tipus IEEE-754 (4 bytes) i llur recuperació a NodeRED

20240927

Recull del dia 20240927 usuari: dam | contrasenya: dam2425

  • Per a fer servir el CMake cal editar l'arxiu CMakeLists.txt. En aquest exemple, prenent com a base el projecte pr20240927_00 fet amb qmake, s'ha fet un nou projecte anomenat pr20240927_00_cmake amb una classe base anomenada Matrioixca. Un cop fet es tanca el QtCreator i es copien els sis arxius .cpp, .h i .ui a la carpeta del nou projecte (els matrioixca.* seran sobreescrits) i editeu l'arxiu CMakeLists.txt afegint les línies en negreta:
set(PROJECT_SOURCES
       main.cpp
       matrioixca.cpp
       matrioixca.h
       matrioixca.ui
       giny01.cpp
       giny01.h
       giny01.ui
       ginylcd.cpp
       ginylcd.h
       ginylcd.ui
)

20240923

Connectem la placa IoT-02 mitjançant Snap! i NodeRed.

Microprogramari per a treballar dins l'Escola del Clot

Canvieu el broker1 pel broker2 a l'accés directe a 07_IoT-02_with_json_Broker1.xmlCodi en Snap! incorporant l'ús de JSON i microprogramari per a gestionar, també, l'ús de JSON a la placa IoT-02. Firmware IoT-02_mqtt_json_upcSchool_broker1 en GitHub

20240920

//#include "esp_wpa2.h" //wpa2 library for connections to Enterprise networks
#include "esp_eap_client.h" // v3

20240917

Heu de dur un cable microusb per a connectar a l'ordinador o una font d'alimentació microusb!

Placa IoT-02

20240916 (2h + 1h)

Recull del dia 20240916 usuari: dam | contrasenya: dam2425

Distribució de M07UF1 i M13 al curs 2024-2025

Distribució de M07UF1 i M13 al curs 2024-2025 de 2n de DAM

Qt

El Qt Creator serà l'IDE que farem servir per a desenvolupar el disseny d'aplicacions gràfiques d'usuari:

Aneu a la pàgina Qt for Open Source Development i cerqueu Download the Qt Online Installer. Baixeu-vos-ho i instal·leu-ho (us demana registrar-vos per a poder-ho instal·lar).

Activitat 6

Paquets que manquen per a fer funcionar les Qt a l'Ubuntu:

sudo apt install libx11-xcb-dev libglu1-mesa-dev libxcb-xinerama0

IoT

  • NodeRED

Instal·lació de Node.js Guia d'instal·lació de node i npm

Supported Node versions on NodeRed

Verificació:

node --version
npm --version

Instal·lació i funcionament del NodeRed autònom

ecat@iot-ecat:~$ mkdir bin
ecat@iot-ecat:~$ cd bin
ecat@iot-ecat:~/bin$ sudo apt install unzip
ecat@iot-ecat:~/bin$ mkdir nodered-ui
ecat@iot-ecat:~/bin$ cd nodered-ui
ecat@iot-ecat:~/bin/nodered-ui$ wget https://www.binefa.cat/IoT/nodeRed/node_red_ui.zip
ecat@iot-ecat:~/bin/nodered-ui$ unzip node_red_ui.zip
ecat@iot-ecat:~/bin/nodered-ui$ node node_modules/node-red/red.js --userDir node_modules/node-red/data --settings node_modules/node-red/settings.js -v --port 2222 --title elmeuTitol --safe flows_meuTitol.json

Si hi ha problemes de confiança amb el certificat al descarrega l'arxiu .zip, hi podeu afegir l'opció --no-check-certificate:

wget --no-check-certificate https://www.binefa.cat/IoT/nodeRed/node_red_ui.zip

Activitat 7

Credencials IoT

#define EAP_ANONYMOUS_IDENTITY "CL-Internet_de_les_coses"
#define EAP_IDENTITY "CL-Internet_de_les_coses"
#define EAP_PASSWORD "CLioT2022_"
#define EAP_USERNAME "CL-Internet_de_les_coses"

const char* ssid = "IOTJE";

Repositori de codis fet a classe durant el curs

Codis fets a les classes de 2n de DAM usuari: dam | contrasenya: dam2425

Documentació

Curs2024-2025 Eina d'avaluació GP1 Curs 2024-2025 - Departament

Drive curs 2023-2024 (Alèxia, SAC). Eina d'avaluació GP1

novaFP ASIX/DAW/DAM

Totes les llistes

Distribució de M07UF1 i M13 al curs 2022-2023 de 2n de DAM

Recull de pràctiques de 2n de DAM. Curs 2022-2023

Projecte global GP1. IoT

Impressió

Qt/QML

Paquets que manquen per a fer funcionar les Qt a l'Ubuntu:

sudo apt install libx11-xcb-dev libglu1-mesa-dev libxcb-xinerama0

Activació de l'editor QML al QtCreator 6

Qt5 de Jan Bodnar

Vídeos QML

Qt5 Cadaques! A Book about Qt5

Qt Quick tutorial de Jan Bodnar

PyQt5 de Jan Bodnar

Instal·lació de QtMQtt a les Qt

Qt for Android

Qt for Android

Getting Started with Qt for Android

Getting Started with Qt6.5 for Android

Instal·lació de les eines mínimes (SDK, NDK i eines de terminal) per a fer aplicacions en Qt per a Android

Qt for WebAssembly

Qt for WebAssembly

json

How To Manipulate JSON With C++ and Qt

QProcess

QProcess example

Qt5 tutorial FFmpeg converter using QProcess - 2020

CMake

Cal fer la instal·lació d'aquests paquets a Debian 11:

sudo apt-get install libqt5svg5-dev qtscript5-dev
sudo apt-get install '^libxcb.*-dev' libx11-xcb-dev libglu1-mesa-dev libxrender-dev libxi-dev libxkbcommon-dev libxkbcommon-x11-dev
sudo apt purge ibus

Vídeos externs per aprendre QML

(Gentilesa d'en Raül Gil García)

IoT

Introducció al Node-RED

TCP/UDP Capa de transport d'Ethernet

Introducció a MQTT

Afegint la targeta ESP8266 a l'IDE d'Arduino (NodeMCU1.0)

Micropython and the Internet of Things

SCADA fent servir Python QML i Arduino

MQTT avec Qt

Placa IoT-02

Placa IoT-02

Introducció a la placa IoT-02

Per a la programació amb l'IDE d'Arduino: https://dl.espressif.com/dl/package_esp32_index.json

Programació en MicroPython

LoRaWAN

LoRa 2022-2023

Consola de The Things Stack (Community Edition) de The Things Network

Presentació LoRaWAN (esborrany v0.4)

Ús pràctic de LoRaWAN TTNv2

Recull introductori per a treballar amb LoRa ( usuari: dam / contrasenya: dam2122)

Recull de pràctiques de 2n de DAM. Curs 2021-2022

Transmissió d'un número real de tipus IEEE-754 (4 bytes) i llur recuperació a NodeRED

Downlink LoRaWAN fent servir TTSv3