MAC addresses
by Lord_evron
When working with Gateways, RPI (but also normal PCs), I often have the need to use a unique identifier of the device… The reason can be anything: for logging purposes to automatic authentication, to send “I Am Alive” messages to keep track of which devices are working properly.
So, it is nice to have a unique id which is more or less reliable: The mac address. Today I want to show 2 usefully snippets condensed in the same code. The first one is simply a function that return your mac address as standard format xx:xx:xx:xx:xx:xx
. The second snippet is to “count” from 00 to FF.
I combined the two by making a small script that take your mac (eg 11:22:33:44:55:66
) and then generate 256 combination by substituting the last two values from 00 to FF (eg: 11:22:33:44:55:00
, 11:22:33:44:55:01
, 11:22:33:44:55:02
… 11:22:33:44:55:FF
)
Here is the code..Part as been re-adapted from a stack overflow answer.
I used range() instead of xrange() for keeping compatibility between python2 and python3.
#we need to import a library
from uuid import getnode as get_mac #library for returning mac address
#return a HEX version (standard format) of the MAC address
def mymac():
mac= ':'.join('%02X' % ((get_mac() >> 8*i) & 0xff) for i in reversed(range(6)))
return mac
#Generate and print 256 mac address starting from your own MAC and substituting the last two values from 00 to FF
def generate():
basemac=mymac()[:-2]
for i in range(256):
print (basemac + hex(i)[2:].zfill(2).upper())
if __name__ == "__main__":
generate()