Realización de cambios en un dispositivo después de la fabricación
Importante
Esta es la documentación de Azure Sphere (heredado). Azure Sphere (heredado) se retira el 27 de septiembre de 2027 y los usuarios deben migrar a Azure Sphere (integrado) en este momento. Use el selector de versiones situado encima de la TOC para ver la documentación de Azure Sphere (integrado).
Uno de los pasos finales de la fabricación de un dispositivo de Azure Sphere es colocar el dispositivo en el estado DeviceComplete, que protege el dispositivo contra la modificación. Sin embargo, hay situaciones en las que los dispositivos que se han colocado en el estado DeviceComplete deben modificarse.
El mecanismo seguro que se usa para estos escenarios es usar una funcionalidad de dispositivo. Hay dos tipos de funcionalidad de dispositivo, fieldServicing y appDevelopment, y debe usar el que tiene el conjunto mínimo de características necesarias. Es decir, si la funcionalidad fieldServicing satisface sus necesidades, debe usarla, pero si se requiere mayor flexibilidad, use la funcionalidad appDevelopment en su lugar. Aunque las funcionalidades se diseñaron para los dos escenarios después de los cuales se denominan, debe comprobar las funcionalidades reales habilitadas en lugar de confiar en ese nombre. Solo el propietario del inquilino del dispositivo puede adquirir funcionalidades para ese dispositivo y cada funcionalidad está restringida a un único dispositivo.
Al realizar cambios en un dispositivo DeviceComplete, no debe transferir localmente esas funcionalidades. Esto es para eliminar el riesgo de dejar accidentalmente la funcionalidad presente y, por tanto, dejar el dispositivo en un estado inseguro. En su lugar, debe usar una sesión de mantenimiento.
Hay tres fases para usar funcionalidades para atender dispositivos: descargar las funcionalidades, aplicar una actualización de almacén de claves de confianza (si es necesario) y, a continuación, crear una sesión de mantenimiento.
Descarga de una funcionalidad
Puede descargar una funcionalidad mediante el comando azsphere device capability download. Debe tener acceso al inquilino que posee el dispositivo y el acceso a Internet para descargar una funcionalidad. De forma predeterminada, se usa el dispositivo conectado actualmente. Cuando se adjuntan varios dispositivos, especifique la dirección IP, el identificador de dispositivo o el identificador de conexión local de un dispositivo conectado en el --device
parámetro . Al descargar una funcionalidad para un dispositivo no conectado, proporcione un identificador de dispositivo en el --device
parámetro .
Para descargar la funcionalidad para un dispositivo conectado:
Inicie sesión en el inquilino de Azure Sphere en el que se reclama el dispositivo.
Use el siguiente comando con los
--type
parámetros y--destination
para descargar un archivo de funcionalidad para el dispositivo conectado. Por ejemplo:azsphere device capability download --type fieldServicing --destination <capability-file>
Reemplace <capability-file> por la ubicación del equipo en el que almacenar el archivo de funcionalidad.
Para descargar la funcionalidad para un dispositivo no conectado:
Inicie sesión en el inquilino de Azure Sphere en el que se reclama el dispositivo.
Use el siguiente comando con los
--device
parámetros ,--type
y--destination
para descargar un archivo de funcionalidad para el dispositivo no conectado. Por ejemplo:azsphere device capability download --device <deviceID> --type fieldServicing --destination <capability-file>
Proporcione el identificador de dispositivo del dispositivo para el que necesita la funcionalidad y reemplace <capability-file> por la ubicación del equipo en el que almacenar el archivo de funcionalidad.
Actualice el almacén de claves de confianza si es necesario.
Si un dispositivo no está conectado a Internet, existe la posibilidad de que el dispositivo no confíe en la funcionalidad. Esto ocurre cuando AS3 ha actualizado su clave de firma de imagen con la que firma todas las imágenes, incluidas las imágenes de funcionalidad, pero el dispositivo no tiene esta clave actualizada en su almacén de claves de confianza. Cualquier dispositivo conectado actualiza automáticamente su almacén de claves de confianza, pero si el dispositivo no está conectado, es posible que no se haya producido.
Para solucionar esto, consulte las instrucciones detalladas aquí.
Creación de una sesión de servicio
Para atender un dispositivo, cree una sesión de mantenimiento seleccionando una funcionalidad. Cada vez que se emite el comando azsphere durante la sesión, la funcionalidad seleccionada se pasa al dispositivo, lo que permite que el dispositivo realice el comando a pesar de su estado bloqueado. El archivo de funcionalidad no se almacena de forma persistente en el dispositivo, por lo que el dispositivo permanece bloqueado y protegido. Si otro equipo está conectado más adelante al dispositivo sin acceso al archivo de funcionalidad, no podrá modificar el dispositivo.
Para crear una sesión de servicio:
Conecte el dispositivo al equipo mediante la interfaz de programación y depuración.
Use el comando azsphere device capability select con el parámetro --capability-file< capability-file>. Reemplace <capability-file> por la ruta de acceso del archivo que especificó al descargar la funcionalidad.
Después de seleccionar el archivo, se inicia la sesión. Cada vez que se ejecuta el comando azsphere durante la sesión, la información de funcionalidad se pasa al dispositivo, lo que desbloquea la comunicación. La funcionalidad se almacena en el equipo y se asocia a los datos de inicio de sesión de Windows o Linux, no al inicio de sesión de Azure Sphere. La sesión de mantenimiento se aplica a todos los comandos azsphere que se dirigen al dispositivo desde el equipo, no solo a los que se ejecutan desde el símbolo del sistema actual.
Para finalizar la sesión de mantenimiento, use el comando azsphere device capability select --none
Cuando este comando se ejecuta correctamente, la información de la funcionalidad ya no se pasa al dispositivo. Si no finaliza la sesión, la próxima vez que emita un comando azsphere desde este equipo se pasará la funcionalidad del dispositivo actual junto con el comando y, por tanto, se producirá un error en el comando si está trabajando con un dispositivo diferente. Si elimina el archivo de funcionalidad sin finalizar la sesión de mantenimiento, el siguiente comando le avisará de que falta el archivo de funcionalidad seleccionado y borrará la selección de los comandos adicionales.