SlideShare une entreprise Scribd logo
1  sur  7
Utilisation de Qt dans l’embarqué:
L’exemple d’AsteroidOS
Par Florent Revest
Le 12 Avril 2016
2 Utilisation de Qt dans l'embarqué: L'exemple d'AsteroidOS
AsteroidOS aujourd’hui
3 Utilisation de Qt dans l'embarqué: L'exemple d'AsteroidOS
Qt dans asteroid-launcher
QtWayland: API pour clients mais aussi pour compositors!
Source: twitter.com“
Écosystème Qt: ex de Lipstick le “Home-screen toolkit” de Jolla
4 Utilisation de Qt dans l'embarqué: L'exemple d'AsteroidOS
Qt dans asteroid-settings
QML
Declaration d’élements, propriétés, états, transitions…
Extensible avec Javascript
Composants QML-Asteroid
Utilisé par BlackBerry 10, SailfishOS, NemoMobile,
WebOS-Ports, Ubuntu Touch, Plasma Mobile…
QtBluetooth
HAL Bluetooth supportant BlueZ5
Supporte Bluetooth Low Energy
(et mode périphérique en branche dev!)
5 Utilisation de Qt dans l'embarqué: L'exemple d'AsteroidOS
Qt dans la stack d’AsteroidOS
Hardware
Noyau Linux (d’Android avec des modifications mineurs pour systemd/connmand etc...)
Dossier /system minimal (Android)
Connectivité (Connman, Bluez5, usb-moded, adbd)
Asteroid-launcher (basé sur Lipstick)
Qt5.5 (qml-asteroid, qml, qpa-hwcomposer, qtwayland, qtbluetooth...)
GNU/Linux Standard construit avec OpenEmbedded
(outils GNU, systemd, dbus, udev, etc...)
Couche de compatibilité (libhybris)
Middleware NemoMobile (mce, dsme, ngfd, timed, sensorfwd, statefs, mapplauncherd etc...)
Apps (asteroid-settings, asteroid-timer, asteroid-calendar etc...)
6 Utilisation de Qt dans l'embarqué: L'exemple d'AsteroidOS
Zoom sur la stack graphique
asteroid-settings
libhardware.so (glibc)
QML/ qml-asteroid QtWayland (API client)
asteroid-launcher QtWayland (API compositor)
Protocole Wayland-egl
QML/ qml-asteroid
Qt5-qpa-hwcomposer
libhardware.so (bionic)
Binary blobs
GPU
libhybris
Lipstick
7 Utilisation de Qt dans l'embarqué: L'exemple d'AsteroidOS
Merci … Des questions ?
Site: http://asteroidos.org/
GitHub: AsteroidOS
Twitter: @AsteroidOS
IRC: #asteroid@irc.freenode.net

Contenu connexe

Similaire à Utilisation de Qt dans l'embarqué: L'exemple d'AsteroidOS

Présentation CoreOS
Présentation CoreOSPrésentation CoreOS
Présentation CoreOSgcatt
 
20080311 - Paris Vi Master STL TA - Initiation Maven
20080311 - Paris Vi Master STL TA - Initiation Maven20080311 - Paris Vi Master STL TA - Initiation Maven
20080311 - Paris Vi Master STL TA - Initiation MavenArnaud Héritier
 
Chap1_PresentationJava.pdf
Chap1_PresentationJava.pdfChap1_PresentationJava.pdf
Chap1_PresentationJava.pdfsayf7
 
Quoi de neuf dans OpenStack - Christophe Sauthier / Objectif Libre lors du Me...
Quoi de neuf dans OpenStack - Christophe Sauthier / Objectif Libre lors du Me...Quoi de neuf dans OpenStack - Christophe Sauthier / Objectif Libre lors du Me...
Quoi de neuf dans OpenStack - Christophe Sauthier / Objectif Libre lors du Me...Objectif Libre
 
Capitole du Libre 2018 - Déployer des applications python dans un cluster Ope...
Capitole du Libre 2018 - Déployer des applications python dans un cluster Ope...Capitole du Libre 2018 - Déployer des applications python dans un cluster Ope...
Capitole du Libre 2018 - Déployer des applications python dans un cluster Ope...Arthur Lutz
 
OpenStack: stratégies et composants - Mars 2014 - Montréal - Québec - Canada
OpenStack: stratégies et composants - Mars 2014 - Montréal - Québec - CanadaOpenStack: stratégies et composants - Mars 2014 - Montréal - Québec - Canada
OpenStack: stratégies et composants - Mars 2014 - Montréal - Québec - CanadaJonathan Le Lous
 
Réseau de capteurs sans fil
Réseau de capteurs sans fil  Réseau de capteurs sans fil
Réseau de capteurs sans fil Ghassen Chaieb
 
XebiCon'16 : Choisissez votre style avec Docker & Amazon Web Services Par Al...
XebiCon'16 : Choisissez votre style avec Docker & Amazon Web Services  Par Al...XebiCon'16 : Choisissez votre style avec Docker & Amazon Web Services  Par Al...
XebiCon'16 : Choisissez votre style avec Docker & Amazon Web Services Par Al...Publicis Sapient Engineering
 
Docker le buzz est il justifié ?
Docker le buzz est il justifié ? Docker le buzz est il justifié ?
Docker le buzz est il justifié ? Romain Chalumeau
 
Kubernetes Meetup Paris #5 - Metriques applicatives k8s
Kubernetes Meetup Paris #5 - Metriques applicatives k8sKubernetes Meetup Paris #5 - Metriques applicatives k8s
Kubernetes Meetup Paris #5 - Metriques applicatives k8sArnaud MAZIN
 
Présentation de Django @ Orange Labs (FR)
Présentation de Django @ Orange Labs (FR)Présentation de Django @ Orange Labs (FR)
Présentation de Django @ Orange Labs (FR)Martin Latrille
 
Rouabhi algiers meetup
Rouabhi algiers meetupRouabhi algiers meetup
Rouabhi algiers meetupSamir Rouabhi
 
20081008 - Tours Jug - Apache Maven
20081008  - Tours Jug - Apache Maven20081008  - Tours Jug - Apache Maven
20081008 - Tours Jug - Apache MavenArnaud Héritier
 
JUGL 2009 - Introduction Groovy/Grails
JUGL 2009 - Introduction Groovy/GrailsJUGL 2009 - Introduction Groovy/Grails
JUGL 2009 - Introduction Groovy/Grailscyrilpicat
 
Paris Container Day 2016 : Choisissez votre style avec docker & Amazon Web Se...
Paris Container Day 2016 : Choisissez votre style avec docker & Amazon Web Se...Paris Container Day 2016 : Choisissez votre style avec docker & Amazon Web Se...
Paris Container Day 2016 : Choisissez votre style avec docker & Amazon Web Se...Publicis Sapient Engineering
 

Similaire à Utilisation de Qt dans l'embarqué: L'exemple d'AsteroidOS (20)

Présentation CoreOS
Présentation CoreOSPrésentation CoreOS
Présentation CoreOS
 
20080311 - Paris Vi Master STL TA - Initiation Maven
20080311 - Paris Vi Master STL TA - Initiation Maven20080311 - Paris Vi Master STL TA - Initiation Maven
20080311 - Paris Vi Master STL TA - Initiation Maven
 
Chap1_PresentationJava.pdf
Chap1_PresentationJava.pdfChap1_PresentationJava.pdf
Chap1_PresentationJava.pdf
 
Le futur de gwt
Le futur de gwtLe futur de gwt
Le futur de gwt
 
Quoi de neuf dans OpenStack - Christophe Sauthier / Objectif Libre lors du Me...
Quoi de neuf dans OpenStack - Christophe Sauthier / Objectif Libre lors du Me...Quoi de neuf dans OpenStack - Christophe Sauthier / Objectif Libre lors du Me...
Quoi de neuf dans OpenStack - Christophe Sauthier / Objectif Libre lors du Me...
 
Capitole du Libre 2018 - Déployer des applications python dans un cluster Ope...
Capitole du Libre 2018 - Déployer des applications python dans un cluster Ope...Capitole du Libre 2018 - Déployer des applications python dans un cluster Ope...
Capitole du Libre 2018 - Déployer des applications python dans un cluster Ope...
 
OpenStack: stratégies et composants - Mars 2014 - Montréal - Québec - Canada
OpenStack: stratégies et composants - Mars 2014 - Montréal - Québec - CanadaOpenStack: stratégies et composants - Mars 2014 - Montréal - Québec - Canada
OpenStack: stratégies et composants - Mars 2014 - Montréal - Québec - Canada
 
Réseau de capteurs sans fil
Réseau de capteurs sans fil  Réseau de capteurs sans fil
Réseau de capteurs sans fil
 
XebiCon'16 : Choisissez votre style avec Docker & Amazon Web Services Par Al...
XebiCon'16 : Choisissez votre style avec Docker & Amazon Web Services  Par Al...XebiCon'16 : Choisissez votre style avec Docker & Amazon Web Services  Par Al...
XebiCon'16 : Choisissez votre style avec Docker & Amazon Web Services Par Al...
 
Docker le buzz est il justifié ?
Docker le buzz est il justifié ? Docker le buzz est il justifié ?
Docker le buzz est il justifié ?
 
The Future of Javascript
The Future of JavascriptThe Future of Javascript
The Future of Javascript
 
The future of JavaScript
The future of JavaScriptThe future of JavaScript
The future of JavaScript
 
Kubernetes Meetup Paris #5 - Metriques applicatives k8s
Kubernetes Meetup Paris #5 - Metriques applicatives k8sKubernetes Meetup Paris #5 - Metriques applicatives k8s
Kubernetes Meetup Paris #5 - Metriques applicatives k8s
 
Présentation de Django @ Orange Labs (FR)
Présentation de Django @ Orange Labs (FR)Présentation de Django @ Orange Labs (FR)
Présentation de Django @ Orange Labs (FR)
 
Rouabhi algiers meetup
Rouabhi algiers meetupRouabhi algiers meetup
Rouabhi algiers meetup
 
20081008 - Tours Jug - Apache Maven
20081008  - Tours Jug - Apache Maven20081008  - Tours Jug - Apache Maven
20081008 - Tours Jug - Apache Maven
 
JUGL 2009 - Introduction Groovy/Grails
JUGL 2009 - Introduction Groovy/GrailsJUGL 2009 - Introduction Groovy/Grails
JUGL 2009 - Introduction Groovy/Grails
 
_JCVFr
_JCVFr_JCVFr
_JCVFr
 
Qt5 embedded
Qt5 embeddedQt5 embedded
Qt5 embedded
 
Paris Container Day 2016 : Choisissez votre style avec docker & Amazon Web Se...
Paris Container Day 2016 : Choisissez votre style avec docker & Amazon Web Se...Paris Container Day 2016 : Choisissez votre style avec docker & Amazon Web Se...
Paris Container Day 2016 : Choisissez votre style avec docker & Amazon Web Se...
 

Utilisation de Qt dans l'embarqué: L'exemple d'AsteroidOS

  • 1. Utilisation de Qt dans l’embarqué: L’exemple d’AsteroidOS Par Florent Revest Le 12 Avril 2016
  • 2. 2 Utilisation de Qt dans l'embarqué: L'exemple d'AsteroidOS AsteroidOS aujourd’hui
  • 3. 3 Utilisation de Qt dans l'embarqué: L'exemple d'AsteroidOS Qt dans asteroid-launcher QtWayland: API pour clients mais aussi pour compositors! Source: twitter.com“ Écosystème Qt: ex de Lipstick le “Home-screen toolkit” de Jolla
  • 4. 4 Utilisation de Qt dans l'embarqué: L'exemple d'AsteroidOS Qt dans asteroid-settings QML Declaration d’élements, propriétés, états, transitions… Extensible avec Javascript Composants QML-Asteroid Utilisé par BlackBerry 10, SailfishOS, NemoMobile, WebOS-Ports, Ubuntu Touch, Plasma Mobile… QtBluetooth HAL Bluetooth supportant BlueZ5 Supporte Bluetooth Low Energy (et mode périphérique en branche dev!)
  • 5. 5 Utilisation de Qt dans l'embarqué: L'exemple d'AsteroidOS Qt dans la stack d’AsteroidOS Hardware Noyau Linux (d’Android avec des modifications mineurs pour systemd/connmand etc...) Dossier /system minimal (Android) Connectivité (Connman, Bluez5, usb-moded, adbd) Asteroid-launcher (basé sur Lipstick) Qt5.5 (qml-asteroid, qml, qpa-hwcomposer, qtwayland, qtbluetooth...) GNU/Linux Standard construit avec OpenEmbedded (outils GNU, systemd, dbus, udev, etc...) Couche de compatibilité (libhybris) Middleware NemoMobile (mce, dsme, ngfd, timed, sensorfwd, statefs, mapplauncherd etc...) Apps (asteroid-settings, asteroid-timer, asteroid-calendar etc...)
  • 6. 6 Utilisation de Qt dans l'embarqué: L'exemple d'AsteroidOS Zoom sur la stack graphique asteroid-settings libhardware.so (glibc) QML/ qml-asteroid QtWayland (API client) asteroid-launcher QtWayland (API compositor) Protocole Wayland-egl QML/ qml-asteroid Qt5-qpa-hwcomposer libhardware.so (bionic) Binary blobs GPU libhybris Lipstick
  • 7. 7 Utilisation de Qt dans l'embarqué: L'exemple d'AsteroidOS Merci … Des questions ? Site: http://asteroidos.org/ GitHub: AsteroidOS Twitter: @AsteroidOS IRC: #asteroid@irc.freenode.net