Как получить серийный номер процессора Raspberry PI 2 с Windows IOT

Мне нужно получить серийный номер процессора Raspberry Pi2, на котором работает Windows 10 IoT.


person Juan Carlos Velez    schedule 27.11.2015    source источник
comment
Я не думаю, что какие-либо процессоры раскрывают свои серийные номера через вызов API, поскольку Pentium 3 получил много шума за то, что делал это еще в 90-х.   -  person Scott Chamberlain    schedule 27.11.2015
comment
см. это: securityblog.gr/668/get-cpu- id-serial-number-using-c   -  person AStopher    schedule 27.11.2015
comment
@cybermonker сообщение в блоге неверно, это значение WMI дает вам марку и модель процессор, два процессора одной модели вернут одно и то же значение.   -  person Scott Chamberlain    schedule 27.11.2015
comment
Насколько я знаю, у Raspberry Pi есть устройство, а не серийный номер процессора, и если Windows IoT не может это раскрыть, то это очень глупое ограничение! Если идея Windows IoT состоит в том, чтобы начать с очень ограниченного набора API-интерфейсов, а затем в течение многих лет разработать платформу, которая действительно может использоваться в реальном мире ... ну, к тому времени Linux, как и Android в телефонах, полностью возьмет верх над IoT. устройства ..   -  person mms    schedule 30.03.2016
comment
Кроме того, это msdn.microsoft .com / en-us / library / windows / apps / возвращает одинаковые идентификаторы GUID на разных досках :-( ??   -  person GGleGrand    schedule 26.11.2016
comment
И этот обходной путь (embedded101.com/BruceEitman/entryid/676/) ломается в пользовательском OEM-образе / сборке FFU iot-core ... видимо, из-за изменений в защите доступа - отладка невозможна.   -  person GGleGrand    schedule 26.11.2016
comment
У @GGleGrand CyberMonkey был пост, извлекающий информацию WMI, хотя в сообщении говорилось, что он получает ProcessorID, это должен был быть SerialNumber.   -  person vipersassassin    schedule 02.12.2016
comment
Спасибо, но в любом случае он не будет поддерживаться в UWP / Iot-Core, даже если он выдает уникальный серийный идентификатор, чего, насколько я могу судить, нет. Если Microsoft хочет, чтобы технология T в IoT работала, она должна предоставить нам способ однозначно определить, на чем мы работаем. Это возможно в системах Linux. Итак, мы все еще ищем надежное поддерживаемое решение.   -  person GGleGrand    schedule 04.12.2016


Ответы (3)


Обычно это находится в пространстве имен Windows.System.Profile.HardwareIdentification. К сожалению, это одно из неподдерживаемых пространств имен Win10 IoT Core.

Вместо этого, чтобы идентифицировать металл, я использую информацию от сетевых адаптеров:

    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;
    }

Конечно, это не полностью защита от ошибок, но пока что это единственный способ получить достаточно надежный идентификатор устройства.

person ObjectType    schedule 29.11.2015
comment
Я не думаю, что это работоспособный ответ, поскольку он дает разные идентификаторы для разных программных установок: то есть он не однозначно идентифицирует плату, он идентифицирует в лучшем случае установку программного обеспечения. Таким образом, это не запрошенный серийный номер процессора или аналогичный. Я бы хотел, чтобы это было! - person GGleGrand; 26.11.2016
comment
@GGleGrand делает это так, как это делает Amazon. Каждому устройству присваивается уникальный идентификатор. Когда вещи IoT снова подключены к сети, они могут синхронизировать их резервное копирование ... см. Реестр и тени устройств aws.amazon.com/iot/how-it-works - если устройство было обновлено в автономном режиме, я почти уверен, что ему будет назначен новый уникальный идентификатор, но нужно попробовать это, чтобы быть уверенным. Я также подозреваю, что Amazon берет на себя управление обновлением устройств и именно так они отслеживают изменения идентификаторов сети / платы. - person Jeremy Thompson; 28.11.2016
comment
Спасибо, Джереми. Как и Azure iot-hub. Попытка понять, как это обрабатывает сценарий инициализации / обновления: возьмите готовый RPi и установите приложение IoT-Core. Все, о чем это приложение знает, - это то, как вызвать его общую (облачную) службу конфигурации. Служба конфигурации знает больше, основываясь на идентификаторе RPi. RPi загружается впервые (или приложение / ОС обновляется Microsoft, или получает новую SD-карту, что угодно). Как он находит свою уникальную конфигурацию на сервере конфигурации? Или как добиться этого, не вводя программное обеспечение в эксплуатацию для конкретного HW-экземпляра RPi (рискованно, так как мягко и дорого)? - person GGleGrand; 28.11.2016

Я извлек образец кода из Microsoft's Образец Интернета вещей (IoTCoreDefaultApp), который может быть полезен для извлечения информации об устройстве (к сожалению, серийный номер процессора никогда не используется для программирования).

Как получить информацию об устройстве Windows IoT:  введите описание изображения здесь

person Anurag Vasanwala    schedule 13.12.2015
comment
К сожалению, эта информация не уникальна для каждого оборудования, я думаю, это просто информация о программном обеспечении. - person Tobias Raphael Dieckmann; 10.05.2016
comment
для объяснения: я использовал две малиновые писи, и у них уже была одинаковая информация (я должен признать, что это была одна и та же sd-карта), но этого тоже не должно было произойти - person Tobias Raphael Dieckmann; 10.05.2016
comment
Да, вы могли подумать, что инфраструктура Интернета вещей может предоставить вам уникальный идентификатор для экземпляра оборудования Интернета вещей. Гоша. - person GGleGrand; 15.11.2016

Используйте этот код для получения информации об устройстве.

            Windows.Security.ExchangeActiveSyncProvisioning.EasClientDeviceInformation deviceInfo= new Windows.Security.ExchangeActiveSyncProvisioning.EasClientDeviceInformation();
person sachin    schedule 08.03.2019