Open Wide : Les interfaces graphiques dans l'embarque

2 227 vues

Publié le

Cette nouvelle conférence a réuni plus de 30 professionnels de l'embarqué à Paris et plus de 60 à Toulouse qui ont pu découvrir différents outils permettant de construire des interfaces graphiques optimisées pour leurs plateformes matérielles.

Pour découvrir les autres présentations, rendez-vous sur notre site : http://ingenierie.openwide.fr/References/Conferences-techniques

Publié dans : Technologie
0 commentaire
1 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

Aucun téléchargement
Vues
Nombre de vues
2 227
Sur SlideShare
0
Issues des intégrations
0
Intégrations
5
Actions
Partages
0
Téléchargements
23
Commentaires
0
J’aime
1
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Open Wide : Les interfaces graphiques dans l'embarque

  1. 1. Solutions IHM pour Linux embarquéPierre Ficheux (pierre.ficheux@openwide.fr)CTO Open Wide IngénierieOctobre 2011 Solutions IHM Linux embarqué 1
  2. 2. Programme● Présentation dOpen Wide● IHM et embarqué● Les approches possibles● X11 et Framebuffer● Les bibliothèques graphiques – DirectFB, SDL● Les toolkits – Qt – EFL – GTK● HMTL et Flash● Android Solutions IHM Linux embarqué 2
  3. 3. Présentation Open Wide● SSII/SSLL créée en septembre 2001 avec Thales et Schneider● Indépendant depuis 2009● Environ 100 salariés sur Paris et Lyon● Industrialisation de composants open source● Quatre activités : – OW Système dInformation – OW Outsourcing: hébergement – OW Ingénierie: informatique industrielle – OW Technologies: composants Java Solutions IHM Linux embarqué 3
  4. 4. IHM et embarqué● IHM = affichage et saisies● Ce fut longtemps un problème mineur car peu utilisé dans l’embarqué – Système autonome sans affichage (RTOS) – Configuration par réseau (SNMP, HTTP, …)● Evolution des systèmes, passage du RTOS au multimédia – Set-top box: OS21 → Linux – Smartphones – Industriel → début de l’utilisation d’Android● LIHM nest (était) pas le sujet de prédilection des spécialistes du logiciel embarqué :-) Solutions IHM Linux embarqué 4
  5. 5. Plusieurs approches● Développement dune application embarquée – Le cas « général » proche du desktop Linux● Utilisation dun navigateur web (HTMLx, Javascript) – Données en local → similaire au cas précédent – De plus en plus de possibilités avec HTML5 :)● Interface en Adobe Flash – Propriétaire – Bien vu par les équipes marketing ! – Consommateur de ressources – Fréquemment utilisé pour les set-top box Solutions IHM Linux embarqué 5
  6. 6. Quels types de périphériques ?● Affichage fréquent sur des périphériques variés : – LCD monochrome « bas de gamme » – Ecran souvent tactile (attention aux résolutions étranges) – Accélération graphique de plus en plus fréquente sur les cartes embarquées (Freescale i.MX, ...)● Autres périphériques (USB ?) – Clavier spécial – Télécommande infra-rouge – Molette / manette – Périphériques spéciaux Solutions IHM Linux embarqué 6
  7. 7. X11, 1/2● Linux est un UNIX – Mode texte par défaut – « X Window System » ou X11 à partir de 84● Créé au MIT● Système graphique réparti, modèle client/serveur → Xfree86 (x86), X.org● Puissant mais lourd + API complexe● Approche répartie rarement utilisée ! Utilisation de X11 → Solutions IHM Linux embarqué 7
  8. 8. X11, 2/2 ● Initialement peu adapté à l’embarqué ● Retour grâce à plusieurs éléments : – Augmentation de la puissance des CPU embarqués – Utilisation de lAtom/x86 – Le pilote accéléré devient commun au desktop et à lembarqué MotifQt, GTK Solutions IHM Linux embarqué 8
  9. 9. Le framebuffer 1/2● Pilotage de la carte directement par le noyau (/dev/fb0 → plus de client/serveur)● Mode VGA, SVGA, VESA ou (parfois) accéléré● Programmation très bas-niveau (pixel) $ cp /dev/fb0 copie_ecran.raw● Avantages : – Léger (faible consommation RAM) – Démarrage rapide● Inconvénients : – Pilote spécial → drivers/video – Peu « standard » par rapport à X11 Solutions IHM Linux embarqué 9
  10. 10. Le framebuffer 2/2● Exemples dutilitaires/bibliothèques disponibles/compatibles – Bas niveau → fbset, fbi, fbdump, ... – SVGALIB → DOOM :-) – DirectFB (abstraction du FB) – SDL – Qt – X11 sur FB Solutions IHM Linux embarqué 10
  11. 11. Bibliothèques graphiques● Se placent « au dessus » de X11 ou du framebuffer● Deux catégories – Les bibliothèques dabstraction → portabilité mais pas dobjets graphiques évolués (SDL, DirectFB) – Les toolkits graphiques → fournissent des objets graphiques et peuvent se placer au dessus des bibliothèques dabstraction Qt → X11 (Xlib) Qt → FB Qt → DirectFB Solutions IHM Linux embarqué 11
  12. 12. ● Bibliothèque d’ « abstraction » du framebuffer● Fonctionne avec le framebuffer Linux mais également avec X11 (--enable-x11)● Prise en compte des entrées (souris, clavier, …)● Fournit des pilotes FB accélérés Solutions IHM Linux embarqué 12
  13. 13. Exemple DirectFBSolutions IHM Linux embarqué 13
  14. 14. ● Fournit des primitives graphiques ET audio● Portables sur Linux, Windows, Mac OS X, QNX, WinCE, OS2...● Pour Linux, utilisable sur framebuffer, DirectFB, X11● Utilisée pour le portage d’applications graphiques (jeux) et légères● Gestion basique de l’écran: fenêtres, transparence, polices de caractères, ... Solutions IHM Linux embarqué 14
  15. 15. Exemple SDLSolutions IHM Linux embarqué 15
  16. 16. Les « toolkits » graphiques● Fournissent un ensemble d’objets graphiques – Menus – Boutons – Boites de dialogues – WebView ! – Mediaplayer● Exemples: – Athena widgets, OSF-Motif (X11) → obsolète – Qt – EFL (Enlightenment, E17) – GTK+ (Gimp) – WxWidgets Solutions IHM Linux embarqué 16
  17. 17. ● Toolkit C++ publiée par Trolltech en 1996 (X11)● Outil multi-plateforme (Unix, Windows, MacOS, Symbian, ...)● Connu grâce à KDE !● Dernière version: 4.7.4● Avantages : – X11, FB, DirectFB, QVFb, ... – Excellente documentation – Outil de conception dinterface (QtCreator)● Inconvénients : – Lourd – Avenir / Nokia Solutions IHM Linux embarqué 17
  18. 18. Qt sur Mini2440Solutions IHM Linux embarqué 18
  19. 19. EFL● Toolkit C basé sur Enlightenment ou E (actuellement E17)● Avantages : – Peu gourmand en ressources, rapide – Multiplateforme – Esthétique, modulaire, configurable● Inconvénients – Peu connu – Moins de documentation que pour Qt – Pas de constructeur dinterface → Le petit toolkit qui monte :-) Solutions IHM Linux embarqué 19
  20. 20. EFL au frigo !Solutions IHM Linux embarqué 20
  21. 21. ● Developpé pour GIMP (Gimp ToolKit)● Toolkit en C multiplateforme● Fonctionne le plus souvent sur X11 → GNOME● Assez peu utilisé dans lembarqué● Il existe des adaptations sur FB, mais peu maintenues Solutions IHM Linux embarqué 21
  22. 22. HTML et/ou Flash● Assure une certaine « indépendance » par rapport à la plateforme● Maquettage aisé sur desktop → à double tranchant● Attention, linstallation dun navigateur (Webkit, Opera, ...) implique de bonnes capacités matérielles pour supporter les technologies récentes● Le navigateur lui-même utilise un toolkit !● Approche intéressante dans le mobile pour éviter les divers SDK, mais peut elle simposer dans lembarqué ? Solutions IHM Linux embarqué 22
  23. 23. Android● Android nest pas une IHM, cest un OS● API de programmation Java (SDK) mais pas de bytecode Java● Système Linux – très - modifié (noyau, libc)● NDK en C++ mais peu utilisé● Raz de marée en téléphonie● Apparition en informatique « industrielle » mais – Pas de TR – Compatibilité matérielle● Tiré par lexistence de plateformes peu coûteuses (exemple: tablette SAMSUNG) → mais peu dinterfaces matérielles Solutions IHM Linux embarqué 23
  24. 24. Questions?Solutions IHM Linux embarqué 24

×