SlideShare a Scribd company logo
1 of 19
Download to read offline
Globalcode – Open4education
Linux Embarcado –
Explorando Qt5 e Python em Linux Embarcado
Cleiton Bueno
(Engenheiro | Marido | Articulista | FOSS )
Globalcode – Open4education
Agenda
Python
Qt
Linux Embarcado – Yocto Project
A.R.O.S
Considerações Finais
Globalcode – Open4education
Cleiton Bueno
$ Apaixonado por tecnologia e entusiasta a filosofia
open-source, proprietario da B2Open, atuando com
consultoria, desenvolvimento e treinamentos na área,
com mais de 12 anos de experiências em Linux, do
sysadmin ao Linux Embarcado, programando em C,
Python e Qt.
$ Articulista no Portal Embarcados com os temas Linux
Embarcado, Python e Qt.
$ Quando não fazendo o conteudo acima, gosto de
pedalar e se embebedar.
Globalcode – Open4education
Python
Linguagem interpretada, orientada a objetos,
imperativa, criada por Guido Van em meados de
1991
Multiplataforma
Database, WebServer, GUI, GPIO, MMAP, I2C,
SPI, Poll, Queue, Serial, Sockets[TCP,UDP],
MQ, ...
Globalcode – Open4education
Python
Python é lento
Depende!
Quesito desempenho e tempo é critico?
C
Para os demais
CPython(C), Jython, IronPython, PyPy(JIT), IPC
Globalcode – Open4education
Python
Modulos/Aplicações/Recursos
Webserver Flask, Tornado, Supervisord, pexpect,
intelhex, multiprocessing, Queue, Fabric, JSON,
ncurses, psutils, PyUSB, PySerial, PyTelemetry,
python-evdev, Tkinter, PySide, PyQt, ...
Empresas/Produtos/Soluções
Digi, Telit, D-Link, Yocto Project, Carmanah,
MicroPython
Fonte: https://pypi.python.org/pypi?%3Aaction=browse
https://www.python.org/about/success/
Globalcode – Open4education
Qt5
Criada em meados de 1995 pela TrollTech para
criar interfaces graficas para multi-plataformas
Programação Orientada a Objetos C++
TroolTech → Nokia → Digia → Qt Group Plc(Digia)
KDE, MeeGo, Skype, NASA, Siemens, Volvo, LG
WebOS, AGL(Automotive Grade Linux), Sky,
Navico, Panasonic Avionics
Globalcode – Open4education
Qt5
Versão atual 5.7, 5.6 LTS
Widgets se falam via Signals e Slots
Bindings PySide, PyQt, PerlQt, Jambi(Java)
Qmake, ferramenta para criar makefiles para
diferentes plataformas e compiladores, e o QBS?
Qt Meta-Object Language(QML), linguagem
declarativa para criar interface de usuario
IDE Qt Creator, julho/2016 lançada versão 4.0
Fonte: http://doc.qt.io
Globalcode – Open4education
Qt5
Fonte: https://www.ics.com/blog/changes-qt-licensing (Janeiro/2016)
Globalcode – Open4education
Qt5
EGLFS/LinuxFB
Variaveis Ambiente
QPA backends:
DirectFB ............. yes
EGLFS ................ yes
EGLFS i.MX6 ........ yes
EGLFS i.MX6 Wayland. no
EGLFS EGLDevice .... no
EGLFS GBM .......... no
EGLFS Mali ......... no
EGLFS Raspberry Pi . no
EGLFS X11 .......... no
LinuxFB .............. yes
QT_QPA_EGLFS_WIDTH, QT_QPA_EGLFS_HEIGHT,
QT_QPA_EGLFS_FB, QT_QPA_EGLFS_HIDECURSOR (eglfs),
QT_QPA_FB_HIDECURSOR, QT_QPA_PLATFORM=linuxfb:
Globalcode – Open4education
Yocto Project
YP 2.1 - Branch Krogoth (Abril/2016)
meta-oe/meta-python e meta/recipes-devtools/python
– 169 receitas (modulos, ferramentas e aplicações)
– python3.5.1, python2.7.11, pyrex, pip, setuptools, numpy,
cython, flask, pyinotify, pymongo, pyzmq, werkzeug, pyusb,
requests, jinja2, pyserial, tornado, redis, paho-mqtt, django,
twisted, matplotlib, webdav, psutil
meta-qt5 (Qt5.6)
– 53 receitas (modulos, bibliotecas e exemplos)
– Recursos LinuxFB, EGLFS, X11, Wayland, DirectFB, tslib,
OpenGL, OpenVG, ICU, Gstreamer, ALSA, PulseAudio
– Disponibilizei 3 patchs ;)
• recipes-qt/qt5/qtwebengine/
Globalcode – Open4education
A.R.O.S
Fonte: https://github.com/cleitonbueno/aros
Globalcode – Open4education
A.R.O.S.
Qt → Navegador (WebEngine[Chromium])
Globalcode – Open4education
A.R.O.S.
Qt → Imagem
Globalcode – Open4education
A.R.O.S.
Qt → Player
Globalcode – Open4education
B2Open
Treinamentos
– Qt → QML, Profiler, Debuger, IPC, Signals &
Slots, Threads, QtQuick, Qmake, Cmake, QBS,
MOC, EGLFS, linuxFB, Aplicações Graficas em
Linux Embarcado e preparação de ambiente com
YP
– Python → Threads[GIL]? Multiprocessing, JIT,
Estrutura de Dados, Profiling, built-in, Cython,
Cpython, GUI, integração e buildsystem com YP
Globalcode – Open4education
Perguntas!
Globalcode – Open4education
Agradecimentos a organização do TDC 2016, e aos
responsáveis pela trilha Linux Embarcado Sergio
Prado e Bruno Herrera.
Globalcode – Open4education
Contatos
E-mail: cleiton.bueno@b2open.com
http://www.b2open.com
http://www.cleitonbueno.com
http://www.embarcados.com.br/author/cleitonrbueno
gmail-com/
http://www.linkedin.com/in/cleitonbueno
https://github.com/cleitonbueno

More Related Content

What's hot

Viagem pelas VMs do python
Viagem pelas VMs do pythonViagem pelas VMs do python
Viagem pelas VMs do pythonRodrigo Araújo
 
Qt Techday - João Pessoa
Qt Techday - João PessoaQt Techday - João Pessoa
Qt Techday - João PessoaOpenBossa
 
Git e contibuição com projetos open source usando GitHub
Git e contibuição com projetos open source usando GitHubGit e contibuição com projetos open source usando GitHub
Git e contibuição com projetos open source usando GitHubBruno Orlandi
 
Webinar: Qt: um toolkit, um código-fonte, múltiplas plataformas
Webinar: Qt: um toolkit, um código-fonte, múltiplas plataformasWebinar: Qt: um toolkit, um código-fonte, múltiplas plataformas
Webinar: Qt: um toolkit, um código-fonte, múltiplas plataformasEmbarcados
 
[CodeBEAM BR 2020] Construindo e Distribuindo CLIs com Elixir
[CodeBEAM BR 2020] Construindo e Distribuindo CLIs com Elixir[CodeBEAM BR 2020] Construindo e Distribuindo CLIs com Elixir
[CodeBEAM BR 2020] Construindo e Distribuindo CLIs com ElixirAmadeu Cavalcante
 
Multirão Python - introdução ao py serial com gtk3 e arduino
Multirão Python - introdução ao py serial com gtk3 e arduinoMultirão Python - introdução ao py serial com gtk3 e arduino
Multirão Python - introdução ao py serial com gtk3 e arduinoAntonio Thomacelli
 
Aula 6 - Curso Git e Github - Webschool
Aula 6 - Curso Git e Github - WebschoolAula 6 - Curso Git e Github - Webschool
Aula 6 - Curso Git e Github - WebschoolBruno Orlandi
 

What's hot (19)

Introdução ao Qt
Introdução ao QtIntrodução ao Qt
Introdução ao Qt
 
Viagem pelas VMs do python
Viagem pelas VMs do pythonViagem pelas VMs do python
Viagem pelas VMs do python
 
Introdução ao Qt
Introdução ao QtIntrodução ao Qt
Introdução ao Qt
 
Open source e Digital Libraries
Open source e Digital LibrariesOpen source e Digital Libraries
Open source e Digital Libraries
 
Qt Techday - João Pessoa
Qt Techday - João PessoaQt Techday - João Pessoa
Qt Techday - João Pessoa
 
Git para Designers
Git para DesignersGit para Designers
Git para Designers
 
Hack Thursday - NodeJS
Hack Thursday - NodeJSHack Thursday - NodeJS
Hack Thursday - NodeJS
 
Git e contibuição com projetos open source usando GitHub
Git e contibuição com projetos open source usando GitHubGit e contibuição com projetos open source usando GitHub
Git e contibuição com projetos open source usando GitHub
 
Webinar: Qt: um toolkit, um código-fonte, múltiplas plataformas
Webinar: Qt: um toolkit, um código-fonte, múltiplas plataformasWebinar: Qt: um toolkit, um código-fonte, múltiplas plataformas
Webinar: Qt: um toolkit, um código-fonte, múltiplas plataformas
 
Qt Apresentação
Qt ApresentaçãoQt Apresentação
Qt Apresentação
 
[CodeBEAM BR 2020] Construindo e Distribuindo CLIs com Elixir
[CodeBEAM BR 2020] Construindo e Distribuindo CLIs com Elixir[CodeBEAM BR 2020] Construindo e Distribuindo CLIs com Elixir
[CodeBEAM BR 2020] Construindo e Distribuindo CLIs com Elixir
 
#4 - Git - Stash
#4 - Git - Stash#4 - Git - Stash
#4 - Git - Stash
 
Canivete suíço do Python
Canivete suíço do PythonCanivete suíço do Python
Canivete suíço do Python
 
Multirão Python - introdução ao py serial com gtk3 e arduino
Multirão Python - introdução ao py serial com gtk3 e arduinoMultirão Python - introdução ao py serial com gtk3 e arduino
Multirão Python - introdução ao py serial com gtk3 e arduino
 
Canivete python
Canivete pythonCanivete python
Canivete python
 
Como tornar-se um programador Python melhor
Como tornar-se um programador Python melhorComo tornar-se um programador Python melhor
Como tornar-se um programador Python melhor
 
Programação RAD com Python
Programação RAD com PythonProgramação RAD com Python
Programação RAD com Python
 
BlingTech - Gitlab
BlingTech - GitlabBlingTech - Gitlab
BlingTech - Gitlab
 
Aula 6 - Curso Git e Github - Webschool
Aula 6 - Curso Git e Github - WebschoolAula 6 - Curso Git e Github - Webschool
Aula 6 - Curso Git e Github - Webschool
 

Viewers also liked

Componentizacao com ReactJs
Componentizacao com ReactJsComponentizacao com ReactJs
Componentizacao com ReactJsMarcelo Serpa
 
Teen community project
Teen community projectTeen community project
Teen community projectglobalecoteen
 
자료구조1보고서
자료구조1보고서자료구조1보고서
자료구조1보고서KimChangHoen
 
Westbay Nova Product Brochure 2015
Westbay Nova Product Brochure 2015Westbay Nova Product Brochure 2015
Westbay Nova Product Brochure 2015Nathan Lopez
 
Acessando apis com feign e hystrix
Acessando apis com feign e hystrixAcessando apis com feign e hystrix
Acessando apis com feign e hystrixMarcelo Serpa
 
Status of the Agricultural land, Soil and ground water in Bahrain, Agricultur...
Status of the Agricultural land, Soil and ground water in Bahrain, Agricultur...Status of the Agricultural land, Soil and ground water in Bahrain, Agricultur...
Status of the Agricultural land, Soil and ground water in Bahrain, Agricultur...FAO
 
Hadoop 제주대
Hadoop 제주대Hadoop 제주대
Hadoop 제주대DaeHeon Oh
 
ο οδυσσέας και οι περιπέτειές του
ο οδυσσέας και οι περιπέτειές τουο οδυσσέας και οι περιπέτειές του
ο οδυσσέας και οι περιπέτειές τουadoniou
 
Immediate versus Limited Entries
Immediate versus Limited EntriesImmediate versus Limited Entries
Immediate versus Limited EntriesCQB TEAM
 
Rainfall Runoff Modelling on the Lower Tapi Basin using HEC-HMS
Rainfall Runoff Modelling on the Lower Tapi Basin using HEC-HMSRainfall Runoff Modelling on the Lower Tapi Basin using HEC-HMS
Rainfall Runoff Modelling on the Lower Tapi Basin using HEC-HMSAnkit Balyan MBA, B.Tech.
 
스프링 프로젝트 시작하기
스프링 프로젝트 시작하기스프링 프로젝트 시작하기
스프링 프로젝트 시작하기Ashal aka JOKER
 
Natural vegetation (By Shaurya Nagpal)
Natural vegetation (By Shaurya Nagpal)Natural vegetation (By Shaurya Nagpal)
Natural vegetation (By Shaurya Nagpal)Kashish Nagpal
 
제 5회 D2 CAMPUS SEMINAR - Swift로 만든 serverframework 개발기
제 5회 D2 CAMPUS SEMINAR - Swift로 만든 serverframework 개발기제 5회 D2 CAMPUS SEMINAR - Swift로 만든 serverframework 개발기
제 5회 D2 CAMPUS SEMINAR - Swift로 만든 serverframework 개발기NAVER D2
 
TDC2016SP - Trilha Linux Embarcado
TDC2016SP - Trilha Linux EmbarcadoTDC2016SP - Trilha Linux Embarcado
TDC2016SP - Trilha Linux Embarcadotdc-globalcode
 
Using Computer-simulated hydrological model (SWAT) to estimate the ground-wat...
Using Computer-simulated hydrological model (SWAT) to estimate the ground-wat...Using Computer-simulated hydrological model (SWAT) to estimate the ground-wat...
Using Computer-simulated hydrological model (SWAT) to estimate the ground-wat...Dhiraj Jhunjhunwala
 
Issues and Strategies for Integrated Model Calibration
Issues and Strategies for Integrated Model CalibrationIssues and Strategies for Integrated Model Calibration
Issues and Strategies for Integrated Model CalibrationDirk Kassenaar M.Sc. P.Eng.
 

Viewers also liked (19)

Componentizacao com ReactJs
Componentizacao com ReactJsComponentizacao com ReactJs
Componentizacao com ReactJs
 
Quantum vacation broucher
Quantum vacation broucherQuantum vacation broucher
Quantum vacation broucher
 
Teen community project
Teen community projectTeen community project
Teen community project
 
자료구조1보고서
자료구조1보고서자료구조1보고서
자료구조1보고서
 
R. Klingbeil, 2009: Transboundary Water and Transboundary Aquifers in the Mid...
R. Klingbeil, 2009: Transboundary Water and Transboundary Aquifers in the Mid...R. Klingbeil, 2009: Transboundary Water and Transboundary Aquifers in the Mid...
R. Klingbeil, 2009: Transboundary Water and Transboundary Aquifers in the Mid...
 
Westbay Nova Product Brochure 2015
Westbay Nova Product Brochure 2015Westbay Nova Product Brochure 2015
Westbay Nova Product Brochure 2015
 
Acessando apis com feign e hystrix
Acessando apis com feign e hystrixAcessando apis com feign e hystrix
Acessando apis com feign e hystrix
 
Status of the Agricultural land, Soil and ground water in Bahrain, Agricultur...
Status of the Agricultural land, Soil and ground water in Bahrain, Agricultur...Status of the Agricultural land, Soil and ground water in Bahrain, Agricultur...
Status of the Agricultural land, Soil and ground water in Bahrain, Agricultur...
 
«Ислам – как он есть»
«Ислам – как он есть»«Ислам – как он есть»
«Ислам – как он есть»
 
Hadoop 제주대
Hadoop 제주대Hadoop 제주대
Hadoop 제주대
 
ο οδυσσέας και οι περιπέτειές του
ο οδυσσέας και οι περιπέτειές τουο οδυσσέας και οι περιπέτειές του
ο οδυσσέας και οι περιπέτειές του
 
Immediate versus Limited Entries
Immediate versus Limited EntriesImmediate versus Limited Entries
Immediate versus Limited Entries
 
Rainfall Runoff Modelling on the Lower Tapi Basin using HEC-HMS
Rainfall Runoff Modelling on the Lower Tapi Basin using HEC-HMSRainfall Runoff Modelling on the Lower Tapi Basin using HEC-HMS
Rainfall Runoff Modelling on the Lower Tapi Basin using HEC-HMS
 
스프링 프로젝트 시작하기
스프링 프로젝트 시작하기스프링 프로젝트 시작하기
스프링 프로젝트 시작하기
 
Natural vegetation (By Shaurya Nagpal)
Natural vegetation (By Shaurya Nagpal)Natural vegetation (By Shaurya Nagpal)
Natural vegetation (By Shaurya Nagpal)
 
제 5회 D2 CAMPUS SEMINAR - Swift로 만든 serverframework 개발기
제 5회 D2 CAMPUS SEMINAR - Swift로 만든 serverframework 개발기제 5회 D2 CAMPUS SEMINAR - Swift로 만든 serverframework 개발기
제 5회 D2 CAMPUS SEMINAR - Swift로 만든 serverframework 개발기
 
TDC2016SP - Trilha Linux Embarcado
TDC2016SP - Trilha Linux EmbarcadoTDC2016SP - Trilha Linux Embarcado
TDC2016SP - Trilha Linux Embarcado
 
Using Computer-simulated hydrological model (SWAT) to estimate the ground-wat...
Using Computer-simulated hydrological model (SWAT) to estimate the ground-wat...Using Computer-simulated hydrological model (SWAT) to estimate the ground-wat...
Using Computer-simulated hydrological model (SWAT) to estimate the ground-wat...
 
Issues and Strategies for Integrated Model Calibration
Issues and Strategies for Integrated Model CalibrationIssues and Strategies for Integrated Model Calibration
Issues and Strategies for Integrated Model Calibration
 

Similar to TDC2016 - Explorando Qt5 e Python em Linux Embarcado

TDC2018SP | Trilha Kotlin - Kodando com Kotlin aplicacoes front-end.
TDC2018SP | Trilha Kotlin - Kodando com Kotlin aplicacoes front-end.TDC2018SP | Trilha Kotlin - Kodando com Kotlin aplicacoes front-end.
TDC2018SP | Trilha Kotlin - Kodando com Kotlin aplicacoes front-end.tdc-globalcode
 
Por dentro do .NET Core
Por dentro do .NET CorePor dentro do .NET Core
Por dentro do .NET CoreGiovanni Bassi
 
TDC2016SP - Por dentro do .Net Core
TDC2016SP - Por dentro do .Net CoreTDC2016SP - Por dentro do .Net Core
TDC2016SP - Por dentro do .Net Coretdc-globalcode
 
Utilizando containers docker para ap is em asp.net core com app service linux
Utilizando containers docker para ap is em asp.net core com app service linuxUtilizando containers docker para ap is em asp.net core com app service linux
Utilizando containers docker para ap is em asp.net core com app service linuxGustavo Bellini Bigardi
 
Kde para iniciantes - Camila Ayres
Kde para iniciantes - Camila AyresKde para iniciantes - Camila Ayres
Kde para iniciantes - Camila AyresTchelinux
 
Python e Dispositivos Móveis
Python e Dispositivos MóveisPython e Dispositivos Móveis
Python e Dispositivos Móveispugpe
 
TDC Floripa - Trilha iOS - Debate sobre o futuro da plataforma
TDC Floripa - Trilha iOS - Debate sobre o futuro da plataformaTDC Floripa - Trilha iOS - Debate sobre o futuro da plataforma
TDC Floripa - Trilha iOS - Debate sobre o futuro da plataformaDouglas Fischer
 
O Qt e sua atuação no desenvolvimento desktop, mobile, embarcado e para IoT
O Qt e sua atuação no desenvolvimento desktop, mobile, embarcado e para IoTO Qt e sua atuação no desenvolvimento desktop, mobile, embarcado e para IoT
O Qt e sua atuação no desenvolvimento desktop, mobile, embarcado e para IoTSandro Andrade
 
TDC2018SP | Trilha Modern Web - Blazor - C# rodando no navegador padrao, sem ...
TDC2018SP | Trilha Modern Web - Blazor - C# rodando no navegador padrao, sem ...TDC2018SP | Trilha Modern Web - Blazor - C# rodando no navegador padrao, sem ...
TDC2018SP | Trilha Modern Web - Blazor - C# rodando no navegador padrao, sem ...tdc-globalcode
 
Aplicações multicore com Linux Embarcado usando Raspberry Pi 2 - TDC2015
Aplicações multicore com Linux Embarcado usando Raspberry Pi 2 - TDC2015Aplicações multicore com Linux Embarcado usando Raspberry Pi 2 - TDC2015
Aplicações multicore com Linux Embarcado usando Raspberry Pi 2 - TDC2015André Curvello
 
Escalando uma plataforma poliglota - QConSP 17
Escalando uma plataforma poliglota - QConSP 17Escalando uma plataforma poliglota - QConSP 17
Escalando uma plataforma poliglota - QConSP 17Leandro Moreira
 
TDC Florianópolis 2018 - Trilha PHP - O que mudou internamente no PHP7 ?
TDC Florianópolis 2018 - Trilha PHP - O que mudou internamente no PHP7 ?TDC Florianópolis 2018 - Trilha PHP - O que mudou internamente no PHP7 ?
TDC Florianópolis 2018 - Trilha PHP - O que mudou internamente no PHP7 ?Cassio Santos
 
Git e Github: qual a importância dessas ferramentas para o desenvolvedor
Git e Github: qual a importância dessas ferramentas para o desenvolvedorGit e Github: qual a importância dessas ferramentas para o desenvolvedor
Git e Github: qual a importância dessas ferramentas para o desenvolvedorFelipe Pedroso
 
Comunicação de Dispositivos IoT com MQTT
Comunicação de Dispositivos IoT com MQTTComunicação de Dispositivos IoT com MQTT
Comunicação de Dispositivos IoT com MQTTJorge Maia
 
ASP.NET vNext no .NET Architects Days 2014
ASP.NET vNext no .NET Architects Days 2014ASP.NET vNext no .NET Architects Days 2014
ASP.NET vNext no .NET Architects Days 2014Giovanni Bassi
 
ESLPE 2008 - Desenvolvendo aplicações no Linux
ESLPE 2008 - Desenvolvendo aplicações no LinuxESLPE 2008 - Desenvolvendo aplicações no Linux
ESLPE 2008 - Desenvolvendo aplicações no LinuxJorge Pereira
 
Django: desenvolvendo aplicações web de maneira simples e rápida!
Django: desenvolvendo aplicações web de maneira simples e rápida!Django: desenvolvendo aplicações web de maneira simples e rápida!
Django: desenvolvendo aplicações web de maneira simples e rápida!Felipe Queiroz
 
Microsoft e Open Source: expandindo as fronteiras no Desenvolvimento de Softw...
Microsoft e Open Source: expandindo as fronteiras no Desenvolvimento de Softw...Microsoft e Open Source: expandindo as fronteiras no Desenvolvimento de Softw...
Microsoft e Open Source: expandindo as fronteiras no Desenvolvimento de Softw...Renato Groff
 
Linux, Docker, Open Source e Tecnologias Microsoft - Dezembro/2017
Linux, Docker, Open Source e Tecnologias Microsoft - Dezembro/2017Linux, Docker, Open Source e Tecnologias Microsoft - Dezembro/2017
Linux, Docker, Open Source e Tecnologias Microsoft - Dezembro/2017Renato Groff
 
Aplicações livres para o seu Desktop - Leonardo Menezes Vaz
Aplicações livres para o seu Desktop - Leonardo Menezes VazAplicações livres para o seu Desktop - Leonardo Menezes Vaz
Aplicações livres para o seu Desktop - Leonardo Menezes VazTchelinux
 

Similar to TDC2016 - Explorando Qt5 e Python em Linux Embarcado (20)

TDC2018SP | Trilha Kotlin - Kodando com Kotlin aplicacoes front-end.
TDC2018SP | Trilha Kotlin - Kodando com Kotlin aplicacoes front-end.TDC2018SP | Trilha Kotlin - Kodando com Kotlin aplicacoes front-end.
TDC2018SP | Trilha Kotlin - Kodando com Kotlin aplicacoes front-end.
 
Por dentro do .NET Core
Por dentro do .NET CorePor dentro do .NET Core
Por dentro do .NET Core
 
TDC2016SP - Por dentro do .Net Core
TDC2016SP - Por dentro do .Net CoreTDC2016SP - Por dentro do .Net Core
TDC2016SP - Por dentro do .Net Core
 
Utilizando containers docker para ap is em asp.net core com app service linux
Utilizando containers docker para ap is em asp.net core com app service linuxUtilizando containers docker para ap is em asp.net core com app service linux
Utilizando containers docker para ap is em asp.net core com app service linux
 
Kde para iniciantes - Camila Ayres
Kde para iniciantes - Camila AyresKde para iniciantes - Camila Ayres
Kde para iniciantes - Camila Ayres
 
Python e Dispositivos Móveis
Python e Dispositivos MóveisPython e Dispositivos Móveis
Python e Dispositivos Móveis
 
TDC Floripa - Trilha iOS - Debate sobre o futuro da plataforma
TDC Floripa - Trilha iOS - Debate sobre o futuro da plataformaTDC Floripa - Trilha iOS - Debate sobre o futuro da plataforma
TDC Floripa - Trilha iOS - Debate sobre o futuro da plataforma
 
O Qt e sua atuação no desenvolvimento desktop, mobile, embarcado e para IoT
O Qt e sua atuação no desenvolvimento desktop, mobile, embarcado e para IoTO Qt e sua atuação no desenvolvimento desktop, mobile, embarcado e para IoT
O Qt e sua atuação no desenvolvimento desktop, mobile, embarcado e para IoT
 
TDC2018SP | Trilha Modern Web - Blazor - C# rodando no navegador padrao, sem ...
TDC2018SP | Trilha Modern Web - Blazor - C# rodando no navegador padrao, sem ...TDC2018SP | Trilha Modern Web - Blazor - C# rodando no navegador padrao, sem ...
TDC2018SP | Trilha Modern Web - Blazor - C# rodando no navegador padrao, sem ...
 
Aplicações multicore com Linux Embarcado usando Raspberry Pi 2 - TDC2015
Aplicações multicore com Linux Embarcado usando Raspberry Pi 2 - TDC2015Aplicações multicore com Linux Embarcado usando Raspberry Pi 2 - TDC2015
Aplicações multicore com Linux Embarcado usando Raspberry Pi 2 - TDC2015
 
Escalando uma plataforma poliglota - QConSP 17
Escalando uma plataforma poliglota - QConSP 17Escalando uma plataforma poliglota - QConSP 17
Escalando uma plataforma poliglota - QConSP 17
 
TDC Florianópolis 2018 - Trilha PHP - O que mudou internamente no PHP7 ?
TDC Florianópolis 2018 - Trilha PHP - O que mudou internamente no PHP7 ?TDC Florianópolis 2018 - Trilha PHP - O que mudou internamente no PHP7 ?
TDC Florianópolis 2018 - Trilha PHP - O que mudou internamente no PHP7 ?
 
Git e Github: qual a importância dessas ferramentas para o desenvolvedor
Git e Github: qual a importância dessas ferramentas para o desenvolvedorGit e Github: qual a importância dessas ferramentas para o desenvolvedor
Git e Github: qual a importância dessas ferramentas para o desenvolvedor
 
Comunicação de Dispositivos IoT com MQTT
Comunicação de Dispositivos IoT com MQTTComunicação de Dispositivos IoT com MQTT
Comunicação de Dispositivos IoT com MQTT
 
ASP.NET vNext no .NET Architects Days 2014
ASP.NET vNext no .NET Architects Days 2014ASP.NET vNext no .NET Architects Days 2014
ASP.NET vNext no .NET Architects Days 2014
 
ESLPE 2008 - Desenvolvendo aplicações no Linux
ESLPE 2008 - Desenvolvendo aplicações no LinuxESLPE 2008 - Desenvolvendo aplicações no Linux
ESLPE 2008 - Desenvolvendo aplicações no Linux
 
Django: desenvolvendo aplicações web de maneira simples e rápida!
Django: desenvolvendo aplicações web de maneira simples e rápida!Django: desenvolvendo aplicações web de maneira simples e rápida!
Django: desenvolvendo aplicações web de maneira simples e rápida!
 
Microsoft e Open Source: expandindo as fronteiras no Desenvolvimento de Softw...
Microsoft e Open Source: expandindo as fronteiras no Desenvolvimento de Softw...Microsoft e Open Source: expandindo as fronteiras no Desenvolvimento de Softw...
Microsoft e Open Source: expandindo as fronteiras no Desenvolvimento de Softw...
 
Linux, Docker, Open Source e Tecnologias Microsoft - Dezembro/2017
Linux, Docker, Open Source e Tecnologias Microsoft - Dezembro/2017Linux, Docker, Open Source e Tecnologias Microsoft - Dezembro/2017
Linux, Docker, Open Source e Tecnologias Microsoft - Dezembro/2017
 
Aplicações livres para o seu Desktop - Leonardo Menezes Vaz
Aplicações livres para o seu Desktop - Leonardo Menezes VazAplicações livres para o seu Desktop - Leonardo Menezes Vaz
Aplicações livres para o seu Desktop - Leonardo Menezes Vaz
 

TDC2016 - Explorando Qt5 e Python em Linux Embarcado

  • 1. Globalcode – Open4education Linux Embarcado – Explorando Qt5 e Python em Linux Embarcado Cleiton Bueno (Engenheiro | Marido | Articulista | FOSS )
  • 2. Globalcode – Open4education Agenda Python Qt Linux Embarcado – Yocto Project A.R.O.S Considerações Finais
  • 3. Globalcode – Open4education Cleiton Bueno $ Apaixonado por tecnologia e entusiasta a filosofia open-source, proprietario da B2Open, atuando com consultoria, desenvolvimento e treinamentos na área, com mais de 12 anos de experiências em Linux, do sysadmin ao Linux Embarcado, programando em C, Python e Qt. $ Articulista no Portal Embarcados com os temas Linux Embarcado, Python e Qt. $ Quando não fazendo o conteudo acima, gosto de pedalar e se embebedar.
  • 4. Globalcode – Open4education Python Linguagem interpretada, orientada a objetos, imperativa, criada por Guido Van em meados de 1991 Multiplataforma Database, WebServer, GUI, GPIO, MMAP, I2C, SPI, Poll, Queue, Serial, Sockets[TCP,UDP], MQ, ...
  • 5. Globalcode – Open4education Python Python é lento Depende! Quesito desempenho e tempo é critico? C Para os demais CPython(C), Jython, IronPython, PyPy(JIT), IPC
  • 6. Globalcode – Open4education Python Modulos/Aplicações/Recursos Webserver Flask, Tornado, Supervisord, pexpect, intelhex, multiprocessing, Queue, Fabric, JSON, ncurses, psutils, PyUSB, PySerial, PyTelemetry, python-evdev, Tkinter, PySide, PyQt, ... Empresas/Produtos/Soluções Digi, Telit, D-Link, Yocto Project, Carmanah, MicroPython Fonte: https://pypi.python.org/pypi?%3Aaction=browse https://www.python.org/about/success/
  • 7. Globalcode – Open4education Qt5 Criada em meados de 1995 pela TrollTech para criar interfaces graficas para multi-plataformas Programação Orientada a Objetos C++ TroolTech → Nokia → Digia → Qt Group Plc(Digia) KDE, MeeGo, Skype, NASA, Siemens, Volvo, LG WebOS, AGL(Automotive Grade Linux), Sky, Navico, Panasonic Avionics
  • 8. Globalcode – Open4education Qt5 Versão atual 5.7, 5.6 LTS Widgets se falam via Signals e Slots Bindings PySide, PyQt, PerlQt, Jambi(Java) Qmake, ferramenta para criar makefiles para diferentes plataformas e compiladores, e o QBS? Qt Meta-Object Language(QML), linguagem declarativa para criar interface de usuario IDE Qt Creator, julho/2016 lançada versão 4.0 Fonte: http://doc.qt.io
  • 9. Globalcode – Open4education Qt5 Fonte: https://www.ics.com/blog/changes-qt-licensing (Janeiro/2016)
  • 10. Globalcode – Open4education Qt5 EGLFS/LinuxFB Variaveis Ambiente QPA backends: DirectFB ............. yes EGLFS ................ yes EGLFS i.MX6 ........ yes EGLFS i.MX6 Wayland. no EGLFS EGLDevice .... no EGLFS GBM .......... no EGLFS Mali ......... no EGLFS Raspberry Pi . no EGLFS X11 .......... no LinuxFB .............. yes QT_QPA_EGLFS_WIDTH, QT_QPA_EGLFS_HEIGHT, QT_QPA_EGLFS_FB, QT_QPA_EGLFS_HIDECURSOR (eglfs), QT_QPA_FB_HIDECURSOR, QT_QPA_PLATFORM=linuxfb:
  • 11. Globalcode – Open4education Yocto Project YP 2.1 - Branch Krogoth (Abril/2016) meta-oe/meta-python e meta/recipes-devtools/python – 169 receitas (modulos, ferramentas e aplicações) – python3.5.1, python2.7.11, pyrex, pip, setuptools, numpy, cython, flask, pyinotify, pymongo, pyzmq, werkzeug, pyusb, requests, jinja2, pyserial, tornado, redis, paho-mqtt, django, twisted, matplotlib, webdav, psutil meta-qt5 (Qt5.6) – 53 receitas (modulos, bibliotecas e exemplos) – Recursos LinuxFB, EGLFS, X11, Wayland, DirectFB, tslib, OpenGL, OpenVG, ICU, Gstreamer, ALSA, PulseAudio – Disponibilizei 3 patchs ;) • recipes-qt/qt5/qtwebengine/
  • 12. Globalcode – Open4education A.R.O.S Fonte: https://github.com/cleitonbueno/aros
  • 13. Globalcode – Open4education A.R.O.S. Qt → Navegador (WebEngine[Chromium])
  • 16. Globalcode – Open4education B2Open Treinamentos – Qt → QML, Profiler, Debuger, IPC, Signals & Slots, Threads, QtQuick, Qmake, Cmake, QBS, MOC, EGLFS, linuxFB, Aplicações Graficas em Linux Embarcado e preparação de ambiente com YP – Python → Threads[GIL]? Multiprocessing, JIT, Estrutura de Dados, Profiling, built-in, Cython, Cpython, GUI, integração e buildsystem com YP
  • 18. Globalcode – Open4education Agradecimentos a organização do TDC 2016, e aos responsáveis pela trilha Linux Embarcado Sergio Prado e Bruno Herrera.
  • 19. Globalcode – Open4education Contatos E-mail: cleiton.bueno@b2open.com http://www.b2open.com http://www.cleitonbueno.com http://www.embarcados.com.br/author/cleitonrbueno gmail-com/ http://www.linkedin.com/in/cleitonbueno https://github.com/cleitonbueno