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

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

Cronograma i carpetes compartides

caption

Carpetes compartides de 2n de DAM. Curs 2022-2023

Activitats

A00 - Creació de grups

Dins de la carpeta compartida feu una subcarpeta amb el nom activitats. I a dins de la subcarpeta A00. Deseu a la subcarpeta A00 l'activitat feta amb el professor transversal en format .odt i .pdf

A03 - Què sabem?

Dins de la carpeta compartida feu una subcarpeta amb el nom activitats. I a dins de la subcarpeta A03. Deseu a la subcarpeta A03 l'activitat feta amb el professor transversal en format .odt i .pdf

A05 - Identificació dels rols

Feu la subcarpeta A05 dins de la subcarpeta activitats de la carpeta compartida. Deseu a la subcarpeta A05 l'activitat feta amb el professor transversal en format .odt i .pdf

A06 - POO en C++ i Qt

A06.01

Exercici A06.01 (Heu de desar a la carpeta A06 un document 2223-DAM-A06.01-1rCognom2nCognomNom.pdf amb les solucions explicades i un arxiu 2223-DAM-A06.01-1rCognom2nCognomNom.zip amb els codis comprimits, sense el .pro.user).

A06.02

Exercici A06.02 (Heu de desar a la carpeta A06 un document 2223-DAM-A06.02-1rCognom2nCognomNom.pdf amb l'explicació del procés per a instal·lar QtMqtt al vostre sistema. Verifiqueu que us funciona fent servir el codi de la carpeta de l'exercici A06.02

A06.03

Aquest exercici passa a ser A12.01.

Exercici A06.03 (Heu de desar a la carpeta A06 un document 2223-DAM-A06.03-1rCognom2nCognomNom.pdf amb les solucions explicades i un arxiu 2223-DAM-A06.03-1rCognom2nCognomNom.zip amb els codis comprimits, sense el .pro.user).

A07 - Introducció a la placa IoT-02, Wokwi i protocols de comunicació

A07.01

Exercici A07.01 (Heu de desar a la carpeta A07 un document 2223-DAM-A07.01-1rCognom2nCognomNom.pdf amb l'explicació del procés de fer servir la modificació de simpleclient, anomenant-la simpleclientUsrPwd, incorporant usuari i contrasenya. Heu de comunicar la placa IoT-02 de forma bidireccional amb simpleclientUsrPwd.

void MainWindow::on_buttonConnect_clicked()
{
   if (m_client->state() == QMqttClient::Disconnected) {
       ui->lineEditHost->setEnabled(false);
       ui->spinBoxPort->setEnabled(false);
       ui->buttonConnect->setText(tr("Disconnect"));
       ui->leUser->setEnabled(false);
       ui->lePwd->setEnabled(false);
       m_client->setUsername(ui->leUser->text());
       m_client->setPassword(ui->lePwd->text());
       m_client->connectToHost();
   } else {
       ui->lineEditHost->setEnabled(true);
       ui->spinBoxPort->setEnabled(true);
       ui->leUser->setEnabled(true);
       ui->lePwd->setEnabled(true);
       ui->buttonConnect->setText(tr("Connect"));
       m_client->disconnectFromHost();
   }
}

A07.02

Exercici A07.02 (Heu de desar a la carpeta A07 un document 2223-DAM-A07.02-1rCognom2nCognomNom.pdf amb l'explicació de com heu modificat la MAC (escrivint-hi la de la vostra placa IoT-02) del bessó digital copiat a la vostra zona de Wokwi. Feu el document fent servir com a controladors l'Snap!, NodeRED, i el codi amb QtMqtt ginyMqtt04. I com a dispositius la vostra còpia modificada del bessó digital i la placa IoT-02 per a provar la bidireccionalitat de la comunicació MQTT amb el botó i el led.

A08 - QML, connexió a rerefons Qt i PureQML

A08.00

Feu un document explicant com fer un projecte emprant PureQML i llur migració a QML.

A08.01

Feu un programa en QML que al principi hi surti un quadrat vermell centrat. Al prémer la tecla B hi sortirà de color blau, al prémer la tecla G hi sortirà de color verd i al prémer la tecla R torna a ser vermell.

A08.02

Feu un programa en QML a on hi aparegui centrat, horitzontalment i vertical, ben gros i en negreta el nom Escola del Clot. Al prémer la tecla + la lletra es farà més grossa. I al prémer la tecla - la lletra es farà més petita.

A08.03

Feu un programa que hi surti el text, centrat a la finestra, "Comptador: 0" de color vermell. Al prémer el botó + incrementarà el valor del comptador, i al prémer el botó '-' es decrementarà. Al prémer la tecla N el text serà de color negre i al prémer V tornarà a ser de color vermell.

A08.04

Seguiu els Vídeos QML de l'apartat Connexió entre el frontal QML (frontend) i el rerefons en C++ (backend). Feu el vostre qmlLliscant que comunica el rerefons en C++ amb el frontal QML de forma bidireccional. Feu a08.04.pdf amb la captura de pantalla del vostre projecte funcionant. Heu d'explicar el funcionament de la comunicació bidireccional i definir que són les Q_PROPERTY. El vostre codi serà dins d'a08.04.zip.

Per afegir QMLDesigner a l'entorn del QtCreator: Aneu al menú Help / About pluggins / Seleccioneu QMLDesigner

Per afegir un nou formulari: nomForm.ui.qml

A09 - FreeRTOS i MicroWorkers

A09.01: fent servir Microworkers emprant MicroPython

A09.02: fent servir FreeRTOS emprant l'IDE d'Arduino

FreeRTOS i MicroWorkers

fr-mw-1) Presa de contacte amb FreeRTOS

Fent servir la placa IoT-02 feu un programa amb dues tasques. Una tasca farà que el led groc faci pampallugues (500ms encés i 500ms apagat). Una altra tasca llegirà el botó I35, fent que quan estigui premut el cicle del led groc sigui de 100ms encés i 100ms apagat.

A12 - Qt

A12.01

Aquest exercici abans era l' A06.03.

Exercici A12.01 (Heu de desar a la carpeta A12 un document 2223-DAM-A12.01-1rCognom2nCognomNom.pdf amb les solucions explicades i un arxiu 2223-DAM-A12.01-1rCognom2nCognomNom.zip amb els codis comprimits, sense el .pro.user).

A13 - QML a l'escriptori, Android i WebAssembly

A13.01

Feu un exemple bàsic executant un codi QML al vostre dispositiu Android o a una màquina virtual funcionant amb Android.

Màquina virtual Android per a fer-la servir per a executar codis QML des de QtCreator

A15 - Consultes asíncrones I2C - FreeRTOS i MicroWorkers

A15.01: fent servir Microworkers emprant MicroPython

A15.02: fent servir FreeRTOS emprant l'IDE d'Arduino

A15.01 i A15.02) Connexió a WiFi i un broker MQTT

Afegiu una tasca per a fer connexió a WiFi i MQTT.

  • Emprant MicroWorkers

Us podeu basar en el codi present a prj_mqtt_json. Feu servir també una variable booleana bSocConnectat (que serà certa quan hi hagi connexió i falsa quan no s'hagi establert la connexió o s'hagi perdut -quan es perd la IP que s'autollegeix és 0.0.0.0-).

  • Emprant FreeRTOS

Us podeu basar en el codi present a IoT-02_mqtts_freeRTOS_json_12. Afegiu-hi també un #define USING_WIFI per saber si cal que funcionin totes aquelles funcions que tenen relació amb la wifi. Feu servir també una variable booleana bSocConnectat (que serà certa quan hi hagi connexió i falsa quan no s'hagi establert la connexió o s'hagi perdut -quan es perd la IP que s'autollegeix és 0.0.0.0-).

- Publicació

Si bSocConnectat és certa, publica el canvi d'estat del botó quan es prem I35.

- Subscripció

Quan feu la connexió a MQTT, afegiu una subscripció al tema /MAC/led (essent MAC la MAC de la vostra placa). Si rebeu per aquest tema un '1', 'On','on' o 'ON' s'ha d'encendre el led blanc. Si rebeu '0', 'Off', 'off' o 'OFF' s'apaga el led blanc.