¿Dónde puedo encontrar el número de serie de la Raspberry Pi que estoy usando actualmente?
¿Dónde puedo encontrar el número de serie de la Raspberry Pi que estoy usando actualmente?
Respuestas:
El número de serie se puede encontrar en /proc/cpuinfo
; por ejemplo,
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
Puedes usar tuberías bash muy básicas
cat /proc/cpuinfo | grep Serial | cut -d ' ' -f 2
Dado que las pestañas se usan en el lado izquierdo del colon, cortar el carácter de espacio capturará de manera confiable solo el número de serie.
Las versiones anteriores de esta respuesta cortaban los dos puntos, lo que producía un espacio principal en la variable. Ese espacio inicial no se elimina durante la asignación de variables como se sugirió anteriormente.
En Bash, es muy simple extraer ... usando Perl. Utilizar
cat /proc/cpuinfo | perl -n -e '/^Serial\s*:\s([0-9a-f]{16})$/ && print "$1\n"'
Por ejemplo,
$ cat /proc/cpuinfo | perl -n -e '/^Serial\s*:\s([0-9a-f]{16})$/ && print "$1\n"'
000000000000000d
Raspberry Spy proporciona un ejemplo muy útil de 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
.
Utilizando grep
:
grep -Po '^Serial\s*:\s*\K[[:xdigit:]]{16}' /proc/cpuinfo
Usando puro Bash sin usar ninguna utilidad externa:
pattern='^Serial.*([[:xdigit:]]{16})$'
while read -r line
do
if [[ $line =~ $pattern ]]
then
echo "${BASH_REMATCH[1]}"
fi
done < /proc/cpuinfo
La salida de cualquiera de los anteriores es la misma.
-P
(Perl regex) es una opción de versiones modernas de GNU grep
.
Para cualquier persona interesada, aquí hay una manera de obtener el número de serie de frambuesa usando 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
Lo más corto y lo más simple aún no se ha proporcionado como respuesta. Esto, en sed:
sed -n '/^Serial/{s/.* //;p}' /proc/cpuinfo
sentido:
sed -n
- ejecuta el editor de flujo sin imprimir cada línea/^Serial/
- coincide solo con las líneas que comienzan con la palabra "Serie"s/.* //;
- Reemplace todo hasta el último espacio con nada (las expresiones regulares sed son codiciosas , por cierto)p
- imprime el resultado.A veces, sed recibe un mal nombre por ser difícil de usar y críptico, pero está disponible y funciona de la misma manera (siempre y cuando se adhiera a las convenciones POSIX) en muchos tipos de Linux y Unix.
sed -n 's/^Serial\s*: 0*//p' /proc/cpuinfo
Si. De hecho, esta es la forma de conseguirlo.
Es curioso que mi Pi0 tenga los mismos datos (en serie) que en el ejemplo anterior. No hay diferenciador entre mi serie PI0 y la publicada por Alex Chamberlain
Para PI3 tienes 4 procesadores
#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