DAM 2023-2024

De binefa.com
La revisió el 15:09, 20 juny 2024 per Jordi Binefa (discussió | contribucions) (→‎Documentació)
(dif) ← Versió més antiga | Versió actual (dif) | Versió més nova → (dif)
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: 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

Enllaços ràpids[modifica]

Compartició de pantalla

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

Recull de codis fets a classe. Curs 2023-2024

Llista de 2n de DAM

Totes les llistes

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]

Recull del dia d'avui

  • 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]

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. (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]

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. (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]

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. (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]

Recull del dia d'avui

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

Sistemes SCADA

Modbus RTU

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:
HTTP a MQTT assíncron

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;

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]

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[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

curl per Windows

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)

LoRa 2023-2024

Exemple de tramesa de variables de tipus float mitjançant TTN (The Things Network)

20240126 (2h)[modifica]

Seguim desenvolupant les pràctiques pendents.

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

  • 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

  • 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

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]

Darrera versió de NodeRed

Securing NodeRED

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.

Telegram[modifica]

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

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]

Recull del dia d'avui

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]

Recull del dia d'avui


Comunicació bidireccional del frontal en QML amb el rerefons en C++

Frontal: En anglès front-end. Rerefons: En anglès back-end


Procés de creació de codi per a comunicar un frontal QML amb un rerefons C++: Vídeos QML

20231211 (3h)[modifica]

Recull del dia d'avui

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]

Pàgina oficial de PureQML

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]

Recull del dia d'avui

Introducció al QML. Curs 2023-2024

20231204 (3h)[modifica]

Recull del dia d'avui

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

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

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)
  • QDialog. Senyals accepted() i rejected(). Mètodes de resposta accept() i reject(). Respostes a dlg.exec(): QDialog::Accepted i QDialog::Rejected.
  • Documentació sobre Qt/C++:

- Llibre de Qt

- Tutorial breu sobre Qt

20231121 (1h)[modifica]

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

20231013 (3h)[modifica]

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)

A09 - FreeRTOS i MicroWorkers

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)

A09 - FreeRTOS i MicroWorkers

20231027 (1h + 1h)[modifica]

1a hora: Seguim fent exercicis IoT

2a hora: Seguim fent exercicis Qt

20231024 (1h)[modifica]

A06.02

20231020 (2h)[modifica]

Micropython a la placa IoT-02

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]

Recull del dia d'avui

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.

Flujx canvi de color d'un punt


Visualització canvi de color d'un punt

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]

Introducció a l'MQTT

El protocol MQTT

20231009 (3h)[modifica]

Pràctica A07.01 - Introducció al control de la placa Iot-02 mitjançant NodeRed

Introducció a l'MQTT

Configuració de l'MQTT-Dash (mqtt-dash-iot-smart-home.apk)

20231006 (1h + 1h)[modifica]

Recull del dia d'avui

20231003 (1h)[modifica]

Recull del dia d'avui

  • Giny botó --> qDebug()
  • Giny lliscant + visualitzador LCD
  • Cursors
  • Matrioxca
  • Interfície gràfica que incrementa i decrementa

20231002 (3h)[modifica]

Recull del dia d'avui

Codi Snap!

20230929 (1h + 1h)[modifica]

Recull del dia d'avui

20230926 (1h)[modifica]

Recull del dia d'avui

20230922 (1h + 1h)[modifica]

Recull del dia d'avui

20230919 (1h)[modifica]

  • Dubtes del dia anterior

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).

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[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

Activitat 7

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

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[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

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[modifica]

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[modifica]

Qt for WebAssembly

json[modifica]

How To Manipulate JSON With C++ and Qt

QProcess[modifica]

QProcess example

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]

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[modifica]

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[modifica]

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