Dove posso trovare il numero seriale del Raspberry Pi che sto attualmente utilizzando?
Dove posso trovare il numero seriale del Raspberry Pi che sto attualmente utilizzando?
Risposte:
Il numero di serie è disponibile in /proc/cpuinfo
; per esempio,
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
È possibile utilizzare tubazioni bash molto semplici
cat /proc/cpuinfo | grep Serial | cut -d ' ' -f 2
Poiché le schede vengono utilizzate sul lato sinistro dei due punti, il taglio del carattere spazio cattura in modo affidabile solo il numero di serie.
Le versioni precedenti di questa risposta tagliavano i due punti, che producevano uno spazio iniziale nella variabile. Quello spazio iniziale non viene rimosso durante l'assegnazione delle variabili come precedentemente suggerito.
In Bash, è molto semplice estrarre ... usando Perl. Uso
cat /proc/cpuinfo | perl -n -e '/^Serial\s*:\s([0-9a-f]{16})$/ && print "$1\n"'
Per esempio,
$ cat /proc/cpuinfo | perl -n -e '/^Serial\s*:\s([0-9a-f]{16})$/ && print "$1\n"'
000000000000000d
Raspberry Spy fornisce un esempio molto utile di Python.
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
.
Utilizzando grep
:
grep -Po '^Serial\s*:\s*\K[[:xdigit:]]{16}' /proc/cpuinfo
Utilizzo di Bash puro senza l'utilizzo di utilità esterne:
pattern='^Serial.*([[:xdigit:]]{16})$'
while read -r line
do
if [[ $line =~ $pattern ]]
then
echo "${BASH_REMATCH[1]}"
fi
done < /proc/cpuinfo
L'output di uno dei precedenti è lo stesso.
-P
(Perl regex) è un'opzione di versioni moderne di GNU grep
.
Per chiunque sia interessato qui è un modo per ottenere il numero di serie Raspberry utilizzando NodeJS:
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
Il più breve e semplice non è stato ancora fornito come risposta. Questo, in sed:
sed -n '/^Serial/{s/.* //;p}' /proc/cpuinfo
senso:
sed -n
- esegui l'editor di stream senza stampare ogni riga/^Serial/
- trova solo le righe che iniziano con la parola "Seriale"s/.* //;
- sostituisci tutto fino all'ultimo spazio con niente (sed regexes sono golosi , a proposito)p
- stampa il risultato.sed a volte prende una brutta reputazione per essere difficile da usare e criptico, ma è disponibile e funziona allo stesso modo (a patto di attenersi alle convenzioni POSIX) su molti tipi di Linux e Unix.
sed -n 's/^Serial\s*: 0*//p' /proc/cpuinfo
Sì. In effetti questo è il modo di ottenerlo.
È divertente che il mio Pi0 abbia gli stessi dati (seriali) dell'esempio sopra. Non esiste un differenziatore tra il mio seriale PI0 e quello pubblicato da Alex Chamberlain
Per PI3 hai ottenuto 4 processori
#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