In vernetzten Umgebungen ist es erforderlich, die einzelnen Knoten identifizieren zu können. Bei der Vernetzung über Ethernet oder WLAN hat man die MAC Adresse des jeweiligen Netzwerkadapters zur Verfügung. Netzwerkknoten, die über andere Medien vernetzt sind, verwenden häufig eine unverwechselbare Seriennummer.
Beim C.H.I.P. kann die Seriennr. folgendermaßen ermittelt werden:
cat /proc/cpuinfo | grep "Serial" | awk '{print $3}'
Beim NodeMCU habe ich eine Client Id mit folgendem Aufruf erzeugt:
CLIENTID = "ESP8266-" .. node.chipid()
Hat man eine solche Seriennr. auf dem betreffenden Chip nicht zur Verfügung, dann kann die MAC Adresse, wenn vorhanden, als Id verwendet werden.
Hierzu habe ich ein Shell Script getid.sh geschrieben:
#!/bin/bash echo "Build Ident from MAC ID" ID=`ifconfig | grep wlan` echo -n "MAC ID = " ID=`echo ${ID#*HWaddr }` # see https://goo.gl/WLR79p echo $ID ID=`echo $ID | /bin/sed 's/://g'` echo -n "Ident = " ID=`echo $((16#$ID))` echo $ID