क्या ओएस स्तर से कुछ थोड़े सीरियल नंबर उपलब्ध हैं?


12

मैं पहचानना चाहूंगा कि कौन सा रास्पबेरीपीआई हार्डवेयर उदाहरण मेरे नेटवर्क पर बूट कर रहा है।

मैं एक बड़े समाधान में ग्राहकों के रूप में उनमें से बहुत (केवल 10) का उपयोग करने की योजना नहीं है, लेकिन मैं उन सभी के लिए एसडी-छवि का पुन: उपयोग करना चाहूंगा।

जब तक मैं ओएस में कहीं फ़ाइल में थोड़े से सीरियल कोड नहीं डाल देता, क्या उन्हें एक-दूसरे से पहचानने का कोई तरीका है?

Btw। मैं प्रोग्रामिंग के लिए मोनो / सी # का उपयोग करता हूं, लेकिन मैं यह जानने के लिए उत्सुक हूं कि क्या पीआई को किसी तरह से हार्डवेयर सीरियलनंबर है या नहीं?

जवाबों:


3

C # मोनो में मैं यह कर रहा हूं:

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();

यह उत्तर रेमो के मूल उत्तर से भी बेहतर है, क्योंकि इसमें C # में समाधान शामिल है जैसा कि मैंने मूल रूप से पूछा था। आप सभी के लिए यह एक बहुत अच्छा है।
बर्गग्रीनडीके

13

एमपीईजी लाइसेंस खरीदने के लिए आप उसी नंबर का उपयोग कर सकते हैं।

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 वह है जो आप ढूंढ रहे हैं।


आह, अच्छा विचार है। क्या आपके पास मोनो से इसे पुनः प्राप्त करने का कोई सुराग है?
बेरग्रीनडीके

केवल समस्या यह है कि ग्राहक / उपयोगकर्ता को केवल उस उद्देश्य के लिए एमपीईजी लाइसेंस खरीदना होगा।
बेरग्रीनडीके

@BerggreenDK। पक्का नहीं आपका क्या मतलब है। यह सीरियल नंबर जो cpuinfo कमांड के साथ दिखाई देता है वह सीपीयू का सीरियल नंबर है। यह वहाँ है कि क्या आपके पास एक एमपीईजी लाइसेंस है या नहीं।
Remo.D

1
नहीं, '00000 ... d' एक उदाहरण के रूप में है। इसे अपने रास्पबेरी पर करने की कोशिश करें और आप इसे प्राप्त करेंगे।
Remo.D

1
यह एक हार्डवेयर कोड है जो किसी भी रास्पबेरी के लिए अद्वितीय है (मेरे पास उनमें से दो हैं), यह फ़ाइल आधारित नहीं है। मुझे आश्चर्य होता अगर आप वर्चुअल बॉक्स से होते।
रीमू

6

आप ईथरनेट एडेप्टर के मैक पते का उपयोग कर सकते हैं; एक चर में इसे निकालने के लिए इस तरह से एक बयान का उपयोग करें:

mysn=`ifconfig eth0 | grep HWaddr |sed -e's/.*HWaddr\s\(\S*\).*/\1/'`

एक अच्छा सुझाव। अगर मैं केवल यह देख सकता हूं कि मुझे मोनो से इसे कैसे वापस लेना चाहिए। लेकिन विचार महान है। जहाज पर लैन के बारे में सोचना पूरी तरह से भूल गया था। मैक नंबर वास्तव में पर्याप्त हैं। बस यह पता लगाने की जरूरत है कि System.Net लाइब्रेरी से उस जानकारी को कैसे खींचना है।
बेरग्रीनडीके


1
ध्यान दें कि आप रास्पबेरी के मैक पते को संशोधित कर सकते हैं । यह एक व्यवहार्य समाधान है, अगर आपको अपने रास्पबेरी पाई की पहचान के बारे में पूरी तरह से आश्वस्त होने की आवश्यकता नहीं है। CPU सीरियल कोड cpuinfo के साथ प्राप्य परिवर्तनशील नहीं है।
Remo.D

ठीक है, यह भी एक महान बिंदु है। हाँ, MAC को कुछ LAN हार्डवेयर पर बदला जा सकता है। यह सच है। लेकिन मुझे इस बात का पूरा मलाल है कि कोई मेरे SDCARD को क्लोन कर सकता है और फिर उसे मेरी जानकारी के बिना कई क्लाइंट्स के लिए इस्तेमाल कर सकता है। यह समाधान के मेरे वास्तुकला के लिए बुरा होगा।
बर्गग्रीनडाक

क्षमा करें @TomG मैंने वास्तव में आपके विचार की पुष्टि की है और मैं इसका उपयोग उन डिवाइसों का पता लगाने के लिए "फॉल बैक" के रूप में करने जा रहा हूं जो रास्पबेरी पीआई हार्डवेयर के रूप में उपयोग करते हैं, जो कि मेरे क्लाइंट-प्रोग्राम्स क्रॉसप्लेट रिकॉर्डर होंगे। काश मैं इस मामले में दो जवाबों को चिह्नित कर पाता।
बर्गग्रीनडाक
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.