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():
msg_envoi = input("Message ?")
radio.send(msg_envoi) # 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
¤DESTINATAIRE¤ÉMETTEUR¤MESSAGEping est un nom réservéSEP pour le séparateur, PSEUDO pour le nom de l'émetteurinput() pour pouvoir saisir le pseudo du destinatairesplit() pour diviser le message reçu''from microbit import *
import radio
radio.on() # Active la radio
radio.config(channel=10) # Définit un canal (10 ici)
SEP = '¤'
PSEUDO = 'Mathieu'
while True:
if button_a.was_pressed():
msg_envoi = input("Message ?")
destinataire = input("Destinataire ?")
radio.send(destinataire+SEP+PSEUDO+SEP+msg_envoi) # Envoie un message
trame = radio.receive() # Permet de vérifier régulièrement la réception d'un message
if trame:
parts = trame.split(SEP)
if len(parts) == 3 and parts[0] != '' and parts[1] != '' and parts[2] != '':
print(parts[2])
from microbit import *
import radio
radio.on() # Active la radio
radio.config(channel=10) # Définit un canal (10 ici)
SEP = '¤'
PSEUDO = 'Mathieu'
while True:
if button_a.was_pressed():
msg_envoi = input("Message ?")
destinataire = input("Destinataire ?")
radio.send(destinataire+SEP+PSEUDO+SEP+msg_envoi) # Envoie un message
trame = radio.receive() # Permet de vérifier régulièrement la réception d'un message
if trame:
parts = trame.split(SEP)
if len(parts) == 3 and parts[0] != '' and parts[1] != '' and parts[2] != '':
if parts[0] == PSEUDO:
print(parts[2])
ping.
ping, avec le message correspondant à notre pseudo.ping devient un nom réservé : son utilisation comme pseudonyme doit être interdite.from microbit import *
import radio
radio.on() # Active la radio
radio.config(channel=10) # Définit un canal (10 ici)
SEP = '¤'
PSEUDO = 'Mathieu'
while True:
if button_a.was_pressed():
msg_envoi = input("Message ?")
dest = input("Destinataire ?")
radio.send(dest+SEP+PSEUDO+SEP+msg_envoi) # Envoie une trame
if button_b.was_pressed():
radio.send('ping'+SEP+PSEUDO) # Envoie un ping pour signaler sa présence
trame = radio.receive() # Permet de vérifier régulièrement la réception d'un message
if trame:
parts = trame.split(SEP)
if len(parts) == 3 and parts[0] != '' and parts[1] != '' and parts[2] != '':
if parts[0] == PSEUDO:
print(parts[2])
ping et ajouter l'identifiant qui s'est signalé à nous à une liste, pour faciliter son utilisation.from microbit import *
import radio
radio.on() # Active la radio
radio.config(channel=10) # Définit un canal (10 ici)
SEP = '¤'
PSEUDO = 'Mathieu'
annuaire = {}
while True:
if button_a.was_pressed():
msg_envoi = input("Message ?")
dest = input("Destinataire ?")
radio.send(dest+SEP+PSEUDO+SEP+msg_envoi) # Envoie une trame
if button_b.was_pressed():
radio.send('ping'+SEP+PSEUDO) # Envoie un ping pour signaler sa présence
print(annuaire)
trame = radio.receive() # Permet de vérifier régulièrement la réception d'un message
if trame:
parts = trame.split(SEP)
if len(parts) == 2 and parts[0] == 'ping' and parts[1] != '':
annuaire[parts[1]] = 'toto'
if len(parts) == 3 and parts[0] != '' and parts[1] != '' and parts[2] != '':
if parts[0] == PSEUDO:
print(parts[2])
running_time() disponible sur les cartes micro:bit, ainsi que l'opérateur modulo %.if running_time() % 5000 < 10 : running_time() nous donne le nombre de millisecondes écoulées depuis le démarrage de la carte micro:bitrunning_time() % 5000 nous permet d'obtenir le reste de la division par 500010ms, alors nous venons de dépasser 5 secondes depuis moins de 10 millisecondesping toutes les 5 secondesfrom microbit import *
import radio
radio.on() # Active la radio
radio.config(channel=10) # Définit un canal (10 ici)
SEP = '¤'
PSEUDO = 'Mathieu'
annuaire = {}
while True:
if running_time() % 5000 < 10:
radio.send('ping'+SEP+PSEUDO)
sleep(10) # mise en pause pendant 10ms pour éviter d'envoyer le ping plusieurs fois d'un coup
if button_a.was_pressed():
msg_envoi = input("Message ?")
dest = input("Destinataire ?")
radio.send(dest+SEP+PSEUDO+SEP+msg_envoi) # Envoie une trame
if button_b.was_pressed():
print(annuaire)
trame = radio.receive() # Permet de vérifier régulièrement la réception d'un message
if trame:
parts = trame.split(SEP)
if len(parts) == 2 and parts[0] == 'ping' and parts[1] != '':
annuaire[parts[1]] = 'toto'
if len(parts) == 3 and parts[0] != '' and parts[1] != '' and parts[2] != '':
if parts[0] == PSEUDO:
print(parts[2])
ping reçus, la liste des utilisateurs va forcément évoluer au fil du temps. Il faut donc la créer à partir du dictionnaire à chaque fois qu'on a besoin de choisir un utilisateur.from microbit import *
import radio
radio.on() # Active la radio
radio.config(channel=10) # Définit un canal (10 ici)
SEP = '¤'
PSEUDO = 'Mathieu'
annuaire = {}
def choix_destinataire():
utilisateurs = { str(index): pseudo for index,pseudo in enumerate(annuaire)}
print(utilisateurs)
choix = input("Utilisateur ?"")
return utilisateurs[choix]
while True:
if running_time() % 5000 < 10:
radio.send('ping'+SEP+PSEUDO)
sleep(10) # mise en pause pendant 10ms pour éviter d'envoyer le ping plusieurs fois d'un coup
if button_a.was_pressed():
msg_envoi = input("Message ?")
dest = choix_destinataire()
radio.send(dest+SEP+PSEUDO+SEP+msg_envoi) # Envoie une trame
if button_b.was_pressed():
print(annuaire)
trame = radio.receive() # Permet de vérifier régulièrement la réception d'un message
if trame:
parts = trame.split(SEP)
if len(parts) == 2 and parts[0] == 'ping' and parts[1] != '':
annuaire[parts[1]] = 'toto'
if len(parts) == 3 and parts[0] != '' and parts[1] != '' and parts[2] != '':
if parts[0] == PSEUDO:
print(parts[2])