Diferència entre revisions de la pàgina «DAM 2024-2025»

De binefa.com
Salta a la navegació Salta a la cerca
 
(Hi ha 20 revisions intermèdies del mateix usuari que no es mostren)
Línia 14: Línia 14:
  
 
= Algunes classes =
 
= Algunes classes =
 +
== 20240927 ==
 +
[https://recull.binefa.cat/files/20240927/ Recull del dia 20240927] usuari: dam | contrasenya: dam2425
  
 +
* Exercici [[Recull de pràctiques de 2n de DAM. Curs 2024-2025#A07.01 - Introducció al control de la placa Iot-02 mitjançant NodeRed | A07.01 - Introducció al control de la placa Iot-02 mitjançant NodeRed]] del recull de pràctiques
 +
 +
* Exercici '''a0601a''' de [[Recull de pràctiques de 2n de DAM. Curs 2024-2025#A06.01 - Ginys encastats | 06.01 - Ginys encastats]] del recull de pràctiques
 +
 +
* 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.
 +
 +
[https://recull.binefa.cat/files/programes_i_apps/codisArduinoIDE/IoT-02_mqtt_sync_clot_2024.zip Microprogramari per a treballar dins l'Escola del Clot]
 +
 +
Canvieu el ''broker1'' pel '''broker2''' a l'[http://extensions.snap.berkeley.edu/snap/snap.html#open:https://raw.githubusercontent.com/jordibinefa/IoT-02/master/codes/snap/07_IoT-02_with_json_Broker1.xml accés directe a 07_IoT-02_with_json_Broker1.xml][https://raw.githubusercontent.com/jordibinefa/IoT-02/master/codes/snap/07_IoT-02_with_json_Broker1.xml Codi en Snap! incorporant l'ús de JSON] i [https://www.binefa.cat/training/iot02/IoT-02_mqtt_json_upcSchool_broker1.zip microprogramari per a gestionar, també, l'ús de JSON a la placa IoT-02]. [https://github.com/jordibinefa/IoT-02/tree/master/codes/IoT-02_mqtt_sync_upcSchool_broker1 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) ==
 +
[https://recull.binefa.cat/files/20240916/ 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 [https://www.qt.io/download-open-source 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).
 +
 +
[https://www.binefa.cat/curs2022-2023/projecteGlobal/dam2223/doc/projecteGlobal/activitats/a06/ 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 ===
 +
* [[Placa IoT-02]]
 +
 +
* NodeRED
 +
 +
[https://nodejs.org/en/download/ Instal·lació de Node.js] [https://tecadmin.net/install-latest-nodejs-npm-on-debian/ Guia d'instal·lació de node i npm]
 +
 +
[https://nodered.org/docs/faq/node-versions 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
 +
 +
[https://www.binefa.cat/curs2022-2023/projecteGlobal/dam2223/doc/projecteGlobal/activitats/a07/ 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 =
 
= Repositori de codis fet a classe durant el curs =
 
[https://recull.binefa.cat/files/ Codis fets a les classes de 2n de DAM] usuari: dam | contrasenya: dam2425
 
[https://recull.binefa.cat/files/ Codis fets a les classes de 2n de DAM] usuari: dam | contrasenya: dam2425
 +
= 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/0AG8LE_yosU7JUk9PVA novaFP ASIX/DAW/DAM]
 +
 +
[https://drive.google.com/drive/folders/1plnk2yt-SlPEwJDE7ILUkrGRsm2hf1fw 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]]
 +
 +
[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/forms/d/1VwVSCWRftkxRUdqQKi_Uqi8LboIrHDh53ZFdei303gA/edit Enquesta del 17 de novembre de 2022] -->
 +
== 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
 +
[https://youtu.be/b936UY3YZe4 Activació de l'editor QML al QtCreator 6]
 +
 +
[http://zetcode.com/gui/qt5/ Qt5] de [https://twitter.com/janbodnar Jan Bodnar]
 +
 +
[[Vídeos QML]]
 +
 +
[https://qmlbook.github.io/ Qt5 Cadaques!] A Book about Qt5
 +
 +
[http://zetcode.com/gui/qtquick/ Qt Quick tutorial] de [https://twitter.com/janbodnar Jan Bodnar]
 +
 +
[http://zetcode.com/gui/pyqt5/ PyQt5] de [https://twitter.com/janbodnar Jan Bodnar]
 +
 +
[[Instal·lació de QtMQtt a les Qt]]
 +
 +
=== Qt for Android ===
 +
[https://doc.qt.io/qt-6/android-getting-started.html Getting Started with Qt for Android]
 +
 +
[https://doc.qt.io/qt-6.5/android-getting-started.html 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 ===
 +
[https://wiki.qt.io/Qt_for_WebAssembly Qt for WebAssembly]
 +
 +
=== json ===
 +
[http://erickveil.github.io/2016/04/06/How-To-Manipulate-JSON-With-C++-and-Qt.html How To Manipulate JSON With C++ and Qt]
 +
 +
=== QProcess ===
 +
[https://gist.github.com/ynonp/8148340 QProcess example]
 +
 +
[https://www.bogotobogo.com/Qt/Qt5_QProcess_QFileDialog_QTextEdit_FFmpeg.php 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
 +
 +
== IoT ==
 +
[https://www.binefa.cat/IoT/nodeRed/nodeRed01.pdf Introducció al Node-RED]
 +
 +
[https://www.binefa.cat/IoT/teoria/ethernetTcpUdp_00.pdf TCP/UDP Capa de transport d'Ethernet]
 +
 +
[https://www.binefa.cat/IoT/teoria/mqtt_00.pdf Introducció a MQTT]
 +
 +
[https://wiki.binefa.cat/index.php?title=Afegint_la_targeta_ESP8266_a_l%27IDE_d%27Arduino Afegint la targeta ESP8266 a l'IDE d'Arduino] (NodeMCU1.0)
 +
 +
[https://blog.miguelgrinberg.com/post/micropython-and-the-internet-of-things-part-i-welcome Micropython and the Internet of Things]
 +
 +
[https://wiki.binefa.cat/index.php?title=SCADA_fent_servir_Python_QML_i_Arduino SCADA fent servir Python QML i Arduino]
 +
 +
[http://silanus.fr/sin/?p=1194 MQTT avec Qt]
 +
 +
=== Placa IoT-02 ===
 +
[[Placa IoT-02]]
 +
 +
[https://www.binefa.cat/IoT/IoT-02/info/iot02_00_ca.pdf Introducció a la placa IoT-02]
 +
 +
Per a la programació amb l'IDE d'Arduino: https://dl.espressif.com/dl/package_esp32_index.json
 +
 +
[https://www.things.cat/index.php/P%C3%A0gina_principal#MicroPython_2 Programació en MicroPython]
 +
 +
=== '''LoRaWAN''' ===
 +
[[LoRa 2021-2022 | LoRa 2022-2023]]
 +
 +
[https://eu1.cloud.thethings.network/ Consola de The Things Stack (Community Edition)] de [https://www.thethingsnetwork.org/ The Things Network]
 +
 +
[https://www.binefa.cat/IoT/lora/lorawan/lorawan01d.pdf Presentació LoRaWAN (esborrany v0.4)]
 +
 +
[https://www.binefa.cat/IoT/05_lorawan_usPractic.pdf Ús pràctic de LoRaWAN TTNv2]
 +
 +
[https://recull.binefa.cat/files/lora/intro/ 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]]

Revisió de 14:00, 27 set 2024

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

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

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ó

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

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

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