Partilhar via


Comunique-se com um aplicativo capaz de trabalhar em tempo real

Importante

Esta é a documentação do Azure Sphere (Legado). O Azure Sphere (Legado) 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 dá suporte à comunicação entre núcleos entre aplicativos de alto nível e aplicativos com capacidade de tempo real (RTApp). Aplicativos de alto nível podem usar a função applibs Application_Connect para enviar e receber dados ao se comunicar com um RTApp. Application_Connect recupera um descritor de arquivo para um soquete que é usado para se comunicar com o RTApp. Enquanto o descritor de arquivo estiver aberto, você pode executar operações nele, como enviar/recv.

O exemplo IntercoreComms demonstra como usar um aplicativo de alto nível para se comunicar com um RTApp em um MT3620. Comunicar com um aplicativo de alto nível descreve considerações de programação para o RTApp.

Requisitos

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

Arquivos de cabeçalho

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

Configurações de manifesto do aplicativo

Para se comunicar com um RTApp, ambos os aplicativos precisam incluir o recurso AllowedApplicationConnections no manifesto do aplicativo:

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

Candidaturas de parceiros

Quando você carrega um aplicativo no dispositivo Azure Sphere, as ferramentas de implantação do Azure Sphere excluem, por padrão, todos os aplicativos existentes. 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, seu parceiro não será excluído. Consulte Marcar aplicativos como parceiros para obter detalhes.

Abra o soquete

Antes de se comunicar com um RTApp, você deve abrir um soquete chamando a função Application_Connect . O descritor de arquivo retornado por esta chamada de função é usado para executar operações de envio/recv no soquete.

Enviar dados

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

Receber dados

Você pode 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().