Protocole de communication
On peut faire un parallèle avec la communication humaine.
Un protocole est un ensemble de règles qui permettent de s'assurer que les informations sont bien comprises. On peut mettre en avant deux extrêmes :
Nous allons utiliser les cartes micro:bit pour mettre en pratique une simulation de réseau de communications. Elles nous permettent d'aborder la question avec des simplifications utiles :
Le module radio des cartes micro:bit est très simple d'utilisation. Un exemple de code :
from microbit import *
import radio
radio.on() # Active la radio
radio.config(channel=10) # Définit un canal (10 ici)
while True:
if button_a.was_pressed():
radio.send("Bonjour !") # Envoie un message
message = radio.receive() # Permet de vérifier régulièrement la réception d'un message
if message:
print(message) # Affiche le message reçu dans la console
Explications :
radio contient des fonctions permettant d'interagir avec la radio de la carte micro:bitradio.config() permet de configurer la radioradio.on() permet d'activer la radioradio.send() permet d'envoyer des données par radioDans ce premier exercice, nous allons prendre en mains l'interface de l'éditeur, s'assurer du bon fonctionnement de l'envoi d'un programme sur une carte, et mettre en place notre premier système de chat de discussion.
Consignes
L'objectif est simple :
input()) - une fois que le résultat de input() a été stocké dans une variable, on envoie le contenu de cette variable avec radio.send() - pour éviter les envois multiples, on peut utiliser immédiatement après radio.send() la fonction sleep(100) qui temporisera le programme - avec radio.receive(), on détecte la réception d'un message, qu'on affichera avec print() dans la consoleUn protocole de communication nous permettra aisément de pouvoir améliorer nos messages afin d'atteindre notre objectif : un grand forum dans lequel vous pouvez communiquer avec qui vous voulez, en sachant précisément qui vous parle et à qui vous vous adressez.
On rappelle quelques fonctions utiles :
split() permet de diviser une chaîne de caractères en une liste de chaînes de caractères. L'argument est le séparateur.messsage = "Bonjour ! Comment allez-vous ?"
message.split('.') # Donnera une liste : ["Bonjour ", " Comment allez-vous ?"]
+ permet de concaténer des chaînes de caractères :auteur = "Mathieu"
message = "Bonjour"
trame = auteur+message
# trame sera égal à "MathieuBonjour"