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


Возможности устройств и связь

Внимание

Это документация по Azure Sphere (устаревшая версия). Служба Azure Sphere (устаревшая версия) выходит на пенсию 27 сентября 2027 г., и к этому времени пользователи должны перейти в Azure Sphere (интегрированная). Используйте селектор версий, расположенный над toC, чтобы просмотреть документацию по Azure Sphere (интегрированная).

Возможности устройств определяют политики ОС для взаимодействия с службой UART для конкретного устройства. Все обмен данными между узлом и подключенным устройством осуществляется через UART службы. Главный компьютер взаимодействует с подключенным устройством для выполнения операций на устройстве. Производители, разработчики программного обеспечения и выездное обслуживание технические специалисты используют возможности для разблокировки связи между службами UART для операций, которые они требуют, обеспечивая защиту устройства от вредоносных пользователей.

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

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

Примечание.

Возможности устройства никак не связаны с возможностями приложения. Возможности приложения определяют ресурсы, которые требуются приложению во время выполнения. Дополнительные сведения о возможностях приложения см. в статье о манифесте приложения.

Определение возможностей устройства или состояния производства

Чтобы определить конфигурацию возможностей, хранящуюся на подключенном устройстве, используйте команду azsphere device show-attached . Команда отображает возможности, настроенные с помощью файла возможностей и некоторых, но не всех, присутствующих по умолчанию на досках. Полный список команд azsphere , требующих возможности устройства, см . в таблице в обзоре интерфейса командной строки.

Возможности устройства могут повлиять на состояние производства устройства. Чтобы определить состояние производства устройства, используйте команду azsphere device-state show . Если команда показывает, что устройство находится в состоянии производства DeviceComplete или возвращается Device access is forbidden, связь service-UART заблокирована, и вам нужна возможность взаимодействия с устройством с компьютера. Если устройство находится в производственном состоянии DeviceComplete , производственные операции разрешены только в том случае, если устройство разблокировано с помощью файла возможностей.

Примечание.

Если вы устанавливаете устройство на сайте клиента, перед установкой необходимо убедиться, что устройство будет завершено в состоянии производства DeviceComplete . См. раздел "Завершение работы устройства Azure Sphere".

Состояние manufacuring DeviceComplete обычно не подходит для комплекта разработки. Чтобы обеспечить тестирование производственных операций, разработанных инженерами производства, комплект разработки должен находиться в пустом состоянии производства или в состоянии производства Module1Complete.

Получение возможностей устройствами

Устройства могут получать возможности одним из трех способов:

  • Открыто по умолчанию. Устройство, которое находится в состоянии пустого производства или в состоянии производства Module1Complete, имеет некоторые возможности, открытые по умолчанию. Это делается так, чтобы устройства на этапе производства не должны быть подключены к облаку или утверждаются в клиентах, как это требуется в процессе использования файлов возможностей устройства для разблокировки возможностей. По мере прогресса производства производители могут изменить состояние производства устройства, чтобы заблокировать возможности, которые больше не подходят, как описано в задачах фабрики.

  • Загрузка неопубликованных данных на устройство. Устройство может иметь неопубликованный файл возможностей, загруженный на устройство с хост-компьютера. Используйте команду загрузки возможностей azsphere device, чтобы получить файл возможностей. Этот неопубликованный набор возможностей сохраняется до тех пор, пока не будет загружен новый файл возможностей (который может быть пустым файлом без возможностей). Это обычная ситуация во время разработки приложений, например при выполнении команды azsphere device enable-development. Разработка приложений помогает иметь устройство в разблокированном состоянии, где разработчик может выполнять такие операции, как отладка и легко удалять и развертывать неопубликованные версии приложения.

  • Передается на устройство с каждой операцией. Устройство может иметь локально выбранные возможности, применяемые на основе каждой операции. Команда azsphere device capability select выбирает файл возможностей, хранящийся локально на хост-компьютере. После выполнения этой команды выбранная возможность передается с компьютера на устройство с каждой последующей командой. Это рекомендуемый способ использования возможностей для устройств, находящихся в поле, так как эти возможности хранятся на компьютере, а не на устройстве. Риск случайного выхода устройства из незащищенного состояния, забыв удалить эту возможность, не удалось.

Прежде чем файл возможностей можно загрузить на устройство или передать на устройство с помощью операции, его необходимо скачать из службы безопасности Azure Sphere (AS3), как описано в разделе "Внесение изменений на устройство после производства". Скачанные файлы возможностей зависят от устройства; После скачивания файл возможностей можно многократно использовать на связанном устройстве.

Возможность enableRfTestMode

Функция enableRfTestMode по умолчанию присутствует на устройстве, когда производственное состояние устройства является пустым. Эта возможность позволяет программировать e-fuses и конфигурацию и тестирование операции RF. Владельцы клиентов не могут скачать эту возможность на главный компьютер. Если вам нужна эта возможность, обратитесь к представителю Майкрософт.

Когда состояние производства устройства пустое, команда azsphere device capability show-attached отображает возможность enableRfTestMode.

Возможность appDevelopment

Возможность устройства appDevelopment разблокирует обмен данными между службами UART и изменяет тип подписывания, которому доверяет устройство. Она предназначена для использования только во время разработки приложения.

По умолчанию устройство Azure Sphere доверяет подписанным для рабочей среды пакетам образов, которые скачиваются из службы безопасности Azure Sphere, но не доверяет подписанным пакетом SDK пакетам образов. Поэтому вы не можете создать пакет образа с помощью пакета средств разработки и загрузить его на устройство Azure Sphere для отладки без публикации образа, если устройство не имеет возможности appDevelopment. Возможность appDevelopment настраивает доверие устройства к пакету образа и позволяет запускать, останавливать, отлаживать и/или удалять приложения на устройстве.

В итоге функция appDevelopment разблокирует связь service-UART, чтобы разрешить следующие операции:

  • Загрузка неопубликованного пакета образа, созданного с помощью Visual Studio, Visual Studio Code, интерфейса командной строки или команды azsphere image-package.

  • Запуск, остановка, отладка и/или удаление пакета образа на устройстве Azure Sphere независимо от того, как он подписан.

Чтобы добавить функцию appDevelopment, используйте команду azsphere device enable-development. Эта команда загружает возможность appDevelopment для подключенного устройства, загружает неопубликованную функцию на устройство и перемещает устройство в группу устройств разработки по умолчанию. Чтобы указать другую группу устройств, включите --device-group параметр.

После выполнения команды azsphere device enable-development устройство остается разблокированным до тех пор, пока оно не будет заблокировано явным образом. Чтобы повторно заблокировать устройство, выполните команду azsphere device enable-cloud-test. Эта команда удаляет возможность и изменяет группу устройств с учетом указанных параметров командной строки.

Команды azsphere device enable-development и azsphere device enable-cloud-test выполняют последовательность действий, которые подготавливают устройство для разработки и отладки или для облачных развертываний соответственно. Вместо использования этих команд можно использовать команду azsphere devicey для скачивания или обновления возможностей устройства, а также для того, чтобы узнать, какие возможности имеет устройство в данный момент.

Возможность fieldServicing

Возможность fieldServicing присутствует на устройстве по умолчанию, если устройство имеет состояние производства blank или Module1Complete. Если устройство находится в производственном состоянии DeviceComplete, возможность fieldServicing может быть загружена неопубликованно, но обычно передается на устройство с каждой операцией во время сеанса обслуживания. Дополнительные сведения о запуске сеанса обслуживания см. в разделе "Внесение изменений на устройство после производства".

Независимо от состояния производства устройства, функция fieldServicing разблокирует связь service-UART, чтобы разрешить следующие операции:

  • Загрузка неопубликованного пакета образа, подписанного в рабочей среде.
  • Запуск, остановка и удаление рабочего пакета образа, помеченного как временный.
  • Выполнение стандартных задач обслуживания, таких как настройка Wi-Fi.

Хотя возможность fieldServicing присутствует по умолчанию на устройстве, если состояние производства устройства пусто или Module1Complete, команда azsphere device capability show-attached не отображает возможность fieldServicing.

Зависимость от актуального доверенного хранилища ключей

Когда файл возможностей создается AS3, он подписывается с помощью текущего ключа подписи образа. Каждое устройство имеет надежное хранилище ключей в составе ОС, в которой хранятся эти ключи. Тем не менее, если устройство не подключено к Интернету, то возможность не доверяет устройству, оно предназначено, если доверенное хранилище ключей этого устройства устарело.

Чтобы устранить эту проблему, один из способов — разрешить устройству подключаться к Интернету, чтобы оно обновлялось доверенным хранилищем ключей. Подключите устройство к Интернету и нажмите клавишу RESET , чтобы активировать обновление ОС.

Если это невозможно, можно загрузить обновленное доверенное хранилище ключей. Для этого примите условия лицензии, а затем скачайте последние образы восстановления ОС и из этого ZIP-файла извлеките только файл trusted-keystore.bin. Затем можно использовать команду azsphere device sideload deploy --image-package <path-to-trustedkeystore.bin-file> , чтобы загрузить надежное хранилище ключей, и теперь возможность должна быть доверена устройством.

Третий метод — восстановление системного программного обеспечения для обновления ОС Azure Sphere до последней выпущенной версии, включая последнее доверенное хранилище ключей.