Внесение изменений на устройстве после изготовления
Внимание
Это документация по Azure Sphere (устаревшая версия). Служба Azure Sphere (устаревшая версия) выходит на пенсию 27 сентября 2027 г., и к этому времени пользователи должны перейти в Azure Sphere (интегрированная). Используйте селектор версий, расположенный над toC, чтобы просмотреть документацию по Azure Sphere (интегрированная).
Одним из последних шагов в производстве устройства Azure Sphere является размещение устройства в состоянии DeviceComplete, которое защищает устройство от изменения. Однако существуют ситуации, в которых необходимо изменить устройства, которые были помещены в состояние DeviceComplete.
Безопасный механизм, используемый для таких сценариев, заключается в использовании возможности устройства. Существует два типа возможностей устройств, fieldServicing и appDevelopment, и вы должны использовать тот, который имеет минимальный набор необходимых функций. То есть, если возможность fieldServicing соответствует вашим потребностям, то следует использовать это, но если требуется большая гибкость, используйте вместо этого функцию appDevelopment . Хотя возможности были разработаны для двух сценариев, после которых они называются, следует проверить фактические функциональные возможности, а не полагаться на это имя. Только владелец клиента устройства может получить возможности для этого устройства, и каждая возможность ограничена одним устройством.
При внесении изменений на устройство DeviceComplete не следует загружать эти возможности. Это позволяет исключить риск случайного выхода возможности из-за небезопасного состояния устройства. Вместо этого следует использовать сеанс обслуживания.
Существует три этапа использования возможностей для обслуживания устройств: скачивание возможностей, применение обновления доверенного хранилища ключей (при необходимости) и создание сеанса обслуживания.
Скачивание возможности
Вы можете скачать возможность с помощью команды azsphere devicey download. Для скачивания возможности необходимо иметь доступ к клиенту, которому принадлежит устройство и интернет-доступ. По умолчанию используется подключенное в настоящее время устройство. При присоединении нескольких устройств укажите IP-адрес, идентификатор устройства или идентификатор локального подключения подключенного устройства в параметре --device
. При скачивании возможности для неподключаемого устройства укажите идентификатор устройства в параметре --device
.
Чтобы скачать возможность для подключенного устройства, сделайте следующее.
Войдите в клиент Azure Sphere, в котором зарегистрировано устройство.
Используйте следующую команду с
--type
параметрами,--destination
чтобы скачать файл возможностей для подключенного устройства. Например:azsphere device capability download --type fieldServicing --destination <capability-file>
Замените <файл> возможностей расположением на компьютере, в котором хранится файл возможностей.
Чтобы скачать возможность для неподключенного устройства, сделайте следующее.
Войдите в клиент Azure Sphere, в котором зарегистрировано устройство.
Используйте следующую команду с параметром
--device
и--type
--destination
параметрами, чтобы скачать файл возможностей для неподключаемого устройства. Например:azsphere device capability download --device <deviceID> --type fieldServicing --destination <capability-file>
Укажите идентификатор устройства, для которого требуется возможность, и замените <файл> возможностей расположением на компьютере, в котором будет храниться файл возможностей.
При необходимости обновите доверенное хранилище ключей
Если устройство не подключено к Интернету, возможно, устройство не доверяет возможности. Это происходит при обновлении ключа подписи образа AS3, с помощью которого он подписывает все изображения, включая образы возможностей, но устройство не имеет этого обновленного ключа в надежном хранилище ключей. Любое подключенное устройство автоматически обновляет надежное хранилище ключей, но если устройство не подключено, возможно, не произошло.
Чтобы устранить эту проблему, ознакомьтесь с подробными инструкциями здесь.
Создание сеанса обслуживания
Чтобы обслуживать устройство, создайте сеанс обслуживания, выбрав возможность. Каждый раз, когда команда azsphere будет выдана во время сеанса, выбранная возможность передается устройству, что позволяет устройству выполнять команду, несмотря на его заблокированное состояние. Файл возможностей не хранится постоянно на устройстве, поэтому устройство остается заблокированным и защищенным. Если другой компьютер позже подключен к устройству без доступа к файлу возможностей, он не сможет изменить устройство.
Чтобы создать сеанс обслуживания, сделайте следующее.
Подключите устройство к компьютеру с помощью интерфейса программирования и отладки.
Используйте команду azsphere devicey select> Замените <файл> возможностей на путь к файлу, указанный при скачивании возможности.
После выбора файла запускается сеанс обслуживания. Каждый раз, когда команда azsphere выполняется во время сеанса, сведения о возможности передаются на устройство, таким образом разблокировка связи. Сама возможность хранится на компьютере и связана с данными входа в Windows или Linux, а не с именем входа Azure Sphere. Сеанс обслуживания применяется ко всем командам azsphere, направленным на устройство с компьютера, а не только к тем, которые выполняются из текущей командной строки.
Чтобы завершить сеанс обслуживания, используйте команду azsphere device capability select --none
После успешного выполнения этой команды сведения о возможности больше не передаются на устройство. Если вы не завершите сеанс, то во время следующего выполнения команды azsphere на том же компьютере вместе с командой будет передаваться настроенная ранее возможность устройства, и при работе с другим устройством это приведет к сбою выполнения команды. Если удалить файл возможностей, не завершив сеанс обслуживания, следующая команда предупредит, что выбранный файл возможностей отсутствует и очистить выбор для любых дополнительных команд.