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

TDC2016SP - Trilha Linux Embarcado

  • 1.
    Globalcode – Open4education LinuxEmbarcado – Explorando Qt5 e Python em Linux Embarcado Cleiton Bueno (Engenheiro | Marido | Articulista | FOSS )
  • 2.
    Globalcode – Open4education Agenda Python Qt LinuxEmbarcado – Yocto Project A.R.O.S Considerações Finais
  • 3.
    Globalcode – Open4education CleitonBueno $ 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 Linguageminterpretada, 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 WebserverFlask, 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 Criadaem 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ãoatual 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 VariaveisAmbiente 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 YoctoProject 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.
  • 13.
    Globalcode – Open4education A.R.O.S. Qt→ Navegador (WebEngine[Chromium])
  • 14.
  • 15.
  • 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
  • 17.
  • 18.
    Globalcode – Open4education Agradecimentosa 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