Recull de pràctiques de 2n de DAM. Curs 2022-2023
Contingut
- 1 Cronograma i carpetes compartides
- 2 Activitats
- 2.1 A00 - Creació de grups
- 2.2 A03 - Què sabem?
- 2.3 A05 - Identificació dels rols
- 2.4 A06 - POO en C++ i Qt
- 2.5 A07 - Introducció a la placa IoT-02, Wokwi i protocols de comunicació
- 2.6 A09 - FreeRTOS i MicroWorkers
- 2.7 A8 - QML, connexió a rerefons Qt i PureQML
- 2.8 A12 - Qt
- 2.9 A15 - Consultes asíncrones I2C - FreeRTOS i MicroWorkers
Cronograma i carpetes compartides
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
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.
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.
A8 - QML, connexió a rerefons Qt i PureQML
A8.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.
A8.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.
A8.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.
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).
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.