About us Expertises Offer References Contact us Blog
FR EN

Meilleures solutions IoT pour vos GUI embarqués

Quelle technologie GUI utiliser pour votre système embarqué IoT ? Avantages et inconvénients des différentes solutions IoT du marché.

10/09/2021

Nathanaël Landais

image blog Meilleures solutions IoT pour vos GUI embarqués

Il existe aujourd’hui de très nombreux choix de bibliothèques permettant de développer des GUI IoT embarqué. Dans cet article, je vais passer en revue quelques-unes des technologies qui me semblent les plus pertinentes aujourd’hui. Nous allons voir leurs avantages et inconvénients.

Je suis Nathanaël Landais , architecte en développement de logiciels embarqués IoT. J’ai conçu et développé des systèmes embarqués s’appuyant sur des composants open source aujourd’hui distribués en centaines de milliers d’exemplaires à travers le monde. Leur point commun, des interfaces utilisateur modernes et fluides.


1. Qt – Du grille-pain connecté au tableau de bord de voiture

On ne le présente plus, Qt domine le marché de l’interface utilisateur embarqué et n’est pas arrivé là par hasard. Décliné en deux versions, la version complète de Qt pour les systèmes Linux et Qt MCU qui fonctionne également sur du bare metal, ce framework permet de faire tourner des interfaces utilisateur fluide sur à peu près tous les systèmes imaginables. S’il sait tirer profit d’un module GPU, il fonctionne également sans.

Mais alors, avantages, inconvénients de Qt pour votre système IoT ?

Les avantages

Les inconvénients


2. TouchGFX – La solution GUI propriétaire de STMicroelectronic

Si vous envisagez d’utiliser une carte équipée d’un microcontrôleur STM32, la solution proposée par le fabricant pourrait très bien vous convenir. TouchGFX est un outil plutôt facile à prendre en main permettant de concevoir des interfaces utilisateur en no-code.

Les avantages

Les inconvénients


3. uGFX – Une solution GUI simple et abordable

uGFX est conçu avec un objectif clair, être aussi léger et rapide que possible. Très modulable, il peut tourner sur des systèmes peu puissants comme sur des systèmes plus équipés, tirant profit, comme Qt, de l’accélération matériel. Pas de version spéciale pour du développement bare metal, il est conçu pour fonctionner aussi bien avec que sans OS.

Les avantages

Les inconvénients


4. Sciter – Le web au régime

Sciter est un moteur web conçu de zéro pour les systèmes embarqués. Là où les alternatives partent des principaux moteurs web grand public pour en faire des versions allégées pour systèmes embarqués, Sciter est lui conçu de zéro pour la légèreté, en faisant un bon candidat pour qui veut une interface web fluide sur des projets IoT aux ressources limitées.

Les avantages

Les inconvénients


5. WPE – Le web sans concession

Je parlais pour Sciter des moteurs web généralistes allégés pour l’utilisation avec des objets connectés, WPE est l’un d’entre eux. WPE signifie Web Platform for Embedded, c’est un moteur web basé sur WebKit. Il a été allégé dans ce but mais conserve toutes les fonctionnalités importantes.

Les avantages

Les inconvénients


Et dans le futur ?

J’ai mentionné à plusieurs reprises la possibilité de mutualiser du code d’interface utilisateur entre le système embarqué et un écran déporté. C’est une possibilité qui peut-être à mon sens très utile pour de nombreux projets. Permettre de contrôler un système IoT à distance, pouvoir bénéficier d’un écran plus confortable pour contrôler un objet connecté ou encore permettre de contrôler une borne de commande, une machine à café sans la toucher (utile et nécessaire en période de crise sanitaire). Je pense donc que le futur des technologies de GUI embarqué est multiplateforme.

Pour ma part, j’ai le regard posé sur Flutter, cette technologie de Google qui permet déjà avec un même code de générer des GUI pour les différents systèmes mobiles, mais aussi pour les moteurs web. Il existe déjà quelques expérimentations, notamment de Sony, visant à faire compiler Flutter nativement pour systèmes embarqués. Rien d’officiel pour le moment malheureusement, mais rien n’empêche de rêver !

Si vous souhaitez développer un produit équipé d’une interface utilisateur moderne et fluide, vous pouvez faire appel à moi pour discuter de la solution adaptée à votre projet. C’est sans engagement, alors contactez-moi directement !

Article précédent

Compiler le kernel Linux pour système embarqué

Article suivant

Intégrez de l’open source dans votre produit IoT commercial