L'idée est d'utiliser une carte micro:bit connectée à un PC. Cette carte va réceptionner via la communication radio les numéros de séries des autres cartes micro:bit. Ces numéros série s'affichent dans une console sur le PC, console associée à votre carte micro:bit via la liason série USB. Il vous suffit ensuite de faire un copier/coller de la liste obtenue dans la console dans un ficheir texte. Vous pouvez également modifier le programme du serveur pour sauvegarder les numéros reçus directement dans un fichier texte.
from microbit import * import radio radio.on() radio.config(channel=1) # Choose your own channel number radio.config(power=7) # Turn the signal up to full strength # Event loop. while True: incoming = radio.receive() if incoming is not None: display.show('R') print(incoming) sleep(500)
Le code nécéssaire pour récupérer le numéro de série de la carte est un code assembleur.
from microbit import * import radio #Renseigner votre identifiant carte my_card_identifier="1A" radio.on() radio.config(channel=1) # Choose your own channel number radio.config(power=7) # Turn the signal up to full strength display.show('R') def get_serial_number(type=hex): NRF_FICR_BASE = 0x10000000 DEVICEID_INDEX = 25 # deviceid[1] @micropython.asm_thumb def reg_read(r0): ldr(r0, [r0, 0]) return type(reg_read(NRF_FICR_BASE + (DEVICEID_INDEX*4)) & 0xFFFFFFFF) while True: if button_a.was_pressed(): display.show(">>>") # Send a message radio.send(my_card_identifier+';'+get_serial_number()) sleep(1000) display.show('R') sleep(100)