Où puis-je trouver le numéro de série du Raspberry Pi que j'utilise actuellement?
Où puis-je trouver le numéro de série du Raspberry Pi que j'utilise actuellement?
Réponses:
Le numéro de série peut être trouvé dans /proc/cpuinfo
; par exemple,
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
Vous pouvez utiliser une tuyauterie bash très basique
cat /proc/cpuinfo | grep Serial | cut -d ' ' -f 2
Étant donné que les onglets sont utilisés sur le côté gauche des deux points, le fait de couper le caractère d'espacement ne capturera de manière fiable que le numéro de série.
Les versions précédentes de cette réponse ont coupé sur le côlon, ce qui a généré un espace de début dans la variable. Cet espace initial n'est pas supprimé lors de l'affectation de variable, comme suggéré précédemment.
En Bash, il est très simple d'extraire ... en utilisant Perl. Utilisation
cat /proc/cpuinfo | perl -n -e '/^Serial\s*:\s([0-9a-f]{16})$/ && print "$1\n"'
Par exemple,
$ cat /proc/cpuinfo | perl -n -e '/^Serial\s*:\s([0-9a-f]{16})$/ && print "$1\n"'
000000000000000d
Raspberry Spy fournit un exemple très utile 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
.
Utilisant grep
:
grep -Po '^Serial\s*:\s*\K[[:xdigit:]]{16}' /proc/cpuinfo
Utiliser Bash pur sans utiliser d’utilitaire externe:
pattern='^Serial.*([[:xdigit:]]{16})$'
while read -r line
do
if [[ $line =~ $pattern ]]
then
echo "${BASH_REMATCH[1]}"
fi
done < /proc/cpuinfo
La sortie de l'un des éléments ci-dessus est la même.
-P
(expression régulière Perl) est une option des versions modernes de GNU grep
.
Pour ceux qui sont intéressés, voici un moyen d'obtenir le numéro de série Raspberry à l'aide de 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
Le plus court et le plus simple n'a pas encore été fourni comme réponse. Ceci, en sed:
sed -n '/^Serial/{s/.* //;p}' /proc/cpuinfo
sens:
sed -n
- lance l'éditeur de flux sans imprimer chaque ligne/^Serial/
- correspond uniquement aux lignes qui commencent par le mot "Série"s/.* //;
- remplacez tout par le dernier espace sans rien (les expressions rationnelles sont gourmandes , d'ailleurs)p
- imprimer le résultat.sed a parfois mauvaise réputation pour être difficile à utiliser et cryptique, mais il est disponible et fonctionne de la même manière (tant que vous vous en tenez aux conventions POSIX) sur de nombreux types de Linux et Unix.
sed -n 's/^Serial\s*: 0*//p' /proc/cpuinfo
Oui. En effet c'est le moyen de l'obtenir.
C'est drôle que mon Pi0 ait les mêmes données (série) que l'exemple ci-dessus. Il n'y a pas de différenciateur entre mon numéro de série PI0 et celui posté par Alex Chamberlain
Pour PI3, vous avez 4 processeurs
#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