Languages

Conclusions réseautiques

Quatre types de réseaux

Alors, suite à mes dernières expériences et constatations, voici un petit résumé de la situation actuelle. Quand j'ai commencé à réfléchir à cette idée de réseaux de modules sur laquelle je suis parti, j'avais en tête un réseau avec des connections un peu dans tous les sens. Les découvertes que j'ai faites sur les protocoles sériel et I2C me conduisent à la conclusion qu'aucun de ces deux protocoles ne permet, a priori, ce type de réseau. Cependant, ils permettent d'autres types de réseaux.

J'ai illustré cette idée dans le schéma ci-joint. De manière générale, j'identifie quatre types de réseaux:

  1. Ligne (supporté par sériel et I2C)
  2. Cercle (supporté par sériel et I2C)
  3. Arbre (supporté par I2C seulement)
  4. Rhizome (supporté par aucun de ces deux protocoles)

La ligne a l'avantage d'être simple, par contre elle est unidirectionnelle. Cette lacune est corrigée par le cercle qui est une ligne dont la fin est reliée au début: l'information peut être transmise dans les deux directions en envoyant un message qui traverse l'ensemble des noeuds et revient. L'arbre impose un rapport hiérarchique strict mais permet de communiquer d'un noeud plus élevé vers plus d'un noeud en bas (en fait la ligne est une sorte d'arbre très simple...). Enfin le rhizome serait plus le type de réseau que j'avais en tête au départ, où l'information peut circuler un peu dans tous les sens.

Bref, ces contraintes sont acceptables et même intéressantes, entre autres parce qu'elles rappelent des formes naturelles. À suivre dès demain.

Alors, suite à mes dernières expériences et constatations, voici un petit résumé de la situation actuelle. Quand j'ai commencé à réfléchir à cette idée de réseaux de modules sur laquelle je suis parti, j'avais en tête un réseau avec des connections un peu dans tous les sens. Les découvertes que j'ai faites sur les protocoles sériel et I2C me conduisent à la conclusion qu'aucun de ces deux protocoles ne permet, a priori, ce type de réseau. Cependant, ils permettent d'autres types de réseaux.

Bon schéma !

Schéma en ouverture résumant parfaitement les différents types de hiérarchies !
Surtout très intéressant de voir que ces types de construction permettent de réfléchir aux formes de modélisation dans quasiment tous les domaines.
Colin

Software Serial

La librairie SoftwareSerial de Arduino pourrait permettre de faire des structures en rhizome ou en arbre. Elle impose cependant des contraintes solides, comme le fait de ne pas pouvoir avoir d'interrupts ie. il n'y a pas de Serial.available() et la fonction read() attends jusqu'à ce que des données arrivent. On pourrait cependant mettre un timeout sur ce read() pour éviter les boucles sans fin. Au fond c'est comme si les modules devaient être en écoute active pour pouvoir recevoir un message (contrainte intéressante).

L'autre contrainte: normalement ça devrait fonctionner avec une clock interne MAIS rien ne le garantit. Il faudra faire des tests.

Il existe une version de la SoftwareSerial library qui utilise des interrupts, mais apparamment elle ne fonctionne pas avec la clock interne.

Références:
http://www.ladyada.net/make/eshield/AFSoftSerial.zip
http://forums.ladyada.net/viewtopic.php?t=7072&sid=80406b85d80616f5cd610...
http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1202245205/28
http://www.arduino.cc/en/Reference/SoftwareSerial

Software serial

Il y a une option également qui pourrait briser ce modèle par rapport au sériel. En effet, le sériel "hardware" n'a qu'une entrée et une sortie. Mais on peut utiliser la communication sérielle sur d'autres pins... il existe même une librarie pour ça avec Arduino:
http://arduino.cc/en/Reference/SoftwareSerial

Mauvais modèle?

En fait je pense que ma vision du protocole I2C est toujours déficiente. Ça fonctionne plutôt sur un modèle de bus. Enfin, toutes mes expériences avec ça me posent des problèmes de synchronisation, j'aime pas trop le fait d'utiliser des interrupts, ça demande de réfléchir d'une manière différente...

Je vais m'essayer avec le sériel maintenant.

Post new comment

The content of this field is kept private and will not be shown publicly.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <pre> <h3> <h4> <h5> <h6>
  • Lines and paragraphs break automatically.

More information about formatting options

CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions.
Fill in the blank
By submitting this form, you accept the Mollom privacy policy.