OS 수준에서 사용할 수있는 일련 번호가 있습니까? 부팅되고 있는지 확인하고 싶습니다. 더 큰 솔루션에서

네트워크에서 어떤 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/'`


답변