Partilhar via


Notas de versão 18.11, 18.11.1 e 18.11.2

A versão de visualização do Azure Sphere 18.11 inclui as alterações, novos recursos e problemas conhecidos descritos neste artigo.

Nota

O padrão de numeração para nossas versões do SDK foi alterado. Embora a versão anterior fosse a 4.2.1, esta versão e as versões subsequentes são numeradas de acordo com o ano e mês de lançamento, com um número adicional para indicar uma atualização. Assim, a versão de novembro de 2018 é numerada 18.11, e atualizações menores são numeradas 18.11.1 e assim por diante.

A versão 18.11 apresenta alterações substanciais no Serviço de Segurança do Azure Sphere e na infraestrutura de nuvem. Essas melhorias de segurança permitirão que os dispositivos que ficaram offline por um longo período se reconectem. Como resultado dessa mudança, atualizar o sistema operacional para a versão 18.11 envolverá conectar o dispositivo a um PC e instalar manualmente o sistema operacional em vez de receber o software over the air (OTA). Esperamos atualizar pela OTA para versões futuras.

Sobre a versão 18.11.1 do SDK

A versão do SDK do Azure Sphere 18.11.1 complementa a versão 18.11 adicionando suporte para Ethernet Privada. Se você já atualizou seu dispositivo e ambiente de desenvolvimento para 18.11, não precisa atualizar o SDK para 18.11.1, a menos que planeje usar o suporte Ethernet privado. Para atualizar para o SDK 18.11.1, baixe-o do Visual Studio Marketplace e execute Azure_Sphere_SDK_Preview_for_Visual_Studio.exe do download para instalar. O SDK 18.11.1 funciona com a versão 18.11 do sistema operacional; não há uma versão 18.11.1 do sistema operacional.

Sobre a versão 18.11.2 do SO

A atualização 18.11.2 resolve um problema que impedia os dispositivos do Azure Sphere de se conectarem ao Wi-Fi em alguns casos. Se você já atualizou seu dispositivo e ambiente de desenvolvimento para 18.11, você receberá a versão 18.11.2 OTA. Inclui apenas o SO Azure Sphere; ele não inclui o SDK. Se você não atualizou para 18.11, siga as instruções em Instalar a versão 18.11, você receberá a OTA de atualização 18.11.2 após a conclusão da instalação 18.11.

Para garantir que seu dispositivo Azure Sphere receba a atualização 18.11.2, conecte o dispositivo à Internet. A entrega da atualização deve ocorrer dentro de 24 horas. Para baixar a atualização imediatamente, pressione o botão Reset na placa de desenvolvimento. A instalação do sistema operacional atualizado deve ser concluída em 10 minutos.

Para verificar a instalação, execute o seguinte comando para listar todas as imagens no dispositivo:

azsphere device image list-installed --full

Percorra a lista de imagens e verifique se o ID da imagem para o kernel NW corresponde ao seguinte:

Installed images:
...
--> NW Kernel
   --> Image type:   System software image type 7
   --> Component ID: ec96028b-080b-4ff5-9ef1-b40264a8c652
   --> Image ID:     44ed692e-ce49-4425-9aa6-952b84ce7b32
 ...
Command completed successfully in 00:00:02.0395495.

Instale a versão 18.11

Todos os dispositivos Azure Sphere são fornecidos pelo fabricante com o sistema operacional Azure Sphere instalado. Normalmente, conectar o dispositivo ao Wi-Fi aciona a atualização do sistema operacional over-the-air (OTA) se uma versão mais recente estiver disponível. Para a versão 18.11, você deve, em vez disso, atualizar manualmente cada dispositivo devido a alterações substanciais no Serviço de Segurança do Azure Sphere e na infraestrutura de nuvem. A atualização manual requer que você conecte o dispositivo Azure Sphere a um PC e use o procedimento de recuperação do dispositivo para substituir o software do sistema.

Se você tiver um dispositivo do Azure Sphere que nunca tenha sido usado, conclua todos os procedimentos em Instalar o Azure Sphere. Quando concluir estes passos, o seu dispositivo estará pronto para o desenvolvimento de aplicações. Você pode ignorar os procedimentos descritos nesta seção.

Se o seu dispositivo Azure Sphere já tiver sido reivindicado, siga as instruções nestas notas de versão para recuperar o dispositivo e voltar a ligar ao Wi-Fi. Se você configurou anteriormente a implantação de aplicativos OTA, também precisará criar novos feeds e grupos de dispositivos. O aplicativo TP4.2.1 existente continuará a ser executado nesta versão, mas exigirá alterações se você reconstruir, conforme descrito em Conjunto de APIs de destino e APIs Beta mais adiante neste documento.

Importante

Atualize para a versão 18.11 o mais rápido possível. Os dispositivos que executam a versão TP 4.2.1 não podem receber atualizações OTA para qualquer dispositivo ou software de aplicativo.

O TP 4.2.1 continuará a ser suportado até 15 de janeiro de 2019 ou mais tarde. Publicaremos uma notificação no site de Atualizações do Azure pelo menos duas semanas antes do fim do suporte ao TP 4.2.1. Depois disso, os dispositivos que executam o sistema operacional TP 4.2.1 não poderão se autenticar em um Hub IoT do Azure. Recomendamos vivamente que subscreva as notificações do Azure Update para receber informações atempadas sobre o suporte do TP 4.2.1 e outras notícias do Azure Sphere.  

Atualizar o sistema operacional Azure Sphere em um dispositivo reivindicado

Se este dispositivo Azure Sphere já tiver sido reivindicado, siga estes passos para atualizar o SO Azure Sphere:

  1. Ligue o seu dispositivo Azure Sphere ao seu PC através de USB.

  2. Abra um Prompt de Comando do Azure Sphere Developer e execute o comando azsphere para determinar qual versão do Azure Sphere SDK Preview for Visual Studio está instalada. Se o utilitário informar a versão 18.11.n.n, você tem a versão atual e pode prosseguir para a próxima etapa.

    Se o utilitário relatar a versão 2.0.n.n, você precisará atualizar o SDK antes de atualizar o sistema operacional. Para atualizar o SDK, baixe-o do Visual Studio Marketplace e execute Azure_Sphere_SDK_Preview_for_Visual_Studio.exe do download para instalar o SDK.

  3. Atribua seu dispositivo a um grupo de dispositivos que não forneça atualizações de aplicativos over-the-air. A maneira mais simples é listar os grupos de dispositivos disponíveis e selecionar o grupo "Somente software do sistema":

    azsphere device-group list
    
     Listing all device groups.
     --> [ID: cd037ae5-27ca-4a13-9e3b-2a9d87f9d7bd] 'System Software Only'
    Command completed successfully in 00:00:02.0129466.
    

    Mova o dispositivo para o grupo Apenas Software do Sistema:

    azsphere device update-device-group -d cd037ae5-27ca-4a13-9e3b-2a9d87f9d7bd
    
  4. Execute o seguinte comando para atualizar manualmente o sistema operacional Azure Sphere:

    azsphere device recover
    

    Deverá ver um resultado semelhante ao seguinte:

    Starting device recovery. Please note that this may take up to 10 minutes.
    Board found. Sending recovery bootloader.
    Erasing flash.
    Sending images.
    Sending image 1 of 16.
    Sending image 2 of 16.
    . . .
    Sending image 16 of 16.
    Finished writing images; rebooting board.
    Device ID: <GUID>
    Device recovered successfully.
    Command completed successfully in 00:02:37.3011134.
    

Se a atualização for bem-sucedida, o comando azsphere device show-ota-status deverá retornar uma saída semelhante a esta:

azsphere device show-ota-status -v
Your device is running Azure Sphere OS version 18.11.
The Azure Sphere Security Service is targeting this device with Azure Sphere OS version 18.11.
Your device has the expected version of the Azure Sphere OS: 18.11.
Command completed successfully in 00:00:03.2653689.

Se o dispositivo azsphere show-ota-status falhar com a seguinte mensagem, o dispositivo estará em um grupo de dispositivos que executa atualizações de aplicativos OTA e, portanto, está recebendo o feed de sistema operacional mais antigo do qual o aplicativo OTA depende.

warn: Your device running Azure Sphere OS version 18.11 is being targeted with a deprecated version TP4.2.1. Go to aka.ms/AzureSphereUpgradeGuidance for further advice and support.

Para resolver esse problema, atribua o dispositivo ao grupo de dispositivos Somente Software do Sistema, conforme descrito na Etapa 3, e execute o comando azsphere device recover novamente.

Depois que o dispositivo for atualizado com êxito, configure-o para desenvolvimento de aplicativos ou para uso em campo.

Para permitir o desenvolvimento de aplicativos

Os dispositivos configurados para o desenvolvimento de aplicativos recebem OTA de software de sistema, mas não recebem OTA de software de aplicativo.

  1. Para habilitar o desenvolvimento e a depuração de aplicativos locais, use o comando prep-debug da seguinte maneira:

    azsphere device prep-debug
    

    Este comando permite o desenvolvimento de aplicações no dispositivo e move-o para um grupo de dispositivos de Software de Sistema que utiliza o novo feed de pré-visualização do SO 18.11.

  2. Configure o Wi-Fi no dispositivo. O procedimento de recuperação do dispositivo exclui a configuração Wi-Fi existente.

Para habilitar o uso do campo

Os dispositivos configurados para uso em campo podem receber OTA de software de sistema e de software de aplicativo, se estiverem vinculados a um feed que fornece aplicativos. Se o seu dispositivo recebeu anteriormente atualizações de aplicativos OTA, configure-o para uso em campo para continuar a recebê-las.

  1. Para configurar o dispositivo para uso em campo, execute o comando prep-field da seguinte forma:

    azsphere device prep-field --newdevicegroupname <new-group-name>
    

    Substitua <new-group-name> por um nome exclusivo para um grupo de dispositivos. Um novo grupo de dispositivos é necessário devido a alterações no feed do sistema operacional dependente nesta versão.

  2. Reconstrua o aplicativo que você deseja implantar. Certifique-se de atualizar o conjunto de APIs de destino conforme descrito aqui.

  3. Vincule seu dispositivo a um novo feed de software de aplicativo, da seguinte maneira:

    azsphere device link-feed --newfeedname <name-for-new-feed> --dependentfeedid <**replace with new feed id**> --imagepath <image-path>
    

    Forneça um nome exclusivo para o novo feed e substitua <o caminho> da imagem pelo caminho para a imagem do aplicativo recém-reconstruída que você deseja que o feed entregue. Um novo feed de aplicativos é necessário devido às alterações no mecanismo OTA.

    Importante

    Especifique "Visualizar MT3620" com ID de feed 3369f0e1-dedf-49ec-a602-2aa98669fd61 como o feed dependente. Não use o obsoleto "Preview MT3620 Feed" (ID do feed edd33e66-9b68-44c8-9d23-eb60f2e5018b) e não vincule o dispositivo a um feed de aplicativo existente que dependa desse feed.

  4. Configure o Wi-Fi no dispositivo. O procedimento de recuperação do dispositivo exclui a configuração Wi-Fi existente.

Comportamento de dispositivos TP 4.2.1 e SDK após a versão 18.11

Se continuar a utilizar o SO TP 4.2.1 e o SDK TP 4.2.1, espere o seguinte comportamento:

  • Os dispositivos TP 4.2.1 existentes continuarão a funcionar. Os aplicativos de sideload ou OTA existentes podem continuar a se comunicar com um Hub IoT existente até que o suporte para TP 4.2.1 termine (atualmente agendado para 15 de janeiro de 2019).

  • Os dispositivos TP 4.2.1 não receberão mais atualizações de aplicativos OTA ou atualizações do sistema operacional Azure Sphere. As tentativas de implantar ou atualizar aplicativos OTA não têm efeito.

Se você instalar o SDK 18.11, mas continuar a usar um dispositivo que tenha o sistema operacional TP 4.2.1, você pode encontrar o seguinte comportamento:

  • O SDK 18.11 exibe uma mensagem de lembrete sobre a atualização do dispositivo Azure Sphere anexado sempre que ele executa uma operação no dispositivo que está executando a versão TP 4.2.1.

Novos recursos e alterações nesta versão

Esta versão inclui investimentos substanciais em nossa infraestrutura de segurança e incorpora alguns de seus comentários. As seções a seguir descrevem recursos novos e alterados.

Conjunto de APIs de destino e APIs Beta

Esta versão inclui APIsBeta para teste e desenvolvimento. As APIs beta ainda estão em desenvolvimento e podem ser alteradas ou removidas de uma versão posterior.

Para permitir que você desenvolva aplicativos que usam as APIs de produção ou as APIs de produção e Beta, esta versão do Azure Sphere adiciona a propriedade Target API set às Propriedades do Projeto no Visual Studio. O valor 1 do Conjunto de APIs de destino seleciona apenas APIs de produção; o valor 1+Beta1811 seleciona as APIs de produção e Beta para a versão atual.

As tentativas de reconstruir aplicativos TP 4.2.1 existentes com o 18.11 Azure Sphere SDK Preview para Visual Studio falharão inicialmente com o seguinte erro:

'Target API Set' project property is not set. Open the Project Properties and set this field using the dropdown menu. Ensure that the Configuration selected on that page includes the active build configuration (for example, Debug, Release, All Configurations).

Para corrigir este erro:

  1. Abra o projeto do Azure Sphere no Visual Studio.

  2. No menu Projeto, selecione Propriedades do nome do projeto.

  3. Verifique se a Configuração está definida como Todas as Configurações ou Ativo (nome da configuração).

  4. Selecione Target API set (Conjunto de APIs de destino). No menu suspenso, escolha 1 para usar APIs de produção ou 1+Beta1811 para usar APIs de produção e Beta.

    Página de propriedades do projeto

  5. Clique em OK.

Em seguida, você pode reconstruir o projeto.

Para obter informações adicionais sobre APIs Beta e o conjunto de APIs de destino, consulte Recursos Beta.

Verificação rigorosa de protótipos

As configurações do compilador do Visual Studio agora incluem verificação de protótipo estrita por padrão. Como resultado, o compilador gcc retorna um aviso para uma função que usa parênteses vazios () em vez de (void) para indicar que não tem argumentos.

Para eliminar o aviso em aplicativos existentes do Azure Sphere, edite a assinatura da função para adicionar void. Por exemplo, altere int foo() para int foo(void).

Configuração de Wi-Fi usando Bluetooth de baixa energia (BLE)

Esta versão inclui uma solução de referência que mostra como você pode usar um dispositivo móvel para configurar o Wi-Fi em um dispositivo baseado no Azure Sphere. A solução BLE requer o Windows 10 Fall Creators Edition, que fornece suporte Bluetooth adicional necessário.

Relógio em tempo real

Uma API Beta permite que os aplicativos definam e usem o relógio interno e aproveita o suporte para o uso de uma bateria de célula de moeda para garantir que o RTC continue a manter o tempo quando a energia é perdida.

Importante

O RTC deve ter energia para a placa de desenvolvimento MT3620 operar. Isso requer um cabeçalho de jumper nos pinos 2 e 3 do J3, ou uma bateria de célula de moeda e um jumper nos pinos 1 e 2 do J3. Consulte Fonte de alimentação para obter detalhes.

Armazenamento mutável

Uma API Beta fornece acesso a um máximo de 64k para armazenamento de dados persistentes de leitura/gravação.

Ethernet privada

Você pode conectar o Azure Sphere a uma rede Ethernet privada usando uma parte Ethernet Microchip em uma interface periférica serial (SPI). Esta funcionalidade permite que uma aplicação executada no chip A7 comunique com dispositivos numa rede privada de 10 Mbps através de redes TCP ou UDP padrão, além de comunicar através da Internet através de Wi-Fi.

Atualização do MCU externo

Uma solução de referência mostra como seu aplicativo pode atualizar o firmware de MCUs conectadas adicionais.

Melhorias na atualização de software

O serviço de segurança do Azure Sphere agora lida perfeitamente com certificados raiz expirados para garantir que os dispositivos que estão conectados intermitentemente ou estão desconectados por longos períodos de tempo sempre podem se conectar ao Azure Sphere e atualizar com segurança.

Comando Ping

Embora o comando ping tenha funcionado anteriormente para contactar o dispositivo Azure Sphere através de uma ligação USB, esta funcionalidade sem suporte foi removida. Use o comando azsphere device show-attached para verificar a conectividade do dispositivo.

Problemas conhecidos

Esta seção lista os problemas conhecidos na versão atual.

Falha no comando Lista de feeds

Após a versão 18.11, o comando azsphere feed list do TP 4.2.1 SDK falha com a seguinte mensagem:

azsphere feed list
Listing all feeds.
error: Invalid argument provided.
error: Command failed in 00:00:01.2002890.

A razão para essa falha é a adição de um novo tipo de feed na versão 18.11. Para evitar esse erro, atualize o sistema operacional e o SDK do dispositivo Azure Sphere para a versão 18.11.

Caracteres não-ASCII em caminhos

As ferramentas do Azure Sphere não suportam caracteres não-ASCII em caminhos.

Linguagem de programação

O SDK do Azure Sphere dá suporte ao desenvolvimento de aplicativos somente em C.

Atualmente, o Visual Studio Integrated Development Environment (IDE) não gera um erro se você adicionar um arquivo de origem C++ a um projeto do Azure Sphere. No entanto, o desenvolvimento C++ não é suportado e o projeto resultante não será compilado corretamente.