Diferència entre revisions de la pàgina «DAM 2024-2025»
m |
m (→20240927) |
||
(Hi ha 21 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 = | ||
+ | [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
Contingut
Enllaços ràpids
Recull de pràctiques de 2n de DAM. Curs 2024-2025
Recull de codis fets a classe. Curs 2024-2025
Algunes classes
20240927
Recull del dia 20240927 usuari: dam | contrasenya: dam2425
- Exercici A07.01 - Introducció al control de la placa Iot-02 mitjançant NodeRed del recull de pràctiques
- Exercici a0601a de 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.
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!
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).
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
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
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
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
Getting Started with Qt for Android
Getting Started with Qt6.5 for Android
Qt for WebAssembly
json
How To Manipulate JSON With C++ and Qt
QProcess
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
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
Per a la programació amb l'IDE d'Arduino: https://dl.espressif.com/dl/package_esp32_index.json
LoRaWAN
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