desenvolvendo aplicaÇÕes embarcadas com qt e … · uma hierarquia amigável e legível de...
TRANSCRIPT
![Page 1: DESENVOLVENDO APLICAÇÕES EMBARCADAS COM QT E … · uma hierarquia amigável e legível de informações de dispositivos, drivers, barramentos e conexões, ... Qt Add-ons Módulos](https://reader031.vdocuments.site/reader031/viewer/2022022709/5be7f1b509d3f23a558d031a/html5/thumbnails/1.jpg)
DESENVOLVENDO APLICAÇÕES EMBARCADAS COM QT E TORADEXCleiton – [email protected]
![Page 2: DESENVOLVENDO APLICAÇÕES EMBARCADAS COM QT E … · uma hierarquia amigável e legível de informações de dispositivos, drivers, barramentos e conexões, ... Qt Add-ons Módulos](https://reader031.vdocuments.site/reader031/viewer/2022022709/5be7f1b509d3f23a558d031a/html5/thumbnails/2.jpg)
OLA!
Eu sou Cleiton BuenoEngenheiro, ciclista*, FOSS, e tudo isso junto
![Page 3: DESENVOLVENDO APLICAÇÕES EMBARCADAS COM QT E … · uma hierarquia amigável e legível de informações de dispositivos, drivers, barramentos e conexões, ... Qt Add-ons Módulos](https://reader031.vdocuments.site/reader031/viewer/2022022709/5be7f1b509d3f23a558d031a/html5/thumbnails/3.jpg)
1.TORADEX
![Page 4: DESENVOLVENDO APLICAÇÕES EMBARCADAS COM QT E … · uma hierarquia amigável e legível de informações de dispositivos, drivers, barramentos e conexões, ... Qt Add-ons Módulos](https://reader031.vdocuments.site/reader031/viewer/2022022709/5be7f1b509d3f23a558d031a/html5/thumbnails/4.jpg)
![Page 5: DESENVOLVENDO APLICAÇÕES EMBARCADAS COM QT E … · uma hierarquia amigável e legível de informações de dispositivos, drivers, barramentos e conexões, ... Qt Add-ons Módulos](https://reader031.vdocuments.site/reader031/viewer/2022022709/5be7f1b509d3f23a558d031a/html5/thumbnails/5.jpg)
SoM Colibri i.MX6
i.MX6S – Solo Core, 256MB RAM e 4GB eMMCi.MX6DL – Dual Core, 512MB RAM e 4GB eMMCARM Cortex-A9 (800MHz ~ 1GHz)5x UART’s4x SPI3x I2C2x CAN4x PWM>150 GPIO’sGPU Vivante GC880Video Decode (MJPEG, MPEG-4, H.264, H.263, DivX, VC1, MPEG-2)Video Encode (MJPEG, MPEG-4, H.264, H.263)
![Page 6: DESENVOLVENDO APLICAÇÕES EMBARCADAS COM QT E … · uma hierarquia amigável e legível de informações de dispositivos, drivers, barramentos e conexões, ... Qt Add-ons Módulos](https://reader031.vdocuments.site/reader031/viewer/2022022709/5be7f1b509d3f23a558d031a/html5/thumbnails/6.jpg)
BASEBOARD IRIS
Alimentação 6-27V DC1x USB Host1x USB OTG1x I2C3x UART’s RS2324x PWM1x Ethernet1x LVDS1x HDMI (Conector DVI)1x VGA (Conector DVI)1x RTC na placa1x uSD>25 GPIO’s
![Page 7: DESENVOLVENDO APLICAÇÕES EMBARCADAS COM QT E … · uma hierarquia amigável e legível de informações de dispositivos, drivers, barramentos e conexões, ... Qt Add-ons Módulos](https://reader031.vdocuments.site/reader031/viewer/2022022709/5be7f1b509d3f23a558d031a/html5/thumbnails/7.jpg)
Pinout i.MX6
![Page 8: DESENVOLVENDO APLICAÇÕES EMBARCADAS COM QT E … · uma hierarquia amigável e legível de informações de dispositivos, drivers, barramentos e conexões, ... Qt Add-ons Módulos](https://reader031.vdocuments.site/reader031/viewer/2022022709/5be7f1b509d3f23a558d031a/html5/thumbnails/8.jpg)
Placa 3Botoes 3 Leds
98 133 103101
9785
PINO SODIMM
GPIO
S1 13 98 15
S2 14 133 35
S3 15 103 52
D1 16 101 53
D2 17 97 50
D3 18 85 166
![Page 9: DESENVOLVENDO APLICAÇÕES EMBARCADAS COM QT E … · uma hierarquia amigável e legível de informações de dispositivos, drivers, barramentos e conexões, ... Qt Add-ons Módulos](https://reader031.vdocuments.site/reader031/viewer/2022022709/5be7f1b509d3f23a558d031a/html5/thumbnails/9.jpg)
1.1LABORATÓRIO
![Page 10: DESENVOLVENDO APLICAÇÕES EMBARCADAS COM QT E … · uma hierarquia amigável e legível de informações de dispositivos, drivers, barramentos e conexões, ... Qt Add-ons Módulos](https://reader031.vdocuments.site/reader031/viewer/2022022709/5be7f1b509d3f23a558d031a/html5/thumbnails/10.jpg)
2.LINUX EMBARCADO
![Page 11: DESENVOLVENDO APLICAÇÕES EMBARCADAS COM QT E … · uma hierarquia amigável e legível de informações de dispositivos, drivers, barramentos e conexões, ... Qt Add-ons Módulos](https://reader031.vdocuments.site/reader031/viewer/2022022709/5be7f1b509d3f23a558d031a/html5/thumbnails/11.jpg)
Seja Linux você tambémSe utilizam em roteadores, TV’s, Terminal POS, set-top-box, Laser Cutting Machine, IHM’s, porque não utilizar na sua empresa?
Linux tudo é “arquivo”!
Kernel modular, com suporte a diversas arquiteturas além de x86, x86-64, ARM e MIPS, suportando drivers em diversos perifericos e barramentos tudo descrito via Device-Tree e carregado na inicialização.
E agora imagine um framework para agregar mais usabilidade, é o Qt!
![Page 12: DESENVOLVENDO APLICAÇÕES EMBARCADAS COM QT E … · uma hierarquia amigável e legível de informações de dispositivos, drivers, barramentos e conexões, ... Qt Add-ons Módulos](https://reader031.vdocuments.site/reader031/viewer/2022022709/5be7f1b509d3f23a558d031a/html5/thumbnails/12.jpg)
PROCFSUm pseudo-filesystem onde prove acesso a informações de todos processos em execução ou qualquer file descriptor aberto em nível de usuário, além de outros propósitos, localizado em /proc
SYSFSUm pseudo-filesystem projeto para representar uma hierarquia amigável e legível de informações de dispositivos, drivers, barramentos e conexões, estruturado em links-simbólico e diretorios. , localizado em /sys
![Page 13: DESENVOLVENDO APLICAÇÕES EMBARCADAS COM QT E … · uma hierarquia amigável e legível de informações de dispositivos, drivers, barramentos e conexões, ... Qt Add-ons Módulos](https://reader031.vdocuments.site/reader031/viewer/2022022709/5be7f1b509d3f23a558d031a/html5/thumbnails/13.jpg)
/sys e /proc
Listando os diretórios /proc e /sys na placa da Toradex
![Page 14: DESENVOLVENDO APLICAÇÕES EMBARCADAS COM QT E … · uma hierarquia amigável e legível de informações de dispositivos, drivers, barramentos e conexões, ... Qt Add-ons Módulos](https://reader031.vdocuments.site/reader031/viewer/2022022709/5be7f1b509d3f23a558d031a/html5/thumbnails/14.jpg)
Via SYSFS iremos exportar e manipular um GPIO
/sys/class/gpio/export
/sys/class/gpio/gpioXX/direction
/sys/class/gpio/gpioXX/value
/sys/class/gpio/unexport
![Page 15: DESENVOLVENDO APLICAÇÕES EMBARCADAS COM QT E … · uma hierarquia amigável e legível de informações de dispositivos, drivers, barramentos e conexões, ... Qt Add-ons Módulos](https://reader031.vdocuments.site/reader031/viewer/2022022709/5be7f1b509d3f23a558d031a/html5/thumbnails/15.jpg)
Exportando GPIOConfigurando GPIOLendo um pinoEscrevendo em um pino
Led /sys/class/gpio
![Page 16: DESENVOLVENDO APLICAÇÕES EMBARCADAS COM QT E … · uma hierarquia amigável e legível de informações de dispositivos, drivers, barramentos e conexões, ... Qt Add-ons Módulos](https://reader031.vdocuments.site/reader031/viewer/2022022709/5be7f1b509d3f23a558d031a/html5/thumbnails/16.jpg)
Exportando GPIOConfigurando GPIOLendo um pino
Botão /sys/class/gpio
![Page 17: DESENVOLVENDO APLICAÇÕES EMBARCADAS COM QT E … · uma hierarquia amigável e legível de informações de dispositivos, drivers, barramentos e conexões, ... Qt Add-ons Módulos](https://reader031.vdocuments.site/reader031/viewer/2022022709/5be7f1b509d3f23a558d031a/html5/thumbnails/17.jpg)
Um overview geral dos GPIO’s na visão do kernel
DebugFS
![Page 18: DESENVOLVENDO APLICAÇÕES EMBARCADAS COM QT E … · uma hierarquia amigável e legível de informações de dispositivos, drivers, barramentos e conexões, ... Qt Add-ons Módulos](https://reader031.vdocuments.site/reader031/viewer/2022022709/5be7f1b509d3f23a558d031a/html5/thumbnails/18.jpg)
2.1LABORÁTORIO
![Page 19: DESENVOLVENDO APLICAÇÕES EMBARCADAS COM QT E … · uma hierarquia amigável e legível de informações de dispositivos, drivers, barramentos e conexões, ... Qt Add-ons Módulos](https://reader031.vdocuments.site/reader031/viewer/2022022709/5be7f1b509d3f23a558d031a/html5/thumbnails/19.jpg)
3.Framework QT
![Page 20: DESENVOLVENDO APLICAÇÕES EMBARCADAS COM QT E … · uma hierarquia amigável e legível de informações de dispositivos, drivers, barramentos e conexões, ... Qt Add-ons Módulos](https://reader031.vdocuments.site/reader031/viewer/2022022709/5be7f1b509d3f23a558d031a/html5/thumbnails/20.jpg)
Utilizado por mais de 800.000 desenvolvedores em mais de 70 empresas
Tecnologia provada e testada desde 1994
![Page 21: DESENVOLVENDO APLICAÇÕES EMBARCADAS COM QT E … · uma hierarquia amigável e legível de informações de dispositivos, drivers, barramentos e conexões, ... Qt Add-ons Módulos](https://reader031.vdocuments.site/reader031/viewer/2022022709/5be7f1b509d3f23a558d031a/html5/thumbnails/21.jpg)
![Page 22: DESENVOLVENDO APLICAÇÕES EMBARCADAS COM QT E … · uma hierarquia amigável e legível de informações de dispositivos, drivers, barramentos e conexões, ... Qt Add-ons Módulos](https://reader031.vdocuments.site/reader031/viewer/2022022709/5be7f1b509d3f23a558d031a/html5/thumbnails/22.jpg)
Qt em MódulosMódulos contem bibliotecas, plugins e documentação. Alguns módulos são comuns para todas plataformas, outros, são de proposito especifico e de uma plataforma alvo.
![Page 23: DESENVOLVENDO APLICAÇÕES EMBARCADAS COM QT E … · uma hierarquia amigável e legível de informações de dispositivos, drivers, barramentos e conexões, ... Qt Add-ons Módulos](https://reader031.vdocuments.site/reader031/viewer/2022022709/5be7f1b509d3f23a558d031a/html5/thumbnails/23.jpg)
Qt EssentialsDisponíveis para todas plataformas QtCore, QtGui, QtMultimedia, QtNetwork, QtQML, QtQuick, QtSQL, QtTest, QtWidgets
Qt Add-onsMódulos de proposito especifico nem sempre disponível para todas plataformas Qt3D, QtBluetooth, QtConcurrent, QtD-BUS, QtGamePad, QtLocation, QtNFC, QtPositioning, QtPrint, QtQuickControls1/2, QtSensors, QtSerialBus, QtSerialPort e etc...
![Page 24: DESENVOLVENDO APLICAÇÕES EMBARCADAS COM QT E … · uma hierarquia amigável e legível de informações de dispositivos, drivers, barramentos e conexões, ... Qt Add-ons Módulos](https://reader031.vdocuments.site/reader031/viewer/2022022709/5be7f1b509d3f23a558d031a/html5/thumbnails/24.jpg)
EXTENSÕES.qrc – Qt Resource Collection (armazenar icones, arquivos de traduções, imagens e etc).cpp – Código-fonte C++.h – Cabecalho do Código-fonte C++.ui – User Interface .qml – Qt Modeling Language (linguagem declarativa, fluida, parecida com JSON para descrever GUI).js – Contendo rotinas e declarações JavaScript.pro – Projeto, descrição do projeto e dependencias, utilizado pelo qmake.pri – Includes a serem extendidos no .pro
![Page 25: DESENVOLVENDO APLICAÇÕES EMBARCADAS COM QT E … · uma hierarquia amigável e legível de informações de dispositivos, drivers, barramentos e conexões, ... Qt Add-ons Módulos](https://reader031.vdocuments.site/reader031/viewer/2022022709/5be7f1b509d3f23a558d031a/html5/thumbnails/25.jpg)
IDE Qt Creator
Ferramenta open-source fornecida com todos os recursos para o desenvolvimento completo da aplicação
![Page 26: DESENVOLVENDO APLICAÇÕES EMBARCADAS COM QT E … · uma hierarquia amigável e legível de informações de dispositivos, drivers, barramentos e conexões, ... Qt Add-ons Módulos](https://reader031.vdocuments.site/reader031/viewer/2022022709/5be7f1b509d3f23a558d031a/html5/thumbnails/26.jpg)
Qt Creator - Kit
O Kit que pode ser criado para cada plataforma e/ou versão, localizado em Build&Run em options
Tools > Options
![Page 27: DESENVOLVENDO APLICAÇÕES EMBARCADAS COM QT E … · uma hierarquia amigável e legível de informações de dispositivos, drivers, barramentos e conexões, ... Qt Add-ons Módulos](https://reader031.vdocuments.site/reader031/viewer/2022022709/5be7f1b509d3f23a558d031a/html5/thumbnails/27.jpg)
Qt QuickUtiliza uma linguagem declarativa conhecida como QML, e imperativa com JavaScript, integração runtime com Qt, API C++ para integração e suporte da IDE Qt Creator para linguagem QML
![Page 28: DESENVOLVENDO APLICAÇÕES EMBARCADAS COM QT E … · uma hierarquia amigável e legível de informações de dispositivos, drivers, barramentos e conexões, ... Qt Add-ons Módulos](https://reader031.vdocuments.site/reader031/viewer/2022022709/5be7f1b509d3f23a558d031a/html5/thumbnails/28.jpg)
QT QUICK
UI Design
(Designer)
Qt/C++
(Desenvolvedor)
![Page 29: DESENVOLVENDO APLICAÇÕES EMBARCADAS COM QT E … · uma hierarquia amigável e legível de informações de dispositivos, drivers, barramentos e conexões, ... Qt Add-ons Módulos](https://reader031.vdocuments.site/reader031/viewer/2022022709/5be7f1b509d3f23a558d031a/html5/thumbnails/29.jpg)
O que tem no QT QUICK
ElementsElementos são estruturas de marcação da linguagem, podendo ser visuais ou não-visuais(states, models, ...) e elementos possuem propriedades.
ItemsItem é um elemento visual, possui posições, dimensões, por exemplo Rectangle, Text e Image.
PropertiesUm relação de chave=valor, todos elementos são descritos com propriedades seja (width, height, color, x, y, scale, opacity, ...).
![Page 30: DESENVOLVENDO APLICAÇÕES EMBARCADAS COM QT E … · uma hierarquia amigável e legível de informações de dispositivos, drivers, barramentos e conexões, ... Qt Add-ons Módulos](https://reader031.vdocuments.site/reader031/viewer/2022022709/5be7f1b509d3f23a558d031a/html5/thumbnails/30.jpg)
Qt em MódulosMódulos contem bibliotecas, plugins e documentação. Alguns módulos são comuns para todas plataformas, outros, são de proposito especifico e de uma plataforma alvo.
![Page 31: DESENVOLVENDO APLICAÇÕES EMBARCADAS COM QT E … · uma hierarquia amigável e legível de informações de dispositivos, drivers, barramentos e conexões, ... Qt Add-ons Módulos](https://reader031.vdocuments.site/reader031/viewer/2022022709/5be7f1b509d3f23a558d031a/html5/thumbnails/31.jpg)
RectangleUtilizando o elemento Rectangle para representar uma retângulo, algumas propriedades:
radius: Arredondamento do retangulo
width: Especificando uma comprimento para a image
height: Especificando uma altura
x e y: Especificando coordenadas X e Y
Outras propriedades border, scale, rotation, opacity, etc ...
![Page 32: DESENVOLVENDO APLICAÇÕES EMBARCADAS COM QT E … · uma hierarquia amigável e legível de informações de dispositivos, drivers, barramentos e conexões, ... Qt Add-ons Módulos](https://reader031.vdocuments.site/reader031/viewer/2022022709/5be7f1b509d3f23a558d031a/html5/thumbnails/32.jpg)
Rectangle
![Page 33: DESENVOLVENDO APLICAÇÕES EMBARCADAS COM QT E … · uma hierarquia amigável e legível de informações de dispositivos, drivers, barramentos e conexões, ... Qt Add-ons Módulos](https://reader031.vdocuments.site/reader031/viewer/2022022709/5be7f1b509d3f23a558d031a/html5/thumbnails/33.jpg)
TextUtilizando o elemento Text para representar um texto, algumas propriedades:
text: Entrada com o texto a ser exibido
width: Especificando uma comprimento
height: Especificando uma altura
x e y: Especificando coordenadas X e Y
Outras propriedades font, color, etc …
Aceita sintaxe HTML na propriedade text
![Page 34: DESENVOLVENDO APLICAÇÕES EMBARCADAS COM QT E … · uma hierarquia amigável e legível de informações de dispositivos, drivers, barramentos e conexões, ... Qt Add-ons Módulos](https://reader031.vdocuments.site/reader031/viewer/2022022709/5be7f1b509d3f23a558d031a/html5/thumbnails/34.jpg)
Text
![Page 35: DESENVOLVENDO APLICAÇÕES EMBARCADAS COM QT E … · uma hierarquia amigável e legível de informações de dispositivos, drivers, barramentos e conexões, ... Qt Add-ons Módulos](https://reader031.vdocuments.site/reader031/viewer/2022022709/5be7f1b509d3f23a558d031a/html5/thumbnails/35.jpg)
ImageUtilizando o elemento Image para representar uma imagem, algumas propriedades:
source: Pode-se obter uma imagem por caminho absoluto ou QRC
width: Especificando uma comprimento para a image
height: Especificando uma altura
x e y: Especificando coordenadas X e Y
Outras propriedades scale, rotation, opacity, etc ...
![Page 36: DESENVOLVENDO APLICAÇÕES EMBARCADAS COM QT E … · uma hierarquia amigável e legível de informações de dispositivos, drivers, barramentos e conexões, ... Qt Add-ons Módulos](https://reader031.vdocuments.site/reader031/viewer/2022022709/5be7f1b509d3f23a558d031a/html5/thumbnails/36.jpg)
Image
![Page 37: DESENVOLVENDO APLICAÇÕES EMBARCADAS COM QT E … · uma hierarquia amigável e legível de informações de dispositivos, drivers, barramentos e conexões, ... Qt Add-ons Módulos](https://reader031.vdocuments.site/reader031/viewer/2022022709/5be7f1b509d3f23a558d031a/html5/thumbnails/37.jpg)
Image
![Page 38: DESENVOLVENDO APLICAÇÕES EMBARCADAS COM QT E … · uma hierarquia amigável e legível de informações de dispositivos, drivers, barramentos e conexões, ... Qt Add-ons Módulos](https://reader031.vdocuments.site/reader031/viewer/2022022709/5be7f1b509d3f23a558d031a/html5/thumbnails/38.jpg)
Row e ColumnAgrupar items em linhas(Row) e colunas(Column), podendo utilizar Row dentro de Column, Columns dentro Row.
spacing: Espaçamento entre os items dentro do Row ou Column
Outras propriedades move, add, populate, etc ...
![Page 39: DESENVOLVENDO APLICAÇÕES EMBARCADAS COM QT E … · uma hierarquia amigável e legível de informações de dispositivos, drivers, barramentos e conexões, ... Qt Add-ons Módulos](https://reader031.vdocuments.site/reader031/viewer/2022022709/5be7f1b509d3f23a558d031a/html5/thumbnails/39.jpg)
Row e Column
![Page 40: DESENVOLVENDO APLICAÇÕES EMBARCADAS COM QT E … · uma hierarquia amigável e legível de informações de dispositivos, drivers, barramentos e conexões, ... Qt Add-ons Módulos](https://reader031.vdocuments.site/reader031/viewer/2022022709/5be7f1b509d3f23a558d031a/html5/thumbnails/40.jpg)
MouseAreaAdicionado em um item para monitorar entrada para cliques e Single-Touch, para Multi-Touch utiliza-se MultiPointTouchArea
Sinais identificados:
ClickDoubleClickPressedReleasePressAndHold
![Page 41: DESENVOLVENDO APLICAÇÕES EMBARCADAS COM QT E … · uma hierarquia amigável e legível de informações de dispositivos, drivers, barramentos e conexões, ... Qt Add-ons Módulos](https://reader031.vdocuments.site/reader031/viewer/2022022709/5be7f1b509d3f23a558d031a/html5/thumbnails/41.jpg)
MouseArea
![Page 42: DESENVOLVENDO APLICAÇÕES EMBARCADAS COM QT E … · uma hierarquia amigável e legível de informações de dispositivos, drivers, barramentos e conexões, ... Qt Add-ons Módulos](https://reader031.vdocuments.site/reader031/viewer/2022022709/5be7f1b509d3f23a558d031a/html5/thumbnails/42.jpg)
CORESTipos de especificação de cores
SVG Names: “yellow”, “red”, “green”, “gold”
HTML Style Color: “#0000FF”
Qt built-in: Qt.rgba(0, 0.75, 0, 1)
![Page 43: DESENVOLVENDO APLICAÇÕES EMBARCADAS COM QT E … · uma hierarquia amigável e legível de informações de dispositivos, drivers, barramentos e conexões, ... Qt Add-ons Módulos](https://reader031.vdocuments.site/reader031/viewer/2022022709/5be7f1b509d3f23a558d031a/html5/thumbnails/43.jpg)
ANCORASPropriedade anchors para posicionar e alinhar itens
Ancore em outros itens ou ancoras de itens
(left, right, top, bottom, verticalCenter e horizontalCenter)
E margins para adicionar espaços
![Page 44: DESENVOLVENDO APLICAÇÕES EMBARCADAS COM QT E … · uma hierarquia amigável e legível de informações de dispositivos, drivers, barramentos e conexões, ... Qt Add-ons Módulos](https://reader031.vdocuments.site/reader031/viewer/2022022709/5be7f1b509d3f23a558d031a/html5/thumbnails/44.jpg)
PROPRIEDADE PlusEstendendo itens e recursos
![Page 45: DESENVOLVENDO APLICAÇÕES EMBARCADAS COM QT E … · uma hierarquia amigável e legível de informações de dispositivos, drivers, barramentos e conexões, ... Qt Add-ons Módulos](https://reader031.vdocuments.site/reader031/viewer/2022022709/5be7f1b509d3f23a558d031a/html5/thumbnails/45.jpg)
3.1LABORATÓRIO
![Page 46: DESENVOLVENDO APLICAÇÕES EMBARCADAS COM QT E … · uma hierarquia amigável e legível de informações de dispositivos, drivers, barramentos e conexões, ... Qt Add-ons Módulos](https://reader031.vdocuments.site/reader031/viewer/2022022709/5be7f1b509d3f23a558d031a/html5/thumbnails/46.jpg)
3.1LABORATÓRIO
![Page 47: DESENVOLVENDO APLICAÇÕES EMBARCADAS COM QT E … · uma hierarquia amigável e legível de informações de dispositivos, drivers, barramentos e conexões, ... Qt Add-ons Módulos](https://reader031.vdocuments.site/reader031/viewer/2022022709/5be7f1b509d3f23a558d031a/html5/thumbnails/47.jpg)
Criando a classe GPIO
![Page 48: DESENVOLVENDO APLICAÇÕES EMBARCADAS COM QT E … · uma hierarquia amigável e legível de informações de dispositivos, drivers, barramentos e conexões, ... Qt Add-ons Módulos](https://reader031.vdocuments.site/reader031/viewer/2022022709/5be7f1b509d3f23a558d031a/html5/thumbnails/48.jpg)
Criando a classe GPIO
![Page 49: DESENVOLVENDO APLICAÇÕES EMBARCADAS COM QT E … · uma hierarquia amigável e legível de informações de dispositivos, drivers, barramentos e conexões, ... Qt Add-ons Módulos](https://reader031.vdocuments.site/reader031/viewer/2022022709/5be7f1b509d3f23a558d031a/html5/thumbnails/49.jpg)
Criando a classe GPIO
![Page 50: DESENVOLVENDO APLICAÇÕES EMBARCADAS COM QT E … · uma hierarquia amigável e legível de informações de dispositivos, drivers, barramentos e conexões, ... Qt Add-ons Módulos](https://reader031.vdocuments.site/reader031/viewer/2022022709/5be7f1b509d3f23a558d031a/html5/thumbnails/50.jpg)
Métodos e Atributos
![Page 51: DESENVOLVENDO APLICAÇÕES EMBARCADAS COM QT E … · uma hierarquia amigável e legível de informações de dispositivos, drivers, barramentos e conexões, ... Qt Add-ons Módulos](https://reader031.vdocuments.site/reader031/viewer/2022022709/5be7f1b509d3f23a558d031a/html5/thumbnails/51.jpg)
Sinais e Slots
![Page 52: DESENVOLVENDO APLICAÇÕES EMBARCADAS COM QT E … · uma hierarquia amigável e legível de informações de dispositivos, drivers, barramentos e conexões, ... Qt Add-ons Módulos](https://reader031.vdocuments.site/reader031/viewer/2022022709/5be7f1b509d3f23a558d031a/html5/thumbnails/52.jpg)
Integrando C++ com QMLAs técnicas para expor dados e objetos de C++ para QML.
Signals & Slots, Q_PROPERTY e Q_INVOKABLE
![Page 53: DESENVOLVENDO APLICAÇÕES EMBARCADAS COM QT E … · uma hierarquia amigável e legível de informações de dispositivos, drivers, barramentos e conexões, ... Qt Add-ons Módulos](https://reader031.vdocuments.site/reader031/viewer/2022022709/5be7f1b509d3f23a558d031a/html5/thumbnails/53.jpg)
SINAIS & SLOTS
![Page 54: DESENVOLVENDO APLICAÇÕES EMBARCADAS COM QT E … · uma hierarquia amigável e legível de informações de dispositivos, drivers, barramentos e conexões, ... Qt Add-ons Módulos](https://reader031.vdocuments.site/reader031/viewer/2022022709/5be7f1b509d3f23a558d031a/html5/thumbnails/54.jpg)
Q_PROPERTYÉ a combinação de funções de gets, sets e notificar signais.
Ao alterar a variável declarada, um sinal é emitido e a função de leitura pode ser chamada para obter o valor.
![Page 55: DESENVOLVENDO APLICAÇÕES EMBARCADAS COM QT E … · uma hierarquia amigável e legível de informações de dispositivos, drivers, barramentos e conexões, ... Qt Add-ons Módulos](https://reader031.vdocuments.site/reader031/viewer/2022022709/5be7f1b509d3f23a558d031a/html5/thumbnails/55.jpg)
Q_INVOKABLEMétodos que podem ser chamados direto do QML, e que podem ou não retornar algum dado, o mesmo valor para slots.
![Page 56: DESENVOLVENDO APLICAÇÕES EMBARCADAS COM QT E … · uma hierarquia amigável e legível de informações de dispositivos, drivers, barramentos e conexões, ... Qt Add-ons Módulos](https://reader031.vdocuments.site/reader031/viewer/2022022709/5be7f1b509d3f23a558d031a/html5/thumbnails/56.jpg)
E como expor objetos?
![Page 57: DESENVOLVENDO APLICAÇÕES EMBARCADAS COM QT E … · uma hierarquia amigável e legível de informações de dispositivos, drivers, barramentos e conexões, ... Qt Add-ons Módulos](https://reader031.vdocuments.site/reader031/viewer/2022022709/5be7f1b509d3f23a558d031a/html5/thumbnails/57.jpg)
Uma instancia
Precisa de mais?
![Page 58: DESENVOLVENDO APLICAÇÕES EMBARCADAS COM QT E … · uma hierarquia amigável e legível de informações de dispositivos, drivers, barramentos e conexões, ... Qt Add-ons Módulos](https://reader031.vdocuments.site/reader031/viewer/2022022709/5be7f1b509d3f23a558d031a/html5/thumbnails/58.jpg)
Uma instancia
![Page 59: DESENVOLVENDO APLICAÇÕES EMBARCADAS COM QT E … · uma hierarquia amigável e legível de informações de dispositivos, drivers, barramentos e conexões, ... Qt Add-ons Módulos](https://reader031.vdocuments.site/reader031/viewer/2022022709/5be7f1b509d3f23a558d031a/html5/thumbnails/59.jpg)
Uma instancia
![Page 60: DESENVOLVENDO APLICAÇÕES EMBARCADAS COM QT E … · uma hierarquia amigável e legível de informações de dispositivos, drivers, barramentos e conexões, ... Qt Add-ons Módulos](https://reader031.vdocuments.site/reader031/viewer/2022022709/5be7f1b509d3f23a558d031a/html5/thumbnails/60.jpg)
Precisa de mais?
![Page 61: DESENVOLVENDO APLICAÇÕES EMBARCADAS COM QT E … · uma hierarquia amigável e legível de informações de dispositivos, drivers, barramentos e conexões, ... Qt Add-ons Módulos](https://reader031.vdocuments.site/reader031/viewer/2022022709/5be7f1b509d3f23a558d031a/html5/thumbnails/61.jpg)
Precisa de mais?
![Page 62: DESENVOLVENDO APLICAÇÕES EMBARCADAS COM QT E … · uma hierarquia amigável e legível de informações de dispositivos, drivers, barramentos e conexões, ... Qt Add-ons Módulos](https://reader031.vdocuments.site/reader031/viewer/2022022709/5be7f1b509d3f23a558d031a/html5/thumbnails/62.jpg)
QFileSe tudo no Linux é arquivo com QFile podemos abrir, ler e escrever
![Page 63: DESENVOLVENDO APLICAÇÕES EMBARCADAS COM QT E … · uma hierarquia amigável e legível de informações de dispositivos, drivers, barramentos e conexões, ... Qt Add-ons Módulos](https://reader031.vdocuments.site/reader031/viewer/2022022709/5be7f1b509d3f23a558d031a/html5/thumbnails/63.jpg)
QFile
![Page 64: DESENVOLVENDO APLICAÇÕES EMBARCADAS COM QT E … · uma hierarquia amigável e legível de informações de dispositivos, drivers, barramentos e conexões, ... Qt Add-ons Módulos](https://reader031.vdocuments.site/reader031/viewer/2022022709/5be7f1b509d3f23a558d031a/html5/thumbnails/64.jpg)
QTextStreamLer de e escrever para um QFile aberto
![Page 65: DESENVOLVENDO APLICAÇÕES EMBARCADAS COM QT E … · uma hierarquia amigável e legível de informações de dispositivos, drivers, barramentos e conexões, ... Qt Add-ons Módulos](https://reader031.vdocuments.site/reader031/viewer/2022022709/5be7f1b509d3f23a558d031a/html5/thumbnails/65.jpg)
QTextStream
![Page 66: DESENVOLVENDO APLICAÇÕES EMBARCADAS COM QT E … · uma hierarquia amigável e legível de informações de dispositivos, drivers, barramentos e conexões, ... Qt Add-ons Módulos](https://reader031.vdocuments.site/reader031/viewer/2022022709/5be7f1b509d3f23a558d031a/html5/thumbnails/66.jpg)
QDebugMais pratico, direto e completa forma de utilizar logs no Qt, podendo agregar ao SysLog e Journald
![Page 67: DESENVOLVENDO APLICAÇÕES EMBARCADAS COM QT E … · uma hierarquia amigável e legível de informações de dispositivos, drivers, barramentos e conexões, ... Qt Add-ons Módulos](https://reader031.vdocuments.site/reader031/viewer/2022022709/5be7f1b509d3f23a558d031a/html5/thumbnails/67.jpg)
QDebug
![Page 68: DESENVOLVENDO APLICAÇÕES EMBARCADAS COM QT E … · uma hierarquia amigável e legível de informações de dispositivos, drivers, barramentos e conexões, ... Qt Add-ons Módulos](https://reader031.vdocuments.site/reader031/viewer/2022022709/5be7f1b509d3f23a558d031a/html5/thumbnails/68.jpg)
QTimerExcelente forma para executar rotina periódica, disparar uma rotina após um tempo, sem loop, sem rotina bloqueante e sem travar GUI.
![Page 69: DESENVOLVENDO APLICAÇÕES EMBARCADAS COM QT E … · uma hierarquia amigável e legível de informações de dispositivos, drivers, barramentos e conexões, ... Qt Add-ons Módulos](https://reader031.vdocuments.site/reader031/viewer/2022022709/5be7f1b509d3f23a558d031a/html5/thumbnails/69.jpg)
QTimerCriando um QTimer para a cada 1000ms expirar e emitir o sinal timeout() e chamar o slot procData().
Pode chamar função estática singleShot() do QTimer para após 10000ms emitir sinal e executar o slot procUpdate().
![Page 70: DESENVOLVENDO APLICAÇÕES EMBARCADAS COM QT E … · uma hierarquia amigável e legível de informações de dispositivos, drivers, barramentos e conexões, ... Qt Add-ons Módulos](https://reader031.vdocuments.site/reader031/viewer/2022022709/5be7f1b509d3f23a558d031a/html5/thumbnails/70.jpg)
QSysInfoProve diversas informações sobre o sistema em execução
![Page 71: DESENVOLVENDO APLICAÇÕES EMBARCADAS COM QT E … · uma hierarquia amigável e legível de informações de dispositivos, drivers, barramentos e conexões, ... Qt Add-ons Módulos](https://reader031.vdocuments.site/reader031/viewer/2022022709/5be7f1b509d3f23a558d031a/html5/thumbnails/71.jpg)
QSysInfo
![Page 72: DESENVOLVENDO APLICAÇÕES EMBARCADAS COM QT E … · uma hierarquia amigável e legível de informações de dispositivos, drivers, barramentos e conexões, ... Qt Add-ons Módulos](https://reader031.vdocuments.site/reader031/viewer/2022022709/5be7f1b509d3f23a558d031a/html5/thumbnails/72.jpg)
QLibraryInfoProve informações sobre a biblioteca Qt
![Page 73: DESENVOLVENDO APLICAÇÕES EMBARCADAS COM QT E … · uma hierarquia amigável e legível de informações de dispositivos, drivers, barramentos e conexões, ... Qt Add-ons Módulos](https://reader031.vdocuments.site/reader031/viewer/2022022709/5be7f1b509d3f23a558d031a/html5/thumbnails/73.jpg)
QLibraryInfo
![Page 74: DESENVOLVENDO APLICAÇÕES EMBARCADAS COM QT E … · uma hierarquia amigável e legível de informações de dispositivos, drivers, barramentos e conexões, ... Qt Add-ons Módulos](https://reader031.vdocuments.site/reader031/viewer/2022022709/5be7f1b509d3f23a558d031a/html5/thumbnails/74.jpg)
3.2LABORATÓRIO
![Page 75: DESENVOLVENDO APLICAÇÕES EMBARCADAS COM QT E … · uma hierarquia amigável e legível de informações de dispositivos, drivers, barramentos e conexões, ... Qt Add-ons Módulos](https://reader031.vdocuments.site/reader031/viewer/2022022709/5be7f1b509d3f23a558d031a/html5/thumbnails/75.jpg)
Não pare por aqui!QML
Row, Column, Grid, ListModel, ListElement, Repeater, Video, Audio, Camera, GridView, ListView, StackView, ...
Qt/C++
QProcess, QtSerialPort, QtSerialBus(Can e ModBUS), QThread, QRunnable, QtConcurrent, QDebug, QTextStream, QByteArray, QString, QPA(Qt Platform Abstration)
![Page 76: DESENVOLVENDO APLICAÇÕES EMBARCADAS COM QT E … · uma hierarquia amigável e legível de informações de dispositivos, drivers, barramentos e conexões, ... Qt Add-ons Módulos](https://reader031.vdocuments.site/reader031/viewer/2022022709/5be7f1b509d3f23a558d031a/html5/thumbnails/76.jpg)
Novidades!
QtMqtt – 14/08/2017
QtOTA - 05/2016
![Page 77: DESENVOLVENDO APLICAÇÕES EMBARCADAS COM QT E … · uma hierarquia amigável e legível de informações de dispositivos, drivers, barramentos e conexões, ... Qt Add-ons Módulos](https://reader031.vdocuments.site/reader031/viewer/2022022709/5be7f1b509d3f23a558d031a/html5/thumbnails/77.jpg)
ReferênciasPinout Designer Toradex
AGT Display [1] [2]
Qt Creator to Cross-Compile for Embedded Linux
Manipulando Logs com Qt5
Embarcados sobre Qt
Embarcados sobre Qt5
![Page 78: DESENVOLVENDO APLICAÇÕES EMBARCADAS COM QT E … · uma hierarquia amigável e legível de informações de dispositivos, drivers, barramentos e conexões, ... Qt Add-ons Módulos](https://reader031.vdocuments.site/reader031/viewer/2022022709/5be7f1b509d3f23a558d031a/html5/thumbnails/78.jpg)
PARA APRENDER MAIS SOBRE QT