ELECINF344/381

Partie interactive du site pédagogique ELECINF344/ELECINF381 de Télécom ParisTech (occurrence 2011).

Catégories

Communications internes et externes

Maintenant que certains d’entre vous en sont à prototyper certains aspects de vos projets, voici quelques rappels et conseils sur les interfaces et la communication.

Les interfaces

Toutes les interfaces entre un projet et l’extérieur devront utiliser des protocoles usuels. Si vous le pouvez, utilisez HTTP et REST, en préférant JSON ou XML à un format ad-hoc. Si vous utilisez un STM32 avec 802.15.4, choisissez plutôt CoAP.

Les communication inter-modules

Dans la mesure du possible, pour ceux qui utiliseront des Linux embarqués (que ce soit sur Armadeus, Gumstix ou Beagleboard), ne faîtes pas un gros programme monolithique qui permet de gérer tous les aspects de vos projets. Des petits modules indépendants, communiquant entre eux à l’aide de 0MQ, seront beaucoup plus facilement testables et remplaçables par des alternatives.

Par exemple, dans le cas du projet IRL, il n’est pas souhaitable de faire un seul programme qui gère à la fois l’aspect interface avec le monde extérieur (serveur web, récupération des messages Twitter, etc.) et la communication avec le FPGA pour piloter le laser. Un programme qui ne fait que le pilotage du laser interfacé avec 0MQ pour recevoir des commandes sera plus souple et plus efficace.

De même, si un de vos programmes possède plusieurs threads, envisagez la possibilité de leur faire échanger des données non-modifiables à l’aide de 0MQ, cela facilitera la synchronisation.

Sur le même sujet :

  1. Laser, début de l’aventure
  2. IRL : du nouveau, encore du nouveau !
  3. IRL : Forme générale du projet
  4. IRL, la réflexion DMX avance
  5. IRL : Avancées du weekend

Commentaires fermés.