Diferència entre revisions de la pàgina «DAM 2023-2024»
m (→20240220 (1h)) |
m (→Documentació) |
||
(Hi ha 50 revisions intermèdies del mateix usuari que no es mostren) | |||
Línia 15: | Línia 15: | ||
= Algunes classes = | = Algunes classes = | ||
− | ''' | + | '''Examen del M07UF1: 13 de maig de 2024'''. El 21 de maig a les dues darreres hores també és reservat. |
+ | == 20240513 (1h + 2h) Examen M07UF1 == | ||
+ | [https://recull.binefa.cat/files/20240513ex/ Recull del dia d'avui] | ||
− | '''Prova de la part Qt i QML (amb IoT): 20240226''' | + | * 1a hora: GP3 |
+ | |||
+ | * 2a i 3a hora: '''Examen final de 2/3 parts''' del M07UF1 | ||
+ | |||
+ | == 20240510 (2h) == | ||
+ | Seguim amb el GP3. | ||
+ | == 20240506 (1h + 2h) == | ||
+ | [https://recull.binefa.cat/files/20240506/ Recull del dia d'avui] <-- '''Conversió de 2 bytes (''unsigned char'') a ''short int''''' | ||
+ | |||
+ | * 1a hora: GP3 | ||
+ | |||
+ | * 2a i 3a hora: M07UF1 (Heu d'acabar les pràctiques pendents) | ||
+ | == 20240503 (2h) == | ||
+ | Seguim amb el GP3. | ||
+ | == 20240430 (1h) == | ||
+ | Seguim amb el GP3. | ||
+ | |||
+ | == 20240429 (1h + 2h) == | ||
+ | [https://recull.binefa.cat/files/20240415/ Recull del dia d'avui] | ||
+ | |||
+ | * 1a hora: GP3 | ||
+ | |||
+ | * 2a i 3a hora: M07UF1 | ||
+ | |||
+ | S'ha afegit '''M05'''. Seguim resolent els exercicis del [[Recull de pràctiques de 2n de DAM. Curs 2023-2024 | recull de pràctiques]]. ('''Fins ara s'ha demanat fer M00, M01, M02, M03, M04 i M05'''). | ||
+ | == 20240426 (2h) == | ||
+ | Seguim amb el GP3. | ||
+ | == 20240423 (1h) == | ||
+ | Seguim amb el GP3. | ||
+ | |||
+ | == 20240422 (1h + 2h) == | ||
+ | [https://recull.binefa.cat/files/20240415/ Recull del dia d'avui] | ||
+ | |||
+ | * 1a hora: GP3 | ||
+ | |||
+ | * 2a i 3a hora: M07UF1 | ||
+ | |||
+ | S'ha afegit '''M03'''. Seguim resolent l'exercici de l'enunciat M04 del [[Recull de pràctiques de 2n de DAM. Curs 2023-2024 | recull de pràctiques]]. ('''Fins ara s'ha demanat fer M00, M01, M02, M03 i M04'''. No s'ha demanat fer M05). | ||
+ | |||
+ | == 20240419 (2h) == | ||
+ | Seguim amb el GP3. | ||
+ | == 20240416 (1h) == | ||
+ | Seguim amb el GP3. | ||
+ | == 20240415 (1h + 2h) == | ||
+ | [https://recull.binefa.cat/files/20240415/ Recull del dia d'avui] | ||
+ | |||
+ | * 1a hora: GP3 | ||
+ | |||
+ | * 2a i 3a hora: M07UF1 | ||
+ | |||
+ | Seguim resolent l'exercici de l'enunciat M04 del [[Recull de pràctiques de 2n de DAM. Curs 2023-2024 | recull de pràctiques]]. ('''Fins ara s'ha demanat fer M00, M01, M02 i M04'''. No s'ha demanat fer ni M03 ni M05). | ||
+ | |||
+ | == 20240412 (2h) == | ||
+ | Seguim amb el GP3. | ||
+ | |||
+ | == 20240409 (1h) == | ||
+ | Seguim amb el GP3. | ||
+ | |||
+ | == 20240408 (1h + 2h) == | ||
+ | [https://recull.binefa.cat/files/20240408/ Recull del dia d'avui] | ||
+ | |||
+ | Pujats els enunciats M04 i M05 al [[Recull de pràctiques de 2n de DAM. Curs 2023-2024 | recull de pràctiques]]. '''Fins ara s'ha demanat fer M00, M01, M02 i M04'''. No s'ha demanat fer ni M03 ni M05. | ||
+ | |||
+ | == 20240405 (2h) == | ||
+ | [https://recull.binefa.cat/files/20240405/ Recull del dia d'avui] <-- Proposta de '''m01_3_00''' | ||
+ | |||
+ | Seguim amb el M07UF1 tot fent els exercicis pendents del [[Recull de pràctiques de 2n de DAM. Curs 2023-2024 | recull de pràctiques]] | ||
+ | |||
+ | == 20240402 (1h) == | ||
+ | Seguim amb el GP3. | ||
+ | |||
+ | == 20240318 (1h + 2h) == | ||
+ | 1h de GP3 i 2h de M07UF1 | ||
+ | |||
+ | Acabem les pràctiques M00 al [[Recull de pràctiques de 2n de DAM. Curs 2023-2024 | recull de pràctiques]] | ||
+ | |||
+ | python -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())" | ||
+ | |||
+ | == 20240315 (2h) == | ||
+ | GP3 | ||
+ | == 20240311 (1h + 2h) == | ||
+ | 1h de GP3 i 2h de M07UF1 | ||
+ | |||
+ | Acabem les pràctiques M00 al [[Recull de pràctiques de 2n de DAM. Curs 2023-2024 | recull de pràctiques]] | ||
+ | |||
+ | [https://ca.wikipedia.org/wiki/SCADA Sistemes SCADA] | ||
+ | |||
+ | [[Modbus RTU]] | ||
+ | |||
+ | == 20240308 (1h) == | ||
+ | Fem les pràctiques M00 al [[Recull de pràctiques de 2n de DAM. Curs 2023-2024 | recull de pràctiques]] | ||
+ | |||
+ | == 20240304 (1h + 2h) '''GP3''' == | ||
+ | '''Comença GP3''' | ||
+ | |||
+ | '''Comença el tercer trimestre del M07UF1''' | ||
+ | |||
+ | Afegides les pràctiques M00 al [[Recull de pràctiques de 2n de DAM. Curs 2023-2024 | recull de pràctiques]] | ||
+ | <!-- '''Prova de la part IoT: 20240219''' | ||
+ | |||
+ | '''Prova de la part Qt i QML (amb IoT): 20240226''' --> | ||
+ | |||
+ | == 20240301 (2h) == | ||
+ | Seguim fent les pràctiques del [[Recull de pràctiques de 2n de DAM. Curs 2023-2024 | recull de pràctiques]] | ||
+ | |||
+ | == 20240226 (3h) '''A11''' i prova trimestral '''M07UF1''' == | ||
+ | [https://recull.binefa.cat/files/20240226_QtQml_ex/ Enunciat de la metacognició de síntesi del M07UF1 i part puntuable del projecte global] | ||
== 20240223 (2h) == | == 20240223 (2h) == | ||
Seguim fent les pràctiques del [[Recull de pràctiques de 2n de DAM. Curs 2023-2024 | recull de pràctiques]] | Seguim fent les pràctiques del [[Recull de pràctiques de 2n de DAM. Curs 2023-2024 | recull de pràctiques]] | ||
+ | |||
== 20240220 (1h) == | == 20240220 (1h) == | ||
Seguim fent les pràctiques del [[Recull de pràctiques de 2n de DAM. Curs 2023-2024 | recull de pràctiques]] | Seguim fent les pràctiques del [[Recull de pràctiques de 2n de DAM. Curs 2023-2024 | recull de pràctiques]] | ||
− | == 20240219 (3h) '''A11''' == | + | == 20240219 (3h) '''A11''' (Prova final part IoT -'''GP1'''-)== |
[https://recull.binefa.cat/files/20240219_IoT_ex/20240219_A11.pdf Enunciat de la metacognició de síntesi en pdf] | [https://recull.binefa.cat/files/20240219_IoT_ex/20240219_A11.pdf Enunciat de la metacognició de síntesi en pdf] | ||
[https://recull.binefa.cat/files/20240219_IoT_ex/20240219_A11.pdf Enunciat de la metacognició de síntesi en format editable] | [https://recull.binefa.cat/files/20240219_IoT_ex/20240219_A11.pdf Enunciat de la metacognició de síntesi en format editable] | ||
+ | |||
== 20240216 (2h) == | == 20240216 (2h) == | ||
Seguim fent les pràctiques del [[Recull de pràctiques de 2n de DAM. Curs 2023-2024 | recull de pràctiques]] | Seguim fent les pràctiques del [[Recull de pràctiques de 2n de DAM. Curs 2023-2024 | recull de pràctiques]] | ||
Línia 669: | Línia 779: | ||
= Documentació = | = Documentació = | ||
[https://drive.google.com/drive/folders/1P4FlwnGsX4qXIXBJJL9vS8KK1R-OUeZM Drive curs 2023-2024] ([https://web2.alexiaedu.com/ACWeb/paginas/Home/HomeMetro.aspx Alèxia], [https://sac.net.fje.edu/v1.0/#/home/ SAC]). [https://drive.google.com/drive/folders/1dcGDwZBWcG3utW6OxXBkQey7oHa_3ZNx Eina d'avaluació GP1] | [https://drive.google.com/drive/folders/1P4FlwnGsX4qXIXBJJL9vS8KK1R-OUeZM Drive curs 2023-2024] ([https://web2.alexiaedu.com/ACWeb/paginas/Home/HomeMetro.aspx Alèxia], [https://sac.net.fje.edu/v1.0/#/home/ SAC]). [https://drive.google.com/drive/folders/1dcGDwZBWcG3utW6OxXBkQey7oHa_3ZNx Eina d'avaluació GP1] | ||
+ | |||
+ | [https://drive.google.com/drive/folders/0AG8LE_yosU7JUk9PVA novaFP ASIX/DAW/DAM] | ||
[https://drive.google.com/drive/folders/1plnk2yt-SlPEwJDE7ILUkrGRsm2hf1fw Totes les llistes] | [https://drive.google.com/drive/folders/1plnk2yt-SlPEwJDE7ILUkrGRsm2hf1fw Totes les llistes] | ||
Línia 677: | Línia 789: | ||
[https://drive.google.com/drive/folders/1vorYyIsiOUU6Ia3ViqDCpfG-gFUqnroc Projecte global GP1. IoT] | [https://drive.google.com/drive/folders/1vorYyIsiOUU6Ia3ViqDCpfG-gFUqnroc Projecte global GP1. IoT] | ||
+ | |||
+ | [http://192.168.10.17:9191/app?service=page/UserWebPrint Impressió] | ||
+ | |||
<!-- [https://docs.google.com/spreadsheets/d/1jxpQM8EaMrWeWnBrbSBBbYi8lwblSla3/edit#gid=1066652034 Seguiment de tutories] | <!-- [https://docs.google.com/spreadsheets/d/1jxpQM8EaMrWeWnBrbSBBbYi8lwblSla3/edit#gid=1066652034 Seguiment de tutories] | ||
Revisió de 15:09, 20 juny 2024
Quan tingueu les credencials d'accés a la NET heu de compartir una carpeta amb aquest nom: 2324-DAM-1rCognom2nCognomNom (Per exemple, si el vostre nom és Xavier López Pujol --> 2324-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 2023-2024
Contingut
- 1 Enllaços ràpids
- 2 Algunes classes
- 2.1 20240513 (1h + 2h) Examen M07UF1
- 2.2 20240510 (2h)
- 2.3 20240506 (1h + 2h)
- 2.4 20240503 (2h)
- 2.5 20240430 (1h)
- 2.6 20240429 (1h + 2h)
- 2.7 20240426 (2h)
- 2.8 20240423 (1h)
- 2.9 20240422 (1h + 2h)
- 2.10 20240419 (2h)
- 2.11 20240416 (1h)
- 2.12 20240415 (1h + 2h)
- 2.13 20240412 (2h)
- 2.14 20240409 (1h)
- 2.15 20240408 (1h + 2h)
- 2.16 20240405 (2h)
- 2.17 20240402 (1h)
- 2.18 20240318 (1h + 2h)
- 2.19 20240315 (2h)
- 2.20 20240311 (1h + 2h)
- 2.21 20240308 (1h)
- 2.22 20240304 (1h + 2h) GP3
- 2.23 20240301 (2h)
- 2.24 20240226 (3h) A11 i prova trimestral M07UF1
- 2.25 20240223 (2h)
- 2.26 20240220 (1h)
- 2.27 20240219 (3h) A11 (Prova final part IoT -GP1-)
- 2.28 20240216 (2h)
- 2.29 20240213 (1h)
- 2.30 20240209 (2h)
- 2.31 20240206 (1h)
- 2.32 20240205 (3h)
- 2.33 20240202 (2h)
- 2.34 20240130 (1h)
- 2.35 20240129 (3h)
- 2.36 20240126 (2h)
- 2.37 20240123 (1h)
- 2.38 20240122 (3h)
- 2.39 20240119 (2h)
- 2.40 20240116 (1h)
- 2.41 20240115 (3h)
- 2.42 20240112 (1h)
- 2.43 20240109 (1h)
- 2.44 20240108 (3h)
- 2.45 20231219 (1h)
- 2.46 20231218 (3h)
- 2.47 20231215 (1h + 1h)
- 2.48 20231211 (3h)
- 2.49 20231205 (1h)
- 2.50 20231204 (3h)
- 2.51 20231201 (2h)
- 2.52 20231128 (1h)
- 2.53 20231127 (3h)
- 2.54 20231124 (1h + 1h)
- 2.55 20231121 (1h)
- 2.56 20231120 (3h)
- 2.57 20231117 (1h + 1h)
- 2.58 20231114 (1h)
- 2.59 20231013 (3h)
- 2.60 20231110 (1h + 1h)
- 2.61 20231107 (1h)
- 2.62 20231106 (3h)
- 2.63 20231103 (1h + 1h)
- 2.64 20231031 (1h)
- 2.65 20231030 (3h)
- 2.66 20231027 (1h + 1h)
- 2.67 20231024 (1h)
- 2.68 20231020 (2h)
- 2.69 20231020 (2h)
- 2.70 20231017 (1h)
- 2.71 20231016 (3h)
- 2.72 20231010 (1h)
- 2.73 20231009 (3h)
- 2.74 20231006 (1h + 1h)
- 2.75 20231003 (1h)
- 2.76 20231002 (3h)
- 2.77 20230929 (1h + 1h)
- 2.78 20230926 (1h)
- 2.79 20230922 (1h + 1h)
- 2.80 20230919 (1h)
- 2.81 20230918 (3h)
- 3 Repositori de codis fet a classe durant el curs
- 4 Documentació
Enllaços ràpids[modifica]
Recull de pràctiques de 2n de DAM. Curs 2023-2024
Recull de codis fets a classe. Curs 2023-2024
Algunes classes[modifica]
Examen del M07UF1: 13 de maig de 2024. El 21 de maig a les dues darreres hores també és reservat.
20240513 (1h + 2h) Examen M07UF1[modifica]
- 1a hora: GP3
- 2a i 3a hora: Examen final de 2/3 parts del M07UF1
20240510 (2h)[modifica]
Seguim amb el GP3.
20240506 (1h + 2h)[modifica]
Recull del dia d'avui <-- Conversió de 2 bytes (unsigned char) a short int
- 1a hora: GP3
- 2a i 3a hora: M07UF1 (Heu d'acabar les pràctiques pendents)
20240503 (2h)[modifica]
Seguim amb el GP3.
20240430 (1h)[modifica]
Seguim amb el GP3.
20240429 (1h + 2h)[modifica]
- 1a hora: GP3
- 2a i 3a hora: M07UF1
S'ha afegit M05. Seguim resolent els exercicis del recull de pràctiques. (Fins ara s'ha demanat fer M00, M01, M02, M03, M04 i M05).
20240426 (2h)[modifica]
Seguim amb el GP3.
20240423 (1h)[modifica]
Seguim amb el GP3.
20240422 (1h + 2h)[modifica]
- 1a hora: GP3
- 2a i 3a hora: M07UF1
S'ha afegit M03. Seguim resolent l'exercici de l'enunciat M04 del recull de pràctiques. (Fins ara s'ha demanat fer M00, M01, M02, M03 i M04. No s'ha demanat fer M05).
20240419 (2h)[modifica]
Seguim amb el GP3.
20240416 (1h)[modifica]
Seguim amb el GP3.
20240415 (1h + 2h)[modifica]
- 1a hora: GP3
- 2a i 3a hora: M07UF1
Seguim resolent l'exercici de l'enunciat M04 del recull de pràctiques. (Fins ara s'ha demanat fer M00, M01, M02 i M04. No s'ha demanat fer ni M03 ni M05).
20240412 (2h)[modifica]
Seguim amb el GP3.
20240409 (1h)[modifica]
Seguim amb el GP3.
20240408 (1h + 2h)[modifica]
Pujats els enunciats M04 i M05 al recull de pràctiques. Fins ara s'ha demanat fer M00, M01, M02 i M04. No s'ha demanat fer ni M03 ni M05.
20240405 (2h)[modifica]
Recull del dia d'avui <-- Proposta de m01_3_00
Seguim amb el M07UF1 tot fent els exercicis pendents del recull de pràctiques
20240402 (1h)[modifica]
Seguim amb el GP3.
20240318 (1h + 2h)[modifica]
1h de GP3 i 2h de M07UF1
Acabem les pràctiques M00 al recull de pràctiques
python -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())"
20240315 (2h)[modifica]
GP3
20240311 (1h + 2h)[modifica]
1h de GP3 i 2h de M07UF1
Acabem les pràctiques M00 al recull de pràctiques
20240308 (1h)[modifica]
Fem les pràctiques M00 al recull de pràctiques
20240304 (1h + 2h) GP3[modifica]
Comença GP3
Comença el tercer trimestre del M07UF1
Afegides les pràctiques M00 al recull de pràctiques
20240301 (2h)[modifica]
Seguim fent les pràctiques del recull de pràctiques
20240226 (3h) A11 i prova trimestral M07UF1[modifica]
Enunciat de la metacognició de síntesi del M07UF1 i part puntuable del projecte global
20240223 (2h)[modifica]
Seguim fent les pràctiques del recull de pràctiques
20240220 (1h)[modifica]
Seguim fent les pràctiques del recull de pràctiques
20240219 (3h) A11 (Prova final part IoT -GP1-)[modifica]
Enunciat de la metacognició de síntesi en pdf
Enunciat de la metacognició de síntesi en format editable
20240216 (2h)[modifica]
Seguim fent les pràctiques del recull de pràctiques
20240213 (1h)[modifica]
Afegits A13.01 (QML a Android) i A13.02 (QML a WebAssembly) al recull de pràctiques
Seguim fent les pràctiques del recull de pràctiques
20240209 (2h)[modifica]
- HTTP assíncron esperant resposta MQTT:
Funció tramet = OFF:
flow.set("tramet","OFF"); return msg;
Funció tramet = ON , missatge:
flow.set("missatge",msg.payload); flow.set("tramet","ON"); return msg;
Funció LDR req:
if(msg.req.query['topic'] == "LDR"){ msg.payload = "El valor de 0 a 4095 de l'LDR demanada"; }else{ msg.payload = "No entenc el tema"; } return msg;
Funció wait MQTT message with timeout:
var timeoutWait = 2; // 2 second timeout wait var now = new Date(); var timeoutTime = new Date().setSeconds(now.getSeconds() + timeoutWait); var timeOuted = true; var tramet; while (now < timeoutTime) { now = new Date(); // update the current time tramet = flow.get("tramet"); if(tramet == "ON"){ flow.set("tramet","OFF"); timeOuted = false; msg.payload = flow.get("missatge"); break; } } if(timeOuted){ msg.payload = "MQTT answer has been timed out!" } return msg;
- Seguim fent les pràctiques del recull de pràctiques
20240206 (1h)[modifica]
Seguim fent les pràctiques del recull de pràctiques
20240205 (3h)[modifica]
Afegits A10.3, A17.07 i A17.08 al recull de pràctiques
Desenvolupament d'una API en NodeRed. Pasarel·la HTTP a MQTT[modifica]
Apagant led blanc:
Encenent led blanc:
- 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[modifica]
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
paho-mqtt i Python[modifica]
# pip install paho-mqtt
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')
20240202 (2h)[modifica]
union02.c al recull de codis.
Seguim fent les pràctiques pendents al recull de pràctiques
20240130 (1h)[modifica]
Seguim fent les pràctiques pendents al recull de pràctiques
- Per a qui us faci falta un emulador d'Android:
Màquina virtual Android per a fer-la servir per a executar codis QML des de QtCreator
20240129 (3h)[modifica]
Repàs de les unions i comparació amb les estructures. Exemple de codi emprant unions
TTN (The Things Network, Community Edition)
Baixeu-vos els dos pdf del recull introductori per a treballar amb LoRa ( usuari: dam / contrasenya: dam2324)
Exemple de tramesa de variables de tipus float mitjançant TTN (The Things Network)
- A17.01 - Presa de contacte amb LoRa mitjançant The Things Network del recull de pràctiques
- A17.02 - Tramesa de dades emprant LoRa, The Things Network i NodeRed del recull de pràctiques
20240126 (2h)[modifica]
Seguim desenvolupant les pràctiques pendents.
- ExerciciA14.7 - UserLand del recull de pràctiques
20240123 (1h)[modifica]
L'exercici A14.4 deixa d'estar en suspens i torna a estar en actiu. Tots els alumnes que venen a classe han rebut un correu amb les credencials d'accés a la instància provisional de Mastodon creada expressament per a poder desenvolupar la pràctica.
Seguim desenvolupant les pràctiques pendents.
20240122 (3h)[modifica]
- L'exercici A14.5 del recull de pràctiques és la documentació de la instal·lació del Grafana al vostre sistema operatiu.
Instal·lació de Grafana a Debian o Ubuntu
Instal·lació de Grafana a Windows
- Si no l'heu finalitzat, acabeu l'exercici A14.8 del recull de pràctiques
- Feu els exercicis A17.05 i A17.06 del recull de pràctiques que us fan visualitzar a Grafana les dades emmagatzemades a MariaDB.
20240119 (2h)[modifica]
Ús de MariaDB per emmagatzemar dades de la Internet de les Coses
Ús de la base de dades MariaDB des de NodeRED
- Feu l'exercici A14.8 del recull de pràctiques
- Una altra instància de Mastodon per a fer bots. L'exercici A14.4 queda en suspens fins a que no es rebin les credencials de Mastodon (de qualsevol de les dues instàncies de Mastodon que s'han proposat per a fer bots).
20240116 (1h)[modifica]
Continuem desenvolupant la pràctica A13.00
20240115 (3h)[modifica]
Mastodon[modifica]
- Mastodon, una alternativa lliure a Twitter
No totes les instàncies de Mastodon faciliten la instal·lació de bots. Per a fer els primers passos us recomano aquesta instància pensada per a hostatjar bots de Mastodon (tal i com es va demanar el dia anterior, heu d'haver demanat les credencials a la instància de Mastodon botsin.space amb molta antelació. Si ho sol·liciteu avui mateix no podreu seguir la classe).
Obtenció de les credencials per a l'API de Mastodon amb Mastodon.py, pas per pas
- Feu els exercicis A10.2 i A14.4 del recull de pràctiques
20240112 (1h)[modifica]
Continuem desenvolupant la pràctica A13.00 del recull de pràctiques
20240109 (1h)[modifica]
Continuem desenvolupant la pràctica A13.00 del recull de pràctiques
Deures pel 15 de gener[modifica]
Feu-vos membres d'aquesta instància de Mastodon: botsin.space
Feu-ho amb prou antelació, és possible que trigui més de tres hores a donar-vos accés.
20240108 (3h)[modifica]
Recull de codis comentats avui
Autenticació d'accés a NodeRED[modifica]
Generació de la contrasenya d'accés en mode hash des de la carpeta d'execució del NodeRED:
node node_modules/node-red/red.js admin hash-pw
En aquest exemple fem servir aquesta contrasenya en mode hash:
$2a$08$PbYFpiQSnoVaOfD1daCelU2Kvcg19KElO1DbVtE8GAJXacD6ABq
Edició de settings.js:
toni@vps-10d8edcd:~/bin/nodered$ nano ./node_modules/node-red/settings.js
// Securing Node-RED // ----------------- // To password protect the Node-RED editor and admin API, the following // property can be used. See http://nodered.org/docs/security.html for details. adminAuth: { type: "credentials", users: [{ username: "toni", password: "$2a$08$PbYFpiQSnoVaOfD1daCelU2Kvcg19KElO1DbVtE8GAJXacD6ABq", permissions: "*" }] },
Un cop fets el canvis cal reiniciar el NodeRED.
- Feu l'exercici A14.1 del recull de pràctiques
Telegram[modifica]
- 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
- Feu els exercicis A14.2 i A14.3 del recull de pràctiques
Deures pel 15 de gener[modifica]
Feu-vos membres d'aquesta instància de Mastodon: botsin.space
Feu-ho amb prou antelació, és possible que trigui més de tres hores a donar-vos accés.
20231219 (1h)[modifica]
Continuem desenvolupant la pràctica A13.00
20231218 (3h)[modifica]
Activitat A13.00 ginyMqtt en QML i qmake
Al recull del dia d'avui hi ha una introducció a la pràctica A13.00
20231215 (1h + 1h)[modifica]
- Exemple de pàgina lliscant. Ús de SwipeView. Funciona per qmake (no per cmake)
Comunicació bidireccional del frontal en QML amb el rerefons en C++
Frontal: En anglès front-end. Rerefons: En anglès back-end
- Exemple d'un rerefons en C. Ús de SwipeView i una classe de rerefons feta en C++. Funciona per qmake (no per cmake)
Procés de creació de codi per a comunicar un frontal QML amb un rerefons C++: Vídeos QML
- Activitat A08.04 del recull de pràctiques de 2n de DAM._Curs_2023-2024
20231211 (3h)[modifica]
Introducció al QML. Curs 2023-2024
Activitats A08.01, A08.02 i A08.03 del recull de pràctiques de 2n de DAM._Curs_2023-2024
PureQML[modifica]
Posada en marxa del PureQML[modifica]
- 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_2023-2024
20231205 (1h)[modifica]
Introducció al QML. Curs 2023-2024
20231204 (3h)[modifica]
Seguim fent les activitats pendents del recull de pràctiques de 2n de DAM._Curs_2023-2024
Comencem la pràctica A12.02
Al dia d'avui hi ha penjat:
- Exemple d'etiqueta dibuixada a partir d'un QPixMap: 00_botonsToggle05.zip
- Exemple de QTimer: 00_botonsToggle06.zip
- Exemple dels senyals pressed() i released(): 04_indicadorBotons00.zip
- Exemple d'ús de QJsonObject: 01_json_00.zip
- Biblioteca JSON per l'IDE d'Arduino: Arduino_JSON.zip (exemple d'ús: IoT-02_mqtt_10_dam.zip)
- Exemple de conversió de JSON a text i de text a JSON amb NodeRED (els temes MQTT han de ser de tipus text): json00.nodered.txt
20231201 (2h)[modifica]
Seguim fent les activitats pendents del recull de pràctiques de 2n de DAM._Curs_2023-2024
20231128 (1h)[modifica]
Seguim fent les activitats pendents del recull de pràctiques de 2n de DAM._Curs_2023-2024
20231127 (3h)[modifica]
Seguim fent les activitats pendents del recull de pràctiques de 2n de DAM._Curs_2023-2024
20231124 (1h + 1h)[modifica]
- Diferències entre el mètode setEnabled(bool) i setVisible(bool)
- Qt's keyPressEvent ( #include <QKeyEvent> )
- QDialog. Senyals accepted() i rejected(). Mètodes de resposta accept() i reject(). Respostes a dlg.exec(): QDialog::Accepted i QDialog::Rejected.
- Seguim fent l'activitat A06.04 - Interfícies gràfiques
- Seguim fent les activitats pendents del recull de pràctiques de 2n de DAM._Curs_2023-2024
- Documentació sobre Qt/C++:
20231121 (1h)[modifica]
- Explicació de l'activitat A06.04 - Interfícies gràfiques
- Seguim fent les activitats pendents del recull de pràctiques de 2n de DAM._Curs_2023-2024
20231120 (3h)[modifica]
Seguim fent les activitats pendents del recull de pràctiques de 2n de DAM._Curs_2023-2024
20231117 (1h + 1h)[modifica]
Seguim fent les activitats pendents del recull de pràctiques de 2n de DAM._Curs_2023-2024
20231114 (1h)[modifica]
Exemple d'arxiu de projecte emprant CMake
- CMake
CMake: The Standard Build System
Getting started with CMake in Qt6
Vídeo CMake and Qt (Part 1) - CMake Introduction
Qt and CMake: The Past, the Present and the Future
Vídeo Migrating from QMake to CMake | #QtWS22
- Seguim fent l'activitat A12.01.1 - ginyMqtt amb QMake
- Activitat A12.01.2 - ginyMqtt amb CMake
20231013 (3h)[modifica]
- Document actualitzat de la Instal·lació de QtMQtt a les Qt
- Activitat A06.05 i A07.08 (prova de QtMQtt a la placa IoT-02) publicada a A06 - POO en C++ i Qt i A07 - Introducció a la placa IoT-02, Wokwi i protocols de comunicació. A06.05 i A07.08 són la mateixa pràctica (pengeu dos documents pdf idèntics amb els noms corresponents a les dues pràctiques a les carpetes A06 i A07 del Drive).
- A partir de simplecient amb usuari i contrasenya s'ha generat la classe mqttBasic.
- Activitat A12.01 - ginyMqtt
20231110 (1h + 1h)[modifica]
Seguim fent els exercicis pendents del Recull de pràctiques de 2n de DAM._Curs_2023-2024
20231107 (1h)[modifica]
Feu-li una ullada a simplecient amb usuari i contrasenya. Provem llur funcionament interactuant bidireccionalment amb la placa IoT-02
Seguim fent els exercicis pendents de l'activitat A06 - POO en C++ i Qt
20231106 (3h)[modifica]
MicroWorkers Tasques en MicroPython
FreeRTOS Tasques en C a sistemes encastats. (Pàgina oficial de FreeRTOS)
Seguim fent els exercicis pendents del Recull de pràctiques de 2n de DAM._Curs_2023-2024
20231103 (1h + 1h)[modifica]
Seguim fent els exercicis pendents del Recull de pràctiques de 2n de DAM._Curs_2023-2024
20231031 (1h)[modifica]
Instal·lació de QtMQtt a les Qt
Seguim fent els exercicis pendents de l'activitat A06 - POO en C++ i Qt
20231030 (3h)[modifica]
Seguim fent els exercicis pendents de l'activitat A07 - Introducció a la placa IoT-02, Wokwi i protocols de comunicació
MicroWorkers Tasques en MicroPython
FreeRTOS Tasques en C a sistemes encastats. (Pàgina oficial de FreeRTOS)
20231027 (1h + 1h)[modifica]
1a hora: Seguim fent exercicis IoT
2a hora: Seguim fent exercicis Qt
20231024 (1h)[modifica]
20231020 (2h)[modifica]
Referència ràpida sobre MicroPython a l'ESP32
Pràctica A07.08 - Introducció al micropython
Exercicis de MicroPython (agafant com a referència codis en C al GitHub).
20231020 (2h)[modifica]
Explicació de com encastar ginys i connectar-los mitjançant senyals (signals) i osques (slots) en C++/Qt.
Pràctica A06.01 - Ginys encastats
20231017 (1h)[modifica]
Explicació de com encastar ginys i connectar-los mitjançant senyals (signals) i osques (slots) en C++/Qt.
Pràctica A06.01 - Ginys encastats
20231016 (3h)[modifica]
Nodes de text, botó i variables de flux. Canvi de color d'un punt (representació d'un led)[modifica]
El node botó tramet un payload personalitzat quan es prem.
En el Value format del node de text:
<font color={{msg.color}} ><i class="fa fa-circle" style="font-size:24px;"></i></font>
Funció FF3399:
msg.color = "#FF3399" return msg;
Funció {R,G,B} -> {0,0,0}:
flow.set("R","00"); flow.set("G","00"); flow.set("B","00"); flow.set("RGB","#"+flow.get("R")+flow.get("G")+flow.get("B")); msg.color = flow.get("RGB"); return msg;
Funció R -> FF:
flow.set("R","FF"); flow.set("RGB","#"+flow.get("R")+flow.get("G")+flow.get("B")); msg.color = flow.get("RGB"); return msg;
Funció R -> 00:
flow.set("R","00"); flow.set("RGB","#"+flow.get("R")+flow.get("G")+flow.get("B")); msg.color = flow.get("RGB"); return msg;
Flux ledMulticolor.nodered.json
Pràctica A07.02 - Punt multicolor al NodeRED i variables de flux
Pràctica A07.03 - Visualització amb un giny rellotge del nivell de llum
Pràctica A07.04 - Ús d'MQTT (no MQTTS) (broker: formacio.things.cat, usuari: ecat, contrasenya: clotClot) Codi per a la placa IoT-02 emprant MQTT
Pràctica A07.05 - Instal·lació del servei mosquitto
Pràctica A07.06 - Ús del servei mosquitto
20231010 (1h)[modifica]
20231009 (3h)[modifica]
Pràctica A07.01 - Introducció al control de la placa Iot-02 mitjançant NodeRed
Configuració de l'MQTT-Dash (mqtt-dash-iot-smart-home.apk)
20231006 (1h + 1h)[modifica]
20231003 (1h)[modifica]
- Giny botó --> qDebug()
- Giny lliscant + visualitzador LCD
- Cursors
- Matrioxca
- Interfície gràfica que incrementa i decrementa
20231002 (3h)[modifica]
20230929 (1h + 1h)[modifica]
20230926 (1h)[modifica]
20230922 (1h + 1h)[modifica]
20230919 (1h)[modifica]
- Reviseu si teniu la vostra carpeta compartida enllaçada a: Carpetes compartides de 2n de DAM. Curs_2023-2024
- Porteu un cable o alimentador amb connector microUSB de tipus B. Haureu de dur-lo sempre que es facin pràctiques amb la placa IoT-02.
- Dubtes del dia anterior
- Repartiment de la placa IoT-02. El número de placa queda registrat a les carpetes compartides
20230918 (3h)[modifica]
Recull del dia 20230918 usuari: dam | contrasenya: dam2324
Distribució de M07UF1 i M13 al curs 2023-2024[modifica]
Distribució de M07UF1 i M13 al curs 2023-2024 de 2n de DAM
Qt[modifica]
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).
Paquets que manquen per a fer funcionar les Qt a l'Ubuntu:
sudo apt install libx11-xcb-dev libglu1-mesa-dev libxcb-xinerama0
IoT[modifica]
- 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[modifica]
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
Repositori de codis fet a classe durant el curs[modifica]
Codis fets a les classes de 2n de DAM usuari: dam | contrasenya: dam2324
Documentació[modifica]
Drive curs 2023-2024 (Alèxia, SAC). Eina d'avaluació GP1
Distribució de M07UF1 i M13 al curs 2022-2023 de 2n de DAM
Recull de pràctiques de 2n de DAM. Curs 2022-2023
Qt/QML[modifica]
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
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[modifica]
Getting Started with Qt for Android
Getting Started with Qt6.5 for Android
Qt for WebAssembly[modifica]
json[modifica]
How To Manipulate JSON With C++ and Qt
QProcess[modifica]
Qt5 tutorial FFmpeg converter using QProcess - 2020
CMake[modifica]
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
IoT[modifica]
TCP/UDP Capa de transport d'Ethernet
Afegint la targeta ESP8266 a l'IDE d'Arduino (NodeMCU1.0)
Micropython and the Internet of Things
SCADA fent servir Python QML i Arduino
Placa IoT-02[modifica]
Per a la programació amb l'IDE d'Arduino: https://dl.espressif.com/dl/package_esp32_index.json
LoRaWAN[modifica]
Consola de The Things Stack (Community Edition) de The Things Network
Presentació LoRaWAN (esborrany v0.4)
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