Wo finde ich die Seriennummer des aktuell verwendeten Raspberry Pi?
Wo finde ich die Seriennummer des aktuell verwendeten Raspberry Pi?
Antworten:
Die Seriennummer finden Sie in /proc/cpuinfo
; zum Beispiel,
pi@raspberrypi:~$ cat /proc/cpuinfo
Processor : ARMv6-compatible processor rev 7 (v6l)
BogoMIPS : 697.95
Features : swp half thumb fastmult vfp edsp java tls
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x0
CPU part : 0xb76
CPU revision : 7
Hardware : BCM2708
Revision : 1000002
Serial : 000000000000000d
Sie können sehr einfache Bash-Rohre verwenden
cat /proc/cpuinfo | grep Serial | cut -d ' ' -f 2
Da Tabulatoren auf der linken Seite des Doppelpunkts verwendet werden, erfasst das Abschneiden des Leerzeichens zuverlässig nur die Seriennummer.
Frühere Versionen dieser Antwort haben den Doppelpunkt abgeschnitten, wodurch ein führendes Leerzeichen in der Variablen erzeugt wurde. Dieses führende Leerzeichen wird bei der Variablenzuweisung nicht entfernt, wie zuvor vorgeschlagen.
In Bash ist es sehr einfach, ... mit Perl zu extrahieren. Verwenden
cat /proc/cpuinfo | perl -n -e '/^Serial\s*:\s([0-9a-f]{16})$/ && print "$1\n"'
Zum Beispiel,
$ cat /proc/cpuinfo | perl -n -e '/^Serial\s*:\s([0-9a-f]{16})$/ && print "$1\n"'
000000000000000d
Raspberry Spy bietet ein sehr nützliches Python-Beispiel.
def getserial():
# Extract serial from cpuinfo file
cpuserial = "0000000000000000"
try:
f = open('/proc/cpuinfo','r')
for line in f:
if line[0:6]=='Serial':
cpuserial = line[10:26]
f.close()
except:
cpuserial = "ERROR000000000"
return cpuserial
cat
.
Verwenden von grep
:
grep -Po '^Serial\s*:\s*\K[[:xdigit:]]{16}' /proc/cpuinfo
Verwenden von Pure Bash ohne Verwendung externer Dienstprogramme:
pattern='^Serial.*([[:xdigit:]]{16})$'
while read -r line
do
if [[ $line =~ $pattern ]]
then
echo "${BASH_REMATCH[1]}"
fi
done < /proc/cpuinfo
Die Ausgabe der beiden oben genannten ist identisch.
-P
(Perl-Regex) ist eine Option für moderne Versionen von GNU grep
.
Für alle Interessierten ist hier eine Möglichkeit, die Himbeer-Seriennummer mit NodeJS zu erhalten:
function getserial(){
var fs = require('fs');
var content = fs.readFileSync('/proc/cpuinfo', 'utf8');
var cont_array = content.split("\n");
var serial_line = cont_array[cont_array.length-2];
var serial = serial_line.split(":");
return serial[1].slice(1);
}
grep -i serial /proc/cpuinfo | cut -d : -f2
Das kürzeste und einfachste wurde noch nicht beantwortet. Dies in sed:
sed -n '/^Serial/{s/.* //;p}' /proc/cpuinfo
Bedeutung:
sed -n
- Starten Sie den Stream-Editor, ohne jede Zeile auszudrucken/^Serial/
- Nur Zeilen abgleichen, die mit dem Wort "Seriell" beginnens/.* //;
- alles bis zum letzten Leerzeichen durch nichts ersetzen (sed reguläre Ausdrücke sind übrigens gierig )p
- das Ergebnis ausdrucken.sed hat manchmal einen schlechten Ruf, weil es schwer zu bedienen und kryptisch ist, aber es ist verfügbar und funktioniert unter vielen Linux- und Unix-Typen genauso (solange Sie sich an POSIX-Konventionen halten).
sed -n 's/^Serial\s*: 0*//p' /proc/cpuinfo
Ja. In der Tat ist dies der Weg, um es zu bekommen.
Es ist komisch, dass mein Pi0 die gleichen Daten (seriell) wie im obigen Beispiel hat. Es gibt keinen Unterschied zwischen meiner PI0-Serie und der von Alex Chamberlain
Für PI3 gibt es 4 Prozessoren
#cat /proc/cpuinfo
processor : 0
model name : ARMv7 Processor rev 4 (v7l)
BogoMIPS : 38.40
Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x0
CPU part : 0xd03
CPU revision : 4
processor : 1
model name : ARMv7 Processor rev 4 (v7l)
BogoMIPS : 38.40
Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x0
CPU part : 0xd03
CPU revision : 4
processor : 2
model name : ARMv7 Processor rev 4 (v7l)
BogoMIPS : 38.40
Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x0
CPU part : 0xd03
CPU revision : 4
processor : 3
model name : ARMv7 Processor rev 4 (v7l)
BogoMIPS : 38.40
Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x0
CPU part : 0xd03
CPU revision : 4
Hardware : BCM2709
Revision : a02082
Serial : 000000003d1d1c36