[Tuto] Implémenter un protocole de communication

barbudor:
Osaka, tu pourrait revenir vers moi avec plus de détails sur tes commentaires. Je ne suis pas sur de comprendre ce que tu voudrais que je modifie.

Pas vraiment besoin de modifier, c'est une simple suggestion.
Peut être une précision à mette en début du tuto pour les débutants vraiment débutant qui on du mal à visualisé le fait qu'une transaction ce fais octet par octet et non une variable (de plus d'un octet) entière d'un coup.
D'un côté ça voudrait dire qu'ils ne savent pas ce qu'est un octet :sweat_smile:.
Enfin de toute façon on s'en aperçois assé rapidement dans ton tuto donc là c'est moi qui en fais un peux trop sans doute :* (et pourquoi je n'en fini pas avec mon tuto sur les pointeurs :sweat_smile:), c'est juste qu'on rencontre de temps en temps la question: "Pourquoi lorsque j'envoie un float avec mon arduino j'ai 4 entier de l'autre côté ?", donc j’anticipe .
Sinon dans ça globalité le tuto est parfait, c'est de l’excellent travail. :wink:

Version linux.

Effectivement, l'accent ou le codage du "é" est trés mal géré sous linux (UTF8). seul mc (alias midnight commander) le supporte.

@+

Zoroastre.

Implementer un protocole de communication.tar (160 KB)

Bonjour,

Super documentation. Merci. Je vais l'utiliser pour remplacer la bidouille de protocole que j'avais implémenté dans mon projet : non seulement les communications seront mieux gérées (timeout, ...) mais en plus ça aura de la "gueule" :slight_smile:

Encore merci.

A+

Philippe.

Bonjour,

Bravo Barbubor, toujours aussi efficace.
@+
Icare

Super tutoriel merci
Par contre impossible de lire le doc (même sans accent) sur Android avec officesuite er kingsoftoffice

Hello Barbudor,

super, mais j'ai un petit pb , lorsque que j'ouvre le doc avec word µ$, il me manque le diagramme du protocole de réception,
y a pas moyen d'avoir la doc en pdf ? ce serait bien mieux et on s'affranchit des pb de TT de Txt, sinon avec quel soft il faut que j'ouvre le document ?
Cordialement,
Jacques


3.3.3. L'algorithme de réception
C'est sur l'algorithme de gestion de la réception des messages que porte la difficulté de l'exercice. Voici l'algorithme en question sous la forme d'un diagramme :

<<< INSERER DIAGRAMME RECEPTION >>>


En fait, tu as le document dans son entier

j'ai pas encore fait le diagramme :roll_eyes: :disappointed_relieved:

:grin: hi,

bon je vai essayer de regarder le code pour comprendre, mais le c++ n'est pas ma tasse de thé :fearful:
merci quand même, bonne journée
Jacques

Vive les logiciels libres aux formats normalisés ISO, qui tournent sur plusieurs systèmes d'exploitation et qui de surcroît sont gratuits comme libreoffice (traitement de texte + tableur + dessins + présentation + base de donnée[->là pas terrible] ). Merci de toujours avoir à l'esprit que Windows n'est pas une obligation et que Linux, Mac, Androïd, existent aussi. Penser aussi que si vous n'avez pas Linux, par symétrie celui qui a Linux (Mac) n'a pas Windows.

Le format pdf n'est pas une aussi bonne idée qu'il parait. Un pdf est fait pour ne pas être modifié.
Sur ce forum nous délivrons des documents "libres", AMHA il faut donc laisser à chaque utilisateur la possibilité de l'adapter et/ou de le compléter suivant ses besoins personnels.

Très bon tuto dans l'ensemble en tout cas !

Je suis entrain d'essayer de comprendre le code (le C est mon "am"i mais le C++ pas z"encore mais bon apparemment la seule chose du C++ que tu/vous utilise"s/z" sont les bool qui ne sont pas présent dans le C)

Je viens de dévorer votre code ! Bravo je le trouve super bien codé.

Ca m'inspire pas mal pour améliorer le mien, mais pour le petit système que je fais, je ne sais pas si séparer les deux "couches" de message comme vous le faites est une bonne idée.
En tout cas bravo pour le travail fourni !

Si la couche basse de transport des messages convient, autant la garder telle quelle et travailler sur la couche supérieure.
C'est le but de la séparation des couches.

Bonjour,

Je viens de parcourir le code et suis assez content, car il se rapproche de ce que j'ai fait. Félicitation pour ton travail.
Je serai assez intéressé par un article sur un protocole binaire (celui que j'utilise), notamment la façon dont on peut éviter les erreurs de détection entre les tokens de début et les données. C'est toujours dans les tuyaux ?

Merci à toi.

Pffff
Faudrait que je m'y mette mais je traine la patte
On va y réfléchir :smiley:

Merci de tes encourragements

Ce tuto est très bien rédigé et très complet. Cependant, il y a quelque chose que je ne comprend pas... Vous découpez les tâches pour la clarté, mais en réalité, est-il possible d'avoir plusieurs fichiers dans un programme Arduino ?

Merci d'avance
AntoineOnTheWeb

Oui, puisque j'y arrive....

On peut avoir un INO qui est la partie principale (setup, loop)
Et des modules CPP+H

Dans l'IDE Arduino, une fois que tu as un INO tu peux ajouter les fichier supplémentaires par l'icône sur la droite. En cliquant dessus tu auras un menu avec 'ajouter un fichier'.

Ok je ne savais pas :slight_smile:
Merci pour cette info

Bonjour, merci et félicitations pour ton tuto, j'y retrouve les élément auxquels je me suis heurté en développent un protocole de communication a base de module 433Mhz.
Et d'autres que je n'avais pas pris en compte.
Grâce a toi je vais améliorer tout ça!!

Avec des modules 433MHz, tu as intérêt à utiliser la lib VirtualWire qui va prendre en charge la couche basse :

  • structure de message (synchro de début, longueur, ...)
  • détection d'erreur
    Un peu comme le protocole UDP sur réseau IP.

Le lien vers le document ne fonctionne plus..... :grin: