Di mana saya dapat menemukan nomor seri Raspberry Pi yang saya gunakan saat ini?
Di mana saya dapat menemukan nomor seri Raspberry Pi yang saya gunakan saat ini?
Jawaban:
Nomor seri dapat ditemukan di /proc/cpuinfo
; sebagai contoh,
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
Anda dapat menggunakan bash piping yang sangat dasar
cat /proc/cpuinfo | grep Serial | cut -d ' ' -f 2
Karena tab digunakan di sisi kiri titik dua, memotong karakter spasi hanya akan menangkap nomor seri.
Versi sebelumnya dari jawaban ini dipotong di titik dua, yang menghasilkan ruang terdepan dalam variabel. Ruang terdepan itu tidak dihapus selama penugasan variabel seperti yang disarankan sebelumnya.
Di Bash, sangat mudah untuk mengekstrak ... dengan menggunakan Perl. Menggunakan
cat /proc/cpuinfo | perl -n -e '/^Serial\s*:\s([0-9a-f]{16})$/ && print "$1\n"'
Sebagai contoh,
$ cat /proc/cpuinfo | perl -n -e '/^Serial\s*:\s([0-9a-f]{16})$/ && print "$1\n"'
000000000000000d
Raspberry Spy memberikan contoh Python yang sangat berguna.
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
.
Menggunakan grep
:
grep -Po '^Serial\s*:\s*\K[[:xdigit:]]{16}' /proc/cpuinfo
Menggunakan Bash murni tanpa menggunakan utilitas eksternal apa pun:
pattern='^Serial.*([[:xdigit:]]{16})$'
while read -r line
do
if [[ $line =~ $pattern ]]
then
echo "${BASH_REMATCH[1]}"
fi
done < /proc/cpuinfo
Output dari salah satu di atas adalah sama.
-P
(Perl regex) adalah pilihan dari versi modern dari GNU grep
.
Bagi siapa pun yang tertarik di sini adalah cara untuk mendapatkan Nomor Seri Raspberry menggunakan 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
Yang tersingkat dan paling sederhana belum diberikan sebagai jawaban. Ini, dalam sed:
sed -n '/^Serial/{s/.* //;p}' /proc/cpuinfo
berarti:
sed -n
- Jalankan editor aliran tanpa mencetak setiap baris/^Serial/
- hanya mencocokkan garis yang dimulai dengan kata "Serial"s/.* //;
- Mengganti semuanya sampai ruang terakhir dengan apa-apa (regex sed serakah , btw)p
- cetak hasilnya.kadang-kadang mendapat nama yang buruk karena sulit untuk digunakan dan samar, tetapi tersedia dan bekerja dengan cara yang sama (selama Anda tetap pada konvensi POSIX) pada banyak jenis Linux dan Unix.
sed -n 's/^Serial\s*: 0*//p' /proc/cpuinfo
Iya. Memang ini cara untuk mendapatkannya.
Sangat lucu bahwa Pi0 saya memiliki data yang sama (serial) seperti contoh di atas. Tidak ada perbedaan antara seri PI0 saya dan yang diposting oleh Alex Chamberlain
Untuk PI3 kamu mendapat 4 procesor
#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