View  Edit  Attributes  History  Attach  Print  Search

Choix de la plateforme embarquée, plateforme testées

PC embarqué

Le cahier des charges

  • Arguments de choix d'une plateforme :
    • taille,
    • prix,
    • poids,
    • puissance calcul nécessaire,
    • alimentation DC 12V,
    • temps de mise en oeuvre raisonnable,
    • compatible Ubuntu
    • et Arduino/Processing,
    • utilisation de ressources standards par ailleurs (wifi, ethernet, format de fichiers sons, etc... )
  • taille : le plus petit est le mieux. Disons qu'un format embarqué acceptable est grosso-modo la taille d'une demi-feuille A4, soit environ 15cmx21cm sur une épaisseur de 3cm...
    • un eeePC 900 est dans ces dimensions, un eeePC 1001 sera un peu plus grand, de l'ordre de 25cmx20
    • une carte mini-ITX fait 17cm x 17cm, une nano-ITX est plus petite, une pico-ITX fait 7cm x 10cm !
  • prix : le prix doit être le plus bas possible et disons "raisonnable" pour une application dédiée embarquée, et en tout cas, dans le même ordre de grandeur qu'une base embarquée classique type ARM, de l'ordre de 150 €.
    • A titre indicatif, une carte Beagle Board (base ARM) se vend dans les 150 €. 150 € : ceci semble être un prix raisonnable pour le matériel d'un système embarqué complet opérationnel (carte mère + processeur + RAM) sur alimentation DC (12V ou équiv), avec ethernet, USB, carte graphique, carte son, et support de masse (HDD ou SSD) intégrés et accessoires utiles (wifi, webcam).
    • Une autre façon de voir les choses, dans une approche "Arduino" est de considérer le coût cumulé de shields permettant d'obtenir des fonctionnalités comparables (wifi, ethernet, carte SD, audio sons et synthèse vocale, webcam et analyse d'image)... Dans ce cas la facture monte vite, et un système embarqué à 150 € reste largement inférieur à des fonctionnalités équivalentes par shields Arduino.
  • poids : là encore, le mieux est le poids le plus faible. Ici, l'un des objectifs de référence est l'utilisation sur un robot mobile. Un poids de l'ordre du kilogramme semble être un maximum à ne pas trop dépasser. Un autre objectif de référence est l'utilisation à bord d'une plateforme embarquée sur ballon sonde par exemple. Là aussi, on peut difficilement dépasser le kilogramme. L'idée est globalement une mobilisation facile (sur soi, en bateau, en voiture, en camping-car, jardin, etc...) : l'objectif 1Kg semble raisonnable, des poids inférieurs pouvant même être visés, tout en sachant que s'y ajoute le poids de l'alimentation...
  • alimentation DC 12V : il s'agit là d'un point essentiel de la plateforme embarquée : elle doit être alimentée et alimentable sur une source à courant continu (DC) stable, mais pas nécessaire régulée, pouvant délivrer 4 ou 5A environ en pointe. L'exemple type est la batterie 12V de voiture. Exit donc les alimentations sur source 220V vers DC sauf cas particuliers où le 220V est disponible.
  • basse consommation : La plateforme doit également pouvoir être autonome un temps raisonnable, de quelques heures à plusieurs jours, sur sa source d'alimentation ou alimentée par panneau solaire, ce qui suppose une consommation basse. L'objectif est une base embarquée x86 consommant de l'ordre de 20 à 30 W maximum.
  • puissance calcul nécessaire : avec comme projet de référence un PC embarqué sur un robot mobile capable de réaliser de la reconnaissance visuelle et du traitement d'image ou encore de l'affichage permanent de type "oscilloscope", il est nécessaire de disposer d'une puissance de calcul conséquente. Là encore, le plus sera le mieux, dans la limite d'un coût raisonnable. D'après les essais réalisés, un processeur type Atom Intel Dual Core (4 threads) donne de bon résultats (D510 ou D525 ou équiv.. Juin 2011) et reste raisonnable en terme de coût. La fréquence de processeur utilisé ne devra cependant pas être trop élevée sous peine d'avoir une consommation électrique plus importante : 1,6 Ghz est un bon compromis en pratique.
  • temps de mise en oeuvre raisonnable : même si ce point ne semble pas essentiel à première vue, en pratique il est très important. En effet, il suffit d'avoir tenté d'installer une distribution Gnu/linux dite "embarquée" sur une plateforme de type ARM pour comprendre ce que "temps de mise en oeuvre raisonnable" veut dire... Le but premier est de se concentrer sur les développements liés aux fonctions utiles de la plateforme embarquée, pas d'installer le système de base. A ce titre, la distribution Ubuntu et ses variantes donne en pratique d'excellents résultats puisque l'installation du système de base pourra se faire raisonnablement en moins d'une demi-heure sur une plateforme compatible.
  • compatible Ubuntu : dans la lignée du temps raisonnable, le choix se porte tout naturellement sur la distribution Ubuntu et ses variantes qui s'installe simplement à partir d'une clé USB-live. De plus, cette distribution propose une quantité de paquets impressionnante qui permet de faire face en quelques minutes à tous les besoins utiles. Le support de la communauté est par ailleurs très efficace.
  • compatible Arduino/Processing : le système embarqué doit pouvoir supporter l'exécution en embarqué des logiciels Arduino et Processing, ce qui suppose l'exécution embarquée de Java également. Avec les 2 logiciels Arduino et Processing en embarqué, on disposera de fonctionnalités très intéressantes :
    • communication par réseau wifi entre interfaces processing embarquée et fixe
    • programmation de la plateforme embarquée à distance et sans fil via réseau wifi grâce à l'accès au bureau distant du PC embarqué depuis un PC fixe.
    • utilisation des fonctions graphiques propres de Processing (traitement d'image, gestion de fichier et datalogging de donnée) et des librairies avancées de Processing, notamment communication Série avec la carte Arduino, openCV pour la reconnaissance visuelle, gestion réseau, gestion vidéo, la gestion programmée en ligne de commande de programmes système pour la synthèse vocale ou la lecture de fichier sons, etc...
  • supportant logiciels spécifiques utiles : le système embarqué devra pouvoir exécuter en embarqué des logiciels spécifiques utiles tels que la synthèse vocale ou la lecture de fichier sons, donnant accès une utilisation simplifiée sur un robot mobile. L'utilisation de logiciels avancés tel que Blender (3D) devra également être possible...
  • utilisation de ressources standards par ailleurs (wifi, ethernet, format de fichiers sons, etc... ) : l'utilisation des ressources standards devra être supportée, notamment connexion réseau Ethernet, connexion Wifi, lecture des fichiers sons courant, etc... Là aussi, le gain de temps sera appréciable. Par exemple, l'utilisation d'un fichier sonore consistera simplement à télécharger sur internet le fichier voulu et à le lire sur la plateforme embarquée tel quel, sans avoir à l'alléger ou autre...

EeePC et netbook

  • Modèles testés :
    • eeePC 904 (occaz' - 150 Euros)
    • eeePC 1001PX (250 Euros neuf) (Atom N450 corex1 / threadsx2 | RAM 1Go | DD 160Go | wifi | ethernet 10/100 | USBx2)
    • netbook LDLC (270 € neuf) (Atom N550 corex2/threadsx4 | RAM 1Go | DD 250Go| wifi |ethernet 10/100 | USBx3) Livré sans OS installé - Ubuntu 10.04.2 installée sans problèmes par clé USB-live

PC embarqué autour d'une carte mini-ITX (17x17cm)

  • carte mini-ITX (160€ neuf avec alim pico PSU 12V + HDD + RAM) (Atom D510 corex2/threadx4 | RAM 1Go | DD 160 Go | ..) à venir

Autres mini-PC

Voici quelques autres possibilités existantes :

  • Giada PC slim : un miniPC dans un boitier ultra-fin avec USB, wifi, ethernet... 600g... sans OS... vendu 370 € (Juin 2011) - à suivre ...

Du côté des bases ARM

  • Ubuntu propose uns distribution sur base ARM mais il semble, d'après ce que l'on trouve sur le web, que les tentatives d'exécution de Processing sur ces plateformes se solde par un échec (Juin 2011)
  • une plateforme en vogue sur laquelle Ubuntu semble pouvoir tourner : la Beagle board. A noter 150 € environ... ce qui la place dans les mêmes eaux qu'une base mini-ITX brute opérationnelle. L'avantage par rapport à une base x86 ne semble pas évident d'un point de vue mise en oeuvre...
  • le projet RasberryPi : Un tout mini PC de la taille d'une boite d'allumettes sur base ARM, sous Ubuntu, annoncé à 25 € !! Voir ici : http://www.raspberrypi.org/ ... à suivre également... Octobre 2012 : voir mes pages consacrées au RaspberryPi

Conclusion provisoire

  • La tendance est là : il devient possible dès à présent d'envisager d'utiliser un PC embarqué pour un robot ou tout autre projet nécessitant de la puissance calcul, pour un coût acceptable
  • L'avenir devrait logiquement mettre à disposition des plateformes x86 de plus en plus petites, de plus en plus performantes... permettant d'embarquer toujours plus de fonctions évoluées basées sur des ressources logicielles libres sur des robots qui seront de véritables compagnons numériques (reconnaissance vocale, visuelle, etc... ).