Compartilhar via


Comunicar-se com um aplicativo com capacidade em tempo real

Importante

Esta é a documentação do Azure Sphere (herdado). O Azure Sphere (herdado) será desativado em 27 de setembro de 2027 e os usuários devem migrar para o Azure Sphere (integrado) até esse momento. Use o seletor de versão localizado acima do sumário para exibir a documentação do Azure Sphere (Integrado).

O Azure Sphere oferece suporte à comunicação entre núcleos entre aplicativos de alto nível e aplicativos com capacidade para tempo real (RTApp). Os aplicativos de alto nível podem usar a função Application_Connect de applibs para enviar e receber dados ao se comunicar com um RTApp. O Application_Connect recupera um descritor de arquivo em um soquete que é usado para se comunicar com o RTApp. Enquanto o descritor de arquivo estiver aberto, você pode executar operações, como enviar/receber.

A amostra de IntercoreComms explica como usar um aplicativo de alto nível para se comunicar com um RTApp em um MT3620. Comunicar-se com um aplicativo de alto nível descreve as considerações de programação para o RTApp.

Requisitos

Os aplicativos de alto nível que usam a comunicação entre aplicativos devem incluir os arquivos de cabeçalho apropriados e adicionar configurações de aplicativo ao manifesto do aplicativo.

Arquivos de cabeçalho

#include <sys/socket.h>
#include <applibs/application.h>

Configurações do manifesto do aplicativo

Para se comunicar com um RTApp, ambos os aplicativos precisam incluir a funcionalidade de AllowedApplicationConnections na manifesto do aplicativo:

  • O aplicativo de alto nível atual deve listar a ID do componente do aplicativo capacitado para tempo real em AllowedApplicationConnections.
  • O aplicativo capacitado para tempo real deve listar a ID do componente do aplicativo de alto nível em AllowedApplicationConnections.
"AllowedApplicationConnections": [ "005180BC-402F-4CB3-A662-72937DBCDE47" ]

Aplicativos de parceiros

Quando você carrega um aplicativo no dispositivo do Azure Sphere, as ferramentas de implantação do Azure Sphere excluem todos os aplicativos existentes por padrão. Para evitar que isso aconteça quando você desenvolve um par de aplicativos que se comunicam entre si, você precisa marcar os aplicativos como parceiros. Quando você implanta um dos aplicativos, o parceiro não será excluído. Consulte Marcar aplicativos como parceiros para obter detalhes.

Abra o soquete

Para se comunicar com um RTApp, você precisará abrir um soquete chamando a função Application_Connect. O descritor de arquivo retornado por essa chamada de função é usado para executar operações de envio/recebimento no soquete.

Enviar dados

Você pode enviar uma mensagem para um RTApp chamando a função de send() do POSIX. O tamanho máximo da mensagem é de 1 KB.

Receber dados

Você poderá receber uma mensagem de um RTApp chamando a função POSIX recv().

Feche o soquete

Para fechar o soquete, chame a função POSIX close().