Category Archives: Non classé

Parlons « embarqué »

by Matthieu

Je me décide à parler de ce qui me fait gagner ma croûte et me permet de craquer parfois sur du matériel photo, et par la même occasion bouffer et avoir un toit. Le « système embarqué ». Sous ce terme très à la mode, se planque la plupart des choses qui font qu’au quotidien vous pouvez utiliser un programme super compliqué sur votre machine à laver (lavage à 38,12°, puis essorage un peu vif mais pas trop , séchage optimal pour le t-shirt « 10 types de personnes, ceux qui connaissent le binaire et les autres » sans abimer la dentelle de la lingerie de madame), avoir des super intéressantes sur l’afficheur digital de votre autoradio, savoir combien de kilomètres vous pouvez encore parcourir avec votre voiture, ou bien configurer votre box internet pour laisser ouvert le port pour recevoir plus rapidement les films que votre cousin d’Amérique vous envoie par Internet.

Bref, yen a partout. Mais physiquement, ya quoi derrière ce merdier?

Ben la plupart du temps, le même bordel que dans votre PC. Un truc pour recevoir des stimuli de l’extérieur, un bouzin pour traiter les infos, et un bidule pour sortir des infos plus ou moins intéressante.

Question 1 : Alors ça veut dire qu’on pourrait utiliser un PC pour faire plein de truc dans ma machine à laver ?
Oui, clairement, le PC standard de Madame Michu a la capacité suffisante pour le faire. Mais…

Question 2 : mais pourquoi ya pas de prise USB sur ma machine à laver comme sur mon PC ?
Obvious : ça coûte des thunes ! et c’est inutile d’avoir un Core 2 Quad pour gérer le cycle d’essorage.

Question 3 : Il y a quoi dans ce cas dans ma machine à laver ?
Il peut y avoir plein de chose. Mais surtout, il y un chef d’orchestre, un composant qui peut être clairement omnipotent sur tout ce qui se passe dans la machine, de la présence d’une source d’énergie suffisante, à la gestion de la température de l’eau, en passant par l’usure du moteur électrique du tambour de la machine (important ça, mais pas si utiliser que l’on aimerait).

Et ce composant, c’est la plupart du temps un microcontrôleur.

Question 4 : C’est quoi un microcontrôleur?
C’est ça. Selon ma propre définition, c’est un microprocesseur avec des périphériques intégrés, parce que vous le savez déjà, bande de geek, quand on intègre plusieurs fonctions dans un même composant, c’est moins cher que de les prendre en pièce détaché. On va donc trouver plusieurs fonctions comme :

  • un cœur central qui fait des calcul (le microprocesseur, finalement)
  • une petite mémoire vive
  • parfois une mémoire morte
  • des entrées/sorties numériques
  • des entrées/sorties analogiques
  • des UART (Universal Asynchronous Receiver Transmitter) (mon dieu, en cherchant la traduction exacte du terme, je me suis rendu que j’écrivais la même chose que wikipedia…) qui sont globalement des liaisons séries (ouais, la prise DB-9 sur laquel vous branchiez votre antique modem 33k).
  • etc

Ça a l’air de rien comme ça, mais votre Core 2, il fait pas tout ça. Bon… je m’avance un peu. Mais en tout cas, les premiers microprocesseurs d’homme avait besoin de plein de merdier autour d’eux pour gérer l’ensemble des tâches qu’on leur confiait. Pourquoi à votre avis vot’ Paintiomme il a un southbrigde et un northbrigde avec lui ?

Le microcontrôleur, lui, il se suffit « presque » à lui même, et surtout, il le fait pour pas très cher. Le micro le moins balèze que j’utilise pour le moment est un PIC 18F2525, dont le pris atteint la somme faramineuse de … 5 euros ? Et encore !

Bien évidement, tout comme pour les processeurs de PC, on a le choix. Et que dis je, on a plus que le choix. En effet, là où en informatique classique, on conseille à Madame Michu de prendre le dernier cri parce que c’est trop tout neuf de la balle, dans l’industrie on regarde à deux fois avant d’acheter, parce que le prix n’est clairement pas le le seul soucis du concepteur de système embarqué de lave linge (d’ailleurs, le prix, c’est souvent le département achat qui va lui dire : « dis donc, ton Coldfire, il coûte un peu cher là (un peu plus qu’un centaine d’euros), tu veux pas un PIC ou un ARM à 5 euros plutôt? »).

Pour repartir sur les choix possibles, on a donc plusieurs critères qui rentre en compte, comme par exemple :

  • la puissance brute : alors que les processeurs 64bit commencent à être utilisé en info « domestique », les micro, eux, existe encore en version 8, 16 ou 32bit. La vitesse joue également son rôle
  • le nombre de périphérique intégré : avoir un micro qui mouline à fond, c’est bien, mais si en plus on a plein de chose a lui faire faire (des acquisitions, de la comm série, ethernet, du calcul différentiel intégralement dérivé), c’est mieux qu’il est les bons périphériques déjà tout près (UART, liaison CAN, controlleur ethernet, etc)
  • la consommation électrique : s’il pouvait en plus être invisible sur la facture électrique (et autonome longtemps sur batterie…)
  • le prix : monde capitaliste, quand tu nous tiens.
  • le support technique: l’air de rien, un micro avec une grosse doc peut couter plus cher que son homologue russe… dont la doc n’existe qu’en russe. Sans parler des outils de développement qui vont avec.
  • la techno utilisé en interne : exemple à deux balles, un micro Intel sont en little endian, les Freescale sont en big endian, et essayer d’accorder les violons dès le départ en choisissant bien sont composants peut épargner des emmerdes (j’y reviendrais)

Bref, c’est quand même un beau bordel tout ça. Je vais préparer une suite ou je parlerais des langages, des périphériques, du jargon du coin, d’outils de dèv, et tant qu’à faire d’exemple pratique.


Piloter un Pekee avec sa DS

by Matthieu

Moi et mes peutes avons réalisé un projet pour l’école. J’ai fait une news sur le site dev-fr.org.
News que voici


Bonjour à tous!

Je me permet de me newser moi même pour vous faire part de mon, enfin, notre, projet de fin d’étude.
Pour recituer le contexte, dans le cadre de mes études d’ingénieur, j’avais un projet à réaliser pour une entreprise, ou bien un projet personnel. Le début du projet était février 2007. En décembre 2006 j’ai découvert PAlib, et comme un geek, j’ai décidé de faire mon projet la dessus.
J’ai donc monté un vague pretexte avec ma chérie (étudiante dans mon école également) pour proposer un projet avec la DS, à savoir piloter un robot avec la DS.

Coup de chance, l’école possédait un petit robot en forme d’aspirateur, le Pekee, qui ne demandait qu’à être utiliser pour sortir de son placard.

Janvier, nous avons recruté 4 personnes (le projet se fait par équipe de 6). De février à juin 2007, nous avons fait des études sur les différentes possibilités et la réalisation de trucs « innovants » à faire avec la console (avec cahier des charges, études de faisabilité et tutti quanti).
De septembre 2007 à janvier 2008, nous avons réalisé la partie technique.

L’idée de base :
6 interfaces de pilotage (pour envoyer des ordres genre avancer, reculer, gauche, droite, stop ou autre)
– clavier
– boutons virtuels
– cible (inspiré du maniement de Mario dans Mario 64 DS)
– Spatial
– Vocal
– Reconnaissance de forme

Liaison wifi entre la DS et le Pekee.

Au final :
6 interfaces comme prévu, sauf que la reconnaissance vocal est remplacé par une reconnaissance « musicale », on joue une note à la flute, la note est reconnue et correspond à un ordre. Le principe algorithmique derrière est le même sauf que le temps de calcul est plus rapide et l’identification plus facile.
La liaision qui devait etre direct se fait part l’intermédiaire d’un serveur linux. La raison est que le Pekee doit etre piloté avec ses propres bibliothèque de programmation que nous avons pas réussi à porter sur la DS. En gros, on pilote un programme qui pilote le robot.

Nos démos ont fait sensations à l’école, et maintenant que tout ça est fini, je me permet de vous exposer le projet fini.

Au niveau de l’avenir du projet, je compte surtout continuer à bosser sur la reconnaissance vocal (améliorer l’algo etc.) car les cours sont fini, et j’ai plus le robot! La reco vocal est le seul truc qui est vraiment besoin d’être amélioré.

Le programme peut s’utiliser en mode non connecté pour ceux qui veulent voir à quoi ça ressemble. J’imagine que ça n’impressionnera pas grand monde étant donné que ça reste « qu’une télécommande ».

Et une petite vidéo parce que c’est plus rigolo vue comme ça

Au chapitre des special thanks, Mollusk évidement qui nous a dépanner/aider/supporter pendant un an. Ce gars envoie du bois.

Le plus étrange, c’est qu’en tapant pekee ds dans google, je vois que la news a déjà été très très loin.
En anglais, en allemand, espagnol, russe, indien…

C’est ça le marketing viral?


Theme by Ali Han | Copyright 2024 Embarquement ! | Powered by WordPress