Partie Communication
2 participants
Page 1 sur 1
Partie Communication
Voici un bref rappel des protocoles:
SAP_1 <-> SAP_2 <-> SAP_3 <-> ... <-> SAP_N-1 <-> SAP_N <-> RObot_1
1) Quand SAP_i a soif, il envoie un message au robot_n de la manière suivante (Mesh):
Si le robot est à la portée du SAP_i Alors le message n'est pas forwardé aux autres SAP
Sinon SAP_i forwarde le message à l'un de ses voisins (SAP_i-1 ou SAP_i) et les voisins forwardent à leur tour le message jusqu'à ce que le Robot le reçoive.
Les deux cas ci-dessus se font de manière transparente (pris en charge par le protocole Zigbee).
2) Dès que le robot_n reçoit le message, il renvoie un message d'acquittement puis il se déplace vers SAP_i.
Si SAP_i ne reçoit aucun acquittement de la part de robot_n au bout d'un timeout, il essaie de faire appel à un autre robot (exemple robot_n+1 ou robot_n-1).
Si aucun des robots ne réponds, la plante cesse d'envoyer son message.
3) Si un robot_n reçoit plusieurs demandes, il demande aux autres robots (robot_n-1 ou robot_n+1 par exemple) de réaliser la tache.
Si les autres robots ne répondent pas au bout d'un timeout, il servira les SAP à tour de rôle (FIFO).
Ce qu'on doit avoir dans un les paquets:
Type de noeud (entier):
- robot: 0
- sap: 1
Id noeud (entier):
- ID: 0, 1, ...
Type de message (entier):
- Message de soif: 0
- autres: (sert pour la communication entre robot, à définir) 1, 2, 3, ...
quantité d'eau demandée par SAP:
- En centilitre(?): 1, 2, 3, ..., 30, ...100
SAP_1 <-> SAP_2 <-> SAP_3 <-> ... <-> SAP_N-1 <-> SAP_N <-> RObot_1
1) Quand SAP_i a soif, il envoie un message au robot_n de la manière suivante (Mesh):
Si le robot est à la portée du SAP_i Alors le message n'est pas forwardé aux autres SAP
Sinon SAP_i forwarde le message à l'un de ses voisins (SAP_i-1 ou SAP_i) et les voisins forwardent à leur tour le message jusqu'à ce que le Robot le reçoive.
Les deux cas ci-dessus se font de manière transparente (pris en charge par le protocole Zigbee).
2) Dès que le robot_n reçoit le message, il renvoie un message d'acquittement puis il se déplace vers SAP_i.
Si SAP_i ne reçoit aucun acquittement de la part de robot_n au bout d'un timeout, il essaie de faire appel à un autre robot (exemple robot_n+1 ou robot_n-1).
Si aucun des robots ne réponds, la plante cesse d'envoyer son message.
3) Si un robot_n reçoit plusieurs demandes, il demande aux autres robots (robot_n-1 ou robot_n+1 par exemple) de réaliser la tache.
Si les autres robots ne répondent pas au bout d'un timeout, il servira les SAP à tour de rôle (FIFO).
Ce qu'on doit avoir dans un les paquets:
Type de noeud (entier):
- robot: 0
- sap: 1
Id noeud (entier):
- ID: 0, 1, ...
Type de message (entier):
- Message de soif: 0
- autres: (sert pour la communication entre robot, à définir) 1, 2, 3, ...
quantité d'eau demandée par SAP:
- En centilitre(?): 1, 2, 3, ..., 30, ...100
Aro- Messages : 50
Date d'inscription : 15/10/2011
Re: Partie Communication
J'adore ton "rappel" que je découvre pour la 1ère fois. Merci de m'avoir mise au courant de ta version du protocole pour coder les messages entre SAP à une semaine de la fin du projet.
Re: Partie Communication
lol, oui c'est un rappel car ils sont dans les slides, et on en a discuté plusieurs fois depuis le début du projet.
Aro- Messages : 50
Date d'inscription : 15/10/2011
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
|
|