Search

Archives

Pages

Op mijn desktop:

Suggesties, commentaar, ... (klik of schrijf zelf:)e-mail webgang
Laatste titels:

Micro:bit (4) – Hoe uniek?

WebGang blog ** March 30th, 2018 by wim.webgang **

Een vraagje terzijde in onze wonderlijke ontdekkingstocht; is mijn micro:bit uniek? Met ander woorden, heeft hij een serienummer?

https://support.microbit.org/support/solutions/articles/19000070728-how-to-read-the-device-serial-number

Er zit een “soort serienummer” ingebakken in de micro:bit, die als een willekeurig getal bij productie wordt ingebrand. Maar het is geen oneindige reeks o.m. omdat ze maar uit 32 bit bestaat. De kans dat je echter twee micro:bits met hetzelfde nummer hebt is kleiner dan 1 op 100.000.
Zoveel wou ik er niet kopen.

De essentie van de code is dat je met wat hokus pokus het register uitleest waar dat zit.

from microbit import *
display.show('S')
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)))
while True:
  if button_a.was_pressed():
    display.scroll(get_serial_number())
    sleep(... )
    display.show('S')
    sleep(... )

en dan moet je nog een sleep met een waarde bv 1000 gebruiken op de puntjes om hem wat af te remmen…en daarna een sleep van 100 bv.

Uit de documentatie op github blijkt dat het in de Factory Information Configuration zit, afgekort “FICR”.

Lift ^ | Lift v | Comments Off

Comments are closed.