Votre panier est actuellement vide !
En 2016, nous testions pour la première fois le logiciel du miroir connecté sur une SoC Board, une carte PC dédiée à l’embarqué.
L’embarqué, c’est tout ce qui touche aux objets connectés. Autrement dit, les ordinateurs contraints par la taille, les performances, la mobilité, l’autonomie. Il s’agit de tous ces appareils que vous pouvez croiser, parfois même sans vous en apercevoir, lorsque vous interagissez avec un appareil “intelligent”, ou “connecté”. De l’écran de contrôle de votre voiture, à votre alarme, en passant par la guirlande connectée.
Concernant notre miroir connecté intelligent, nous étions contraint principalement par la compatibilité avec l’OS Windows. Il s’agit d’une contrainte liée aux choix du développement logiciel. Nous y reviendrons à la fin de l’article.
Nos premiers prototypes s’exécutaient sur Raspberry Pi 3. Nous ne pouvions par poursuivre sur ce modèle de carte puisqu’il n’était pas supporté officiellement par Microsoft, et n’offrait pas la possibilité de transmettre l’audio de la carte via le câble HDMI de l’écran. Ni Microsoft, ni la Fondation Raspberry Pi ne souhaitaient investir dans le développement des drivers ?!
Dans un soucis d’industrialisation, nous testions la Dragonboard 410c de Arrow, offrant de trop faibles performances (1,2Ghz 1Gb RAM), nous devions nous tourner vers une autre carte. D’autant qu’avec le temps, nos développements se poursuivaient, enrichissant les fonctionnalités : ayant intégré de l’intelligence artificielle, comme la détection de la brosse à dent, ou de la paume des mains, nous sollicitons grandement le processeur pour calculer et traiter les opérations de détection nécessaires aux modèles de reconnaissance embarqués.
A cause de l’OS, le choix des cartes étaient très restreint. Et je vous épargne la documentation de Microsoft à ce sujet, et l’obligation de solliciter des partenaires pour obtenir des licences de distribution ou personnaliser l’image Windows (pour remplacer son logo au démarrage du système par exemple). Il y a tellement de contraintes sur ce sujet, cela fera l’objet d’un autre article.
Notre choix suivant s’est alors tourné vers les cartes “LattePanda”, compatible avec Windows 10. Nous nous sommes rapidement aperçu que la version LattePanda V1 ne suffirait pas non plus. Bien que nous parvenions à exécuter le logiciel et y connecter l’ensemble de nos connectiques, la V1, avec un CPU de 1.92GHz et 4Gb de RAM, n’était pas suffisamment performante. Notamment à cause de sa mémoire, quasiment consommée par l’OS ! Le miroir n’était pas fluide, nous avions des ralentissements importants, rendant l’utilisation du miroir impossible.
Nous devions donc nous tourner vers une carte proposant un CPU plus puissant, ou une carte compatible Windows 10 IoT Core. Une version IoT de Windows, avec un noyau “allégé” et donc plus performant, surtout moins gourmand ! Nous décidions alors de tester la Up Board d’Intel, aux caractéristiques équivalentes (1,8GHz 4Gb RAM), mais offrant la possibilité d’exécuter Windows 10 IoT Core, et donc de gagner en performance.
Quelle erreur ! Nous avons perdu beaucoup de temps à assimiler la board pour y connecter les composants GPIO, sans pour autant nous offrir de meilleures performances, malgré l’utilisation de Windows 10 Iot Core.
Alors toujours contraint à utiliser l’OS Windows, nous nous tournions vers la carte LattePanda Delta 2, compatible Windows 10. Nous abandonnions l’idée de poursuivre sur Windows 10 IoT Core, par ailleurs abandonné par Microsoft. Il fallait alors augmenter notoirement les performances.
Cette carte fut celle que nous utilisions pour notre prototype principal, notamment pour les démonstration du miroir sur les réseaux. Elle offre des performances bien plus intéressantes que la V1: un CPU jusqu’à 2,4GHz ! Une communauté qui a le mérite d’exister, une documentation très claire et suffisamment complète. Le problème que nous rencontrions alors était d’ordre financier. Le prix de la Delta 2 était de 196€ HT, contre 179€ HT pour la Up Board et ~100€ HT pour la LP V1.
Avec l’ouverture des précommandes et les premières sollicitations des “early adopters”, nous avons été confrontés à une nouvelle contraintes technique.
Bien que nous avions anticipé une utilisation “autonome” du miroir chez nos clients, avec notamment les mises à jours à distance, et une configuration manuelle au démarrage via l’application mobile, nous étions toujours bloqué par un élément essentiel.
Ce mode permet un redémarrage automatique de l’application logicielle si celle-ci rencontre un plantage intempestif. Autrement dit, si le miroir crash, il redémarre seul. Or, nous ne pouvions pas utiliser ce mode depuis notre migration vers Windows 11 et l’utilisation du Framework WinUI, bibliothèque de développement logiciel recommandée par Microsoft pour les applications Windows.
Nous étions à la pointe de la technologie logicielle, mais rencontrions des blocages “archaïques” lié à l’embarqué.
Guillaume Demicheli – Fondateur l’Octet.
2 problèmes persistaient:
Bien que ce choix puisse paraître évident aujourd’hui, il ne l’était pas il y a quelques mois. Quitter Windows pour Linux est évidemment la solution qu’il fallait pour s’abstraire des coûts de licences, d’optimiser les performances mais surtout lever la contrainte du mode Kiosk.
Le choix d’abandon de Windows a été rendu possible grâce à l’existence de la plateforme Uno et .Net Core. Ce Framework offre la possibilité de cibler toutes les plateformes, notamment Linux, sans avoir à réécrire son code. dotnet étant supporté sur les distributions Debian (entres autres), nous avons utilisé Uno pour “traduire” notre couche UI (WinUI) vers une couche UI interprétable sur Linux (Gtk).
Linux est le meilleur choix pour les systèmes embarqués. Son noyau est adapté et offre une multitude de distributions, toutes personnalisables assez simplement et monstrueusement efficaces.
Il aura fallu quelques heures de personnalisation sur Linux pour configurer le mode Kiosk impossible à obtenir sur Windows (à moins de solliciter des partenaires pour une personnalisation de l’image Windows pour un coût >10 000€ de prestation).
Et les avantages ne se limitent pas à ces 2 points. Ils sont nombreux et à fort impacts pour certains. La grande majorité des SoC Boards sont compatibles Linux, notamment les cartes Raspberry Pi, et surtout sa dernière version !
L’arrivée du Raspberry Pi 5 est une révolution : un bijoux technologique à un prix mini 2,4 GHz à 57€ HT !
Le Raspberry Pi 5 est au prix de 56.67€ HT. Ses performances sont équivalentes à la LP Delta 2 à 219€ HT avec licence Win10. Il n’y a aucun doute, le Rasp est la meilleure carte sur le marché aujourd’hui en terme de rapport perfs/qualité/prix.
Il aura donc fallu attendre la sortie du Raspberry Pi 5, en Octobre 2023, pour entamer une migration, grâce également à la maturité de la plateforme Uno et de .Net Core sur Linux.
Nous proposons aujourd’hui l’ensemble des fonctionnalités du miroir que vous connaissez, à l’exception de Spotify, Widget pour lequel quelques ajustements sont encore nécessaires.
Aussitôt ce Widget opérationnel, nous pourrons envisager, à nouveau, de répondre à la demande de nos early adopters, cette fois, pleinement autonome, performant, fiable et robuste !
Retrouvez-nous sur les réseaux en attendant !
Laisser un commentaire