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().