Поделиться через


Внесение изменений на устройстве после изготовления

Одним из последних шагов в производстве устройства Azure Sphere является размещение устройства в состоянии DeviceComplete, которое защищает устройство от изменения. Однако существуют ситуации, в которых необходимо изменить устройства, которые были помещены в состояние DeviceComplete.

Безопасный механизм, используемый для таких сценариев, заключается в использовании возможности устройства. Существует два типа возможностей устройств, fieldServicing и appDevelopment, и вы должны использовать тот, который имеет минимальный набор необходимых функций. То есть, если возможность fieldServicing соответствует вашим потребностям, то следует использовать это, но если требуется большая гибкость, используйте вместо этого функцию appDevelopment . Хотя возможности были разработаны для двух сценариев, после которых они называются, следует проверить фактические функциональные возможности, а не полагаться на это имя. Только владелец каталога устройства может получить возможности для этого устройства, и каждая возможность ограничена одним устройством.

При внесении изменений на устройство DeviceComplete не следует загружать эти возможности. Это позволяет исключить риск случайного выхода возможности из-за небезопасного состояния устройства. Вместо этого следует использовать сеанс обслуживания.

Существует три этапа использования возможностей для обслуживания устройств: скачивание возможностей, применение обновления доверенного хранилища ключей (при необходимости) и создание сеанса обслуживания.

Скачивание возможности

Вы можете скачать возможность с помощью команды az sphere devicey download. Для скачивания возможности необходимо иметь доступ к каталогу, которому принадлежит устройство и интернет-доступ. По умолчанию используется подключенное в настоящее время устройство. При присоединении нескольких устройств укажите IP-адрес, идентификатор устройства или идентификатор локального подключения подключенного устройства в параметре --device . При скачивании возможности для неподключаемого устройства укажите идентификатор устройства в параметре --device .

Чтобы скачать возможность для подключенного устройства, сделайте следующее.

  1. Используйте следующую команду с --type параметрами, --output-file чтобы скачать файл возможностей для подключенного устройства. Например:

    az sphere device capability download --resource-group MyResourceGroup --catalog MyCatalog --device <DeviceIdValue> --type ApplicationDevelopment --output-file myCapabilities.cap
    

    Замените <файл> возможностей расположением на компьютере, в котором хранится файл возможностей.

Чтобы скачать возможность для неподключенного устройства, сделайте следующее.

  1. Используйте следующую команду с параметром --deviceи ----output-file --typeпараметрами, чтобы скачать файл возможностей для неподключаемого устройства. Например:

    az sphere device capability download --resource-group <resource-group> --catalog <catalog> --device <deviceID> --type fieldServicing ----output-file <capability-file>
    

    Укажите идентификатор устройства, для которого требуется возможность, и замените <файл> возможностей расположением на компьютере, в котором будет храниться файл возможностей.

При необходимости обновите доверенное хранилище ключей

Если устройство не подключено к Интернету, возможно, устройство не доверяет возможности. Это происходит при обновлении ключа подписи образа AS3, с помощью которого он подписывает все изображения, включая образы возможностей, но устройство не имеет этого обновленного ключа в надежном хранилище ключей. Любое подключенное устройство автоматически обновляет надежное хранилище ключей, но если устройство не подключено, возможно, не произошло.

Чтобы устранить эту проблему, ознакомьтесь с подробными инструкциями здесь.

Создание сеанса обслуживания

Чтобы обслуживать устройство, создайте сеанс обслуживания, выбрав возможность. При каждом выполнении команды az sphere во время сеанса выбранная возможность передается устройству, что позволяет устройству выполнять команду, несмотря на его заблокированное состояние. Файл возможностей не хранится постоянно на устройстве, поэтому устройство остается заблокированным и защищенным. Если другой компьютер позже подключен к устройству без доступа к файлу возможностей, он не сможет изменить устройство.

Чтобы создать сеанс обслуживания, сделайте следующее.

  1. Подключите устройство к компьютеру с помощью интерфейса программирования и отладки.

  2. Используйте команду az sphere device capability apply с параметром --capability-file < capability-file.file.> Замените <файл> возможностей на путь к файлу, указанный при скачивании возможности.

    После выбора файла запускается сеанс обслуживания. Каждый раз, когда az sphere команда выполняется во время сеанса, сведения о возможности передаются на устройство, таким образом разблокируя связь. Сама возможность хранится на компьютере и связана с данными входа в Windows или Linux, а не с именем входа Azure Sphere. Сеанс обслуживания применяется ко всем az sphere командам, направленным на устройство с компьютера, а не только к тем, которые выполняются из текущей командной строки.

Чтобы завершить сеанс обслуживания, используйте команду az sphere devicey apply --none

После успешного выполнения этой команды сведения о возможности больше не передаются на устройство. Если сеанс не завершится, при следующем выпуске команды az sphere с этого компьютера будет передана текущая возможность устройства вместе с командой, поэтому команда завершится ошибкой, если вы работаете с другим устройством. Если удалить файл возможностей, не завершив сеанс обслуживания, следующая команда предупредит, что выбранный файл возможностей отсутствует и очистить выбор для любых дополнительных команд.