Conception d'une structure avec automate
Bonjour,
je ne sais pas comment organiser et structurer un programme avec des états (nombreux) définis.
voici l'architecture matérielle :
Couche applicatif : un PC et mon programme
| lien série
Couche métier : un microcontroleur et un émeteur radio
| lien radio
Couche client : un émeteur radio et un serveur
Fonctionnement :
mon programme envoi des messages au microcontroleur, qui pilote le poste radio et envoi les messages au serveur distant.
Dans cet envoi, il y a plusieurs phases :
- envoi du message au microcontroleur
il retourne : message envoyé par radio ou echec d'envoi
si il y a echec d'envoi, il faut retenter plus tard (canal radio indisponible)
le serveur distant reçoit mon message et
- il peut acquiter si il a reçu correctement mon message radio (pas de parasite)
- il peut ne pas acquiter (message erroné dans la transmission radio) et je doit renvoyer mon message plus tard.
En parallèle de tout ceci, je peux demander des informations locales au microcontroleur ...
Comment organiser mon programme pour que tous ces échanges se passent le mieux possible ?
Avez vous des axes de recherche à m'indiquer ?
Comment gérer les retry et les délais d'attente d'acquitement ?
Merci,
Nicolas
Automate de transmission de messages
Salut,
Je pense que ton problème est proche de celui de X25 qui gère en plus l'anticipation de messages par fenêtre. Le mieux est donc de regarder la très abondante doc sur le sujet qui est clairement expliquée dans plein de cours de fac ou de bouquins de prof de fac comme "Réseaux et Télématique" de Pujol (ce n'est qu'un exemple) ou mieux si tu t'y connais déjà en réseaux, tu prends les STUR (Spécifications Techniques d'utilisation du Réseau) de Transpac qui reste la référence mondial d'un réseau fiable car il répond aux 3 règles
- Pas de perte de données
- Pas de désynchronisation des messages
- Pas de génération spontanée de données (oui le réseau US X25 ARPANET en générait lui)
Voilà