Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使用Windows IOT获取Raspberry PI 2的处理器序列号_C#_Raspberry Pi2_Windows 10 Iot Core_Windowsiot - Fatal编程技术网

C# 如何使用Windows IOT获取Raspberry PI 2的处理器序列号

C# 如何使用Windows IOT获取Raspberry PI 2的处理器序列号,c#,raspberry-pi2,windows-10-iot-core,windowsiot,C#,Raspberry Pi2,Windows 10 Iot Core,Windowsiot,我需要获取运行windows 10 IoT的Raspberry Pi2的处理器序列号。通常这在windows.System.Profile.HardwareIdentification命名空间中。不幸的是,这是Win10 IoT核心不受支持的名称空间之一 相反,为了识别金属,我使用来自网络适配器的信息: publicstatichashset NetworkIds() { var result=new HashSet(); var networkProfiles=Windows.Networki

我需要获取运行windows 10 IoT的Raspberry Pi2的处理器序列号。

通常这在windows.System.Profile.HardwareIdentification命名空间中。不幸的是,这是Win10 IoT核心不受支持的名称空间之一

相反,为了识别金属,我使用来自网络适配器的信息:

publicstatichashset NetworkIds()
{
var result=new HashSet();
var networkProfiles=Windows.Networking.Connectivity.NetworkInformation.GetConnectionProfiles().ToList();
foreach(网络配置文件中的var网络)
{
Add(net.NetworkAdapter.NetworkAdapterId.ToString());
}
返回结果;
}

当然,这不是完全防错的,但是,到目前为止,我能看到的唯一方法是获得一个合理可靠的设备ID。

我从中提取了一个代码示例,它可能有助于您提取设备信息(不幸的是,处理器序列号从未公开用于编程)

如何获取Windows物联网设备的信息:
使用此代码获取设备信息

            Windows.Security.ExchangeActiveSyncProvisioning.EasClientDeviceInformation deviceInfo= new Windows.Security.ExchangeActiveSyncProvisioning.EasClientDeviceInformation();

我不认为任何处理器通过API调用公开了它们的序列号,因为奔腾3在90年代就因为这样做而受到了很多抨击。请看:@cybermonker这篇博文是错误的,同一型号的两个处理器将返回相同的值。据我所知,树莓Pi有一个设备,而不是处理器序列号,如果Windows IoT不能暴露这一点,那么这是一个非常愚蠢的限制!如果Windows IoT的想法是从一组非常有限的API开始,然后经过多年开发一个在现实世界中实际可用的平台。。到那时,Linux,就像手机中的Android一样,将完全接管物联网设备。而且,这会在不同的板上返回相同的GUI:-(?)不幸的是,这些信息并非每个硬件都是唯一的,我想这只是软件信息来解释:我使用了两个raspberry PI,它们已经有相同的信息了(我必须承认,那是同一张sd卡)是的,你会认为物联网框架可以为你提供物联网硬件实例的唯一ID。天哪,我认为这不是一个可行的答案,因为它在软件安装中提供了不同的ID:即,它不能唯一标识板,它最多标识软件安装。因此,它是不是请求的处理器序列号或类似的。我希望如此!@GGleGrand并按照Amazon的方式进行操作。他们为每个设备分配一个唯一的id。当IoT恢复联机时,他们可以将其同步备份…请参阅注册表和设备阴影-如果设备在脱机时已更新,我很确定它将分配一个新的唯一id,但是我还怀疑亚马逊控制了更新设备,这就是他们跟踪网络/板id变化的方式。谢谢Jeremy。Azure iot hub也是如此。试图了解这是如何处理初始化/更新场景的:使用现成的RPi并安装iot核心应用程序。该应用程序只知道如何调用其common配置(云)服务。配置服务根据RPi的ID了解更多信息。RPi第一次启动(或应用程序/操作系统由microsoft更新,或获取新SD卡,等等)。它如何在配置服务器上找到其唯一的配置?或者如何在不为特定RPi HW实例调试软件的情况下实现这一点(风险高,因为软,成本高)?
            Windows.Security.ExchangeActiveSyncProvisioning.EasClientDeviceInformation deviceInfo= new Windows.Security.ExchangeActiveSyncProvisioning.EasClientDeviceInformation();