Étape 5: Protocole série
Protocole série
Avant d’entrer dans le codage de n’importe quoi, il faut choisir le type de protocole série nous voulons utiliser. C’est bien d’utiliser un texte protocole où nous transmettons texte brut dans les deux sens entre nos TinyDuino et l’ordinateur mais les ordinateurs en mode natif ne comprennent pas anglais et le code peut devenir complex pour le traitement des transmissions plus avancées de texte brut.
Dans un souci de code simple et ultra transmission série rapide, nous devrions utiliser quelque chose de l’arduino et l’ordinateur parlent très couramment, que d’être cru octets. Un octet est 8 bits, et puisque la communication série est un flux de bits, octets peuvent être envoyées très efficacement sur la connexion.
À titre de comparaison, si nous utilisions un message en texte brut du "Message de contrôle moteur, Motor1 : 255, Motor2 : 255" nous avons transmis 47 octets de données, 44 de ces octets ne pas contenir toute information utile et simplement prendre le temps de série. Ce n’est pas un problème majeur si vous utilisez une vitesse de transmission élevée comme 9600.
Toutefois, si vous utilisez un débit lent, disons 50 (pour un appareil à haute efficacité), la différence entre 47 octets et 3 est extrême, une différence de près de 93 %. Dans les deux cas, par souci de simplicité et d’efficacité nous devrions nous en tenir à la transmission des données brutes plutôt que texte brut.
Un protocole simple, que nous pouvons utiliser est 3 octets de longs, contenant 3 éléments d’information. Étant donné que nous transmettrons notre octets sous forme d’un tableau unidimensionnel, nous pouvons utiliser une liste de 3 octets pour visualiser notre message :
- Type de message (0 octets)
- Moteur 1 vitesse (1 octet)
- Vitesse moteur 2 (2 octets)
Les deux derniers octets sont explicites, mais vous vous demandez peut-être pourquoi nous incluons un octet « Type de Message ». C’est pour deux raisons, il nous permet aussi bien d’élargir notre protocole par la suite pour inclure plus de commandes pour des fonctionnalités supplémentaires mais aussi de vérifier que notre message est valide et non un fragment d’un message précédent.