Evoca
Migration vers ARM64 et nouvelle génération de machines
Evoca avait déjà de nombreuses machines à café tournant sur Linux. Une d'entre elle, la Maestro Touch, leur modèle le plus haut de gamme propose une interface utilisateur entièrement personnalisable par les clients. L'interface utilisateur reposant sur des technologies web.
L'objectif était d'amener ces technologies, tournant sur une plateforme matérielle onéreuse, en architecture x86, sur une plateforme plus abordable, en architecture arm64.
Evoca a fait appel à Lenewt afin de :
- Réaliser une preuve de concept système et applicatif
- Concevoir le système Linux pour la nouvelle plateforme
- Intégrer le BSP de son fournisseur
- Intégrer et adapter son écosystème applicatif
- Intégrer les fonctionnalités de communication entre l'applicatif natif et l'interface utilisateur
Cette nouvelle machine étant la première d'une toute nouvelle génération, Evoca avait pour objectif de pouvoir réutiliser le travail effectué sur le système avec toutes ses futures machines.
La solution Lenewt
La preuve de concept
Evoca savait ce qu'ils voulaient mais n'étaient pas sûr de la faisabilité et de la puissance matérielle nécessaire. La première étape a donc été de mettre à l'épreuve le System On Chip proposé.
Nous avons configuré un système Linux minimal à l'aide du Yocto Project, intégré les technologies utilisées par l'application native ainsi que celles nécessaires au bon fonctionnement de l'interface utilisateur web.
Nous avons ensuite repris le code de l'application web existant sur la Maestro Touch et avons apportées les modifications nécessaire à son exécution sur la nouvelle plateforme ARM64.
A l'issue de cette phase, nous avons pu confirmer la faisabilité du projet et la capacité du SoC sélectionné à faire tourner l'ensemble avec des performances satisfaisantes.
La conception du système Linux
Suite aux résultats de la preuve de concept, Evoca est revenu nous voir avec leur première carte électronique intégrant le System On Chip validé. Le projet validé, nous avons conçu le système Linux final, intégrant le BSP (Board Support Package) fournie par le fabriquant de la carte. Nous avons intégré tous les éléments de l'écosystème applicatif des machines Evoca ainsi que de leurs outils de mise à jour propriétaires.
Nous avons conçu le système afin qu'il soit exploitable sur les projets futurs avec un coût d'adaptation et de maintenance minimal.
La sécurisation du système
Nous avons travaillé à la sécurisation du système Linux, notamment par la mise en place d'une chaine de confiance.
Le développement applicatif
En parallèle du travail effectué sur le système, nous avons modifié l'application native de la précédente génération de machine afin de lui intégrer l'interface utilisateur web. Nous avons pu récupérer le travail effectué dans le passé par Lenewt sur la Maestro Touch.
Ainsi le connecteur responsable des communications entre l'application native et l'interface utilisateur a pu être réutilisé facilement grâce à l'architecture découplée que nous avions mis en place. Les écrans natifs de configuration et de mise à jour de l'interface, ainsi que leur concrétisation interne, ont été portés et adaptés.