Pourquoi recourir à Android dans des systèmes embarqués industriels n’est pas (forcément) une mauvaise idée

par Badr Bouslikhin, CTO Hardware & Firmware

L’idée d’utiliser Android plutôt qu’un Linux embarqué traditionnel dans la conception d’un système embarqué industriel peut paraître contre-intuitive. En effet, la fiabilité d’Android peut être remise en cause, sans compter que cette technologie nécessite un développement plus long et plus coûteux à court terme. Pourtant, selon le produit et ses usages futurs, il peut s’agir d’un investissement intéressant. Explications.

 

Pour quel type de système embarqué Android est-il pertinent ?

 

Dès sa création, Android est destiné aux systèmes embarqués complexes comme un smartphone ou une tablette intégrant des processeurs multi-cœurs pour du traitement audio ou vidéo. Ces derniers disposent de par leur conception d’un nombre important de ressources partiellement ou non exploitées dans les smartphones et susceptibles d’intéresser d’autres applications industrielles.

Pour un système embarqué embarquant un écran tactile, il peut être intéressant de choisir Android. Pour des interfaces graphiques simples, ce n’est pas forcément nécessaire, mais pour des interfaces graphiques riches et complexes, Android présente des avantages indéniables.

En plus de la souplesse et du confort graphique proposé par Android, tout système embarqué nécessitant tout ou une partie des autres fonctionnalités d’un smartphone : téléphonie, GPS, accéléromètre, Flash, connexion Internet, WiFi, Bluetooth, BLE, NFC, l’accès au store Google Play … justifie le choix Android.

Enfin, si en complément des fonctionnalités précédentes, d’autres fonctionnalités nécessaires sont rendues disponibles par les ressources complémentaires évoquées précédemment (entrées sorties, bus série, mémoire…), dans ce cas-là aussi Android se justifie.

Au-delà de toutes ces fonctionnalités, l’intérêt d’Android s’adresse à des systèmes embarqués pour lesquels la multiplication aisée d’applications “type mobile” représentera un avantage fonctionnel et concurrentiel. Disposer d’un seul de ces avantages justifiera le surcoût initial d’intégration. Exemple : de nombreux systèmes avec un écran, tels que les GPS ou les ordinateurs de bord automobiles, fonctionnant avec Android.

Sachant qu’Android est historiquement un système d’exploitation pour les smartphones, il consomme plus qu’un Operating System optimisé pour les systèmes embarqués. Dans le cas d’un système embarqué sur batterie ou pile, une optimisation, par un expert, d’Android sera indispensable.

Quels sont les avantages d’Android pour les systèmes embarqués industriels

Avec Android, aucun risque de manquer de développeurs

Développés par des ingénieurs en embarqué, les “drivers” sont des couches firmwares dites bas-niveau permettant de lier le matériel au logiciel applicatif. C’est grâce à eux qu’une application pourra par exemple utiliser le Wifi ou la 3G/4G pour fonctionner, afficher une image sur un écran, lire une carte bancaire ou encore imprimer un ticket.

Une fois ces drivers développés, il vous reste à développer les applications métiers. Or, si ces développements se font sous un autre système d’exploitation qu’Android, ils vont solliciter les compétences rares actuellement de développeurs en embarqué. À l’inverse, en choisissant dès le départ un système Android pour son système embarqué, un développeur d’applications mobile Android pourra travailler sur cette partie applicative. Le choix d’Android permet d’éviter ainsi la pénurie actuelle de développeurs embarqués et d’assurer un Time To Market de plus en plus contraint.

Il en va de même pour la maintenabilité des applications voire leur transfert vers des sites offshore.

 

Android : Une plus grande facilité d’évolution

 

Choisir un système d’exploitation Android permet de se prémunir d’une pénurie de développeurs, mais pas seulement. Ainsi, si l’entreprise souhaite faire évoluer les usages de son produit, elle pourra facilement créer de nouvelles fonctions sur la partie applicative. L’application ne sera pas plus compliquée à développer que sur un téléphone. Pour rappel, Android est nativement mobile, il possède un écosystème applicatif important et une forte communauté. Étant donné que les APIs facilitent le développement des applications, les développeurs n’ont pas besoin de connaître l’architecture sous-jacente Android. Le produit et ses usages peuvent donc se permettre d’évoluer dans le temps, la machine pourra avoir des cas d’usages supplémentaires, puisqu’il sera facile de créer de nouvelles applications. Choisir Android laisse donc plus d’ouverture et de souplesse.

 

Un exemple concret d’utilisation d’Android dans un système embarqué

Expert en stationnement et leader de la mobilité urbaine en France, Flowbird (anciennement Parkeon) avait pour projet de créer une nouvelle génération d’horodateurs. Équipés de tablettes complexes, ces derniers doivent proposer plusieurs contenus multimédias à leurs utilisateurs, tels que de la location de vélos et de trottinettes, ou encore des bons de réductions pour certains lieux à proximité.

Pour ce projet au cœur des enjeux de la Smart City, Flowbird a choisi de recourir à Android pour la conception et la programmation de l’interface de la machine. Ces horodateurs fonctionnent à l’aide de panneaux solaires et sont connectés grâce à une carte SIM intégrée. Les contraintes sont donc fortes, sans compter que ces machines doivent pouvoir être opérationnelles 7J/7 et 24h/24, en extérieur, et ce pendant plusieurs années.

Les ingénieurs Rtone ont fait le choix d’Android pour ce système embarqué, car il nécessite une interface graphique et appelle à un système évolutif. Il est certain que l’aspect industriel de ce projet a apporté des contraintes supplémentaires, mais il a suffi de les intégrer dès le début de la conception pour les surmonter et proposer une solution adaptée. Ainsi, Flowbird peut faire appel à des développeurs mobile pour apporter de nouvelles fonctionnalités ou de nouveaux services dans le futur.

 

Développer un device Android nécessite un plus grand investissement en termes de temps et d’argent, mais peut avoir un intérêt sur le long terme. Certaines données d’entrée en font un choix logique : fonctionnalités typées smartphone, évolution dans le temps. Ainsi, il ne faut pas écarter d’emblée la solution Android pour un système embarqué industriel. Les contraintes de ce type de projet sont certes à prendre en compte, mais pas incompatibles avec un tel système. Le software Android possède des avantages non-négligeables dont il serait dommage de se priver !

X