Ho bisogno di ottenere il numero di serie del processore di un Raspberry Pi2 che esegue Windows 10 IoT.Come ottenere il numero di serie del processore di Raspberry PI 2 con Windows IOT
risposta
Di solito questo è all'interno dello spazio dei nomi Windows.System.Profile.HardwareIdentification. Sfortunatamente, questo è uno degli spazi dei nomi non supportati con Win10 IoT Core.
Invece, per identificare il metallo, sto usando informazioni dalla scheda di rete (s):
public static HashSet<string> NetworkIds()
{
var result = new HashSet<string>();
var networkProfiles = Windows.Networking.Connectivity.NetworkInformation.GetConnectionProfiles().ToList();
foreach (var net in networkProfiles)
{
result.Add(net.NetworkAdapter.NetworkAdapterId.ToString());
}
return result;
}
Naturalmente, questo non è completamente a prova di errore, ma, finora, l'unico modo che ho può vedere per ottenere un ID dispositivo ragionevolmente affidabile.
Non penso che questa sia una risposta praticabile dal momento che fornisce un ID diverso tra le installazioni del software: cioè non identifica univocamente la scheda, identifica al meglio l'installazione del software. Pertanto, non è il numero di serie del processore richiesto o simile. Vorrei che lo fosse! – GGleGrand
@GGleGrand fai come Amazon. Assegnano un ID univoco a ciascun dispositivo. Quando le cose di IoT tornano online possono sincronizzarle di nuovo ... vedi Registry and Device Shadows https: //aws.amazon.com/iot/how-it-works/- se il dispositivo è stato * aggiornato mentre offline * Sono abbastanza sicuro che otterrebbe un nuovo ID univoco assegnato, ma sarebbe necessario provarlo per sicurezza. Sospetto anche che Amazon abbia il controllo dell'aggiornamento dei dispositivi e questo è il modo in cui tengono traccia delle modifiche agli ID di rete/scheda. –
Grazie Jeremy. Così come l'hub iot di Azure. Cercando di capire come questo gestisce lo scenario di init/update: prendi un RPi off-the-shelf e installa un'app IoT-Core. Tutta questa app sa come chiamare il suo servizio di configurazione comune (cloud). Il servizio di configurazione ne sa di più, basato sull'ID del RPi. L'RPi si avvia per la prima volta (o l'app/OS viene aggiornato da Microsoft, o ottiene una nuova SD-card, qualunque sia). Come trova la sua configurazione unica sul server di configurazione? O come ottenere questo risultato senza il software di messa in servizio per una particolare istanza HW di RPi (rischiosa, poiché morbida e costosa)? – GGleGrand
Il numero di serie può essere trovato in /proc/cpuinfo
oppure è possibile utilizzare di base Bash tubazioni cioè, cat/proc/cpuinfo | grep Serial | cut -d ':' -f 2
Ti sei perso la domanda riguardava Windows, non Linux? –
Ho estratto un esempio di codice dallo Microsoft's IoT Sample (IoTCoreDefaultApp) che potrebbe essere utile per estrarre informazioni sul dispositivo (purtroppo, il numero di serie del processore non è mai stato esposto per la programmazione).
Sfortunatamente queste informazioni non sono univoche per hardware, immagino che siano solo le informazioni sul software –
a spiegare: Ho usato due raspberry pis e avevano già le stesse informazioni (devo ammettere che era la stessa sd-card), ma non dovrebbe accadere o –
Sì, si potrebbe pensare che un framework IoT possa fornire un ID univoco per un'istanza hardware IoT. Perbacco. – GGleGrand
non credo che nessun processori hanno esposto i loro numeri di serie tramite una chiamata API dal momento che il Pentium 3 ha un sacco di Flack per farlo di nuovo in 90s –
vedere questo: http://securityblog.gr/668/get-cpu-id-serial-number-using-c/ – cybermonkey
@cybermonker il post del blog è sbagliato, [quel valore WMI ti dà la marca e il modello del processore] (http://stackoverflow.com/questions/1101772/win32-processoris-processorid-unique-for-all-computers), due processori dello stesso modello restituiranno lo stesso valore. –