네트워크에서 어떤 RaspberryPI 하드웨어 인스턴스가 부팅되고 있는지 확인하고 싶습니다.
더 큰 솔루션에서 클라이언트로 LOT (10이 아닌)을 사용할 계획이지만 SD 이미지를 모두 재사용하고 싶습니다.
OS의 어딘가에 파일에 somekinda 직렬 코드를 배치하지 않는 한 서로를 식별하는 방법이 있습니까?
Btw. 프로그래밍에 MONO / C #을 사용하지만 PI에 하드웨어 일련 번호가 있는지 궁금합니다.
답변
C # Mono에서 나는 이것을하고있다 :
private string GetRpiSerial()
{
CommandSync("cat /proc/cpuinfo | grep Serial | cut -d ':' -f 2 > /home/pi/serial.txt");
using (var sr = new StreamReader("/home/pi/serial.txt"))
{
return sr.ReadLine().Trim();
}
}
public static void CommandSync(string cmd, string args)
{
var info = new ProcessStartInfo();
info.FileName = "/bin/bash";
info.Arguments = string.Format("-c \"sudo {0} {1}\"", cmd, args);
info.UseShellExecute = false;
info.RedirectStandardOutput = true;
var p = Process.Start(info);
p.WaitForExit();
}
다음을 사용하여 어디서나 검색하십시오.
var rpiSerial = GetRpiSerial();
답변
MPEG 라이센스를 구매할 때 사용한 것과 같은 번호를 사용할 수 있습니다.
MPEG-2 라이센스 키 인용 :
일련 번호를 찾으려면
cat /proc/cpuinfo
다음과 같이 명령 줄에 입력 하십시오.
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
Serial
당신이 찾고있는 것입니다.
답변
이더넷 어댑터의 MAC 주소를 사용할 수 있습니다. 변수로 추출하려면 다음과 같은 명령문을 사용하십시오.
mysn=`ifconfig eth0 | grep HWaddr |sed -e's/.*HWaddr\s\(\S*\).*/\1/'`